:root{--bg:#070e20;--panel:rgba(21,35,66,.61);--panel-strong:rgba(20,33,59,.92);--navy:#12073d;--blue:#1039f4;--cyan:#10f6ff;--text:#eef5ff;--muted:#99aac7;--line:rgba(151,190,255,.13);--success:#71e8be;--warning:#f3c781;--danger:#ff9ba8;--radius:20px;color-scheme:dark;font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;font-size:14px}*{box-sizing:border-box}body{margin:0;background:radial-gradient(ellipse at 89% -10%,rgba(16,57,244,.2),transparent 46%),radial-gradient(ellipse at 5% 60%,rgba(16,246,255,.05),transparent 34%),var(--bg);color:var(--text);min-height:100vh}button,input,select,textarea{font:inherit}button,a,input,select,textarea{outline-offset:4px}button,a{touch-action:manipulation}button{cursor:pointer}button:disabled{opacity:.43;cursor:not-allowed}a{color:#72e9fa;text-decoration:none}a:hover{text-decoration:underline}button svg,span svg{width:18px;height:18px;vertical-align:middle;flex-shrink:0}h1,h2,h3,h4,p{margin:0}h1{font-size:30px;letter-spacing:-.9px;line-height:1.3}h2{font-size:20px;letter-spacing:-.4px}h3{font-size:15px}p{line-height:1.65}.muted{color:var(--muted)}.small{font-size:12px}.eyebrow{text-transform:uppercase;letter-spacing:2px;font-size:10px;font-weight:650;color:#72e1f0;margin-bottom:8px}.layout{display:grid;grid-template-columns:238px minmax(0,1fr);min-height:100vh}.sidebar{background:rgba(10,19,39,.78);backdrop-filter:blur(26px);border-right:1px solid var(--line);height:100vh;position:sticky;top:0;padding:20px 16px 12px;display:flex;flex-direction:column;z-index:30}.brand{display:flex;align-items:center;gap:12px;padding:0 6px 20px}.logo-crop{width:106px;height:44px;overflow:hidden;position:relative;flex-shrink:0;mix-blend-mode:screen}.logo-crop img{position:absolute;width:164px;height:164px;max-width:none;left:-28px;top:-58px}.brand-badge{font-size:10px;border:1px solid rgba(16,246,255,.26);border-radius:6px;padding:4px 6px;color:#71e9f2;letter-spacing:1px}.navscroll{overflow-y:auto;flex:1;scrollbar-width:thin}.navlabel{font-size:9px;letter-spacing:1.8px;color:#7085a8;padding:21px 12px 8px;text-transform:uppercase}.navitem{border:0;background:none;width:100%;text-align:left;display:flex;gap:11px;align-items:center;color:#aab9d0;border-radius:10px;padding:10px 12px;margin:2px 0;font-size:12px}.navitem:hover{color:white;background:rgba(118,150,209,.06)}.navitem.active{color:#c0faff;background:linear-gradient(90deg,rgba(16,246,255,.12),rgba(16,57,244,.09));box-shadow:inset 2px 0 var(--cyan);border:1px solid rgba(16,246,255,.11)}.navitem .count{margin-left:auto;color:#82eaf5;font-size:10px}.sidebar-foot{margin-top:15px;padding:13px 10px;border-top:1px solid var(--line);font-size:10px;line-height:1.7;color:#7790b4}.status-dot{display:inline-block;background:var(--cyan);width:5px;height:5px;border-radius:50%;box-shadow:0 0 8px var(--cyan);margin-right:6px}.workspace{min-width:0}.topbar{height:72px;padding:0 32px;display:flex;align-items:center;justify-content:space-between;gap:20px;border-bottom:1px solid var(--line);background:rgba(8,16,35,.7);backdrop-filter:blur(25px);position:sticky;top:0;z-index:20}.searchbox{display:flex;align-items:center;gap:10px;color:#6682ac;flex:1;max-width:450px}.searchbox input{color:var(--text);width:100%;border:0;background:none;font-size:12px;padding:10px 0}.searchbox input:focus{outline:none}.shortcut{border:1px solid var(--line);border-radius:5px;padding:3px 5px;font-size:10px;color:#7f95b5;white-space:nowrap}.topright{display:flex;align-items:center;gap:12px}.top-date{font-size:11px;color:#a2b4d0;white-space:nowrap}.avatar{display:inline-flex;align-items:center;justify-content:center;width:31px;height:31px;border-radius:10px;background:linear-gradient(150deg,rgba(16,246,255,.2),rgba(16,57,244,.3));color:#bdfcff;border:1px solid rgba(16,246,255,.25);font-size:11px;font-weight:700;flex-shrink:0}.iconbtn{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border:1px solid var(--line);background:rgba(134,174,239,.04);color:#adbeda;border-radius:9px}.btn{border:1px solid var(--line);background:rgba(129,162,215,.06);color:#dfebff;border-radius:9px;padding:9px 13px;font-size:11px;font-weight:550;display:inline-flex;align-items:center;justify-content:center;gap:7px;white-space:nowrap}.btn:hover{background:rgba(121,172,250,.13);text-decoration:none}.btn.primary{background:linear-gradient(115deg,#1039f4,#216be8);border-color:rgba(130,190,255,.2);box-shadow:0 4px 20px rgba(16,57,244,.21);color:#fff}.btn.cyan{background:rgba(16,246,255,.1);border-color:rgba(16,246,255,.24);color:#a0faff}.btn.danger{color:#ffacb8;border-color:rgba(255,155,168,.2)}.btn.tiny{padding:6px 9px;font-size:10px}.btn.text{border:0;background:none;color:#72d9ef}.preview-bar{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:10px 32px;background:linear-gradient(90deg,rgba(16,246,255,.07),rgba(16,57,244,.09));border-bottom:1px solid rgba(16,246,255,.1);font-size:10px;color:#a8bddb}.preview-bar strong{color:#8cecfa;font-weight:600}.preview-bar select{font-size:10px;width:150px;padding:5px 8px;border-radius:6px}.content{padding:28px 32px 40px;max-width:1700px;margin:auto}.page-head{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:25px}.page-head .sub{color:var(--muted);font-size:12px;margin-top:7px}.actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.glass{background:linear-gradient(130deg,rgba(43,66,103,.38),rgba(18,31,57,.59));border:1px solid var(--line);border-radius:var(--radius);backdrop-filter:blur(24px);box-shadow:0 12px 34px rgba(1,6,18,.14),inset 0 1px 0 rgba(194,219,255,.028)}.hero{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(260px,1fr);gap:20px;margin-bottom:20px}.command-hero{padding:28px;min-height:215px;overflow:hidden;position:relative}.command-hero::after{content:'';position:absolute;width:360px;height:260px;border-radius:50%;right:-210px;top:-40px;background:radial-gradient(ellipse,rgba(16,246,255,.13),transparent 65%);pointer-events:none}.command-hero h2{font-size:25px;max-width:360px;line-height:1.35;margin:10px 0}.command-hero p{max-width:415px;font-size:12px;color:#a4b8d4;margin-bottom:20px}.tinylabel{font-size:9px;letter-spacing:1.7px;color:#72e3f1;text-transform:uppercase}.orbit-card{padding:24px;display:flex;align-items:center;gap:24px}.orbit{width:108px;height:108px;border-radius:50%;display:grid;place-items:center;flex-shrink:0;background:conic-gradient(var(--cyan) calc(var(--pct)*1%),rgba(16,246,255,.08) 0);position:relative}.orbit::before{content:'';width:92px;height:92px;background:#111f38;border-radius:50%;position:absolute;inset:8px;box-shadow:0 0 22px rgba(16,246,255,.08)}.orbit span{z-index:1;font-size:26px;font-weight:600;letter-spacing:-1px}.orbit small{font-size:11px;color:#8ba5c9}.orbit-info h3{margin:8px 0}.orbit-info p{font-size:11px;color:var(--muted);margin-bottom:12px}.kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:22px}.metric{padding:20px;overflow:hidden}.metric-top{display:flex;justify-content:space-between;align-items:center;color:#9aafcc;font-size:11px}.metric-icon{color:#62ccdf}.metric .value{font-size:27px;font-weight:600;letter-spacing:-1px;margin:13px 0 8px}.metric .value.money{font-size:22px}.metric .foot{font-size:10px;color:#849abc}.positive{color:var(--success)!important}.warning{color:var(--warning)!important}.negative{color:var(--danger)!important}.grid-two{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(280px,1fr);gap:20px;margin-bottom:20px}.grid-half{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.panel{padding:22px}.panel-head{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:19px}.panel-head h3{font-weight:550}.panel-head small{font-size:10px;color:var(--muted)}.panel-head p{font-size:11px;color:var(--muted);margin-top:6px}.badge{display:inline-flex;align-items:center;gap:5px;border:1px solid rgba(163,183,219,.13);background:rgba(124,153,201,.07);border-radius:6px;padding:4px 7px;color:#aebfd8;font-size:9px;white-space:nowrap}.badge.green{color:#8debc9;border-color:rgba(113,232,190,.19);background:rgba(113,232,190,.06)}.badge.amber{color:#f1d3a4;border-color:rgba(243,199,129,.16);background:rgba(243,199,129,.06)}.badge.cyan{color:#8ceff7;border-color:rgba(16,246,255,.18);background:rgba(16,246,255,.06)}.badge.red{color:#ffb2bc;border-color:rgba(255,155,168,.16);background:rgba(255,155,168,.05)}.flow{display:flex;align-items:stretch;gap:6px;margin:20px 0 14px}.flow-step{border:1px solid var(--line);border-radius:11px;padding:14px 7px;text-align:center;flex:1;background:rgba(123,154,209,.035);font-size:9px;color:#96acca}.flow-step svg{width:19px;height:19px;color:#7cd5eb;margin-bottom:12px}.flow-step b{font-size:18px;color:#e9f6ff;display:block;margin-bottom:6px;font-weight:500}.flow-arrow{display:flex;align-items:center;color:#3c678a;font-size:14px}.workflow-info{font-size:10px;color:#7391b9;line-height:1.6}.rowline{display:flex;align-items:center;justify-content:space-between;gap:13px;border-bottom:1px solid var(--line);padding:14px 0}.rowline:last-child{border-bottom:0}.rowmain{display:flex;align-items:center;gap:12px;min-width:0}.rowmain b{font-size:11px;font-weight:550;display:block;margin-bottom:4px}.rowmain small{font-size:10px;color:var(--muted)}.action-row{cursor:pointer}.action-row:hover{background:rgba(94,175,242,.035)}.empty{padding:34px 20px;text-align:center;border:1px dashed rgba(136,174,231,.16);border-radius:13px;grid-column:1/-1}.empty svg{color:#5289aa;width:26px;height:26px;margin-bottom:13px}.empty h3{font-size:13px;margin-bottom:7px;font-weight:500}.empty p{color:#8da5c5;font-size:11px;max-width:420px;margin:0 auto 14px}.chart-empty{height:172px;display:grid;place-items:center;text-align:center;background:repeating-linear-gradient(to top,transparent 0,transparent 41px,rgba(124,167,223,.06) 42px);border-bottom:1px solid var(--line);color:#6382a7;font-size:11px}.mini-bars{height:160px;display:flex;align-items:end;gap:12px;padding-top:20px}.bar-col{flex:1;text-align:center;font-size:9px;color:#8aa6c7}.bar-col i{display:block;width:70%;margin:0 auto 9px;height:var(--h);min-height:2px;background:linear-gradient(0deg,rgba(16,57,244,.35),rgba(16,246,255,.8));border-radius:5px 5px 0 0}.notice{border:1px solid rgba(16,246,255,.14);background:rgba(16,246,255,.045);border-radius:12px;padding:13px 16px;color:#aec6df;line-height:1.65;font-size:11px;margin-bottom:20px}.notice.warn{border-color:rgba(243,199,129,.17);background:rgba(243,199,129,.035);color:#d4bf9d}.notice strong{color:#d0e9f4}.tabs{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:20px}.tab{font-size:11px;padding:9px 14px;border-radius:8px;border:1px solid transparent;background:none;color:#8fa7c9}.tab.active{color:#b5f8ff;border-color:rgba(16,246,255,.18);background:rgba(16,246,255,.07)}.table-shell{overflow:auto;border-radius:16px;border:1px solid var(--line);background:rgba(12,24,47,.35)}table{width:100%;border-collapse:collapse;text-align:left}thead{background:rgba(11,22,43,.7)}th{font-weight:500;font-size:9px;color:#7f9cbd;text-transform:uppercase;letter-spacing:.7px;padding:14px 16px;white-space:nowrap}td{padding:15px 16px;border-top:1px solid var(--line);font-size:11px;line-height:1.6;vertical-align:middle}td b{font-weight:550}td small{font-size:10px;color:var(--muted);display:block;margin-top:2px}td .actions{flex-wrap:nowrap}tbody tr:hover{background:rgba(115,177,244,.025)}.amount{font-variant-numeric:tabular-nums;white-space:nowrap}.table-empty{padding:45px!important;text-align:center;color:#88a0bf!important}.cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.person{padding:23px}.person .avatar{width:42px;height:42px;font-size:14px;border-radius:13px}.person h3{margin:15px 0 5px}.person p{font-size:11px;color:var(--muted)}.person .actions{margin-top:20px}.board{display:grid;grid-template-columns:repeat(4,minmax(170px,1fr));gap:14px;overflow-x:auto}.lane{padding:14px;border:1px solid var(--line);background:rgba(17,32,56,.3);border-radius:14px;min-height:310px}.lane-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:15px;font-size:10px;letter-spacing:1px;color:#8ca6c7}.task-card{padding:16px;margin-bottom:12px;background:rgba(35,54,84,.35);border:1px solid var(--line);border-radius:12px}.task-card h4{font-size:12px;line-height:1.5;margin:9px 0 14px;font-weight:500}.task-card .actions{justify-content:space-between}.task-card small{font-size:10px;color:#88a1bf}.attendance-hero{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:30px;margin-bottom:20px}.clock{font-size:35px;font-variant-numeric:tabular-nums;letter-spacing:-1px;margin:8px 0}.calendar{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));border:1px solid var(--line);border-radius:16px;overflow:hidden}.cal-label{font-size:9px;letter-spacing:1px;color:#7f9abb;text-align:center;padding:13px;background:rgba(8,20,41,.6)}.cal-cell{min-height:110px;padding:10px;border-top:1px solid var(--line);border-right:1px solid var(--line);cursor:pointer;font-size:11px;color:#98b4d7}.cal-cell:hover{background:rgba(16,246,255,.035)}.cal-cell.today{box-shadow:inset 0 2px var(--cyan);color:#bbfaff}.cal-cell.blank{opacity:.22;cursor:default}.cal-event{background:rgba(16,57,244,.18);border:1px solid rgba(84,135,255,.15);border-radius:5px;color:#b1d0f9;font-size:9px;margin-top:8px;padding:6px;line-height:1.5;overflow:hidden}.cal-event.done{background:rgba(16,246,255,.075);border-color:rgba(16,246,255,.15);color:#9be7ee}.year-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px}.month-tile{padding:20px}.month-tile h3{margin-bottom:16px}.progress{height:4px;border-radius:4px;background:rgba(128,171,224,.1);margin-top:10px;overflow:hidden}.progress>i{display:block;background:linear-gradient(90deg,var(--blue),var(--cyan));height:100%;border-radius:4px}.report-list .rowline{font-size:12px}.report-list .total{border-top:1px solid rgba(16,246,255,.3);padding-top:20px;color:#c4faff;font-size:16px;font-weight:500}.modal-cover{position:fixed;inset:0;z-index:100;background:rgba(2,7,18,.77);backdrop-filter:blur(10px);display:flex;align-items:center;justify-content:center;padding:24px}.modal{width:710px;max-width:100%;max-height:90vh;overflow:auto;background:linear-gradient(140deg,#142643,#0c172e);border:1px solid rgba(124,187,245,.23);border-radius:23px;box-shadow:0 30px 120px rgba(0,0,0,.6)}.modal.wide{width:1080px}.modal-head{display:flex;align-items:center;justify-content:space-between;padding:24px 26px;border-bottom:1px solid var(--line);position:sticky;top:0;background:rgba(17,32,57,.96);backdrop-filter:blur(20px);z-index:2}.modal-head h2{font-size:19px}.modal-body{padding:24px 26px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:17px}.field{display:flex;flex-direction:column;gap:8px;min-width:0}.field.full{grid-column:1/-1}.field label{font-size:11px;color:#bacce5}.field small{font-size:10px;color:#829fc1;line-height:1.5}input,select,textarea{background:rgba(4,13,30,.48);color:#e3f2ff;border:1px solid rgba(132,174,229,.19);border-radius:8px;width:100%;padding:10px 12px;min-width:0;font-size:12px}input:focus,select:focus,textarea:focus{border-color:#23b6dc;outline:1px solid rgba(16,246,255,.16)}input[type=checkbox]{width:15px;height:15px;accent-color:#1039f4}.checkfield{flex-direction:row;align-items:flex-start;grid-column:1/-1;line-height:1.6}.checkfield label{font-size:11px}.field textarea{height:90px;resize:vertical}select option{background:#12213c}input[type=file]{font-size:11px}.modal-footer{display:flex;justify-content:flex-end;gap:10px;border-top:1px solid var(--line);padding:19px 26px}.line-items{grid-column:1/-1;border-top:1px solid var(--line);padding-top:15px}.line-heading,.line-item{display:grid;grid-template-columns:2.2fr .8fr 1.1fr 28px;gap:9px;align-items:center;margin-bottom:10px}.line-heading{font-size:10px;color:#91accb}.line-item input,.line-item select{font-size:11px;padding:9px}.form-error{font-size:11px;color:#ffb7bf;background:rgba(255,122,146,.07);padding:12px;border-radius:9px;line-height:1.6;margin-bottom:17px}.toast{position:fixed;bottom:26px;right:28px;z-index:200;background:#153449;border:1px solid rgba(16,246,255,.28);color:#cdedf7;padding:14px 19px;max-width:440px;font-size:12px;box-shadow:0 18px 60px #020814;border-radius:13px;line-height:1.6}.toast.error{background:#372235;border-color:rgba(255,155,168,.3);color:#ffc3cc}.comment{padding:12px 0;border-bottom:1px solid var(--line);font-size:12px;line-height:1.6}.comment small{font-size:10px;color:var(--muted);display:block;margin-bottom:5px}.login-page{min-height:100vh;display:grid;place-items:center;padding:25px}.login-card{width:440px;max-width:100%;padding:34px}.login-card .brand{justify-content:center;margin-bottom:16px}.login-card h1{font-size:25px;text-align:center;margin-bottom:10px}.login-card>p{text-align:center;font-size:12px;color:var(--muted);margin-bottom:26px}.login-card .field{margin-bottom:18px}.login-card .btn{width:100%;margin-top:10px}.login-foot{font-size:10px;text-align:center;margin-top:25px;color:#7895b9}.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-bottom:20px}.detail-grid small{display:block;color:#7896b9;font-size:10px;margin-bottom:7px}.detail-grid p{font-size:12px}.print-sheet{background:white;color:#12213b;padding:40px;border-radius:4px;line-height:1.7}.print-sheet h2{font-size:23px;color:#12073d}.print-sheet p{font-size:12px;margin:12px 0}.print-sheet table{font-size:12px;margin:20px 0;color:#15253b}.print-sheet td{border-color:#dae3ec;font-size:12px}.print-sheet th{background:#edf2fa;color:#233754}.print-sheet .draft{border:1px solid #dca74b;color:#98701f;padding:9px 12px;font-size:10px;letter-spacing:1px;margin:18px 0}.print-sheet .signature{display:flex;justify-content:space-between;margin-top:50px;gap:20px;color:#5b6b7f;font-size:11px}.print-only{display:none}.mobile-menu{display:none}.footer-note{font-size:10px;color:#6280a4;margin-top:18px;line-height:1.7}.portal-container{max-width:900px;margin:50px auto;padding:0 22px}.portal-container .brand{margin-bottom:25px}.portal-container h1{margin-bottom:10px}.portal-container .glass{margin-top:25px}.portal-container .art-preview{font-size:12px;margin:20px 0}.setup-row{display:flex;justify-content:space-between;gap:20px;align-items:center;padding:18px 0;border-bottom:1px solid var(--line)}.setup-row h3{font-size:12px;margin-bottom:6px}.setup-row p{color:var(--muted);font-size:11px}.setup-row:last-child{border:0}.report-filter{display:flex;align-items:center;gap:8px}.report-filter input{width:140px;font-size:11px;padding:8px}.hidden{display:none!important}
@media(min-width:1550px){.content{padding:34px 42px}.topbar,.preview-bar{padding-left:42px;padding-right:42px}.hero{grid-template-columns:1.75fr 1fr}.command-hero h2{max-width:none}}
@media(max-width:1150px){.layout{grid-template-columns:205px minmax(0,1fr)}.content{padding:24px}.topbar{padding:0 24px}.preview-bar{padding:10px 24px}.sidebar{padding:20px 10px}.kpis{gap:12px}.metric{padding:16px}.metric .value{font-size:24px}.hero{grid-template-columns:1.4fr 1fr}.orbit-card{gap:14px;padding:20px}.orbit{width:84px;height:84px}.orbit::before{width:70px;height:70px;inset:7px}.grid-two{grid-template-columns:1fr}.cards{grid-template-columns:repeat(2,minmax(0,1fr))}.top-date{display:none}.year-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:800px){.layout{display:block}.sidebar{position:fixed;left:-250px;width:238px;transition:left .15s;box-shadow:30px 0 60px #010a2099}.sidebar.open{left:0}.mobile-menu{display:inline-flex}.topbar{height:62px;padding:0 18px;gap:12px}.topright{gap:7px}.searchbox{max-width:250px}.shortcut{display:none}.content{padding:22px 18px}.preview-bar{padding:10px 18px;align-items:flex-start}.preview-bar .preview-extra{display:none}.preview-bar select{width:118px}.hero{grid-template-columns:1fr}.command-hero{min-height:0;padding:24px}.orbit-card{padding:20px}.kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-half{grid-template-columns:1fr}.page-head{align-items:flex-start}h1{font-size:25px}.page-head .sub{font-size:11px}.page-head>.actions{max-width:160px;justify-content:flex-end}.page-head .btn{font-size:10px;padding:8px 10px}.cards{grid-template-columns:1fr 1fr}.attendance-hero{flex-direction:column;align-items:flex-start;padding:24px}.calendar{min-width:630px}.calendar-scroll{overflow:auto}.modal-cover{padding:10px}.modal{max-height:94vh}.modal-head{padding:19px 20px}.modal-body{padding:20px}.form-grid{gap:15px}.table-shell table{min-width:620px}.year-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.report-filter{flex-wrap:wrap;justify-content:flex-end}.report-filter input{width:119px}.toast{left:16px;right:16px;bottom:16px;max-width:none}.flow-step{font-size:8px;padding:12px 4px}.flow-arrow{font-size:11px}}
@media(max-width:1180px){.attendance-kpis{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:800px){.attendance-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.attendance-kpis .metric{min-height:142px;padding:18px}.attendance-performance{align-items:flex-start;padding:20px}.attendance-performance .performance-face{width:70px;height:70px;font-size:36px;border-radius:20px}.attendance-performance h3{font-size:18px}.attendance-performance p{font-size:14px}}
@media(max-width:440px){.attendance-kpis{grid-template-columns:1fr}.attendance-performance{flex-direction:column}.attendance-performance .performance-face{width:64px;height:64px}}
.attendance-hero .punch-in-btn,.attendance-hero .punch-out-btn,.attendance-hero .temporary-exit-btn{min-height:0;border-radius:9px;font-size:11px;font-weight:550;padding:9px 13px}.attendance-hero .punch-in-btn{background:linear-gradient(115deg,#087d4d,#22c77c);border-color:rgba(118,239,177,.48);box-shadow:0 4px 16px rgba(37,201,129,.22);color:#effff6}.attendance-hero .punch-out-btn{background:linear-gradient(115deg,#bc2f48,#ef6177);border-color:rgba(255,164,177,.48);box-shadow:0 4px 16px rgba(239,97,120,.2);color:#fff4f6}.attendance-hero .temporary-exit-btn{background:linear-gradient(115deg,#1264c7,#23b4ed);border-color:rgba(118,205,255,.48);box-shadow:0 4px 16px rgba(35,154,237,.18);color:#eff9ff}.attendance-hero .presence-badge{width:166px;min-width:166px;min-height:92px;padding:16px 20px;border-radius:16px;font-size:38px;line-height:1}.badge.blue{color:#9ec5ff;border-color:rgba(94,156,255,.22);background:rgba(94,156,255,.1)}.presence-badge{display:inline-flex;align-items:center;justify-content:center;min-width:110px;padding:16px 22px;border-radius:14px;font-size:30px;font-weight:800;letter-spacing:.5px}.presence-badge.green{color:#b9ffe0;background:rgba(37,201,129,.2);border:1px solid rgba(74,239,157,.5);box-shadow:0 0 18px rgba(37,201,129,.14)}.presence-badge.red{color:#ffd0d8;background:rgba(245,91,113,.2);border:1px solid rgba(255,126,143,.52);box-shadow:0 0 18px rgba(245,91,113,.12)}.presence-badge.amber{color:#ffe3ad;background:rgba(243,199,129,.14);border:1px solid rgba(243,199,129,.38)}
@media(max-width:480px){.cards{grid-template-columns:1fr}.form-grid,.detail-grid{grid-template-columns:1fr}.field.full{grid-column:auto}.line-item,.line-heading{grid-template-columns:1.6fr .7fr 1fr 24px;gap:5px}.topright .pos-top{display:none}.topright .avatar{width:28px}.metric .value.money{font-size:18px}.modal-footer{padding:16px 20px}.print-sheet{padding:20px}.flow{gap:3px}.panel{padding:18px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}
@media print{body{background:white;color:black}.layout,.modal-head,.modal-footer,.modal-body>:not(.print-sheet),.toast,.preview-bar{display:none!important}.modal-cover{position:static;display:block;padding:0;background:none;backdrop-filter:none}.modal,.modal.wide{width:100%;max-height:none;border:0;overflow:visible;background:none;box-shadow:none}.modal-body{padding:0}.print-sheet{padding:8mm;color:#12213b;border:0}.print-sheet td{padding:9px 12px}.print-sheet .draft{display:block!important}@page{size:A4;margin:14mm}}
.attendance-hero .tinylabel{font-size:14px;font-weight:750;letter-spacing:1.8px}
.print-sheet{position:relative;isolation:isolate;min-height:267mm;padding:34mm 16mm 22mm;overflow:hidden;background:#fff;color:#12213b}
.print-sheet>*:not(.report-letterhead){position:relative;z-index:1}
.report-letterhead{display:block;position:absolute;z-index:0;inset:0;width:100%;height:100%;object-fit:fill;pointer-events:none}
.report-logo{height:31mm;display:flex;align-items:flex-start;margin:0 0 5mm;padding:2mm 0 0}
.report-brand{display:block;width:48mm;height:18mm;overflow:hidden;position:relative}
.report-brand img{display:block;width:73mm;max-width:none;height:auto;position:absolute;left:-12mm;top:-31mm}
.print-sheet h2{font-size:21px;line-height:1.2;margin-top:1mm}.print-sheet h3{font-size:15px;margin:7mm 0 3mm}.print-sheet p{font-size:12px;margin:3mm 0 6mm}.print-sheet .detail-grid{gap:5mm;margin:5mm 0 7mm}.print-sheet .detail-grid small{font-size:10px}.print-sheet .detail-grid p{font-size:13px;margin:0}.print-sheet .table-shell{border-color:#d8e2ec;background:#fff}.print-sheet table{margin:4mm 0;font-size:10px}.print-sheet th{background:#edf4fa;color:#173456;font-size:9px;padding:8px 9px}.print-sheet td{font-size:10px;line-height:1.35;padding:7px 9px;border-color:#d8e2ec;vertical-align:top}.print-sheet td small{font-size:9px;color:#526a82}.print-sheet .progress{background:#dce6f1;margin-top:3mm}.print-sheet .progress>i{background:linear-gradient(90deg,#1039f4,#10cde5)}
@media print{html,body{width:210mm;height:297mm}.print-sheet{width:182mm;min-height:269mm;margin:0;padding:34mm 16mm 22mm;page-break-after:always;break-after:page}.print-sheet:last-child{page-break-after:auto;break-after:auto}.report-letterhead{-webkit-print-color-adjust:exact;print-color-adjust:exact}.print-sheet table{page-break-inside:auto}.print-sheet tr{page-break-inside:avoid;break-inside:avoid}.print-sheet th,.print-sheet td{padding:6px 7px}.print-sheet .report-logo{height:31mm}}
.print-sheet{width:min(100%,210mm);min-height:297mm;margin:0 auto;padding:38mm 16mm 22mm}
.report-letterhead{inset:0 auto auto 0;width:100%;height:auto;object-fit:contain}
.report-logo{height:0;margin:0;padding:0}
.report-brand{display:none}
.inventory-progress{width:min(190px,100%);margin-top:7px}
.inventory-search{display:flex;align-items:center;gap:8px;min-width:min(100%,330px);padding:5px 6px 5px 12px;border:1px solid var(--line);border-radius:12px;background:var(--surface);color:var(--muted)}
.inventory-search input{min-width:0;width:190px;border:0;outline:0;background:transparent;color:var(--text);font:inherit;font-size:14px}
.inventory-search .ui-icon{width:18px;height:18px;flex:none}
.line-item.artwork-line{grid-template-columns:2.2fr 1fr 28px}
@media(max-width:680px){.inventory-search{width:100%}.inventory-search input{width:100%}}
.emoji{display:inline-block;transform-origin:70% 75%;animation:emoji-bounce 1.8s ease-in-out infinite}
.emoji-wave{animation-name:emoji-wave}
.emoji-sad{animation-name:emoji-sway;animation-duration:2.2s}
.performance-face{animation:emoji-bounce 1.8s ease-in-out infinite}
@keyframes emoji-bounce{0%,100%{transform:translateY(0) scale(1)}45%{transform:translateY(-4px) scale(1.08)}65%{transform:translateY(0) scale(.98)}}
@keyframes emoji-wave{0%,100%{transform:rotate(0) translateY(0)}20%{transform:rotate(13deg) translateY(-2px)}40%{transform:rotate(-8deg) translateY(-4px)}60%{transform:rotate(13deg) translateY(-2px)}80%{transform:rotate(-5deg) translateY(0)}}
@keyframes emoji-sway{0%,100%{transform:rotate(0) translateY(0)}35%{transform:rotate(-6deg) translateY(1px)}70%{transform:rotate(5deg) translateY(-2px)}}
@media(prefers-reduced-motion:reduce){.emoji,.performance-face{animation:none}}
@media print{@page{size:A4;margin:0}html,body{width:210mm;height:auto}.print-sheet{width:210mm;min-height:297mm;margin:0;padding:38mm 16mm 30mm;page-break-after:always;break-after:page}.print-sheet .report-logo{height:0}.report-letterhead{width:210mm;height:auto;inset:0 auto auto 0}.print-sheet .table-shell{overflow:visible}.print-sheet thead{display:table-header-group}.print-sheet tbody{display:table-row-group}}
.attendance-performance{display:flex;align-items:center;gap:22px;margin-bottom:20px;padding:23px 26px}.attendance-performance h3{font-size:20px;margin-bottom:8px}.attendance-performance p{font-size:15px;line-height:1.55;color:var(--muted);margin-bottom:12px}.attendance-performance small{display:block;margin-top:9px;color:#a9bfdb;font-size:12px}.attendance-performance .progress{height:6px;margin-top:14px}.performance-face,.attendance-performance .performance-face{display:grid;place-items:center;width:86px;height:86px;border-radius:24px;background:linear-gradient(145deg,rgba(16,246,255,.16),rgba(16,57,244,.18));border:1px solid rgba(16,246,255,.22);font-size:44px;line-height:1;flex-shrink:0;box-shadow:inset 0 1px 0 rgba(255,255,255,.08)}.attendance-kpis{grid-template-columns:repeat(5,minmax(0,1fr));gap:18px}.attendance-kpis .metric{min-height:156px;padding:22px}.attendance-kpis .metric-top{font-size:13px}.attendance-kpis .value{font-size:31px;margin:17px 0 10px}.attendance-kpis .foot{font-size:12px;line-height:1.55}
.marketing-feedback{display:flex;align-items:center;gap:16px;margin:18px 0 20px;padding:17px 21px}.marketing-feedback h3{font-size:17px;margin:0 0 5px}.marketing-feedback p{margin:0;font-size:14px;color:var(--muted)}.marketing-face{font-size:42px;line-height:1;display:inline-block;animation:emoji-bounce 1.8s ease-in-out infinite;flex-shrink:0}
.marketing-feedback.on-track{border-color:rgba(113,232,190,.34);background:linear-gradient(110deg,rgba(47,150,103,.18),rgba(18,31,57,.59))}.marketing-feedback.needs-attention{border-color:rgba(243,199,129,.3);background:linear-gradient(110deg,rgba(159,112,39,.16),rgba(18,31,57,.59))}
.cal-event{background:rgba(153,83,224,.24);border-color:rgba(202,139,255,.36);color:#ead3ff}.cal-event.done{background:rgba(64,204,133,.18);border-color:rgba(113,232,190,.42);color:#b8f7d6}.cal-event-actions{display:block;margin-top:6px}.cal-event-actions .btn{width:100%;padding:4px 6px;font-size:9px}
.presence-badge{width:70px!important;min-width:70px!important;min-height:38px!important;padding:6px 10px!important;border-radius:10px!important;font-size:18px!important}

/* Bright Link POS suite */
.pos-tabs{margin-bottom:18px}.pos-workspace{display:grid;grid-template-columns:minmax(0,1fr) 365px;gap:20px;align-items:start}.pos-catalogue{min-width:0}.pos-toolbar{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin-bottom:16px}.pos-search{display:flex;align-items:center;gap:9px;min-width:250px;flex:1;padding:9px 12px;border:1px solid var(--line);border-radius:12px;background:var(--surface);color:var(--muted)}.pos-search input{padding:0;border:0;background:transparent;font-size:14px;min-width:0}.pos-category-tabs{display:flex;gap:6px;overflow:auto;padding-bottom:2px}.pos-category-tabs button{white-space:nowrap;border:1px solid var(--line);background:rgba(255,255,255,.035);color:var(--muted);border-radius:999px;padding:8px 11px;font-size:12px}.pos-category-tabs button.active{background:rgba(32,205,229,.17);color:#d9fbff;border-color:rgba(32,205,229,.45)}.pos-product-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(205px,1fr));gap:13px}.pos-product-card{min-width:0;border:1px solid var(--line);border-radius:15px;overflow:hidden;background:rgba(255,255,255,.025);transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease}.pos-product-card:hover{transform:translateY(-2px);border-color:rgba(51,213,238,.55);box-shadow:0 12px 28px rgba(0,0,0,.18)}.pos-product-add{display:block;width:100%;padding:0;background:none;border:0;text-align:left;color:var(--text);cursor:pointer}.pos-product-art{height:145px;background-repeat:no-repeat;background-size:auto;background-color:#fff;border-bottom:1px solid rgba(7,27,50,.12)}.pos-product-info{display:block;padding:13px}.pos-product-info>b{font-size:14px;line-height:1.3;min-height:37px;display:block}.pos-product-info>small{display:block;color:var(--muted);font-size:12px;line-height:1.45;margin-top:5px;min-height:35px}.pos-product-bottom{display:flex;align-items:end;justify-content:space-between;gap:8px;margin-top:13px}.pos-product-bottom strong{font-size:14px;color:#84edc3}.pos-product-bottom em{font-size:11px;font-style:normal;color:#9bb0cb;text-align:right}.pos-cart{position:sticky;top:18px;border:1px solid rgba(120,185,255,.25);border-radius:17px;padding:18px;background:linear-gradient(160deg,rgba(37,64,103,.95),rgba(22,37,65,.97));box-shadow:0 22px 60px rgba(3,10,29,.2)}.pos-cart-head{display:flex;align-items:start;justify-content:space-between;gap:10px;border-bottom:1px solid var(--line);padding-bottom:14px}.pos-cart-head h2{font-size:19px;margin-top:4px}.pos-cart-lines{max-height:240px;overflow:auto;padding:8px 0}.pos-cart-empty{font-size:13px;color:var(--muted);padding:23px 5px}.pos-line{display:grid;grid-template-columns:minmax(0,1fr) auto auto 25px;gap:9px;align-items:center;padding:10px 0;border-bottom:1px solid rgba(183,210,255,.13)}.pos-line b{font-size:13px;line-height:1.35}.pos-line small{display:block;color:var(--muted);font-size:11px;margin-top:3px}.pos-line>strong{font-size:12px;white-space:nowrap}.pos-qty{display:flex;gap:6px;align-items:center}.pos-qty button{width:23px;height:23px;border-radius:7px;border:1px solid var(--line);background:rgba(255,255,255,.07);color:var(--text);font-size:16px;line-height:1}.pos-qty b{min-width:12px;text-align:center}.pos-remove{width:24px;height:24px;padding:4px;background:transparent;color:#ef9aa7}.pos-customer-fields{display:grid;grid-template-columns:1fr 1fr;gap:10px;border-top:1px solid var(--line);padding-top:14px}.pos-customer-fields label{font-size:11px;color:var(--muted);display:flex;flex-direction:column;gap:5px}.pos-customer-fields input,.pos-customer-fields select,.pos-customer-fields textarea{font-size:13px;padding:8px 9px}.pos-customer-fields textarea{height:52px}.pos-customer-fields .full{grid-column:1/-1}.pos-totals{margin:15px 0;border-top:1px solid var(--line);padding-top:10px}.pos-totals>div{display:flex;justify-content:space-between;padding:5px 0;font-size:13px;color:var(--muted)}.pos-totals b{color:var(--text)}.pos-totals .total{font-size:17px;color:var(--text);padding-top:11px}.pos-totals .total b{color:#8df3c8}.pos-checkout{width:100%;justify-content:center;padding:12px}
.suite-document{background:#fff;color:#172235}.suite-doc-title{display:flex;justify-content:space-between;gap:22px;align-items:start;margin-bottom:16px}.suite-doc-title h2{margin:2px 0;font-size:25px}.suite-doc-title p{margin:0!important;color:#526a82}.suite-doc-title>div:last-child{text-align:right}.suite-doc-title small{display:block;color:#63748a;font-size:10px}.suite-doc-title b{font-size:13px;display:block;margin:3px 0 7px}.suite-doc-total,.suite-doc-balance{display:flex;justify-content:flex-end;gap:25px;align-items:center;border-top:1px solid #d9e4ec;padding-top:12px;margin-top:15px;font-size:14px}.suite-doc-total b{font-size:18px;color:#0b7151}.suite-doc-balance{padding-top:8px;border:0;color:#526a82}.suite-doc-notes{border-top:1px solid #d9e4ec;padding-top:12px;color:#526a82}
.announcement-list{display:grid;gap:13px;max-width:920px}.announcement-card{padding:19px 21px}.announcement-card.urgent{border-color:rgba(247,100,118,.55);background:linear-gradient(100deg,rgba(155,48,67,.17),rgba(33,51,83,.8))}.announcement-head,.announcement-foot{display:flex;justify-content:space-between;gap:14px;align-items:center}.announcement-head h3{font-size:18px;margin-top:5px}.announcement-card p{font-size:14px;line-height:1.65;margin:13px 0;color:#d5e1ef;white-space:pre-wrap}.announcement-foot{padding-top:12px;border-top:1px solid var(--line)}.announcement-foot small{font-size:11px;color:var(--muted)}.announcement-pin{font-size:10px;text-transform:uppercase;letter-spacing:.9px;color:#9feffc}.dashboard-announcements{display:grid;gap:8px;margin-bottom:15px}.dashboard-announcements button{display:flex;text-align:left;gap:10px;align-items:center;padding:11px 15px;border-radius:11px;border:1px solid rgba(51,213,238,.34);background:rgba(32,205,229,.09);color:#dffbff}.dashboard-announcements span{color:#b8cee2;font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.petty-section{margin-top:20px}.petty-section .table-shell{margin-top:12px}.pos-workspace+.table-shell{margin-top:18px}
@media(max-width:1080px){.pos-workspace{grid-template-columns:1fr}.pos-cart{position:static}.pos-cart-lines{max-height:none}.pos-product-grid{grid-template-columns:repeat(auto-fill,minmax(180px,1fr))}}
@media(max-width:620px){.pos-product-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.pos-product-art{height:110px;background-size:auto}.pos-product-info{padding:10px}.pos-product-info>b{font-size:13px;min-height:0}.pos-product-info>small{font-size:11px;min-height:0}.pos-product-bottom{display:block}.pos-product-bottom em{display:block;text-align:left;margin-top:4px}.pos-customer-fields{grid-template-columns:1fr}.pos-customer-fields .full{grid-column:auto}.suite-doc-title{display:block}.suite-doc-title>div:last-child{text-align:left;margin-top:12px}.announcement-head,.announcement-foot{align-items:flex-start;flex-direction:column}.dashboard-announcements button{display:block}.dashboard-announcements span{display:block;margin-top:4px;white-space:normal}}

/* Readable ongoing workspace theme */
:root{--bg:#101a2d;--panel:rgba(37,55,88,.82);--panel-strong:rgba(30,46,76,.95);--navy:#142751;--blue:#2362e8;--cyan:#20cde5;--text:#f4f8ff;--muted:#b7c6dc;--line:rgba(183,210,255,.20);--success:#4cc98c;--danger:#ef6578;font-size:16px}
.navitem{font-size:14px;padding:11px 12px;margin:3px 0;color:#c4d2e5}.page-head .sub{font-size:15px}.table-shell td{font-size:14px}.table-shell th{font-size:11px}.small{font-size:13px}.footer-note{font-size:12px}.cash-amount{white-space:nowrap;font-variant-numeric:tabular-nums}.cash-amount.cash-out{color:var(--danger);font-weight:700}.cash-amount.cash-in{color:var(--success);font-weight:700}

.ui-icon{width:18px;height:18px;flex-shrink:0}.chart-empty .ui-icon{width:30px;height:30px}.searchbox>.ui-icon{width:18px;height:18px}
/* Source-connected cashbook workspace */
.import-banner{padding:26px 30px;margin:0 0 24px;display:flex;justify-content:space-between;gap:24px;align-items:center;background:linear-gradient(125deg,rgba(23,70,219,.22),rgba(0,223,231,.07));border:1px solid rgba(97,207,255,.28)}
.import-banner h2{font-size:25px;margin:8px 0 10px}.import-banner p{line-height:1.7;color:var(--muted,#a1b3d1)}
.import-banner .actions{flex-shrink:0}.historical-section{margin-bottom:40px}.historical-section .panel-head{margin-bottom:18px}.historical-section h2{font-size:25px}
.ledger-controls{display:flex;flex-wrap:wrap;gap:13px;align-items:end;margin:8px 0 20px;padding:18px;background:rgba(255,255,255,.025);border:1px solid rgba(156,195,255,.12);border-radius:14px}
.ledger-controls label{display:flex;flex-direction:column;gap:7px;font-size:11px;letter-spacing:.4px;color:#adc2de;min-width:130px}.ledger-controls label.category-filter{flex:1;min-width:200px}.ledger-controls input,.ledger-controls select{height:39px;width:100%;min-width:130px}
.ledger-total{display:flex;justify-content:space-between;gap:20px;padding:16px 4px;color:#cbe1f7;font-size:13px}.ledger-total b{color:#65e9ed}.ledger-total span{color:#99adcb;font-size:12px}.cash-amount{color:#daecff;white-space:nowrap;font-variant-numeric:tabular-nums}.btn.cash-in-btn{background:#0b9569;border-color:#26cb99;color:#effff8}.btn.cash-out-btn{background:#c93d4a;border-color:#f06977;color:#fff6f7}.cash-summary{display:grid;grid-template-columns:repeat(3,1fr);margin:22px 0;border-radius:16px;overflow:hidden}.cash-summary>div{padding:20px 26px;border-right:1px solid var(--line);display:flex;flex-direction:column;gap:6px}.cash-summary>div:last-child{border-right:0}.cash-summary-label{font-size:14px;font-weight:700}.cash-summary b{font-size:25px}.cash-summary small{color:var(--muted);font-size:13px}.cash-in-text{color:#4de3a5}.cash-out-text{color:#ff788b}
.pager{display:flex;gap:20px;align-items:center;justify-content:center;margin:22px 0;color:#adbed7;font-size:13px}.section-title{margin:25px 0 15px}
.proof-row{display:flex;justify-content:space-between;align-items:center;gap:18px;border:1px solid rgba(136,189,246,.14);background:rgba(48,113,177,.07);border-radius:12px;padding:16px;margin-bottom:10px}.proof-row small{display:block;color:#a6b8d0;margin-top:6px;font-size:12px}.proof-row .btn{white-space:nowrap}
.source-flags{background:rgba(227,167,66,.08);border:1px solid rgba(244,191,74,.2);padding:14px 19px;border-radius:12px;color:#eed4a0;font-size:13px;line-height:1.6}.source-flags p+p{margin-top:9px}.source-path{color:#a5b9d4;font-size:12px;line-height:1.8;margin:15px 0 20px;overflow-wrap:anywhere}
.table-shell td{max-width:340px;overflow-wrap:anywhere}.table-shell td small{white-space:normal;line-height:1.5}.source-flags,.detail-grid p{overflow-wrap:anywhere}.modal.wide .table-shell td{max-width:480px}
.cashbook-ledger .table-shell{overflow:visible}.cashbook-ledger table{width:100%;min-width:0;table-layout:fixed}.cashbook-ledger th:nth-child(1),.cashbook-ledger td:nth-child(1){width:11%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;word-break:normal}.cashbook-ledger th:nth-child(2),.cashbook-ledger td:nth-child(2){width:12%}.cashbook-ledger th:nth-child(3),.cashbook-ledger td:nth-child(3){width:22%}.cashbook-ledger th:nth-child(4),.cashbook-ledger td:nth-child(4){width:16%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;word-break:normal}.cashbook-ledger th:nth-child(5),.cashbook-ledger td:nth-child(5){width:7%;white-space:nowrap}.cashbook-ledger th:nth-child(6),.cashbook-ledger td:nth-child(6){width:11%;white-space:nowrap}.cashbook-ledger th:nth-child(7),.cashbook-ledger td:nth-child(7){width:11%;white-space:nowrap}.cashbook-ledger th:nth-child(8),.cashbook-ledger td:nth-child(8){width:10%}.cashbook-ledger td:nth-child(1) small{display:block;white-space:nowrap}.ledger-pager{position:sticky;top:72px;z-index:12;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:13px 16px;margin:16px 0 0;background:rgba(12,24,47,.96);border:1px solid var(--line);border-bottom:0;border-radius:14px 14px 0 0;font-size:12px;color:#cbe1f7}.ledger-pager .actions{flex-wrap:nowrap}.ledger-pager .actions span{white-space:nowrap;color:#aabdd7}.ledger-pager .btn{min-width:72px}
@media(min-width:1200px){.kpis .metric .value.money{font-size:clamp(20px,2vw,30px)}}
@media(max-width:900px){.import-banner{display:block;padding:23px}.import-banner .actions{margin-top:18px}.ledger-total{display:block}.ledger-total span{display:block;margin-top:8px}.proof-row{flex-direction:column;align-items:start}.ledger-controls{padding:14px}.ledger-controls label{flex:1;min-width:125px}.ledger-controls .category-filter{min-width:100%!important}.historical-section{margin-bottom:32px}}

/* Payroll payslip */
.payslip-head{display:flex;align-items:center;gap:20px;padding-bottom:20px;border-bottom:3px solid #1039f4}.payslip-head img{width:82px;height:82px;object-fit:contain}.payslip-head h2{margin:3px 0}.payslip-head p{margin:0!important;color:#51647c}.payslip-person{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:18px;margin:22px 0}.payslip-person b,.payslip-person small{display:block}.payslip-person small{font-size:11px;color:#54677e;margin-top:4px}.payslip .net-row td{background:#eaf8ef;color:#0e5c32;font-size:14px;font-weight:700}.payslip-note{color:#54677e!important;border-top:1px solid #d8e1eb;padding-top:14px}.payslip .signature{border-top:1px solid #d8e1eb;padding-top:22px;margin-top:30px}.payslip .signature b{color:#12213b}
.payslip-head{justify-content:space-between}.payslip-head img{width:185px;height:94px}.payslip-person{grid-template-columns:1fr 1.2fr}.birthday-banner{position:relative;isolation:isolate;display:flex;align-items:center;justify-content:space-between;min-height:106px;overflow:hidden;gap:20px;padding:20px 30px;margin-bottom:18px;border:1px solid rgba(155,239,255,.75);border-radius:20px;color:#effcff;background:linear-gradient(120deg,rgba(14,50,88,.88),rgba(20,154,195,.66) 52%,rgba(109,82,197,.64));box-shadow:inset 0 1px 0 rgba(255,255,255,.4),0 16px 38px rgba(8,38,80,.24);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}.birthday-banner:before{content:'';position:absolute;z-index:-1;inset:-40%;background:linear-gradient(120deg,transparent 35%,rgba(255,255,255,.32) 48%,transparent 62%);transform:translateX(-48%) rotate(11deg);animation:birthday-shine 5s ease-in-out infinite}.birthday-message{display:grid;gap:4px;position:relative;z-index:2}.birthday-kicker{font-size:11px!important;font-weight:800;letter-spacing:.16em;color:#a4f7ff}.birthday-banner b{font-size:25px;line-height:1.16;letter-spacing:-.02em;text-shadow:0 2px 14px rgba(0,40,93,.35)}.birthday-banner b em{display:inline-block;font-style:normal;animation:birthday-bounce 1.3s ease-in-out infinite}.birthday-message>span:last-child{font-size:15px!important;color:rgba(245,253,255,.9)}.birthday-graffiti{position:relative;z-index:2;padding:7px 14px;transform:rotate(-8deg);font-size:29px;font-weight:950;font-style:italic;letter-spacing:-.08em;color:#fff25c;text-shadow:2px 2px 0 #ef3d86,-2px -2px 0 #3de6ff,5px 5px 14px rgba(2,22,58,.45);animation:birthday-wiggle 3s ease-in-out infinite}.birthday-confetti{position:absolute;inset:0;pointer-events:none;z-index:1}.birthday-confetti i{position:absolute;width:8px;height:13px;border-radius:2px;background:#fff25c;animation:birthday-confetti 4.8s linear infinite}.birthday-confetti i:nth-child(1){left:6%;top:-18px;background:#ff64a1;animation-delay:.2s}.birthday-confetti i:nth-child(2){left:16%;top:-28px;background:#a0f4ff;animation-delay:2s}.birthday-confetti i:nth-child(3){left:31%;top:-16px;background:#fff25c;animation-delay:1.2s}.birthday-confetti i:nth-child(4){left:48%;top:-34px;background:#a98dff;animation-delay:3.4s}.birthday-confetti i:nth-child(5){left:64%;top:-20px;background:#ff8c48;animation-delay:.7s}.birthday-confetti i:nth-child(6){left:77%;top:-35px;background:#97ffb5;animation-delay:2.7s}.birthday-confetti i:nth-child(7){left:91%;top:-12px;background:#ff64a1;animation-delay:1.7s}.birthday-confetti i:nth-child(8){left:39%;top:-23px;background:#a0f4ff;animation-delay:4s}.birthday-confetti i:nth-child(9){left:56%;top:-11px;background:#fff25c;animation-delay:3s}@keyframes birthday-confetti{0%{transform:translateY(-20px) rotate(0);opacity:0}8%{opacity:1}92%{opacity:1}100%{transform:translateY(150px) rotate(520deg);opacity:0}}@keyframes birthday-shine{0%,100%{transform:translateX(-48%) rotate(11deg)}50%{transform:translateX(48%) rotate(11deg)}}@keyframes birthday-bounce{0%,100%{transform:translateY(0) rotate(-7deg)}50%{transform:translateY(-5px) rotate(7deg)}}@keyframes birthday-wiggle{0%,100%{transform:rotate(-8deg) scale(1)}50%{transform:rotate(-4deg) scale(1.08)}}@media (prefers-reduced-motion:reduce){.birthday-banner:before,.birthday-banner b em,.birthday-graffiti,.birthday-confetti i{animation:none}}@media(max-width:640px){.birthday-banner{min-height:0;padding:18px}.birthday-banner b{font-size:21px}.birthday-graffiti{font-size:23px;padding:4px 0}.birthday-message>span:last-child{font-size:14px!important}}.employment-letter{padding:34px 44px;min-height:760px}.letterhead{display:flex;align-items:flex-start;justify-content:space-between;gap:28px}.letterhead img{width:230px;height:116px;object-fit:contain;object-position:left center}.letterhead div{font-size:12px;line-height:1.65;text-align:right;color:#596771;font-weight:600}.letter-rule{height:1px;background:#d9e0e5;margin:15px -44px 48px}.letter-content{max-width:820px;margin:0 auto}.letter-content h2{font-size:19px;font-style:italic;text-decoration:underline;margin:54px 0 52px;letter-spacing:.4px}.letter-content ul{font-size:12px;padding-left:22px;margin:22px 0}.letter-recipient{min-height:28px;text-transform:uppercase;letter-spacing:.2px}.letter-signature{justify-content:flex-end!important;text-align:center;margin-top:68px!important;color:#27334c!important;font-weight:600}.preview-bar{display:none}.os-logo-crop{width:128px;height:52px;display:flex;align-items:center;overflow:hidden;flex-shrink:0}.os-logo-crop img{width:100%;height:100%;object-fit:contain}.orbit-card{display:none}.hero{grid-template-columns:1fr}
.print-sheet.payslip{min-height:267mm;padding:16mm 16mm 22mm}.payslip-head{padding-bottom:16px}.payslip-head img{width:250px;height:120px;object-fit:contain;object-position:right center}@media print{.print-sheet.payslip{min-height:267mm;padding:16mm 16mm 22mm}.payslip-head img{width:250px;height:120px}}
.print-sheet.employment-letter{min-height:267mm;padding:44mm 16mm 22mm}.employment-letter .letter-content{max-width:none;margin:0}.employment-letter .letter-meta{min-height:24mm;margin:0 0 6mm}.employment-letter .letter-date{margin:0 0 10mm!important;text-align:right;font-size:12px}.employment-letter .letter-recipient{min-height:0;margin:0!important;text-transform:uppercase;letter-spacing:.3px;font-size:12px}.employment-letter .letter-content h2{margin:12mm 0 16mm}@media print{.print-sheet.employment-letter{min-height:267mm;padding:44mm 16mm 22mm}}
.inventory-availability{margin-top:7px;color:#c9d8ed;font-size:13px;font-weight:650}.inventory-stock-label{display:inline-flex;margin-top:8px;font-size:11px;line-height:1}
@media print{
  @page cashbook{size:A4 landscape;margin:10mm}
  .modal-body>:not(.print-sheet):not(#finance-report-preview):not(#petty-cash-report-preview){display:none!important}
  #finance-report-preview,#petty-cash-report-preview{display:block!important}
  .finance-cashbook-report{page:cashbook;width:277mm;min-height:190mm;margin:0;padding:27mm 12mm 18mm;page-break-after:auto;break-after:auto}
  .finance-cashbook-report .table-shell{display:block;overflow:visible;border:0;border-radius:0}
  .finance-cashbook-report table{width:100%;table-layout:fixed;border-collapse:collapse}
  .finance-cashbook-report thead{display:table-header-group}
  .finance-cashbook-report tbody{display:table-row-group}
  .finance-cashbook-report tr{break-inside:avoid;page-break-inside:avoid}
  .finance-cashbook-report th{font-size:7.5px;padding:4px 5px;white-space:normal}
  .finance-cashbook-report td{font-size:8px;line-height:1.25;padding:4px 5px;overflow-wrap:anywhere;word-break:break-word}
  .finance-cashbook-report td small{font-size:7px}
  .finance-cashbook-report th:nth-child(1){width:8%}.finance-cashbook-report th:nth-child(2){width:8%}.finance-cashbook-report th:nth-child(3){width:10%}.finance-cashbook-report th:nth-child(4){width:23%}.finance-cashbook-report th:nth-child(5){width:15%}.finance-cashbook-report th:nth-child(6){width:9%}.finance-cashbook-report th:nth-child(7),.finance-cashbook-report th:nth-child(8),.finance-cashbook-report th:nth-child(9){width:9%}
}
.pos-top{border:0;background:linear-gradient(120deg,#164cff,#168ce9 56%,#14d8e7);color:#fff;font-weight:750;box-shadow:0 8px 22px rgba(22,76,255,.32);animation:pos-glow 2.4s ease-in-out infinite}.pos-top:hover{background:linear-gradient(120deg,#245dff,#159eef 56%,#19e5ed);transform:translateY(-1px)}@keyframes pos-glow{50%{box-shadow:0 10px 28px rgba(20,216,231,.34)}}.cashbook-ledger{max-width:100%;min-width:0}.cashbook-ledger .table-shell{max-width:100%;min-width:0;overflow-x:hidden}.cashbook-ledger td .actions{flex-wrap:wrap;gap:5px}.cashbook-ledger td .btn{padding:6px 7px;min-width:0}.celebration-banner.service{border-color:rgba(255,216,124,.72);background:linear-gradient(120deg,rgba(73,46,15,.9),rgba(176,110,29,.68) 52%,rgba(14,89,113,.74))}.celebration-banner.company-anniversary{border-color:rgba(135,255,226,.72);background:linear-gradient(120deg,rgba(8,58,71,.93),rgba(9,145,133,.7) 52%,rgba(30,67,175,.72))}.celebration-banner.festival{border-color:rgba(244,190,255,.72);background:linear-gradient(120deg,rgba(68,31,85,.92),rgba(154,51,137,.7) 52%,rgba(219,122,53,.7))}.celebration-banner.service .birthday-graffiti{color:#ffe36c;text-shadow:2px 2px 0 #ff7a35,-2px -2px 0 #fff,5px 5px 14px rgba(2,22,58,.45)}.celebration-banner.company-anniversary .birthday-graffiti{color:#acffe9;text-shadow:2px 2px 0 #246bf1,-2px -2px 0 #fff,5px 5px 14px rgba(2,22,58,.45)}.celebration-banner.festival .birthday-graffiti{color:#fff1a0;text-shadow:2px 2px 0 #f65f9c,-2px -2px 0 #fff,5px 5px 14px rgba(2,22,58,.45)}.holiday-work-panel{margin:20px 0}.holiday-work-panel .holiday-list{margin-top:4px}.holiday-work-panel .holiday-requests{margin-top:28px;padding-top:24px;border-top:1px solid rgba(151,190,255,.18)}.holiday-work-panel .holiday-requests>h3{font-size:16px;margin:0 0 14px}.holiday-work-panel .holiday-requests .table-shell{margin-top:0}
.tabs .tab{font-size:13px;padding:11px 17px;font-weight:500}
.tab-count{display:inline-flex;align-items:center;justify-content:center;min-width:17px;height:17px;margin-left:5px;padding:0 4px;border-radius:999px;background:#ff6e7d;color:#fff;font-size:10px;font-weight:700;vertical-align:1px}
.readonly-field{display:flex;align-items:center;min-height:42px;padding:10px 12px;border:1px solid rgba(132,174,229,.19);border-radius:8px;background:rgba(4,13,30,.28);color:#d7e8fb;font-size:12px}.leave-calendar{border:1px solid rgba(127,173,231,.18);border-radius:10px;padding:12px;background:rgba(6,16,35,.35)}.leave-calendar-title{font-size:12px;font-weight:650;margin-bottom:10px;color:#d8ebff}.leave-weekdays,.leave-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px}.leave-weekdays span{font-size:9px;text-align:center;color:#7898bf}.leave-days span,.leave-days i,.leave-days button{min-height:28px;display:grid;place-items:center;border-radius:6px;font-size:10px;color:#cce2fa}.leave-days span{background:rgba(51,101,177,.16)}.leave-days button{border:1px solid transparent;background:rgba(51,101,177,.16);cursor:pointer;font:inherit}.leave-days button:hover{border-color:rgba(97,214,255,.78);background:rgba(50,157,228,.3)}.leave-days button.selected{background:linear-gradient(135deg,#1266d4,#19aee4);color:#fff;border-color:rgba(176,241,255,.78);box-shadow:0 0 0 1px rgba(77,203,255,.22)}.leave-days span.off{background:rgba(133,149,178,.08);color:#869bb6}.leave-days span small{display:block;font-size:7px;color:#f0c778;line-height:1}.leave-today{color:#f1cc7b!important;font-weight:700}.task-status{display:inline-flex;align-items:center;border:1px solid;border-radius:6px;padding:4px 7px;font-size:9px;white-space:nowrap}.task-status.todo{color:#9ddcff;border-color:rgba(71,156,255,.38);background:rgba(49,120,255,.15)}.task-status.progress{color:#ffe09b;border-color:rgba(250,191,65,.38);background:rgba(250,191,65,.13)}.task-status.review{color:#d4b5ff;border-color:rgba(177,111,255,.35);background:rgba(177,111,255,.14)}.task-status.done{color:#8debc9;border-color:rgba(113,232,190,.3);background:rgba(113,232,190,.11)}
@media(max-width:800px){.tabs .tab{font-size:11px;padding:9px 13px}}
.presence-badge.off-today{width:92px;min-width:92px;min-height:48px;padding:9px 8px;border-radius:12px;border:1px solid rgba(90,215,244,.55);background:rgba(35,157,209,.18);color:#a9efff;font-size:15px;line-height:1;white-space:nowrap}.task-status{justify-content:center;min-width:88px}
.presence-status{display:flex;align-items:center;justify-content:flex-end;min-width:92px}.attendance-hero .presence-status{justify-content:flex-start}

/* Daily attendance register */
.daily-punch-register{margin-top:22px}.daily-punch-register>.panel-head{margin-bottom:16px}.attendance-day-group{border:1px solid var(--line);border-radius:15px;background:rgba(8,19,39,.34);overflow:hidden;margin-top:14px}.attendance-day-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:15px 17px;border-bottom:1px solid var(--line);background:linear-gradient(90deg,rgba(16,57,244,.12),rgba(16,246,255,.035))}.attendance-day-heading h3{font-size:15px;margin-top:4px}.daily-punch-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:13px}.daily-punch-card{border:1px solid rgba(141,178,231,.16);border-radius:12px;background:rgba(33,53,86,.3);padding:14px}.daily-punch-card.open-shift{border-color:rgba(243,199,129,.32);background:linear-gradient(135deg,rgba(243,199,129,.06),rgba(33,53,86,.3))}.daily-punch-person{display:flex;align-items:center;gap:10px;padding-bottom:12px;border-bottom:1px solid rgba(151,190,255,.11)}.daily-punch-person>div{min-width:0;flex:1}.daily-punch-person b{display:block;font-size:14px;font-weight:650}.daily-punch-person small{display:block;margin-top:3px;font-size:11px;color:var(--muted)}.punch-timeline{display:flex;flex-wrap:wrap;gap:8px;padding-top:12px}.punch-event{display:grid;grid-template-columns:auto auto;align-items:center;column-gap:7px;min-width:126px;padding:8px 9px;border-radius:9px;border:1px solid rgba(151,190,255,.14);background:rgba(8,18,36,.34)}.punch-event .punch-kind{font-size:11px;font-weight:700}.punch-event b{font-size:12px;font-variant-numeric:tabular-nums}.punch-event small{grid-column:1/-1;margin-top:3px;font-size:10px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.punch-event.in{border-color:rgba(113,232,190,.28);background:rgba(113,232,190,.06)}.punch-event.in .punch-kind{color:var(--success)}.punch-event.out{border-color:rgba(255,155,168,.25);background:rgba(255,155,168,.055)}.punch-event.out .punch-kind{color:var(--danger)}.punch-event.away{border-color:rgba(94,156,255,.27);background:rgba(94,156,255,.07)}.punch-event.away .punch-kind{color:#9ec5ff}.punch-event.return{border-color:rgba(16,246,255,.2);background:rgba(16,246,255,.05)}.punch-event.return .punch-kind{color:#91f8ff}@media(max-width:800px){.daily-punch-grid{grid-template-columns:1fr}.daily-punch-card{padding:13px}.attendance-day-heading{padding:14px}.punch-event{min-width:112px}.daily-punch-person .badge{font-size:9px}}
.attendance-filterbar{display:flex;align-items:end;gap:12px;padding:13px;border:1px solid var(--line);border-radius:12px;background:rgba(7,17,35,.32);margin-bottom:14px}.attendance-filterbar label{display:flex;flex-direction:column;gap:6px;font-size:11px;color:#b9cce7;min-width:180px}.attendance-filterbar input,.attendance-filterbar select{padding:9px 11px;font-size:12px}.leave-decision-actions{display:inline-flex;gap:7px;align-items:center}@media(max-width:640px){.attendance-filterbar{align-items:stretch;flex-direction:column}.attendance-filterbar label{min-width:0}}

/* Employee workspace refinement */
.top-date{display:inline-flex;align-items:center;gap:7px;padding:8px 12px;border:1px solid rgba(94,199,240,.26);border-radius:999px;background:linear-gradient(135deg,rgba(40,98,171,.32),rgba(24,51,96,.5));color:#e3f5ff;font-size:13px;font-weight:650;letter-spacing:.01em;box-shadow:inset 0 1px 0 rgba(255,255,255,.08)}
.top-date::before{content:'◈';color:#66eaff;font-size:12px}.page-head input[type="month"]{width:172px!important;min-height:42px;border-radius:12px;border-color:rgba(105,205,244,.36);background:linear-gradient(135deg,rgba(44,100,171,.28),rgba(11,28,56,.78));font-weight:650;color:#e4f8ff;box-shadow:inset 0 1px 0 rgba(255,255,255,.08),0 8px 22px rgba(1,10,35,.16)}
.calendar{border-color:rgba(102,211,250,.3);border-radius:20px;background:linear-gradient(145deg,rgba(33,72,122,.36),rgba(8,25,51,.6));box-shadow:inset 0 1px 0 rgba(255,255,255,.08),0 16px 34px rgba(1,8,29,.18)}.cal-label{padding:15px;background:rgba(9,28,59,.7);font-size:11px;color:#a8dff0}.cal-cell{min-height:116px;padding:12px;font-size:13px;transition:background .18s ease,transform .18s ease}.cal-cell:hover{background:rgba(44,187,226,.12);transform:translateY(-1px)}.cal-event{border-radius:9px;padding:7px;font-size:11px;box-shadow:inset 0 1px 0 rgba(255,255,255,.08)}
.leave-calendar{padding:17px;border-radius:18px;border-color:rgba(105,211,247,.34);background:linear-gradient(145deg,rgba(39,83,139,.38),rgba(8,24,50,.74));box-shadow:inset 0 1px 0 rgba(255,255,255,.1),0 12px 30px rgba(2,10,33,.18)}.leave-calendar-title{font-size:16px;margin:0 0 15px;color:#edf9ff}.leave-weekdays,.leave-days{gap:7px}.leave-weekdays span{font-size:11px;padding:3px 0;color:#a8c8e9}.leave-days span,.leave-days i,.leave-days button{min-height:40px;border-radius:11px;font-size:13px}.leave-days button{border-color:rgba(108,173,240,.18);background:rgba(68,123,195,.21);transition:transform .16s ease,background .16s ease,border-color .16s ease}.leave-days button:hover{transform:translateY(-2px);border-color:rgba(103,231,255,.9);background:rgba(48,172,218,.36)}.leave-days button.selected{background:linear-gradient(135deg,#1e67ec,#1cc8e3);box-shadow:0 7px 16px rgba(24,160,231,.32)}.leave-days span.off{background:rgba(123,143,173,.12);color:#91a7c5}.leave-days span small{font-size:8px}
.team-presence-panel .rowline{align-items:center}.presence-badge.off-today{display:inline-flex;align-items:center;justify-content:center;width:112px;min-width:112px;min-height:40px;padding:9px 12px;border-radius:12px;font-size:14px;font-weight:700;line-height:1;box-sizing:border-box}.task-status{width:108px;min-width:108px;min-height:34px;padding:7px 9px;border-radius:9px;font-size:12px;font-weight:650;line-height:1;text-align:center;box-sizing:border-box}.task-status.todo,.task-status.progress,.task-status.review,.task-status.done{display:inline-flex;align-items:center;justify-content:center}
.empty:has(.task-complete-penguin){position:relative;overflow:visible;padding-top:96px;background:radial-gradient(ellipse at 50% 100%,rgba(25,203,229,.17),transparent 66%)}.task-complete-penguin{position:absolute;left:50%;top:-88px;z-index:3;width:128px;height:128px;transform:translateX(-50%);filter:drop-shadow(0 18px 14px rgba(0,0,0,.42));perspective:500px}.task-complete-penguin img{position:relative;z-index:2;width:100%;height:100%;object-fit:contain;border:0;background:transparent;box-shadow:none;transform-origin:50% 88%;animation:penguin-celebrate 3.4s cubic-bezier(.35,.1,.25,1) infinite}.penguin-halo{position:absolute;inset:8px;border:1px solid rgba(126,242,255,.68);border-radius:50%;animation:penguin-halo 3.4s ease-out infinite}.penguin-spark{position:absolute;z-index:4;font-style:normal;color:#91f8ff;text-shadow:0 0 15px #20dff0;animation:penguin-spark 1.7s ease-in-out infinite}.penguin-spark.one{left:-12px;top:20px;font-size:23px}.penguin-spark.two{right:-12px;top:4px;font-size:20px;animation-delay:.48s}.penguin-spark.three{right:-7px;bottom:21px;font-size:10px;animation-delay:.85s}@keyframes penguin-celebrate{0%,100%{transform:translateY(0) rotate(-5deg) rotateY(-7deg) scale(1)}12%{transform:translateY(-8px) rotate(8deg) rotateY(14deg) scale(1.035,.96)}25%{transform:translateY(-3px) rotate(-11deg) rotateY(-16deg) scale(.97,1.055)}39%{transform:translateY(-13px) rotate(7deg) rotateY(18deg) scale(1.045,.955)}53%{transform:translateY(-1px) rotate(-7deg) rotateY(-12deg) scale(.98,1.045)}68%{transform:translateY(-9px) rotate(10deg) rotateY(16deg) scale(1.035,.97)}82%{transform:translateY(-2px) rotate(-4deg) rotateY(-8deg) scale(1.01,.995)}}@keyframes penguin-halo{0%,12%{transform:scale(.72);opacity:0}34%{transform:scale(1.18);opacity:.8}65%,100%{transform:scale(1.52);opacity:0}}@keyframes penguin-spark{0%,100%{transform:translateY(5px) scale(.55) rotate(0);opacity:.25}50%{transform:translateY(-9px) scale(1.2) rotate(80deg);opacity:1}}@media(prefers-reduced-motion:reduce){.task-complete-penguin img,.penguin-halo,.penguin-spark{animation:none}}@media(max-width:640px){.top-date{padding:7px 10px;font-size:12px}.page-head input[type="month"]{width:154px!important}.leave-days span,.leave-days i,.leave-days button{min-height:35px;font-size:12px}.task-status{width:92px;min-width:92px;font-size:11px}.presence-badge.off-today{width:102px;min-width:102px;font-size:13px}.task-complete-penguin{width:108px;height:108px;top:-76px}}

/* Layered mascot: reveal from behind the card, then wave and dance. */
.task-complete-penguin{perspective:650px;isolation:isolate}
.penguin-arrival{position:absolute;inset:0;transform-style:preserve-3d;animation:penguin-enter 1.8s cubic-bezier(.2,.8,.25,1) both}
.penguin-dancer{position:absolute;inset:0;transform-style:preserve-3d;transform-origin:50% 92%;animation:penguin-dance 2.8s ease-in-out 1.8s infinite}
.task-complete-penguin .penguin-dancer img{position:absolute;inset:0;object-fit:contain;border-radius:0;animation:none;filter:none}
.penguin-body{clip-path:none}
.task-complete-penguin .penguin-flipper{z-index:3}
.task-complete-penguin .penguin-flipper.left{clip-path:polygon(24% 52%,31% 55%,29% 80%,12% 81%,10% 69%,16% 57%);transform-origin:26% 55%;animation:penguin-wave-left 1.4s ease-in-out 1.8s infinite}
.task-complete-penguin .penguin-flipper.right{clip-path:polygon(76% 52%,69% 55%,71% 80%,88% 81%,90% 69%,84% 57%);transform-origin:74% 55%;animation:penguin-wave-right 1.4s ease-in-out 1.8s infinite}
@keyframes penguin-enter{0%{opacity:0;clip-path:inset(100% -40% 0);transform:translateY(110px) translateZ(-160px) rotateY(-65deg) scale(.6)}35%{opacity:1;clip-path:inset(50% -40% 0);transform:translateY(58px) translateZ(-60px) rotateY(-35deg) scale(.8)}75%{clip-path:inset(-40%);transform:translateY(-16px) translateZ(30px) rotateY(15deg) scale(1.06)}100%{opacity:1;clip-path:inset(-40%);transform:translateY(0) translateZ(0) rotateY(0) scale(1)}}
@keyframes penguin-dance{0%,100%{transform:translateX(-9px) rotate(-9deg) rotateY(-18deg)}25%{transform:translateX(7px) translateY(-8px) rotate(7deg) rotateY(18deg)}50%{transform:translateX(10px) rotate(10deg) rotateY(22deg)}75%{transform:translateX(-6px) translateY(-8px) rotate(-7deg) rotateY(-15deg)}}
@keyframes penguin-wave-left{0%,100%{transform:rotate(5deg)}35%{transform:rotate(30deg)}65%{transform:rotate(25deg)}}
@keyframes penguin-wave-right{0%,100%{transform:rotate(-25deg)}35%{transform:rotate(-10deg)}65%{transform:rotate(-32deg)}}
@media(prefers-reduced-motion:reduce){.penguin-arrival,.penguin-dancer,.task-complete-penguin .penguin-flipper.left,.task-complete-penguin .penguin-flipper.right{animation:none;transform:none;clip-path:initial}.task-complete-penguin .penguin-flipper{display:none}.task-complete-penguin .penguin-body{clip-path:none}}

/* Preserve the complete mascot silhouette and add depth without cutting its body. */
.task-complete-penguin{width:144px;height:144px;top:-94px;filter:drop-shadow(0 14px 10px rgba(0,0,0,.35))}
.task-complete-penguin::after{content:"";position:absolute;left:22%;right:22%;bottom:-9px;height:10px;border-radius:50%;background:rgba(0,8,28,.42);filter:blur(5px);animation:penguin-shadow 2.8s ease-in-out 1.8s infinite}
.penguin-dancer{filter:drop-shadow(0 0 8px rgba(68,214,255,.12));backface-visibility:hidden}
.task-complete-penguin .penguin-body{clip-path:none!important;z-index:2}
.penguin-halo{inset:12px;opacity:.25;border-color:rgba(126,242,255,.24)}
@keyframes penguin-shadow{0%,50%,100%{transform:scaleX(1);opacity:.65}25%,75%{transform:scaleX(.75);opacity:.35}}
@keyframes penguin-dance{0%,100%{transform:translateX(-5px) rotate(-4deg) rotateY(-10deg)}25%{transform:translateX(4px) translateY(-5px) rotate(3deg) rotateY(10deg)}50%{transform:translateX(5px) rotate(4deg) rotateY(12deg)}75%{transform:translateX(-4px) translateY(-5px) rotate(-3deg) rotateY(-8deg)}}
@media(max-width:640px){.task-complete-penguin{width:118px;height:118px;top:-80px}}
@media(prefers-reduced-motion:reduce){.task-complete-penguin::after{animation:none}}

.attendance-smiley{position:relative;display:block;width:72px;height:72px;border-radius:50%;background:radial-gradient(circle at 30% 22%,#fff7bb 0,#ffdf55 27%,#f6ad20 68%,#bc6910 100%);box-shadow:inset -7px -9px 13px rgba(139,70,0,.35),inset 5px 5px 9px rgba(255,255,255,.7),0 10px 15px rgba(0,0,0,.25);transform-style:preserve-3d;animation:smiley-look 4s ease-in-out infinite}
.attendance-smiley::before{content:"";position:absolute;left:14%;top:8%;width:35%;height:18%;border-radius:50%;background:rgba(255,255,255,.4);filter:blur(3px)}
.smiley-eye{position:absolute;top:29%;width:9px;height:14px;border-radius:50%;background:#49321e;box-shadow:inset 2px 2px 2px rgba(0,0,0,.3);animation:smiley-blink 5s infinite}
.smiley-eye.left{left:27%}.smiley-eye.right{right:27%}
.smiley-mouth{position:absolute;left:29%;top:56%;width:42%;height:21%;border:4px solid #684025;border-top:0;border-radius:0 0 50% 50%;box-sizing:border-box}
.attendance-smiley.happy{animation:smiley-happy 3.2s ease-in-out infinite}
.attendance-smiley.happy .smiley-mouth{background:#7a3722;box-shadow:inset 0 -5px 0 #ef8f79}
.attendance-smiley.sad{background:radial-gradient(circle at 30% 22%,#fff6b0,#ffd451 30%,#e89a30 70%,#a85d24);animation:smiley-sad 4s ease-in-out infinite}
.attendance-smiley.sad .smiley-mouth{top:61%;height:17%;border:4px solid #684025;border-bottom:0;border-radius:50% 50% 0 0}
.attendance-smiley.neutral .smiley-mouth{top:64%;height:0;border:0;border-top:4px solid #684025;border-radius:4px;width:27%;left:36.5%}
@keyframes smiley-blink{0%,42%,46%,100%{transform:scaleY(1)}44%{transform:scaleY(.08)}}
@keyframes smiley-look{0%,100%{transform:rotateY(-12deg) rotate(-3deg)}50%{transform:rotateY(12deg) rotate(3deg)}}
@keyframes smiley-happy{0%,100%{transform:translateY(0) rotate(-6deg) rotateY(-10deg)}35%{transform:translateY(-5px) rotate(6deg) rotateY(12deg)}70%{transform:translateY(-2px) rotate(-3deg)}}
@keyframes smiley-sad{0%,100%{transform:rotate(-5deg) rotateY(-12deg)}50%{transform:translateY(3px) rotate(5deg) rotateY(12deg)}}
@media(prefers-reduced-motion:reduce){.attendance-smiley,.attendance-smiley.happy,.attendance-smiley.sad,.smiley-eye{animation:none}}

/* Attendance feedback shares the marketing card and animated emoji. */
.attendance-feedback{border-radius:24px;gap:24px;padding:24px 32px}.attendance-feedback h3{font-size:21px;line-height:1.4}.attendance-feedback p{font-size:17px;line-height:1.55}.attendance-feedback .marketing-face{font-size:48px}.attendance-feedback>div{min-width:0}@media(max-width:600px){.attendance-feedback{gap:18px;padding:20px}.attendance-feedback h3{font-size:18px}.attendance-feedback p{font-size:15px}}
/* Familiar split-screen register: sale on the left, catalogue on the right. */
.pos-register{--register-ink:#16314d;--register-muted:#64768c;--register-line:#dfe8f2;background:#edf3fa;border:1px solid #cfddeb;border-radius:20px;overflow:clip;color:var(--register-ink);box-shadow:0 20px 60px #030b2426}.pos-register-top{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:12px 20px;background:linear-gradient(110deg,#073353,#154b85);color:white}.pos-register-top>div:first-child{display:flex;gap:20px;align-items:center}.pos-register-top b{font-size:18px}.pos-register-top span{font-size:14px;color:#d3e8ff}.pos-register-top .btn{min-height:38px;font-size:14px;border:0;color:white}.pos-expense{background:#7959ba}.pos-repair{background:#5266bc}.pos-register-workspace{grid-template-columns:minmax(0,1.22fr) minmax(0,1fr);gap:16px;padding:16px;align-items:stretch}.pos-sale-panel{background:#fff;border:1px solid #d9e5f0;border-radius:14px;box-shadow:0 3px 15px #29476609;display:flex;flex-direction:column;min-width:0;overflow:hidden}.pos-register-fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;padding:16px}.pos-field{display:flex;flex-direction:column;gap:5px;min-width:0}.pos-field>span,.pos-category-select>span{font-size:12px;font-weight:700;color:#5e748e}.pos-register input,.pos-register select,.pos-register textarea{color:#173755;background:#fff;border:1px solid #cddceb;border-radius:9px;font-size:15px;min-width:0}.pos-register input:focus,.pos-register select:focus,.pos-register textarea:focus{border-color:#3283ff;outline:3px solid #3283ff19}.pos-register .pos-field input,.pos-register .pos-field select{height:44px;width:100%;padding:8px 12px}.register-search{grid-column:span 2;margin:0;min-width:0;background:#f4f8ff;border-color:#bad2f3;align-self:end;height:44px;border-radius:9px}.register-search input{border:0;background:none;outline:0!important;box-shadow:none;font-size:15px}.register-search svg{width:20px;color:#2774db;flex-shrink:0}.pos-sale-table{flex:1;min-height:320px}.pos-sale-columns,.pos-register .pos-line{display:grid;grid-template-columns:minmax(0,1fr) 116px 130px 26px;gap:12px;align-items:center;padding:13px 16px}.pos-sale-columns{background:#edf5ff;border-block:1px solid #dce9f9;font-size:14px;color:#274b77}.pos-sale-columns>b:nth-child(2),.pos-sale-columns>b:nth-child(3){text-align:center}.pos-register .pos-cart-lines{max-height:360px;min-height:300px;padding:0;overflow-y:auto}.pos-register .pos-line{border-bottom:1px solid #edf1f5}.pos-register .pos-line b{font-size:14px;color:#193651}.pos-register .pos-line small{font-size:12px;color:#71839a}.pos-register .pos-line>strong{font-size:14px;color:#234369;text-align:right}.pos-register .pos-qty{justify-content:center;gap:9px}.pos-register .pos-qty button{width:29px;height:29px;background:#eff6ff;color:#2169bd;border-color:#d7e6fc;border-radius:8px}.pos-register .pos-remove{color:#e3516a}.pos-register .pos-cart-empty{display:flex;align-items:center;justify-content:center;flex-direction:column;height:300px;color:#6b8299;font-size:14px;text-align:center;padding:25px}.pos-register .pos-cart-empty>span{display:grid;place-items:center;width:60px;height:60px;border-radius:18px;background:#eaf3ff;color:#3c80d2;font-size:35px;margin-bottom:15px}.pos-register .pos-cart-empty b{color:#3a597a;font-size:18px}.pos-register-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;padding:16px;border-top:1px solid #e3edf7;background:#f8fbff}.pos-register-summary>div{display:flex;flex-direction:column;gap:5px}.pos-register-summary span{font-size:12px;color:#687e97}.pos-register-summary b{font-size:15px;color:#183b65}.pos-register-summary .register-total{color:#118463}.pos-register-adjustments{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;padding:12px 16px}.pos-register-adjustments label{font-size:12px;font-weight:600;color:#6a7c94}.pos-register-adjustments input,.pos-register-adjustments select{margin-top:5px;width:100%;padding:7px;font-size:14px;height:36px}.pos-sale-notes{padding:0 16px 14px;color:#6b7d96;font-size:13px}.pos-sale-notes summary{cursor:pointer;padding:5px 0}.pos-sale-notes textarea{width:100%;margin-top:8px;padding:9px;min-height:60px}.pos-register .pos-toolbar{margin-bottom:12px;justify-content:space-between}.pos-category-select{display:flex;flex-direction:column;gap:5px;flex:1;max-width:280px}.pos-category-select select{height:44px;padding:8px 12px}.pos-product-count{font-size:13px;color:#6a8199}.pos-register .pos-product-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;max-height:620px;overflow-y:auto;padding:2px 3px 10px}.pos-register .pos-product-card{background:#fff;border:1px solid #d8e3ef;border-radius:12px;box-shadow:0 3px 10px #24508a08}.pos-register .pos-product-card:hover{border-color:#4a93f0;box-shadow:0 8px 20px #256ac420}.pos-register .pos-product-info{padding:10px}.pos-register .pos-product-info>b{font-size:13px;color:#153558;min-height:34px;line-height:1.35}.pos-register .pos-product-info>small{font-size:11px;color:#73869c;min-height:0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.pos-register .pos-product-bottom{display:block;margin-top:8px}.pos-register .pos-product-bottom strong{font-size:13px;color:#118761}.pos-register .pos-product-bottom em{display:block;text-align:left;color:#75879b;margin-top:3px;font-size:11px}.pos-register .pos-product-art{height:130px}.pos-payment-bar{position:sticky;bottom:0;z-index:10;display:flex;gap:12px;align-items:center;flex-wrap:wrap;padding:14px 16px;background:#e3ecf6;border-top:1px solid #c9d9ea;box-shadow:0 -5px 20px #315f9510}.pos-payment-actions{display:flex;gap:8px;flex-wrap:wrap;flex:1}.pos-payment-bar .btn{min-height:48px;padding:12px 17px;justify-content:center;border:0;border-radius:10px;font-size:15px;font-weight:700;color:#fff;box-shadow:0 3px 8px #15355013;transition:transform .15s,filter .15s}.pos-payment-bar .btn:hover{transform:translateY(-2px);filter:brightness(1.08)}.pos-payment-bar .btn:disabled{opacity:.45;transform:none;cursor:not-allowed}.pos-pay.quotation{background:linear-gradient(120deg,#f0a225,#ee8229)}.pos-pay.credit{background:linear-gradient(120deg,#8971bc,#6e5eb1)}.pos-pay.bank{background:linear-gradient(120deg,#df467c,#c92766)}.pos-pay.online{background:linear-gradient(120deg,#116d9c,#174e86)}.pos-pay.cash{background:linear-gradient(120deg,#15bd85,#079867)}.pos-pay.cancel{background:linear-gradient(120deg,#f2516c,#dd3153)}.pos-payment-bar .pos-recent{background:#2879dc;font-size:13px}.pos-payable{background:#0c345a;color:white;border-radius:11px;padding:9px 15px;min-width:155px}.pos-payable span{display:block;font-size:12px;color:#bad6f3}.pos-payable b{display:block;font-size:21px;margin-top:3px;white-space:nowrap}@media(min-width:1700px){.pos-register .pos-product-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}@media(max-width:1250px){.pos-register-workspace{grid-template-columns:minmax(0,1.15fr) minmax(0,1fr)}.pos-register .pos-product-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.pos-sale-columns,.pos-register .pos-line{grid-template-columns:minmax(0,1fr) 95px 105px 24px;gap:8px}.pos-register-adjustments{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:900px){.pos-register-workspace{grid-template-columns:1fr}.pos-register .pos-product-grid{grid-template-columns:repeat(3,minmax(0,1fr));max-height:400px}.pos-register-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.pos-payment-actions{flex-basis:100%}.pos-payment-bar .btn{flex:1}.pos-register-top>div:first-child{flex-direction:column;align-items:flex-start;gap:3px}}@media(max-width:560px){.pos-register-fields{grid-template-columns:repeat(2,minmax(0,1fr));padding:12px}.register-search{grid-column:1/-1;grid-row:2}.customer-field{grid-column:1/-1}.pos-register .pos-product-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.pos-sale-columns,.pos-register .pos-line{grid-template-columns:minmax(0,1fr) 80px 85px 20px;padding:12px 8px;gap:5px}.pos-register .pos-line>strong{font-size:12px}.pos-register .pos-qty{gap:4px}.pos-register .pos-qty button{width:24px;height:26px}.pos-register-top{padding:12px;flex-wrap:wrap}.pos-register-workspace{padding:10px}.pos-payable{flex:1}.pos-payment-bar .btn{min-height:42px;font-size:13px;padding:10px 13px}}@media(prefers-reduced-motion:reduce){.pos-payment-bar .btn,.pos-register .pos-product-card{transition:none}}
/* A4 sales documents retain the complete Bright Link wording. */
.print-sheet.sales-document{width:210mm;max-width:100%;min-height:297mm;padding:12mm 14mm;background:#fff;color:#20334c;overflow:visible;isolation:auto;font-family:Arial,Helvetica,sans-serif;box-shadow:0 4px 24px #0b25411a;margin:0 auto 18px;box-sizing:border-box}.sales-company-header{display:block;width:100%;height:auto;margin:0 0 8mm;position:static!important}.sales-title{display:flex;align-items:flex-start;justify-content:space-between;border-top:3px solid #127fb5;padding-top:6mm;gap:8mm;margin-bottom:7mm}.sales-title h2{font-size:25px;letter-spacing:1.6px;color:#12315b;margin:0 0 2mm}.sales-title>div:first-child>b{display:block;font-size:13px;letter-spacing:.5px}.sales-title>div:last-child{text-align:right;display:flex;flex-direction:column;gap:2mm;font-size:12px}.sales-title>div:last-child>span{color:#778498;font-size:10px;text-transform:uppercase;letter-spacing:1px}.sales-title small{font-size:10px;color:#5f7287}.sales-validity{display:inline-block;background:#e9f4fb;color:#116691;font-size:9px;font-weight:700;letter-spacing:.6px;padding:2mm 3mm;margin-top:3mm;border-radius:4px}.sales-customer{border-left:3px solid #18b7cf;padding:3mm 4mm;background:#f5f9fc;margin-bottom:7mm}.sales-customer>span{display:block;font-size:10px;text-transform:uppercase;letter-spacing:.8px;color:#70839a;margin-bottom:2mm}.sales-customer>b{display:block;font-size:14px}.sales-document .sales-customer p{margin:2mm 0 0;font-size:11px}.sales-document table{width:100%;border-collapse:collapse;margin:0;table-layout:fixed}.sales-document th{background:#eaf2fa;color:#23476c;font-size:10px;font-weight:700;padding:3mm 2.5mm;border-bottom:1px solid #c8dcec;text-transform:none;letter-spacing:0}.sales-document td{font-size:10px;padding:4mm 2.5mm;border-bottom:1px solid #e3eaf1;line-height:1.5}.sales-items th:first-child{width:55%}.sales-items th:nth-child(2){width:12%}.sales-items th:nth-child(3){width:16%}.sales-items th:nth-child(4){width:17%}.sales-items th:not(:first-child),.sales-items td:not(:first-child){text-align:right;white-space:nowrap}.sales-item-detail{display:flex;gap:3mm;align-items:flex-start}.sales-item-detail>div{min-width:0}.sales-item-detail b{font-size:10px;line-height:1.45;display:block;color:#172d4a}.sales-document .sales-item-detail small{display:block;font-size:9px;line-height:1.5;color:#66798f;margin-top:1mm;white-space:pre-wrap}.sales-product-image{width:13mm;height:11mm;flex-shrink:0;object-fit:contain;background:#fff}.sales-settlement{display:grid;grid-template-columns:1fr 1fr;gap:9mm;margin:7mm 0 9mm;align-items:start}.sales-payments>div,.sales-totals>div{display:flex;justify-content:space-between;gap:4mm;font-size:11px;padding:2.5mm 0;border-bottom:1px solid #e5ecf3}.sales-payments b,.sales-totals b{white-space:nowrap}.sales-payments{color:#65788e}.sales-payments .sales-balance{color:#294765}.sales-totals .sales-grand-total{background:#123c67;color:white;padding:3.5mm 3mm;margin-top:2mm;border-radius:5px;font-size:13px;border:0}.sales-document .sales-bank h3{font-size:12px;margin:0 0 3mm;color:#1d476c}.sales-bank th:nth-child(1){width:27%}.sales-bank th:nth-child(2){width:26%}.sales-bank th:nth-child(3){width:28%}.sales-bank td{font-size:10px;padding:3mm 2.5mm}.sales-document .sales-payment-note{font-size:8px;font-style:italic;line-height:1.6;margin:3mm 0 0;color:#63768a}.sales-document .sales-notes{margin:5mm 0;padding:3mm 4mm;border:1px solid #dce7f1;border-radius:5px;break-inside:avoid}.sales-document .sales-notes h3{font-size:10px;margin:0 0 2mm}.sales-document .sales-notes p{font-size:10px;white-space:pre-wrap;margin:0}.sales-page-note{margin-top:8mm;border-top:1px solid #dce7f1;padding-top:3mm;font-size:9px;color:#7e8c9f}.sales-terms-page .sales-company-header{margin-bottom:5mm}.sales-terms-title{border-top:3px solid #127fb5;padding-top:4mm;margin-bottom:4mm;display:flex;justify-content:space-between;align-items:center;gap:5mm}.sales-document .sales-terms-title h2{font-size:17px;margin:0;color:#123b65}.sales-terms-title>span{font-size:9px;color:#71849b;text-align:right}.sales-document .sales-terms h3{font-size:10px;font-weight:700;color:#14507e;margin:4mm 0 1.5mm;break-after:avoid}.sales-document .sales-terms p{font-size:9px;line-height:1.5;margin:0 0 2mm;white-space:normal;text-align:left;orphans:3;widows:3}.sales-terms section{break-inside:avoid}.sales-document .sales-terms section:first-child h3{margin-top:0}@media(max-width:620px){.print-sheet.sales-document{padding:7mm;min-height:0}.sales-title h2{font-size:20px}.sales-settlement{gap:5mm}.sales-items th:first-child{width:49%}.sales-items th:nth-child(2){width:13%}.sales-items th:nth-child(3),.sales-items th:nth-child(4){width:19%}.sales-document th,.sales-document td{padding:2mm 1mm;font-size:9px}.sales-product-image{display:none}.sales-document .sales-item-detail b{font-size:9px}.sales-bank td{overflow-wrap:anywhere}}
@media print{@page sales{size:A4;margin:12mm 14mm}.print-sheet.sales-document{page:sales;width:182mm;max-width:none;min-height:0;padding:0;margin:0;border:0;box-shadow:none;overflow:visible;break-after:page;page-break-after:always;color:#20334c;-webkit-print-color-adjust:exact;print-color-adjust:exact}.print-sheet.sales-document:last-child{break-after:auto;page-break-after:auto}.sales-document table{break-inside:auto}.sales-document thead{display:table-header-group}.sales-document tr,.sales-document .sales-bank,.sales-document .sales-settlement{break-inside:avoid}.sales-document th{padding:3mm 2.5mm;font-size:10px}.sales-document td{padding:4mm 2.5mm;font-size:10px}.sales-bank td{padding:3mm 2.5mm}.sales-document .sales-product-image{display:block}.sales-terms-page .sales-company-header{margin-bottom:5mm}.sales-document .sales-terms p{font-size:9px;line-height:1.5}.sales-document .sales-terms h3{font-size:10px}.sales-company-header{width:100%;height:auto}.sales-document .sales-grand-total{background:#123c67!important;color:white!important}}
.sales-document,.sales-document>*{position:static!important;z-index:auto!important}.sales-terms-title{display:block}.sales-terms-title>span{display:block;margin-top:2mm;text-align:left}.sales-document .sales-terms-title h2{white-space:nowrap}
.sales-document .sales-terms h3{margin-top:2.5mm;margin-bottom:1mm}.sales-document .sales-terms p{margin-bottom:1mm;line-height:1.45}@media print{.sales-document .sales-terms h3{margin-top:2.5mm;margin-bottom:1mm}.sales-document .sales-terms p{margin-bottom:1mm;line-height:1.45}}
/* Glass POS workspace with a dedicated expanded view. */
.pos-active .content{padding-top:20px}.pos-screen{height:calc(100dvh -116px);min-height:660px;display:flex;flex-direction:column;gap:16px}.pos-screen-header{display:flex;align-items:center;gap:24px;flex-shrink:0;min-height:46px}.pos-screen-title{display:flex;align-items:center;gap:12px}.pos-screen-title h1{font-size:25px;letter-spacing:-.7px}.pos-live-dot{width:10px;height:10px;border-radius:50%;background:#5ee4c2;box-shadow:0 0 0 5px #5ee4c212,0 0 20px #5ee4c25c;animation:pos-live-pulse 3s ease-in-out infinite}.pos-view-tabs{display:flex;gap:5px;padding:5px;border-radius:14px;border:1px solid #adcfff19;background:#18345042;backdrop-filter:blur(18px)}.pos-view-tabs button{padding:9px 20px;border:0;border-radius:10px;background:transparent;color:#a9bedb;font-size:14px;font-weight:650;transition:background .2s,color .2s}.pos-view-tabs button.active{background:linear-gradient(115deg,#2674dd,#208dae);color:#fff;box-shadow:0 4px 16px #145ebc33}.pos-view-tabs button:hover{color:#fff}.pos-screen-controls{display:flex;gap:8px;align-items:center;margin-left:auto}.pos-screen-controls .btn{font-size:12px;min-height:38px;padding:9px 12px;white-space:nowrap}.pos-screen-controls .cyan{background:#17698748;border:1px solid #55d9f44a;color:#a9f0ff}.pos-screen-body{flex:1;min-height:0}.pos-records{overflow:auto;padding-bottom:16px}.pos-screen .pos-register{--register-ink:#e7f1ff;--register-muted:#a3b9d5;--register-line:#adcfff1c;display:flex;flex-direction:column;height:100%;min-height:0;color:var(--register-ink);background:radial-gradient(ellipse at 95% 2%,#2e779832,transparent 56%),linear-gradient(145deg,#16325375,#101e38a8);border:1px solid #b1d0ff20;border-radius:22px;backdrop-filter:blur(26px);box-shadow:0 22px 60px #040b222b;overflow:hidden}.pos-register .pos-register-workspace{flex:1;min-height:0;grid-template-columns:minmax(0,.98fr) minmax(0,1.12fr);align-items:stretch;padding:16px;gap:18px}.pos-register .pos-sale-panel{min-height:0;background:linear-gradient(150deg,#233c596e,#152940a6);border:1px solid #c2dbff20;border-radius:17px;box-shadow:inset 0 1px 0 #dceaff0a,0 10px 24px #02081818;backdrop-filter:blur(20px)}.pos-register .pos-register-fields{padding:16px;gap:12px}.pos-register .pos-field>span,.pos-register .pos-category-select>span{font-size:11px;font-weight:600;letter-spacing:.4px;color:#9fb7d6}.pos-register input,.pos-register select,.pos-register textarea{color:#e6f1ff;background:#11243b7a;border:1px solid #bad8ff24;border-radius:10px;font-size:14px;box-shadow:inset 0 1px 0 #ffffff03;color-scheme:dark}.pos-register input::placeholder,.pos-register textarea::placeholder{color:#829bb9}.pos-register input:focus,.pos-register select:focus,.pos-register textarea:focus{border-color:#4ebbd480;outline:3px solid #3aa9d413;background:#142c48}.pos-register .pos-field input,.pos-register .pos-field select{height:42px;padding:9px 11px}.pos-register .register-search{background:#13345983;border-color:#569eda47;border-radius:10px;height:42px}.pos-register .register-search input{color:#dff1ff;background:transparent;border:0;box-shadow:none;font-size:14px}.pos-register .register-search svg{color:#74ccef;width:19px}.pos-register .pos-sale-table{flex:1;min-height:100px;display:flex;flex-direction:column}.pos-register .pos-sale-columns{background:#19395265;border-block:1px solid #afd3fb19;color:#c0d6f0;font-size:12px;padding:12px 16px;flex-shrink:0}.pos-register .pos-sale-columns,.pos-register .pos-line{grid-template-columns:minmax(0,1fr) 104px 120px 24px;gap:10px}.pos-register .pos-cart-lines{flex:1;min-height:0;max-height:none;padding:0;overflow:auto;scrollbar-width:thin;scrollbar-color:#5e92b64d transparent}.pos-register .pos-line{border-bottom:1px solid #bdd8ff12;padding:13px 16px}.pos-register .pos-line b{font-size:13px;color:#e6f0ff}.pos-register .pos-line small{color:#8fa9c9;font-size:11px;margin-top:5px}.pos-register .pos-line>strong{color:#d3e9ff;font-size:13px;white-space:normal;text-align:right}.pos-register .pos-qty{gap:7px}.pos-register .pos-qty button{width:28px;height:28px;border:1px solid #75b7f02d;background:#3675b924;color:#89ccff;border-radius:8px}.pos-register .pos-remove{color:#fa879b;border:0;background:#cb3c5913;border-radius:7px}.pos-register .pos-cart-empty{height:100%;min-height:120px;padding:22px;color:#819ab9;gap:5px}.pos-register .pos-cart-empty>span{background:linear-gradient(145deg,#3f90cd33,#3c58bd20);color:#70bfef;border:1px solid #82c8ef28;box-shadow:inset 0 1px 0 #ccedff12;width:62px;height:62px;border-radius:20px;font-size:30px;margin-bottom:10px}.pos-register .pos-cart-empty b{font-size:17px;color:#c7dbf6}.pos-register .pos-cart-empty p{font-size:12px;line-height:1.5;max-width:270px}.pos-register .pos-register-summary{background:#203d5a30;border-top:1px solid #bad7fc1a;padding:13px 16px;gap:8px}.pos-register .pos-register-summary span{color:#8ca7c9;font-size:10px;text-transform:uppercase;letter-spacing:.5px}.pos-register .pos-register-summary b{color:#d8eaff;font-size:13px}.pos-register .pos-register-summary .register-total{color:#85e8ce}.pos-register .pos-register-adjustments{gap:10px;padding:11px 16px}.pos-register .pos-register-adjustments label{font-size:10px;color:#9ab1cf;font-weight:500}.pos-register .pos-register-adjustments input,.pos-register .pos-register-adjustments select{height:32px;font-size:12px;padding:6px 8px}.pos-register .pos-sale-notes{font-size:11px;color:#7fa3c9;padding:0 16px 12px}.pos-register .pos-sale-notes textarea{color:#e2edff}.pos-register .pos-catalogue{min-height:0;display:flex;flex-direction:column;gap:13px}.pos-register .pos-toolbar{margin:0;flex-shrink:0;padding:0 2px}.pos-register .pos-category-select{max-width:270px}.pos-register .pos-category-select select{height:40px;font-size:13px;padding:8px 12px}.pos-register .pos-product-count{font-size:11px;color:#8da8c7;padding-top:18px}.pos-register .pos-product-grid{flex:1;min-height:0;max-height:none;grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-rows:max-content;align-content:start;gap:13px;padding:2px 5px 6px 2px;scrollbar-width:thin;scrollbar-color:#5e92b64d transparent}.pos-register .pos-product-card{border:1px solid #a9d2ff24;border-radius:16px;background:linear-gradient(145deg,#2e527b5c,#1b34517a);box-shadow:inset 0 1px 0 #d4ebff0b,0 8px 18px #02122b16;overflow:hidden;transition:transform .18s,border-color .18s,box-shadow .18s}.pos-register .pos-product-card:hover{transform:translateY(-3px);border-color:#56c1e477;box-shadow:0 12px 26px #03132633,0 0 20px #41b7db0d}.pos-register .pos-product-add{height:100%;display:flex;flex-direction:column;text-align:left;position:relative}.pos-register .pos-product-art{height:150px;width:100%;padding:12px 10px;background:radial-gradient(ellipse at 48% 38%,#d2e5fa,#a8c4e4 85%);border-bottom:1px solid #bdd8ff19;display:grid;place-items:center;overflow:hidden}.pos-register .pos-product-art svg{display:block;width:100%;height:100%;mix-blend-mode:multiply;overflow:hidden}.pos-register .pos-product-info{padding:13px;display:flex;flex-direction:column;width:100%;min-height:145px}.pos-register .pos-product-info>b{font-size:13px;color:#edf5ff;line-height:1.45;min-height:38px;display:block}.pos-register .pos-product-info>small{color:#90accd;font-size:10px;line-height:1.5;min-height:30px;margin-top:5px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.pos-register .pos-product-bottom{display:block;margin-top:auto;padding-top:12px;padding-right:24px;position:relative}.pos-register .pos-product-bottom strong{font-size:14px;color:#91ecd5;font-weight:750;white-space:nowrap}.pos-register .pos-product-bottom em{display:inline-block;width:max-content;margin-top:7px;padding:3px 6px;border-radius:5px;font-size:9px;line-height:1.25}.pos-register .pos-product-bottom .stock-ready{color:#9fddce;background:#34aa881a}.pos-register .pos-product-bottom .stock-empty{color:#ffabb5;background:#ee4a701b}.pos-register .pos-product-bottom .stock-low{color:#f3d794;background:#e6aa281c}.pos-register .pos-product-bottom .stock-service{color:#b5bbfc;background:#8a76ef1c}.pos-card-plus{position:absolute;right:0;bottom:4px;display:grid;place-items:center;width:25px;height:25px;border-radius:8px;background:#398fb535;border:1px solid #68bed137;color:#9eeaff;font-size:20px}.pos-register .pos-payment-bar{flex-shrink:0;position:relative;bottom:auto;background:linear-gradient(100deg,#23415e94,#142b46cc);border-top:1px solid #b4d5ff24;backdrop-filter:blur(24px);padding:12px 16px;gap:14px;box-shadow:0 -5px 24px #06132620}.pos-register .pos-payment-actions{gap:8px;flex-wrap:nowrap}.pos-register .pos-payment-bar .btn{min-height:43px;padding:11px 15px;font-size:12px;border-radius:11px;box-shadow:inset 0 1px 0 #ffffff21,0 4px 12px #07152330;flex:none;letter-spacing:.1px}.pos-register .pos-pay.quotation{background:linear-gradient(135deg,#cc8724,#a66327)}.pos-register .pos-pay.credit{background:linear-gradient(135deg,#8b68cd,#614da0)}.pos-register .pos-pay.bank{background:linear-gradient(135deg,#bf468b,#973967)}.pos-register .pos-pay.online{background:linear-gradient(135deg,#328bbc,#225687)}.pos-register .pos-pay.cash{background:linear-gradient(135deg,#1ca882,#167762)}.pos-register .pos-pay.cancel{background:linear-gradient(135deg,#d35271,#a73b5b)}.pos-register .pos-payable{background:#0e223b73;border:1px solid #91bfec25;padding:8px 14px;min-width:165px;border-radius:12px;box-shadow:inset 0 1px 0 #ffffff06}.pos-register .pos-payable span{font-size:10px;color:#96b3d4;letter-spacing:.5px;text-transform:uppercase}.pos-register .pos-payable b{font-size:20px;color:#dff6ff;margin-top:3px}.pos-register .pos-payment-bar .pos-recent{background:#286eaa38;border:1px solid #70b5e234;color:#b1ddff;font-size:11px}.pos-expanded{overflow:hidden}.pos-expanded .layout{grid-template-columns:1fr;min-height:100dvh}.pos-expanded .sidebar,.pos-expanded .topbar,.pos-expanded .preview-bar{display:none!important}.pos-expanded .workspace{min-width:0}.pos-expanded .content{padding:18px 22px;margin:0;max-width:none}.pos-expanded .pos-screen{height:calc(100dvh -36px);min-height:0}.pos-expanded .pos-screen-header{min-height:44px}.pos-expanded .pos-register .pos-register-workspace{grid-template-columns:minmax(0,.95fr) minmax(0,1.15fr)}@media(min-width:1600px){.pos-expanded .pos-register .pos-product-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.pos-expanded .pos-register .pos-product-art{height:160px}}@media(max-width:1180px){.pos-register .pos-product-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.pos-register .pos-sale-columns,.pos-register .pos-line{grid-template-columns:minmax(0,1fr) 90px 100px 22px;gap:6px;padding:12px}.pos-register .pos-register-adjustments{grid-template-columns:repeat(2,minmax(0,1fr))}.pos-register .pos-payment-actions{gap:6px}.pos-register .pos-payment-bar .btn{padding:10px 12px}.pos-register .pos-payment-bar{gap:9px}.pos-register .pos-payable{min-width:145px}.pos-screen-controls .text{font-size:11px;padding:8px}.pos-view-tabs button{padding:8px 13px}}@media(max-width:900px){.pos-screen{height:auto;min-height:0}.pos-screen-header{flex-wrap:wrap;gap:12px}.pos-screen-controls{margin-left:auto}.pos-expanded .pos-screen{height:calc(100dvh -24px)}.pos-expanded .content{padding:12px}.pos-screen-body{overflow:auto}.pos-register .pos-register-workspace,.pos-expanded .pos-register .pos-register-workspace{grid-template-columns:1fr;overflow:visible}.pos-screen .pos-register{height:auto;min-height:100%}.pos-register .pos-sale-panel{min-height:460px}.pos-register .pos-catalogue{min-height:360px}.pos-register .pos-product-grid{grid-template-columns:repeat(3,minmax(0,1fr));max-height:430px}.pos-register .pos-register-summary{grid-template-columns:repeat(4,minmax(0,1fr))}.pos-register .pos-payment-bar{position:sticky;bottom:0;flex-wrap:wrap}.pos-register .pos-payment-actions{flex-wrap:wrap;flex-basis:100%}.pos-register .pos-payment-bar .btn{flex:1}.pos-register .pos-payable{flex:1}.pos-expanded .pos-screen-body{border-radius:20px}.pos-register .pos-register-fields{grid-template-columns:repeat(3,minmax(0,1fr))}.pos-register .customer-field{grid-column:auto}}@media(max-width:560px){.pos-screen-header{gap:10px}.pos-screen-controls{width:100%;justify-content:flex-end}.pos-screen-controls>.text:first-child{display:none}.pos-screen-title h1{font-size:22px}.pos-view-tabs{margin-left:auto}.pos-view-tabs button{font-size:12px;padding:8px 11px}.pos-register .pos-register-workspace{padding:10px;gap:14px}.pos-register .pos-register-fields{padding:12px;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.pos-register .customer-field{grid-column:1/-1}.pos-register .register-search{grid-column:1/-1;grid-row:2}.pos-register .pos-product-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.pos-register .pos-product-art{height:135px;padding:8px}.pos-register .pos-product-info{padding:10px;min-height:145px}.pos-register .pos-product-bottom strong{font-size:12px}.pos-register .pos-sale-columns,.pos-register .pos-line{grid-template-columns:minmax(0,1fr) 80px 88px 20px;padding:10px 8px;gap:4px}.pos-register .pos-qty{gap:3px}.pos-register .pos-qty button{width:24px;height:26px}.pos-register .pos-line b{font-size:12px}.pos-register .pos-line>strong{font-size:11px}.pos-register .pos-register-summary{grid-template-columns:repeat(2,minmax(0,1fr))}}@keyframes pos-live-pulse{0%,100%{box-shadow:0 0 0 5px #5ee4c212,0 0 20px #5ee4c25c}50%{box-shadow:0 0 0 7px #5ee4c209,0 0 25px #5ee4c275}}@media(prefers-reduced-motion:reduce){.pos-live-dot{animation:none}.pos-view-tabs button,.pos-register .pos-product-card{transition:none}}
.pos-register .pos-product-info{height:160px;min-height:160px}.pos-register .pos-product-info>b{height:38px;min-height:38px;max-height:38px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.pos-register .pos-product-info>small{height:30px;flex-shrink:0}.pos-register .pos-product-bottom{margin-top:auto}.pos-register .pos-product-add:focus-visible{outline:3px solid #70daee;outline-offset:-3px}.pos-register .pos-view-tabs:focus-visible{outline:2px solid #70daee}

.sales-target-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,380px),1fr));gap:20px;margin:20px 0}.sales-target-card{padding:24px}.sales-target-percent{font-size:30px;color:#67dcb2}.sales-target-amounts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:18px 0}.sales-target-amounts span{display:block;font-size:13px;color:var(--muted,#9eafc5);margin-bottom:6px}.sales-target-amounts b{font-size:18px;overflow-wrap:anywhere}.sales-target-card .progress{height:12px;margin:16px 0}.sales-target-card .progress i{background:linear-gradient(90deg,#399aff,#36dca2);transition:width .5s ease}.sales-target-feedback{display:flex;align-items:center;gap:18px;margin-top:20px}.sales-target-feedback h3{font-size:19px;margin:0 0 8px}.sales-target-feedback p{font-size:15px;line-height:1.6;margin:0 0 8px}.sales-target-feedback small{color:var(--muted,#9eafc5);line-height:1.5}.sales-target-feedback .marketing-face{flex-shrink:0;font-size:48px}.pos-salesperson{padding:8px 18px;border-bottom:1px solid #ffffff18}.pos-salesperson label{display:flex;align-items:center;gap:12px;font-size:14px}.pos-salesperson select{max-width:240px;min-height:34px}.pos-salesperson b{color:#a9d7ff}@media(prefers-reduced-motion:reduce){.sales-target-feedback .marketing-face{animation:none}}

/* POS uses the visible viewport, with independent catalogue and cart scroll areas. */
.pos-active .content{box-sizing:border-box}.pos-screen{min-height:0!important;max-height:calc(100dvh -116px)}.pos-expanded .layout,.pos-expanded .workspace{height:100dvh;min-height:0;overflow:hidden}.pos-expanded .content{height:100dvh;box-sizing:border-box;padding:12px 18px}.pos-expanded .pos-screen{height:calc(100dvh -24px);max-height:calc(100dvh -24px);gap:10px}.pos-screen-body{overflow:hidden;min-height:0}.pos-register .pos-register-workspace{grid-template-rows:minmax(0,1fr);overflow:hidden;min-height:0;padding:12px;gap:14px}.pos-register .pos-sale-panel,.pos-register .pos-catalogue{height:100%;min-height:0;overflow:hidden}.pos-register .pos-register-fields{grid-template-columns:minmax(0,1fr) minmax(0,1fr);padding:12px;gap:10px;flex-shrink:0}.pos-register .customer-field{grid-column:auto}.pos-register .register-search{grid-column:auto;width:100%}.pos-register .pos-sale-clock{grid-column:1/-1;display:flex;align-items:center;gap:12px;font-size:14px;color:#a7c9ec}.pos-sale-clock span{color:#91adc9}.pos-customer-control{display:flex;gap:8px;min-width:0}.pos-customer-control select{flex:1;min-width:0}.pos-register .pos-customer-plus{width:42px;padding:0;flex-shrink:0;font-size:26px;background:#2875ca;border:1px solid #78b8ff44;color:white;min-height:42px}.pos-register .pos-sale-table{flex:1;min-height:0}.pos-register .pos-cart-empty{min-height:0;padding:12px}.pos-register .pos-cart-empty>span{width:42px;height:42px;margin-bottom:2px}.pos-register .pos-register-summary{padding:10px 12px;flex-shrink:0}.pos-register .pos-register-adjustments{grid-template-columns:repeat(3,minmax(0,1fr));padding:10px 12px;flex-shrink:0}.pos-register .pos-register-adjustments label{font-size:13px}.pos-register .pos-register-adjustments input,.pos-register .pos-register-adjustments select{font-size:14px;height:34px}.pos-register .pos-product-grid{flex:1;min-height:0;overflow-y:scroll!important;overflow-x:hidden;align-content:start;scrollbar-width:auto;scrollbar-color:#589bcc #142c46;padding-right:10px;overscroll-behavior:contain}.pos-register .pos-product-grid::-webkit-scrollbar{width:10px}.pos-register .pos-product-grid::-webkit-scrollbar-thumb{background:#589bcc;border-radius:8px}.pos-register .pos-product-art{height:130px}.pos-register .pos-product-info{height:150px;min-height:150px}.pos-register .pos-product-info>b{font-size:14px}.pos-register .pos-payment-bar{display:flex;flex-wrap:wrap;flex-shrink:0;padding:10px 12px;gap:10px;min-height:70px}.pos-register .pos-payment-actions{display:flex;flex-wrap:wrap;flex:1;gap:8px}.pos-register .pos-payment-bar .btn{font-size:14px;padding:10px 16px;min-height:42px}.pos-register .pos-pay.card{background:linear-gradient(135deg,#615be3,#353aaa)}.pos-register .pos-pay.multiple{background:linear-gradient(135deg,#c09530,#8a631c)}.customer-form-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.customer-form-grid label{display:flex;flex-direction:column;gap:8px;font-size:14px}.customer-form-grid input,.customer-form-grid select,.customer-form-grid textarea{width:100%;min-height:42px}.customer-phones{display:flex;flex-direction:column;gap:8px}.customer-phones input{margin-bottom:8px}.customer-more{margin:20px 0}.customer-more summary{cursor:pointer;color:#8ecbff;font-size:16px;margin-bottom:14px}.form-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:24px}.pos-salesperson{flex-shrink:0;padding:6px 12px}@media(max-width:900px){.pos-register .pos-register-workspace,.pos-expanded .pos-register .pos-register-workspace{grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);overflow:hidden}.pos-screen .pos-register{height:100%;min-height:0}.pos-register .pos-sale-panel,.pos-register .pos-catalogue{min-height:0}.pos-register .pos-product-grid{grid-template-columns:repeat(2,minmax(0,1fr));max-height:none}.pos-register .pos-product-art{height:110px}.pos-register .pos-payment-bar{position:static}.pos-register .pos-payment-actions{flex-basis:auto}.pos-register .pos-payment-bar .btn{flex:none}.pos-register .pos-register-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.customer-form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:620px){.pos-expanded{overflow:auto}.pos-expanded .layout,.pos-expanded .workspace,.pos-expanded .content{height:auto;overflow:visible}.pos-expanded .pos-screen{height:auto;max-height:none}.pos-screen-body{overflow:visible}.pos-screen .pos-register{height:auto}.pos-register .pos-register-workspace,.pos-expanded .pos-register .pos-register-workspace{grid-template-columns:1fr;grid-template-rows:auto auto}.pos-register .pos-sale-panel{height:480px}.pos-register .pos-catalogue{height:440px}.pos-register .pos-payment-bar{position:sticky;bottom:0}.customer-form-grid{grid-template-columns:1fr}.pos-register .pos-product-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}

.order-payment-summary{display:flex;flex-direction:column;align-items:flex-start;gap:10px}.order-payment-badge{display:inline-flex;align-items:center;padding:9px 14px;border-radius:9px;font-size:15px;line-height:1.25;font-weight:700;white-space:nowrap}.order-payment-badge.fully-paid{color:#a0f7c9;background:#1f975d33;border:1px solid #41d99266}.order-payment-badge.part-paid{color:#ffde8a;background:#ac791e33;border:1px solid #eaba5166}.order-payment-badge.unpaid{color:#ffb5bc;background:#ab3c4933;border:1px solid #ef7f8b55}.order-balance{font-size:14px;color:#aac2dd;line-height:1.5}.order-balance b{display:block;white-space:nowrap;color:#b9e9d2;font-size:15px}.order-balance.has-balance b{color:#ffd67f}.order-date{white-space:nowrap;font-size:15px}.order-time{font-size:14px!important;color:#b8d2ed!important;margin-top:6px!important}

.order-payment-panel{padding:20px;border:1px solid #75b6ea33;border-radius:14px;background:linear-gradient(135deg,#254d7138,#15345142);margin:20px 0}.order-money-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin-bottom:18px}.order-money-grid span{display:block;font-size:14px;color:#a8bfdb;margin-bottom:8px}.order-money-grid b{font-size:20px;overflow-wrap:anywhere}.order-awaiting{color:#ffd587}.order-linked-actions{display:flex;flex-wrap:wrap;gap:12px;margin:20px 0}.order-linked-actions .btn{font-size:14px;padding:12px 16px}.order-receipt-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2fr) auto;gap:16px;align-items:end;margin-bottom:18px;padding-bottom:18px;border-bottom:1px solid #abc8f020}.order-receipt-row label,.order-upload-notes{display:flex;flex-direction:column;gap:8px;font-size:15px}.order-receipt-row input{width:100%;min-height:42px}.order-upload-notes{margin-top:20px}@media(max-width:800px){.order-money-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.order-receipt-row{grid-template-columns:1fr}.order-receipt-row .btn{justify-self:end}}

/* Brighter glass counter, with the checkout row retained inside the visible viewport. */
.pos-screen .pos-register{display:grid;grid-template-rows:minmax(0,1fr) auto;background:radial-gradient(ellipse at 80% 0,#3891b94a,transparent 65%),linear-gradient(145deg,#254c74dc,#193a5fe8);border-color:#aad9ff50}.pos-register .pos-register-workspace{min-height:0;overflow:hidden;flex:none}.pos-register .pos-sale-panel{background:linear-gradient(150deg,#355d83ba,#244766d9);border-color:#c5e4ff40}.pos-register .pos-product-card{background:linear-gradient(150deg,#315f88bb,#254c71da);border-color:#b5dbff50;box-shadow:0 6px 20px #051c3420}.pos-register input,.pos-register select,.pos-register textarea{background:#254867b8;border-color:#b7dcff45;color:#f4faff}.pos-register input::placeholder{color:#bad3e8}.pos-register .pos-field>span,.pos-register .pos-category-select>span,.pos-register .pos-product-info>small,.pos-sale-clock span{color:#c1d9ee}.pos-register .pos-product-art{background:linear-gradient(140deg,#deefff,#b9dbf4)}.pos-register .pos-product-info>b{color:#fff}.pos-register .pos-register-summary{background:#528bb52b}.pos-register .pos-register-summary span{font-size:12px;color:#c5dfef}.pos-register .pos-register-summary b{font-size:16px}.pos-register .pos-register-adjustments{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.pos-register .pos-vat-field{justify-content:center;gap:8px}.pos-register .pos-vat-field>span{display:flex;gap:7px;align-items:center;font-size:14px;color:#e2f3ff}.pos-register .pos-vat-field input[type=checkbox]{width:20px;height:20px;min-height:20px;appearance:auto;accent-color:#3ec6bd;flex:none}.pos-register .pos-vat-field b{font-size:15px;color:#a1f4d9}.pos-register .pos-payment-bar{grid-row:2;position:relative;flex-shrink:0;background:linear-gradient(110deg,#376b97,#25577e);border-top-color:#badeff66;z-index:5;padding:12px}.pos-register .pos-payment-actions{gap:8px;flex-wrap:wrap;align-items:center}.pos-register .pos-payment-bar .btn{font-size:14px;font-weight:650;min-height:44px;padding:11px 15px}.pos-register .pos-payable{margin-left:auto;background:#163a60a6;border-color:#a6d8ff50}.pos-register .pos-payable span{font-size:12px;color:#cfebff}.pos-register .pos-payable b{color:#fff}.pos-register .pos-cart-empty b,.pos-register .pos-cart-empty p{color:#cce5f6}.pos-register .pos-cart-empty p{font-size:14px}.pos-register .pos-sale-notes{color:#c1ddef;font-size:14px}.pos-register .pos-sale-columns{font-size:14px;color:#e1f2ff}.pos-register .pos-line b{font-size:14px}.pos-register .pos-line small{font-size:12px;color:#bed8ec}@media(max-width:1180px){.pos-register .pos-register-adjustments{grid-template-columns:repeat(2,minmax(0,1fr))}.pos-register .pos-payment-bar .btn{padding:9px 12px}.pos-register .pos-payable{min-width:140px}}@media(max-width:620px){.pos-register .pos-payment-bar{position:sticky;bottom:0}.pos-register .pos-payment-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));width:100%}.pos-register .pos-payment-bar .btn{font-size:12px;padding:9px 6px}.pos-register .pos-register-adjustments{grid-template-columns:repeat(2,minmax(0,1fr))}}

.pos-register .pos-sale-panel{overflow-y:auto;overflow-x:hidden;scrollbar-width:thin;scrollbar-color:#85badc #295478}

/* Navy glass POS with distinct checkout colors. */
.pos-screen .pos-register{background:radial-gradient(ellipse at 90% 0,#147ebc18,transparent 60%),linear-gradient(145deg,#0d2038e8,#0b172ce8);border-color:#75bade30;backdrop-filter:blur(24px);box-shadow:0 20px 65px #02091966,inset 0 1px 0 #b8e2ff12}.pos-register .pos-sale-panel{background:linear-gradient(150deg,#193b5559,#12283bcc);border-color:#88bddd30}.pos-register .pos-product-card{background:linear-gradient(150deg,#173c545c,#132a40d9);border-color:#8bc5e334;box-shadow:0 7px 20px #030b2030}.pos-register input,.pos-register select,.pos-register textarea{background:#0c2035d6;border-color:#73a7c238;color:#e7f1ff}.pos-register .pos-product-art{background:linear-gradient(140deg,#b2c8d8,#8baabd)}.pos-register .pos-register-summary{background:#1e53751c}.pos-register .pos-payment-bar{background:linear-gradient(110deg,#142e46f5,#0d2239f5);border-top-color:#6faacc35;backdrop-filter:blur(18px)}.pos-register .pos-payable{background:#0c213bbf;border-color:#8ac4df30}.pos-register .pos-pay.multiple{background:linear-gradient(135deg,#ed6d36,#b94414);border-color:#ffb28a66;color:#fff;box-shadow:0 3px 12px #e8733524}.pos-register .pos-sale-panel{scrollbar-color:#4c809e #10283b}.pos-register .pos-register-adjustments{grid-template-columns:repeat(3,minmax(0,1fr))}.pos-customer-search{position:relative;flex:1;min-width:0}.pos-customer-search input{width:100%;min-height:42px}.pos-customer-search [role=listbox]{position:absolute;z-index:30;top:calc(100% + 6px);left:0;right:0;max-height:250px;overflow-y:auto;border:1px solid #699fb866;border-radius:12px;padding:6px;background:#10283bf7;box-shadow:0 12px 35px #02081788;backdrop-filter:blur(20px)}.pos-customer-search [role=option]{display:block;width:100%;text-align:left;padding:10px 12px;border:0;background:transparent;color:#e5f2ff;border-radius:8px;cursor:pointer}.pos-customer-search [role=option]:hover,.pos-customer-search [role=option]:focus{background:#35709d44;outline:2px solid #72b7d9}.pos-customer-search [role=option] b,.pos-customer-search [role=option] small{display:block}.pos-customer-search [role=option] small{margin-top:5px;color:#9dbbd0;font-size:12px}.pos-voucher-row{display:flex;flex-wrap:wrap;align-items:flex-end;gap:10px;padding:6px 12px 12px;flex-shrink:0}.pos-voucher-row label{display:flex;flex-direction:column;gap:6px;font-size:13px;flex:1;min-width:150px}.pos-voucher-row input{height:34px}.pos-voucher-row .btn{min-height:34px;padding:7px 12px;font-size:13px}.pos-voucher-row span{font-size:12px}.pos-line-discount{display:flex;align-items:center;gap:8px;font-size:11px;color:#a1bdd2;margin-top:6px}.pos-line-discount input{width:90px;height:28px;min-height:28px;padding:3px 6px;font-size:12px}.pos-register .no-discount{color:#d4af7c}.pos-register .pos-register-adjustments label>b{font-size:15px;line-height:34px;color:#9ce4cb}@media(max-width:900px){.pos-register .pos-register-adjustments{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* Center standalone add icons independently of font baselines. */
.pos-register .pos-customer-plus,.pos-register .pos-card-plus,.pos-register .pos-qty button,.pos-register .pos-cart-empty>span{display:inline-flex;align-items:center;justify-content:center;padding:0;line-height:1;vertical-align:middle;flex-shrink:0}.pos-register .pos-customer-plus svg{width:22px;height:22px;display:block;margin:0;flex:none}.pos-register .pos-card-plus svg,.pos-register .pos-qty button svg{width:16px;height:16px;display:block;margin:0;flex:none}.pos-register .pos-cart-empty>span svg{width:24px;height:24px;display:block;margin:0;flex:none}.btn>svg{display:block;flex-shrink:0;align-self:center}

/* Compact catalogue and a cart that retains its own visible space. */
.pos-register .pos-register-workspace,.pos-expanded .pos-register .pos-register-workspace{grid-template-columns:minmax(0,1.22fr) minmax(0,1fr);gap:14px;padding:12px}.pos-register .pos-sale-panel{display:grid;grid-template-rows:auto minmax(110px,1fr) minmax(0,40%);overflow:hidden}.pos-register .pos-register-fields{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(150px,1fr);gap:8px 14px;padding:12px 14px 8px;overflow:visible;position:relative;z-index:8}.pos-register .customer-field{grid-column:auto}.pos-register .pos-field{display:flex;flex-direction:column;gap:6px}.pos-register .pos-field>span{font-size:12px;line-height:1.2;color:#abc4d8}.pos-register .pos-field input,.pos-register .pos-field select,.pos-register .pos-customer-plus{min-height:38px;height:38px}.pos-register .pos-customer-plus{width:38px}.pos-register .pos-sale-clock{font-size:12px;justify-content:flex-end;padding:0;color:#93b6cf}.pos-register .pos-sale-table{display:flex;flex-direction:column;min-height:0;height:100%;overflow:hidden;border-top:1px solid #94bedc20}.pos-register .pos-sale-columns{flex:0 0 auto;padding:8px 14px;min-height:38px;font-size:12px;grid-template-columns:minmax(0,1fr) 90px 120px 28px;gap:10px;background:#21456325}.pos-register .pos-cart-lines{flex:1;min-height:0;max-height:none!important;overflow-y:auto;overflow-x:hidden;scrollbar-width:thin;scrollbar-color:#4f94ba #112c40;padding:0 4px}.pos-register .pos-line{grid-template-columns:minmax(0,1fr) 90px 120px 28px;gap:10px;padding:12px 10px;flex-shrink:0;min-height:70px;border-bottom:1px solid #94bedc18}.pos-register .pos-line b{font-size:14px;line-height:1.4}.pos-register .pos-line>strong{font-size:14px;white-space:nowrap}.pos-register .pos-line small{margin-top:4px;display:block}.pos-register .pos-qty{gap:5px;justify-content:center}.pos-register .pos-qty button{width:27px;height:30px}.pos-register .pos-qty b{min-width:18px;text-align:center}.pos-register .pos-remove{width:26px;height:28px}.pos-register .pos-cart-empty{height:100%;min-height:100px;padding:14px;display:flex;justify-content:center;flex-direction:column;align-items:center}.pos-register .pos-checkout-controls{min-height:0;overflow-y:auto;overflow-x:hidden;border-top:1px solid #94bedc28;background:#07192a26;scrollbar-width:thin;scrollbar-color:#4f94ba #112c40}.pos-register .pos-register-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;padding:8px 14px;border-bottom:1px solid #94bedc18}.pos-register .pos-register-summary span{font-size:10px;margin-bottom:3px}.pos-register .pos-register-summary b{font-size:14px;line-height:1.3}.pos-register .pos-register-adjustments{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px 14px;padding:10px 14px}.pos-register .pos-register-adjustments label{display:flex;flex-direction:column;gap:5px;font-size:12px;line-height:1.3;min-width:0;margin:0}.pos-register .pos-register-adjustments input,.pos-register .pos-register-adjustments select{height:33px;min-height:33px;padding:6px 9px;font-size:13px;width:100%}.pos-discount-summary{display:flex;flex-direction:column;gap:5px;justify-content:flex-start;min-width:0}.pos-discount-summary span{font-size:12px;color:#aac7db}.pos-discount-summary b{font-size:14px;color:#9ce4cb;line-height:33px;white-space:nowrap}.pos-register .pos-vat-field{justify-content:flex-start;padding-top:2px}.pos-register .pos-vat-field>span{font-size:12px;line-height:1.3;gap:6px}.pos-register .pos-vat-field input[type=checkbox]{width:17px;height:17px;min-height:17px;padding:0}.pos-register .pos-vat-field b{font-size:13px;line-height:24px}.pos-voucher-field>div{display:flex;gap:6px;min-width:0}.pos-register .pos-voucher-field input{min-width:0;flex:1}.pos-voucher-field .btn{padding:6px 8px;min-height:33px;font-size:11px;flex:none}.pos-voucher-field small{font-size:11px}.pos-register .pos-sale-notes{font-size:12px;padding:0 14px 9px;margin:0}.pos-register .pos-sale-notes summary{padding:2px 0}.pos-register .pos-catalogue{display:flex;flex-direction:column;min-width:0}.pos-register .pos-toolbar{display:flex;flex-direction:column;align-items:stretch;gap:8px;padding:0 0 10px;flex-shrink:0}.pos-register .register-search{height:38px;min-height:38px;max-width:none;width:100%;padding:0 10px}.pos-register .register-search input{height:36px;min-height:36px;background:transparent;border:0;box-shadow:none;padding:0;font-size:13px}.pos-catalogue-filter{display:flex;align-items:center;justify-content:space-between;gap:12px}.pos-register .pos-category-select{flex:1;max-width:230px;min-width:0}.pos-register .pos-category-select select{height:32px;min-height:32px;font-size:12px;padding:5px 9px}.pos-register .pos-product-count{font-size:11px;white-space:nowrap}.pos-register .pos-product-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;padding:0 7px 12px 0}.pos-register .pos-product-art{height:88px;padding:6px}.pos-register .pos-product-info{height:124px;min-height:124px;padding:9px;gap:5px}.pos-register .pos-product-info>b{font-size:12px;line-height:1.4;height:34px;min-height:34px;max-height:34px}.pos-register .pos-product-info>small{font-size:10px;line-height:1.4;height:28px;max-height:28px;margin:0;color:#9fc0d4}.pos-register .pos-product-bottom{display:grid;grid-template-columns:minmax(0,1fr) 22px;gap:4px;align-items:center}.pos-register .pos-product-bottom strong{font-size:12px;line-height:1.3;grid-column:1/-1;white-space:nowrap}.pos-register .pos-product-bottom em{font-size:9px;justify-self:start;padding:3px 5px;max-width:100%;white-space:nowrap}.pos-register .pos-card-plus{width:22px;height:22px;justify-self:end;border-radius:6px}.pos-register .pos-card-plus svg{width:13px;height:13px}.pos-register .pos-product-card{border-radius:13px}.pos-register .pos-payable{position:relative;isolation:isolate;overflow:hidden;background:linear-gradient(125deg,#08665a,#174f87);border:1px solid #65dfc872;box-shadow:0 0 20px #35c6b326;animation:pos-total-glow 4s ease-in-out infinite;min-width:175px;padding:10px 16px}.pos-register .pos-payable:before{content:'';position:absolute;inset:0;background:linear-gradient(100deg,transparent 35%,#ffffff15 50%,transparent 65%);transform:translateX(-110%);animation:pos-total-shine 6s ease-in-out infinite;z-index:-1}.pos-register .pos-payable span{font-size:11px;color:#b9ffed;letter-spacing:.07em}.pos-register .pos-payable b{font-size:23px;line-height:1.3;color:#e1fff4;text-shadow:0 1px 12px #87ffe82a}.pos-register .pos-payment-bar{padding:10px 12px}.pos-register .pos-payment-bar .btn{font-size:13px;padding:10px 13px;min-height:42px}.pos-register .pos-line-discount{font-size:11px;display:flex;align-items:center;gap:7px}.pos-register .pos-line-discount input{width:90px;height:27px;min-height:27px;margin-top:0;padding:3px 6px}@keyframes pos-total-glow{0%,100%{box-shadow:0 0 15px #35c6b31a}50%{box-shadow:0 0 24px #35c6b342;border-color:#80f1d998}}@keyframes pos-total-shine{0%,60%{transform:translateX(-110%)}90%,100%{transform:translateX(110%)}}@media(max-width:1450px){.pos-register .pos-product-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.pos-register .pos-register-fields{grid-template-columns:minmax(0,1.5fr) minmax(130px,1fr)}}@media(max-width:1100px){.pos-register .pos-product-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.pos-register .pos-register-workspace,.pos-expanded .pos-register .pos-register-workspace{grid-template-columns:minmax(0,1.35fr) minmax(0,1fr)}.pos-register .pos-line,.pos-register .pos-sale-columns{grid-template-columns:minmax(0,1fr) 78px 93px 24px;gap:5px}.pos-register .pos-line>strong{font-size:12px}.pos-register .pos-payment-bar .btn{font-size:12px;padding:9px 10px}}@media(max-width:800px){.pos-register .pos-register-fields{grid-template-columns:minmax(0,1fr)}.pos-register .pos-staff-field{flex-direction:row;align-items:center}.pos-register .pos-staff-field select{flex:1;min-width:0}.pos-register .pos-sale-clock{display:none}.pos-register .pos-register-adjustments{grid-template-columns:repeat(2,minmax(0,1fr))}.pos-register .pos-register-summary{gap:6px}.pos-register .pos-register-summary b{font-size:12px}.pos-register .pos-line,.pos-register .pos-sale-columns{grid-template-columns:minmax(0,1fr) 70px 80px 22px}.pos-register .pos-line b{font-size:12px}.pos-register .pos-line>strong{font-size:11px}}@media(max-width:620px){.pos-register .pos-register-workspace,.pos-expanded .pos-register .pos-register-workspace{grid-template-columns:1fr;grid-template-rows:auto auto}.pos-register .pos-sale-panel{height:550px;grid-template-rows:auto minmax(150px,1fr) minmax(0,40%)}.pos-register .pos-catalogue{height:430px}.pos-register .pos-register-fields{grid-template-columns:minmax(0,1.5fr) minmax(100px,1fr)}.pos-register .pos-staff-field{flex-direction:column;align-items:stretch}.pos-register .pos-product-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.pos-register .pos-payable{width:100%;margin:0}.pos-register .pos-product-info>b{font-size:11px}.pos-register .pos-product-bottom strong{font-size:11px}}@media(prefers-reduced-motion:reduce){.pos-register .pos-payable,.pos-register .pos-payable:before{animation:none}}

/* Name-only product cards with a clear, centred add control. */
.pos-register .pos-product-info{height:108px;min-height:108px;gap:7px}.pos-register .pos-product-bottom{grid-template-columns:minmax(0,1fr) 32px;gap:5px 7px;margin-top:auto}.pos-register .pos-product-bottom strong{grid-column:1;grid-row:1;white-space:normal}.pos-register .pos-product-bottom em{grid-column:1;grid-row:2;white-space:normal;line-height:1.2}.pos-register .pos-card-plus{grid-column:2;grid-row:1/3;display:grid;place-items:center;width:32px;height:32px;min-width:32px;min-height:32px;background:linear-gradient(135deg,#37ccff,#1685ee);color:#fff;border:1px solid #96e5ff;border-radius:9px;box-shadow:0 3px 10px #008cff40;line-height:1;padding:0;opacity:1;visibility:visible;flex-shrink:0}.pos-register .pos-card-plus svg{display:block;width:20px;height:20px;min-width:20px;stroke:currentColor;stroke-width:2.5;opacity:1;visibility:visible}.pos-register .pos-product-add:hover .pos-card-plus{background:linear-gradient(135deg,#6cddff,#289bff);box-shadow:0 3px 14px #008cff65}

.sales-items .sales-original-price{display:block;color:#6c7d91;font-size:11px;text-decoration:line-through;white-space:nowrap}.sales-items .sales-net-label{display:block;font-size:9px;color:#64758a;margin:4px 0 2px;white-space:nowrap}.sales-items .sales-net-price{display:block;font-size:12px;color:#12614f;white-space:nowrap}.sales-totals .sales-after-discount{background:#eef8f4;color:#17594b;padding:10px;border-radius:5px}.sales-totals .sales-after-discount b{color:#17594b}@media print{.sales-items .sales-net-price{color:#12614f}.sales-totals .sales-after-discount{print-color-adjust:exact;-webkit-print-color-adjust:exact}}

/* Keep the compact add icon inside the card's content row. */
.pos-register .pos-product-info{height:auto;min-height:108px;flex:1;padding-bottom:12px}.pos-register .pos-product-bottom{padding:0;min-height:39px;grid-template-columns:minmax(0,1fr) 25px;align-items:center;flex-shrink:0}.pos-register .pos-card-plus{position:static;inset:auto;transform:none;width:25px;height:25px;min-width:25px;min-height:25px;align-self:center;border-radius:7px}.pos-register .pos-card-plus svg{width:16px;height:16px;min-width:16px}.pos-register .pos-product-bottom strong{white-space:nowrap;font-size:11px}.pos-register .pos-product-bottom em{margin-top:0;width:auto;white-space:nowrap}

/* Give the cart priority and keep the clock alongside the POS title. */
.pos-screen-header{gap:16px;min-height:44px}.pos-screen-title{min-width:0;flex-wrap:wrap;gap:10px}.pos-header-clock{font-size:13px;font-weight:500;color:#a9cce0;white-space:nowrap;padding-left:8px;border-left:1px solid #6fb9d43d;line-height:1.5}.pos-register .pos-sale-panel{grid-template-rows:auto minmax(140px,1fr) auto}.pos-register .pos-register-fields{padding:9px 12px;gap:8px 12px}.pos-register .pos-field{gap:4px}.pos-register .pos-checkout-controls{max-height:clamp(125px,27vh,180px)}.pos-register .pos-register-summary{padding:6px 12px;gap:9px}.pos-register .pos-register-adjustments{padding:8px 12px;gap:8px 12px}.pos-register .pos-line{min-height:62px;padding:9px 10px}.pos-register .pos-sale-notes{padding-bottom:7px}.pos-screen{gap:10px}@media(max-width:800px){.pos-header-clock{font-size:11px;padding-left:6px}.pos-register .pos-checkout-controls{max-height:150px}}@media(max-width:620px){.pos-screen-title{gap:7px}.pos-header-clock{font-size:10px}.pos-register .pos-sale-panel{grid-template-rows:auto minmax(150px,1fr) auto}.pos-register .pos-checkout-controls{max-height:180px}}

/* Customer and salesperson belong in the header, above the cart. */
.pos-screen-header{position:relative;z-index:30;align-items:center;flex-wrap:nowrap;padding:0 2px;overflow:visible}.pos-screen-title{flex-shrink:0}.pos-header-fields{flex:1;min-width:0;max-width:820px;display:grid;grid-template-columns:minmax(180px,1.7fr) minmax(150px,1fr);gap:14px;margin-left:auto}.pos-header-fields .pos-field{display:flex;flex-direction:column;min-width:0;gap:4px;margin:0}.pos-header-fields .pos-field>span{font-size:11px;line-height:1.2;font-weight:650;color:#abc4d8}.pos-header-fields input,.pos-header-fields select{width:100%;height:38px;min-height:38px;min-width:0;padding:8px 11px;color:#edf6ff;background:#153149c9;border:1px solid #75b4d440;border-radius:10px;font-size:13px}.pos-header-fields input:focus,.pos-header-fields select:focus{outline:2px solid #43c9ee55;border-color:#43c9ee}.pos-header-fields .pos-customer-plus{display:grid;place-items:center;width:38px;min-width:38px;height:38px;min-height:38px;padding:0;background:#2875ca;border:1px solid #78b8ff66;color:#fff;border-radius:10px;line-height:1}.pos-header-fields .pos-customer-plus svg{display:block;width:20px;height:20px;margin:0;stroke-width:2}.pos-screen-controls{flex-shrink:0}.pos-register .pos-sale-panel{grid-template-rows:minmax(140px,1fr) auto}.pos-register .pos-sale-table{border-top:0}.pos-register .pos-sale-columns{border-top:0}@media(max-width:1100px){.pos-screen-header{gap:12px}.pos-screen-title{flex-wrap:wrap;max-width:210px}.pos-header-clock{font-size:11px;padding-left:0;border:0}.pos-header-fields{gap:10px;grid-template-columns:minmax(160px,1.4fr) minmax(130px,1fr)}.pos-screen-controls .btn{font-size:11px;padding:8px 10px}}@media(max-width:800px){.pos-screen-header{flex-wrap:wrap}.pos-screen-title{max-width:none;flex:1}.pos-header-fields{order:3;flex-basis:100%;max-width:none;margin:0;grid-template-columns:minmax(0,1.6fr) minmax(120px,1fr)}.pos-register .pos-sale-panel{grid-template-rows:minmax(140px,1fr) auto}}@media(max-width:620px){.pos-register .pos-sale-panel{grid-template-rows:minmax(150px,1fr) auto}.pos-header-fields input,.pos-header-fields select{font-size:12px}.pos-header-fields{gap:8px}}

/* Fixed checkout controls and payment buttons that use the available width. */
.pos-register .pos-checkout-controls{max-height:none;overflow:visible}.pos-register .pos-register-summary{padding:7px 12px}.pos-register .pos-register-adjustments{gap:8px 12px;padding:9px 12px}.pos-register .pos-payment-actions{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:9px;flex:1;min-width:0;width:auto}.pos-register .pos-payment-bar{gap:12px;align-items:stretch}.pos-register .pos-payment-bar .btn{width:100%;min-width:0;min-height:48px;padding:11px 9px;font-size:14px;line-height:1.2;border-radius:11px}.pos-register .pos-payment-bar .pos-payable{display:flex;flex-direction:column;justify-content:center;flex-shrink:0}@media(max-width:1100px){.pos-register .pos-payment-actions{grid-template-columns:repeat(4,minmax(0,1fr))}.pos-register .pos-payment-bar .btn{min-height:44px;font-size:13px}.pos-register .pos-checkout-controls{max-height:none}}@media(max-width:620px){.pos-register .pos-payment-actions{grid-template-columns:repeat(3,minmax(0,1fr));flex-basis:100%;width:100%}.pos-register .pos-checkout-controls{max-height:none}.pos-register .pos-sale-panel{height:auto;min-height:550px;grid-template-rows:minmax(200px,1fr) auto}}

.pos-register .pos-pay.cheque{background:linear-gradient(135deg,#8bddff,#4caee9);color:#073c61;box-shadow:0 3px 10px #4cbaef33}.pos-register .pos-pay.cancel{background:linear-gradient(135deg,#ff3346,#f00e2a);color:#fff;box-shadow:0 3px 12px #ff243938}.pos-register .pos-payment-actions{grid-template-columns:repeat(8,minmax(0,1fr))}@media(max-width:1100px){.pos-register .pos-payment-actions{grid-template-columns:repeat(4,minmax(0,1fr))}}@media(max-width:620px){.pos-register .pos-payment-actions{grid-template-columns:repeat(3,minmax(0,1fr))}}

/* Dark salesperson options avoid the native dropdown's white hover surface. */
.pos-staff-picker{position:relative;min-width:0;color-scheme:dark}.pos-staff-picker summary{list-style:none;display:flex;justify-content:space-between;align-items:center;gap:8px;height:38px;min-height:38px;padding:8px 11px;border:1px solid #75b4d440;border-radius:10px;background:#153149c9;color:#edf6ff;font-size:13px;cursor:pointer}.pos-staff-picker summary::-webkit-details-marker{display:none}.pos-staff-picker summary>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pos-staff-picker summary svg{width:15px;height:15px;transform:rotate(90deg);flex-shrink:0}.pos-staff-picker summary:focus-visible{outline:2px solid #43c9ee88}.pos-staff-options{position:absolute;z-index:50;top:calc(100% + 6px);left:0;right:0;max-height:280px;overflow:auto;padding:6px;border:1px solid #699fb866;border-radius:12px;background:#10283b;box-shadow:0 12px 35px #02081788;scrollbar-width:thin;scrollbar-color:#4f94ba #10283b}.pos-staff-options button{display:block;width:100%;text-align:left;padding:10px 12px;border:0;border-radius:7px;background:transparent;color:#edf6ff;font-size:14px}.pos-staff-options button:hover,.pos-staff-options button:focus-visible{background:#215775;color:#fff;outline:2px solid #72b7d966;outline-offset:-2px}.pos-staff-options button[aria-selected=true]{background:#1c4560;color:#91eaff}.order-payment-method{display:flex;flex-direction:column;gap:4px;color:#b9cde2;font-size:13px}.order-payment-method b{color:#e4f5ff;font-size:14px;line-height:1.4}

/* Invoice and quotation letterhead with document typography. */
.print-sheet.sales-document{padding:0 14mm 0;display:flex;flex-direction:column}
.sales-document .sales-company-header{width:calc(100% + 28mm);max-width:none;margin:0 -14mm 6mm;max-height:none;flex-shrink:0}
.sales-company-footer{position:relative!important;display:block;margin:auto -14mm 0;padding-top:8mm;width:calc(100% + 28mm);flex-shrink:0}
.sales-company-footer>img{display:block;width:100%;max-width:none;height:auto}
.sales-company-footer>span{position:absolute;left:50%;bottom:16%;transform:translateX(-50%);background:#fff;color:#6e7886;padding:2px 10px;font:14px Arial,sans-serif;white-space:nowrap}
.sales-document .sales-title,.sales-document .sales-terms-title{border-top:0;padding-top:0}
@media(max-width:620px){.print-sheet.sales-document{padding:0 7mm}.sales-document .sales-company-header,.sales-company-footer{width:calc(100% + 14mm);margin-left:-7mm;margin-right:-7mm}.sales-company-footer>span{font-size:10px}}

.field .required-mark{color:#ff7b88;font-weight:700}
.field select.repair-status-select.amber{border-color:#f2c45c;color:#f2c45c}
.field select.repair-status-select.green{border-color:#69e7b5;color:#69e7b5}
.field select.repair-status-select.red{border-color:#ff8798;color:#ff8798}
.field select.repair-status-select.cyan{border-color:#63d9ef;color:#63d9ef}

/* Repair stages keep the same colours in cards and status controls. */
.repair-summary{grid-template-columns:repeat(5,minmax(0,1fr))}
.repair-summary-card--purple{--repair-accent:#d4b2ff;--repair-rgb:169,110,248}
.badge.purple{color:#d4b2ff;background:#a96ef826;border-color:#a96ef855}
.field select.repair-status-select.purple{border-color:#d4b2ff;color:#d4b2ff}
.field select.repair-status-select.blue{border-color:#92baff;color:#92baff}
.repair-overview-link{display:block;width:100%;padding:0;border:0;background:none;color:inherit;font:inherit;text-align:left;border-radius:22px;cursor:pointer}
.repair-overview-link .repair-summary-card{height:100%;border:1px solid rgba(var(--repair-rgb),.34);border-top:3px solid var(--repair-accent);background:linear-gradient(135deg,rgba(var(--repair-rgb),.21),rgba(20,34,62,.9));border-radius:22px}
.repair-overview-link:focus-visible{outline:2px solid #ffe18a;outline-offset:4px}
.repair-overview-link:hover .repair-summary-card{border-color:#ffe18a}
.repair-overview-link .value,.repair-overview-link .metric-top{color:var(--repair-accent)}
.repair-summary-card--yellow{--repair-accent:#ffe18a;--repair-rgb:245,195,58}
.repair-summary-card--blue{--repair-accent:#92baff;--repair-rgb:69,130,250}
.repair-summary-card--amber{--repair-accent:#ffd27a;--repair-rgb:245,181,66}
.repair-summary-card--green{--repair-accent:#87f1c0;--repair-rgb:40,204,139}
.repair-summary-card--red{--repair-accent:#ff9faf;--repair-rgb:241,90,116}
.repair-summary-card--cyan{--repair-accent:#88eaff;--repair-rgb:45,194,226}
.repair-summary .repair-summary-card{padding:22px 24px;min-height:184px;border:1px solid rgba(var(--repair-rgb),.34);border-top:3px solid var(--repair-accent);border-radius:22px;background:linear-gradient(135deg,rgba(var(--repair-rgb),.21),rgba(20,34,62,.9));box-shadow:0 10px 28px rgba(2,9,24,.16),inset 0 1px 0 rgba(255,255,255,.07)}
.repair-summary-card .metric-top{gap:14px;align-items:flex-start;min-height:44px;color:var(--repair-accent);font-size:1.125rem;font-weight:650;line-height:1.4}
.repair-summary-card .metric-top>span:first-child{min-width:0;padding-top:7px}
.repair-summary-card .metric-icon{display:grid;place-items:center;flex-shrink:0;width:38px;height:38px;border-radius:12px;color:var(--repair-accent);background:rgba(var(--repair-rgb),.15);border:1px solid rgba(var(--repair-rgb),.23)}
.repair-summary-card .value{margin:9px 0 7px;color:var(--repair-accent);font-size:2.7rem;font-weight:700;line-height:1.1;letter-spacing:-.04em;font-variant-numeric:tabular-nums}
.repair-summary-card .foot{color:#c5d3e7;font-size:1rem;line-height:1.5}
@media(max-width:1180px){.repair-summary{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:1150px){.repair-summary .repair-summary-card{padding:20px;min-height:184px}.repair-summary-card .value{font-size:2.3rem}}
@media(max-width:600px){.repair-summary{gap:12px}.repair-summary .repair-summary-card{padding:17px 16px}.repair-summary-card .metric-top{gap:8px;min-height:58px;font-size:1rem}.repair-summary-card .metric-icon{width:30px;height:30px;border-radius:9px}.repair-summary-card .metric-icon svg{width:17px;height:17px}.repair-summary-card .metric-top>span:first-child{padding-top:4px}}
@media(max-width:560px){.repair-summary{grid-template-columns:1fr}.repair-summary-card .metric-top{min-height:38px}.repair-summary .repair-summary-card{min-height:168px}}

/* Stock balances use four consistent, colour-coded cards. */
.inventory-summary{grid-template-columns:repeat(4,minmax(0,1fr))}
.inventory-summary-card--green{--stock-accent:#87f1c0;--stock-rgb:40,204,139}
.inventory-summary-card--blue{--stock-accent:#92baff;--stock-rgb:69,130,250}
.inventory-summary-card--yellow{--stock-accent:#ffe18a;--stock-rgb:245,195,58}
.inventory-summary-card--red{--stock-accent:#ff9faf;--stock-rgb:241,90,116}
.inventory-summary .inventory-summary-card{padding:22px 24px;min-height:180px;border:1px solid rgba(var(--stock-rgb),.34);border-top:3px solid var(--stock-accent);border-radius:22px;background:linear-gradient(135deg,rgba(var(--stock-rgb),.21),rgba(20,34,62,.9));box-shadow:0 10px 28px rgba(2,9,24,.16),inset 0 1px 0 rgba(255,255,255,.07)}
.inventory-summary-card .metric-top{gap:12px;color:var(--stock-accent);font-size:1.05rem;font-weight:650;line-height:1.4;min-height:40px}
.inventory-summary-card .metric-icon{display:grid;place-items:center;flex-shrink:0;width:36px;height:36px;border-radius:12px;color:var(--stock-accent);background:rgba(var(--stock-rgb),.15);border:1px solid rgba(var(--stock-rgb),.23)}
.inventory-summary-card .value{margin:9px 0 7px;color:var(--stock-accent);font-size:2.5rem;font-weight:700;line-height:1.1;font-variant-numeric:tabular-nums}
.inventory-summary-card .foot{color:#c5d3e7;font-size:1rem;line-height:1.5}
.repair-search{max-width:520px;flex:1}
.repair-search .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.repair-search input{width:260px}
.repair-search-count{margin:0 0 12px;color:var(--muted);font-size:1rem}
@media(max-width:1180px){.inventory-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.inventory-summary .inventory-summary-card{padding:20px}}
@media(max-width:560px){.inventory-summary{grid-template-columns:1fr;gap:12px}.inventory-summary .inventory-summary-card{min-height:164px;padding:18px}.repair-search{max-width:none;min-width:0}.repair-search input{width:100%}}

.task-card .task-assigned-by{display:block;margin-top:7px;font-size:12px;line-height:1.5;color:#a4b7d0;overflow-wrap:anywhere}.task-card .task-assigned-by b{font-weight:600;color:#dbeaff}
.task-board{grid-template-columns:repeat(3,minmax(230px,1fr));align-items:start}
.task-board .lane-head{font-size:12px;color:#b7c9e3}
.task-board .task-card h4{font-size:15px;line-height:1.5;font-weight:600;margin-bottom:12px;overflow-wrap:anywhere}
.task-card .task-assignee{display:block;font-size:13px;line-height:1.6;color:#b7c9e3;overflow-wrap:anywhere}
.task-card .task-assignee b{font-weight:500;color:#eef5ff}
.task-card .task-due{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:7px;margin-top:12px;padding:10px 11px;border:1px solid rgba(151,190,255,.2);border-radius:8px;background:rgba(151,190,255,.05);font-size:14px;line-height:1.5;color:#dbeaff}
.task-card .task-due time{font-weight:650}
.task-card .task-due-label{font-size:12px;font-weight:650;line-height:1.5}
.task-card .task-due.overdue{color:#ffc0c8;border-color:rgba(255,155,168,.42);background:rgba(255,155,168,.09)}
.task-card .task-due.today{color:#ffe1ab;border-color:rgba(243,199,129,.42);background:rgba(243,199,129,.09)}
.task-card .task-due.complete,.task-card .task-due.unset{color:#a4b7d0}
@media(max-width:720px){.task-board{grid-template-columns:1fr}.task-board .lane{min-height:0}}
