@import "https://fonts.googleapis.com/css2?family=Noto+Sans+Thai:wght@400;500;600;700&display=swap";:root{color:#172033;font-synthesis:none;background:#f4f7fb;font-family:Noto Sans Thai,sans-serif}*{box-sizing:border-box}body{min-width:320px;min-height:100vh;margin:0}button,input,select{font:inherit}.app-shell{grid-template-columns:250px 1fr;min-height:100vh;display:grid}.sidebar{color:#fff;background:#0b3155;flex-direction:column;padding:26px 16px;display:flex}.brand{align-items:center;gap:12px;padding:0 9px 27px;display:flex}.brand-mark{background:#18a0ae;border-radius:13px;place-items:center;width:43px;height:43px;display:grid}.brand strong,.brand span{display:block}.brand strong{font-size:20px;line-height:1.1}.brand span{opacity:.7;margin-top:4px;font-size:12px}nav{gap:7px;display:grid}.nav-item{color:#dce8f3;cursor:pointer;text-align:left;background:0 0;border:0;border-radius:10px;align-items:center;gap:12px;padding:11px 13px;display:flex}.nav-item:hover,.nav-item.active{color:#fff;background:#ffffff1f}.nav-item.active{box-shadow:inset 3px 0 #36c7d2}.sidebar-note{opacity:.5;margin-top:auto;padding:15px 10px 0;font-size:11px}.logout-button{color:#dce8f3;cursor:pointer;background:#ffffff12;border:0;border-radius:10px;align-items:center;gap:12px;margin-top:auto;padding:11px 13px;display:flex}.logout-button:hover{color:#fff;background:#ffffff24}main{align-self:start;width:100%;max-width:1500px;margin:auto;padding:29px 34px}header{justify-content:space-between;align-items:center;margin-bottom:27px;display:flex}.mobile-menu{color:#123c64;background:0 0;border:0;display:none}h1,h2,h3,p{margin:0}.eyebrow{color:#718096;margin-bottom:2px;font-size:13px}h1{font-size:28px}.profile{background:#fff;border:1px solid #e1e8f0;border-radius:10px;align-items:center;gap:9px;padding:9px 14px;font-size:14px;display:flex}.profile strong,.profile small{display:block}.profile small{color:#718096;margin-top:1px;font-size:11px}.status{background:#e4ad36;border-radius:50%;width:9px;height:9px}.status.online{background:#23ad72}.status.offline{background:#d94b55}.welcome{color:#fff;background:linear-gradient(120deg,#0f4c81,#167a92);border-radius:18px;justify-content:space-between;align-items:center;padding:28px 31px;display:flex;box-shadow:0 14px 32px #0f4c812e}.welcome p{opacity:.8;font-size:14px}.welcome h2{margin:4px 0 7px;font-size:25px}.welcome>div>span{opacity:.78;font-size:13px}.api-card{background:#ffffff21;border-radius:12px;min-width:145px;padding:14px 17px}.api-card span,.api-card strong{display:block}.api-card span{opacity:.75;font-size:12px}.api-card strong{margin-top:4px}.stats{grid-template-columns:repeat(4,1fr);gap:17px;margin:22px 0;display:grid}.stats article{background:#fff;border:1px solid #e4eaf1;border-radius:14px;padding:20px;box-shadow:0 5px 16px #26394d0a}.stats span,.stats strong,.stats small{display:block}.stats span{color:#68768a;font-size:13px}.stats strong{color:#123c64;margin:7px 0 2px;font-size:24px}.stats small{color:#9aa5b3}.next-step{color:#167a92;background:#fff;border:1px solid #dfe7ef;border-radius:14px;align-items:center;gap:16px;padding:21px;display:flex}.next-step h3{color:#1c2d41;font-size:17px}.next-step p{color:#718096;margin-top:3px;font-size:13px}.loading-screen{color:#557086;place-content:center;justify-items:center;gap:13px;min-height:100vh;display:grid}.loader{border:3px solid #d8e2ec;border-top-color:#167a92;border-radius:50%;width:34px;height:34px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.auth-page{background:radial-gradient(circle at 20% 10%,#dff5f6 0,#0000 30%),#f4f7fb;flex-direction:column;justify-content:center;align-items:center;min-height:100vh;padding:38px 18px;display:flex}.auth-brand{justify-items:center;margin-bottom:22px;display:grid}.auth-brand .brand-mark{color:#fff;width:51px;height:51px;margin-bottom:10px}.auth-brand strong{color:#123c64;font-size:24px}.auth-brand span{color:#718096;margin-top:2px;font-size:13px}.auth-card{background:#fff;border:1px solid #e0e8ef;border-radius:18px;width:min(100%,470px);padding:29px;box-shadow:0 18px 45px #1f39531a}.auth-card:has(.setup-form){width:min(100%,680px)}.auth-card h1{text-align:center;font-size:24px}.auth-card>p{text-align:center;color:#718096;margin:4px 0 23px;font-size:13px}.auth-form{gap:15px;display:grid}.setup-form{grid-template-columns:1fr 1fr}.auth-form label{color:#34475a;gap:6px;font-size:13px;font-weight:600;display:grid}.auth-form input{width:100%;font:inherit;background:#fbfdff;border:1px solid #ccd7e2;border-radius:9px;outline:none;padding:11px 12px}.auth-form input:focus{border-color:#16879a;box-shadow:0 0 0 3px #16879a1c}.wide{grid-column:1/-1}.password-wrap{position:relative}.password-wrap input{padding-right:42px}.password-wrap button{color:#718096;cursor:pointer;background:0 0;border:0;padding:7px;position:absolute;top:50%;right:5px;transform:translateY(-50%)}.primary-button{color:#fff;cursor:pointer;background:#0f6086;border:0;border-radius:10px;margin-top:3px;padding:12px;font-weight:700}.primary-button:disabled{opacity:.65;cursor:wait}.form-error{color:#b52d39;background:#fff0f1;border:1px solid #f3c8cc;border-radius:8px;padding:9px 11px;font-size:12px}.password-hint{color:#718096;margin-top:-7px;font-size:11px}.auth-page>small{color:#8b98a8;margin-top:16px}.nav-separator{border-top:1px solid #ffffff1f;margin:14px 8px}.page-title{justify-content:space-between;align-items:center;margin-bottom:18px;display:flex}.page-title h2{font-size:22px}.page-title p{color:#718096;margin-top:3px;font-size:13px}.primary-button.inline{align-items:center;gap:7px;margin:0;padding:9px 14px;display:inline-flex}.panel{background:#fff;border:1px solid #e0e7ef;border-radius:14px;box-shadow:0 5px 18px #26394d0a}.notice{border-radius:9px;margin:0 0 14px;padding:10px 13px;font-size:13px}.notice.success{color:#13754b;background:#eaf9f2;border:1px solid #bce8d3}.notice.error{color:#b52d39;background:#fff0f1;border:1px solid #f3c8cc}.notice.info{color:#17647b;background:#eef7fb;border:1px solid #cce4ec;margin-top:16px}.table-panel{overflow:auto}table{border-collapse:collapse;width:100%;min-width:760px}th,td{text-align:left;border-bottom:1px solid #edf1f5;padding:15px 18px;font-size:13px}th{color:#667589;background:#f8fafc;font-weight:600}td strong,td small{display:block}td small{color:#8491a0;margin-top:3px}.badge{border-radius:20px;padding:4px 9px;font-size:11px;font-weight:700;display:inline-block}.badge.active{color:#168254;background:#e6f7ef}.badge.suspended{color:#a76500;background:#fff2dc}.badge.locked{color:#b83242;background:#feecef}.actions{text-align:right;white-space:nowrap}.actions button{color:#17647b;cursor:pointer;background:#eef5f9;border:0;border-radius:7px;margin-left:5px;padding:6px 9px}.modal-backdrop{z-index:20;background:#0b1f337a;place-items:center;padding:18px;display:grid;position:fixed;inset:0}.modal{background:#fff;border-radius:17px;width:min(100%,480px);padding:22px;box-shadow:0 24px 60px #0003}.modal>header{margin:0 0 18px}.modal>header h2{font-size:20px}.modal>header button{color:#718096;cursor:pointer;background:0 0;border:0}.modal-form{gap:13px;display:grid}.modal-form label{color:#34475a;gap:5px;font-size:13px;font-weight:600;display:grid}.modal-form input,.modal-form select{background:#fbfdff;border:1px solid #ccd7e2;border-radius:9px;padding:10px}.modal-form>small{color:#718096}.user-summary{background:#f3f7fa;border-radius:10px;padding:12px}.user-summary strong,.user-summary span{display:block}.user-summary span{color:#718096;font-size:12px}.permission-panel{grid-template-columns:220px 1fr;display:grid;overflow:hidden}.role-tabs{background:#f7fafc;border-right:1px solid #e7edf3;align-content:start;gap:8px;padding:14px;display:grid}.role-tabs button{text-align:left;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:9px;padding:11px}.role-tabs button.active{background:#fff;border-color:#dce5ed;box-shadow:0 3px 10px #0000000d}.role-tabs strong,.role-tabs small{display:block}.role-tabs small{color:#8491a0;margin-top:2px}.permission-content{padding:22px}.permission-head{justify-content:space-between;align-items:center;margin-bottom:18px;display:flex}.permission-head h3{font-size:18px}.permission-head p{color:#718096;margin-top:3px;font-size:12px}.permission-groups{grid-template-columns:repeat(2,minmax(0,1fr));gap:13px;display:grid}.permission-groups article{border:1px solid #e4eaf0;border-radius:11px;overflow:hidden}.permission-groups h4{background:#f7fafc;padding:10px 13px;font-size:14px}.permission-groups article>div{padding:6px 13px}.permission-groups label{border-bottom:1px solid #f0f3f6;grid-template-columns:20px 1fr auto;align-items:center;padding:8px 0;font-size:12px;display:grid}.permission-groups label:last-child{border:0}.permission-groups label small{color:#8491a0;font-size:10px}.module-grid{grid-template-columns:repeat(2,1fr);gap:13px;display:grid}.module-card{justify-content:space-between;align-items:center;padding:17px;display:flex}.module-card strong,.module-card small{display:block}.module-card small{color:#8491a0;margin-top:3px}.switch{width:45px;height:25px;position:relative}.switch input{opacity:0;width:0;height:0}.switch span{cursor:pointer;background:#cbd5df;border-radius:20px;transition:all .2s;position:absolute;inset:0}.switch span:before{content:"";background:#fff;border-radius:50%;width:19px;height:19px;transition:all .2s;position:absolute;top:3px;left:3px;box-shadow:0 1px 4px #0003}.switch input:checked+span{background:#18a0ae}.switch input:checked+span:before{transform:translate(20px)}.switch input:disabled+span{opacity:.5;cursor:not-allowed}.document-shortcuts{z-index:8;gap:5px;width:218px;display:grid;position:fixed;bottom:72px;left:16px}.document-shortcuts a{color:#fff;background:#ffffff1a;border-radius:10px;padding:10px 13px;text-decoration:none}.document-shortcuts a:hover{background:#fff3}body:has(.auth-page) .document-shortcuts{display:none}.receipt-standalone{background:#f4f7fb;min-height:100vh}.receipt-standalone>header{color:#fff;background:#0b3155;justify-content:space-between;align-items:center;height:68px;padding:0 32px;display:flex}.receipt-standalone>header a{color:#dce8f3;align-items:center;gap:7px;text-decoration:none;display:flex}.receipt-standalone>header div{align-items:center;gap:9px;font-size:18px;display:flex}.receipt-standalone>main{max-width:1300px;margin:auto;padding:28px}.receipt-tabs{border-bottom:1px solid #dce4ec;gap:6px;margin-bottom:18px;display:flex}.receipt-tabs button{color:#657487;cursor:pointer;background:0 0;border:0;border-bottom:3px solid #0000;padding:11px 15px}.receipt-tabs button.active{color:#126b82;border-color:#18a0ae;font-weight:700}.receipt-box{text-align:center;max-width:760px;margin:auto;padding:45px}.receipt-box>svg{color:#18a0ae}.receipt-box h2,.generate-box h2{margin:10px 0 3px}.receipt-box>p{color:#718096}.upload-zone{color:#17647b;cursor:pointer;background:#f8fbfd;border:2px dashed #b9cbd9;border-radius:13px;flex-direction:column;justify-content:center;align-items:center;gap:8px;min-height:120px;margin:24px auto 14px;display:flex}.upload-zone input{display:none}.import-summary{background:#edf8f9;border-radius:10px;flex-direction:column;margin:12px 0;padding:12px;display:flex}.import-summary strong{color:#126b82;font-size:22px}.import-summary small{color:#718096}.generate-box{max-width:850px;margin:auto;padding:28px}.range-form{grid-template-columns:1fr 1fr;gap:14px;margin:20px 0;display:grid}.range-form label{gap:6px;font-size:13px;font-weight:600;display:grid}.range-form input,.table-panel input{background:#fff;border:1px solid #cbd7e1;border-radius:8px;padding:10px}.mode-cards{grid-template-columns:1fr 1fr;gap:14px;margin-bottom:20px;display:grid}.mode-cards label{cursor:pointer;border:2px solid #dce5ec;border-radius:12px;grid-template-columns:25px 1fr;padding:16px;display:grid}.mode-cards label.selected{background:#f0fafb;border-color:#18a0ae}.mode-cards input{grid-row:1/3}.mode-cards b,.mode-cards span{display:block}.mode-cards span{color:#718096;margin-top:3px;font-size:12px}.empty{color:#8491a0;justify-content:center;align-items:center;gap:8px;padding:50px;display:flex}.actions button{align-items:center;gap:4px;display:inline-flex}.voucher-form{padding:22px}.form-grid{grid-template-columns:repeat(4,1fr);gap:13px;display:grid}.form-grid label,.payee-form label,.note-label{gap:5px;font-size:13px;font-weight:600;display:grid}.form-grid input,.form-grid select,.payee-form input,.payee-form select,.payee-form textarea,.note-label textarea{background:#fff;border:1px solid #cbd7e1;border-radius:8px;padding:9px}.span2{grid-column:span 2}.voucher-items{gap:8px;margin:20px 0 10px;display:grid}.voucher-items article{grid-template-columns:135px 130px minmax(180px,1fr) 75px 80px 110px 80px 80px 36px;gap:6px;display:grid}.voucher-items input{border:1px solid #d3dde5;border-radius:7px;min-width:0;padding:8px}.voucher-items article button{color:#b83242;background:#fff0f1;border:0;border-radius:7px}.secondary-button{color:#17647b;cursor:pointer;background:#f5fafc;border:1px solid #b9cbd9;border-radius:8px;align-items:center;gap:5px;padding:8px 12px;display:inline-flex}.voucher-total{color:#536579;justify-content:flex-end;align-items:center;gap:20px;margin:14px 0;display:flex}.voucher-total strong{color:#0f6086;font-size:25px}.note-label textarea{min-height:65px}.payee-layout{grid-template-columns:330px 1fr;gap:15px;display:grid}.payee-form{gap:11px;padding:20px;display:grid}.payee-form h2{font-size:19px}.template-download{color:#126b82;background:#edf8f9;border-radius:9px;align-items:center;gap:7px;margin-top:18px;padding:10px 14px;text-decoration:none;display:inline-flex}.badge.draft{color:#5b6876;background:#eef2f6}.badge.pending{color:#a76500;background:#fff2dc}.badge.approved{color:#1f67a7;background:#e7f2ff}.badge.paid{color:#168254;background:#e6f7ef}.voucher-items article{grid-template-columns:135px 150px minmax(190px,1fr) 75px 80px 110px 80px 105px 42px;align-items:end;gap:7px}.voucher-items article label{gap:5px;min-width:0;display:grid}.voucher-items article label>span{color:#607083;white-space:nowrap;font-size:11px;font-weight:600}.voucher-items article label input{width:100%}.voucher-items input:disabled{color:#536579;background:#eef3f6}.voucher-items article button{cursor:pointer;height:37px}.voucher-items article button:disabled{opacity:.4;cursor:not-allowed}.edit-notice{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.edit-notice button,.danger-action{cursor:pointer;border-radius:7px;padding:6px 9px;color:#b83242!important;background:#fff5f6!important;border:1px solid #e6a6ad!important}.voucher-guide{color:#50647a;background:#f2f8ff;border:1px solid #cfe1f3;border-radius:10px;align-items:center;gap:12px;margin:18px 0 10px;padding:12px 14px;display:flex}.voucher-guide strong{color:#244565;white-space:nowrap}.voucher-guide span{font-size:13px}.voucher-items article{background:#fbfdff;border:1px solid #e0e8f0;border-radius:11px;grid-template-columns:82px minmax(240px,1fr) 70px 105px 125px 72px 100px 115px 42px;padding:12px}.item-number{color:#27628f;background:#eaf4ff;border-radius:8px;flex-direction:column;justify-content:center;align-self:stretch;align-items:center;display:flex}.item-number span{font-size:11px}.item-number strong{font-size:22px;line-height:1.1}.receipt-batch-toolbar{background:linear-gradient(100deg,#eef2ff,#f5f3ff);border-bottom:1px solid #dddff3;justify-content:space-between;align-items:center;gap:18px;padding:16px 18px;display:flex;position:sticky;left:0}.receipt-batch-toolbar strong,.receipt-batch-toolbar span{display:block}.receipt-batch-toolbar strong{color:#312e81}.receipt-batch-toolbar span{color:#707792;margin-top:3px;font-size:12px}.receipt-batch-toolbar .primary-button{white-space:nowrap;width:auto;margin:0}.select-cell{width:52px;text-align:center!important}.select-cell input{accent-color:#6d28d9;cursor:pointer;width:18px;height:18px;padding:0}.receipt-history tr.selected-row td,.voucher-history tr.selected-row td{background:#f4f1ff}.receipt-history tr.selected-row td:first-child,.voucher-history tr.selected-row td:first-child{box-shadow:inset 3px 0 #7c3aed}.month-selector{flex-wrap:wrap;justify-content:flex-end;align-items:flex-end;gap:9px;display:flex}.month-selector label{color:#565d78;gap:4px;font-size:11px;font-weight:600;display:grid}.month-selector input{min-width:155px;padding:8px 10px!important}.month-selector .secondary-button,.month-selector .primary-button{height:38px}.required-mark{color:#dc2626;margin-left:4px;font-size:10px;font-style:normal;font-weight:700}.primary-button:disabled{cursor:not-allowed;opacity:.65}.quick-payee-field{gap:6px;display:flex}.quick-payee-field input{flex:1;min-width:0}.quick-payee-field button{color:#08775c;white-space:nowrap;cursor:pointer;background:#ecfdf5;border:1px solid #a7d8cc;border-radius:8px;padding:8px 10px;font-weight:600}.quick-payee-field button:disabled{opacity:.6;cursor:not-allowed}.payee-selected{color:#07845f;font-size:10px;font-weight:600}.topbar-actions{align-items:center;gap:10px;display:flex}.install-app-button{color:#fff;cursor:pointer;background:linear-gradient(100deg,#4f46e5,#7c3aed);border:0;border-radius:11px;align-items:center;gap:7px;padding:10px 13px;font-weight:700;display:inline-flex;box-shadow:0 7px 18px #4f46e538}.install-app-button:hover{transform:translateY(-1px)}.badge.quotation{color:#6d28d9;background:#ede9fe;margin:0 7px 4px 0;display:inline-block}.sales-form .form-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.sales-tools{align-items:stretch;gap:12px;margin-top:12px;display:flex}.bundle-price{background:linear-gradient(100deg,#f5f3ff,#ecfeff);border:1px solid #c7d2fe;border-radius:12px;flex:1;justify-content:flex-end;align-items:end;gap:9px;padding:12px 14px;display:flex}.bundle-price>div{margin-right:auto}.bundle-price strong,.bundle-price small{display:block}.bundle-price strong{color:#4338ca}.bundle-price small{color:#68758a;margin-top:3px;font-size:10px}.bundle-price label{color:#4c5870;gap:4px;font-size:10px;font-weight:700;display:grid}.bundle-price input{border:1px solid #bfcce0;border-radius:8px;width:180px;padding:8px}.bundle-price button{color:#fff;cursor:pointer;background:#4f46e5;border:0;border-radius:8px;padding:9px 12px;font-weight:700}.bundle-price .clear-bundle{color:#b42338;background:#fff;border:1px solid #f0b5bd}.bundle-price button:disabled{opacity:.55;cursor:not-allowed}@media (width<=850px){.sales-tools,.bundle-price{flex-direction:column;align-items:stretch}.bundle-price input{width:100%}}.sub-tabs{gap:7px;margin:0 0 14px;display:flex}.sub-tabs button{color:#58677b;cursor:pointer;background:#fff;border:1px solid #cbd5e1;border-radius:9px;padding:9px 14px}.sub-tabs button.active{color:#0e7490;background:#ecfeff;border-color:#0891b2;font-weight:700}.delivery-items{gap:9px;margin:18px 0 12px;display:grid}.delivery-items article{background:#fbfdff;border:1px solid #dfe7ee;border-radius:11px;grid-template-columns:180px minmax(260px,1fr) 90px 100px 180px 42px;align-items:end;gap:8px;padding:11px;display:grid}.delivery-items label{gap:5px;display:grid}.delivery-items label>span{color:#607083;font-size:11px;font-weight:600}.delivery-items input,.delivery-items select{background:#fff;border:1px solid #cbd7e1;border-radius:8px;width:100%;min-width:0;padding:9px}.delivery-items .delete-action{color:#b83242;cursor:pointer;background:#fff0f1;border:0;border-radius:8px;height:38px}.badge.delivered{color:#15803d;background:#dcfce7}@media (width<=900px){.delivery-items article{grid-template-columns:1fr 1fr}.delivery-items .delivery-desc{grid-column:span 2}}.receipt-actions{white-space:nowrap;justify-content:flex-end;gap:6px;display:flex}.receipt-actions button{color:#08617f;cursor:pointer;background:#eef7fb;border:1px solid #d7e2ea;border-radius:8px;padding:7px 9px}.receipt-actions .cancel-action{color:#9a6200;background:#fff8e8;border-color:#f2cf83}.receipt-actions .delete-action{color:#b42338;background:#fff1f3;border-color:#f0b5bd}.receipt-actions button:disabled{opacity:.55;cursor:not-allowed}.receipt-history .cancelled-row td{color:#8b929d;background:#fafafa}.receipt-history .cancelled-row td strong{text-decoration:line-through}.receipt-history .cancelled-row .badge,.sidebar a.nav-item{text-decoration:none}.sales-items{gap:10px;margin:20px 0 10px;display:grid}.sales-items article{grid-template-columns:170px minmax(210px,1fr) 80px 90px 110px 100px 85px 42px;align-items:end;gap:7px;display:grid}.sales-items article label{gap:5px;min-width:0;display:grid}.sales-items article label>span{color:#607083;white-space:nowrap;font-size:11px;font-weight:600}.sales-items input,.sales-items select{background:#fff;border:1px solid #d3dde5;border-radius:7px;width:100%;min-width:0;padding:8px}.sales-items article button{color:#b83242;cursor:pointer;background:#fff0f1;border:0;border-radius:7px;height:37px}.sales-items article button:disabled{opacity:.4}.sales-summary{color:#536579;justify-content:flex-end;align-items:center;gap:24px;margin:15px 0;display:flex}.sales-summary strong{color:#0f6086;font-size:22px}.company-form{grid-template-columns:1fr 1fr;gap:16px;max-width:900px;padding:24px;display:grid}.company-form label{gap:6px;font-size:13px;font-weight:600;display:grid}.company-form input,.company-form textarea{background:#fff;border:1px solid #cbd7e1;border-radius:8px;padding:10px}.company-form textarea{min-height:95px}.company-form .wide{grid-column:span 2}.company-form .vat-setting{border:1px solid #dce5ec;border-radius:9px;align-items:center;gap:9px;padding:12px;display:flex}.company-form .vat-setting input{width:18px;height:18px}.company-logo-editor{background:linear-gradient(100deg,#f8fbff,#f5f3ff);border:1px dashed #bfc8e8;border-radius:14px;align-items:center;gap:18px;padding:17px;display:flex}.logo-preview{color:#6366f1;background:#fff;border:1px solid #e0e5f2;border-radius:14px;flex:0 0 110px;place-items:center;width:110px;height:90px;display:grid;overflow:hidden}.logo-preview img{object-fit:contain;width:100%;height:100%;padding:7px}.company-logo-editor p{color:#718096;margin:3px 0 10px;font-size:11px}.logo-actions{align-items:center;gap:8px;display:flex}.logo-actions .secondary-button{margin:0}.logo-actions input{display:none}.brand-mark.has-logo{background:#fff;padding:3px}.brand-mark.has-logo img{object-fit:contain;border-radius:10px;width:100%;height:100%}@media (width<=900px){.app-shell{grid-template-columns:76px 1fr}.brand>div:last-child,.nav-item span,.logout-button span{display:none}.brand{justify-content:center;padding-left:0}.nav-item,.logout-button{justify-content:center}.stats{grid-template-columns:repeat(2,1fr)}}@media (width<=620px){.app-shell{display:block}.sidebar{z-index:15;width:250px;transition:all .2s;position:fixed;inset:0 auto 0 0;transform:translate(-100%)}.sidebar.open{transform:none}.brand>div:last-child,.nav-item span,.logout-button span,.mobile-menu{display:block}main{padding:20px 15px}.welcome{flex-direction:column;align-items:flex-start;gap:20px}.stats{grid-template-columns:1fr}.api-card{width:100%}.profile div{display:none}.permission-panel{grid-template-columns:1fr}.role-tabs{border-bottom:1px solid #e7edf3;border-right:0;display:flex}.permission-groups,.module-grid,.range-form,.mode-cards,.form-grid,.payee-layout{grid-template-columns:1fr}.span2{grid-column:auto}.voucher-items article{grid-template-columns:1fr 1fr}.voucher-items .desc{grid-column:span 2}.permission-content{padding:15px}.permission-head,.page-title{align-items:flex-start;gap:10px}.document-shortcuts{width:auto;bottom:12px;left:auto;right:12px}.document-shortcuts a{background:#0f6086}.receipt-standalone>header{padding:0 15px}.receipt-standalone>main{padding:15px}.receipt-box{padding:25px 16px}}@media (width<=560px){.setup-form{grid-template-columns:1fr}.wide{grid-column:auto}.auth-card{padding:23px 18px}.auth-page{justify-content:flex-start}.auth-brand{margin-top:14px}}@media (width<=620px){.sales-items article{grid-template-columns:1fr 1fr}.sales-items .sale-desc{grid-column:span 2}.sales-summary{flex-direction:column;align-items:flex-end;gap:6px}.company-form{grid-template-columns:1fr}.company-form .wide{grid-column:auto}}:root{--navy:#111b4b;--indigo:#4f46e5;--cyan:#06b6d4;--violet:#8b5cf6;--orange:#f97316;--green:#10b981;background:#f5f7ff}.modern-shell{background:radial-gradient(circle at 75% 0,#eef2ff 0,#0000 30%),#f7f8fc;grid-template-columns:280px 1fr}.modern-shell .sidebar{background:linear-gradient(165deg,#111b4b 0%,#172554 48%,#312e81 100%);height:100vh;padding:22px 16px 16px;position:sticky;top:0;box-shadow:12px 0 35px #1e296329}.modern-shell .brand{padding:2px 8px 20px}.modern-shell .brand-mark{background:linear-gradient(135deg,#22d3ee,#6366f1);box-shadow:0 9px 24px #22d3ee52}.modern-shell .brand strong{font-size:22px}.sidebar-scroll{padding-right:3px;overflow:auto}.nav-group{margin:7px 0 16px}.nav-group-title{color:#a5b4fc;letter-spacing:.12em;text-transform:uppercase;padding:0 12px 7px;font-size:10px;font-weight:700;display:block}.modern-shell .nav-item{color:#dbeafe;border-radius:12px;min-height:43px;padding:10px 12px;text-decoration:none;transition:all .18s}.modern-shell .nav-item span{flex:1}.modern-shell .nav-item small{color:#93c5fd;background:#ffffff17;border-radius:10px;padding:2px 6px;font-size:9px}.modern-shell .nav-item:hover{background:#ffffff1a;transform:translate(3px)}.modern-shell .nav-item.active{background:linear-gradient(100deg,#22d3ee42,#6366f14d);box-shadow:inset 3px 0 #22d3ee,0 8px 20px #0000001a}.sales-group .nav-item svg{color:#22d3ee}.finance-group .nav-item svg{color:#fb923c}.admin-group .nav-item svg{color:#c4b5fd}.modern-shell .logout-button{color:#fecdd3;background:#f43f5e21}.modern-shell>main{max-width:none;padding:26px 38px}.topbar{padding:5px 0 2px}.topbar h1{color:#172554;font-size:29px}.topbar .profile{border:0;border-radius:14px;box-shadow:0 7px 25px #2d376e17}.modern-welcome{background:linear-gradient(120deg,#4f46e5,#7c3aed 55%,#0891b2);position:relative;overflow:hidden;box-shadow:0 18px 40px #4f46e53b}.modern-welcome:after{content:"";background:#ffffff1f;border-radius:50%;width:210px;height:210px;position:absolute;top:-100px;right:-60px}.quick-actions{grid-template-columns:repeat(3,1fr);gap:16px;margin:20px 0;display:grid}.quick-card{color:#fff;border-radius:16px;align-items:center;gap:14px;padding:18px;text-decoration:none;transition:all .2s;display:flex;box-shadow:0 12px 28px #202c5a24}.quick-card:hover{transform:translateY(-3px);box-shadow:0 16px 32px #202c5a33}.quick-card>svg{background:#fff3;border-radius:13px;width:42px;height:42px;padding:10px}.quick-card strong,.quick-card span{display:block}.quick-card strong{font-size:16px}.quick-card span{opacity:.82;margin-top:3px;font-size:11px}.quick-card.cyan{background:linear-gradient(135deg,#0891b2,#06b6d4)}.quick-card.violet{background:linear-gradient(135deg,#6d28d9,#8b5cf6)}.quick-card.orange{background:linear-gradient(135deg,#ea580c,#fb923c)}.modern-stats{margin-top:0}.modern-stats article{border:0;border-radius:17px;position:relative;overflow:hidden;box-shadow:0 9px 28px #36417814}.modern-stats article:first-child{border-top:4px solid #06b6d4}.modern-stats article:nth-child(2){border-top:4px solid #8b5cf6}.modern-stats article:nth-child(3){border-top:4px solid #f59e0b}.modern-stats article:nth-child(4){border-top:4px solid #10b981}.modern-note{background:linear-gradient(90deg,#ecfeff,#eef2ff);border:0;box-shadow:0 7px 22px #2e3f780f}.panel{border-color:#e7e9f5;box-shadow:0 8px 26px #353e7012}.primary-button{background:linear-gradient(100deg,#4f46e5,#7c3aed);box-shadow:0 7px 18px #4f46e538}.primary-button:hover{background:linear-gradient(100deg,#4338ca,#6d28d9)}.receipt-standalone{background:radial-gradient(circle at 80% 0,#ede9fe 0,#0000 28%),#f7f8fc}.receipt-standalone>header{background:linear-gradient(100deg,#111b4b,#4338ca 65%,#0891b2);box-shadow:0 6px 24px #1e296333}.receipt-tabs button.active{color:#4f46e5;border-color:#7c3aed}.table-panel th{color:#4c4a70;background:#f4f3ff}.badge.receipt_issued{color:#0369a1;background:#e0f2fe}@media (width<=1050px){.modern-shell{grid-template-columns:82px 1fr}.modern-shell .brand>div:last-child,.modern-shell .nav-group-title,.modern-shell .nav-item span,.modern-shell .nav-item small,.modern-shell .logout-button span{display:none}.modern-shell .brand,.modern-shell .nav-item,.modern-shell .logout-button{justify-content:center}.quick-actions{grid-template-columns:1fr}.modern-shell>main{padding:24px}}@media (width<=620px){.modern-shell{display:block}.modern-shell .sidebar{z-index:30;width:270px;height:100vh;position:fixed}.modern-shell .brand>div:last-child,.modern-shell .nav-group-title,.modern-shell .nav-item span,.modern-shell .nav-item small,.modern-shell .logout-button span{display:block}.modern-shell .brand,.modern-shell .nav-item,.modern-shell .logout-button{justify-content:flex-start}.modern-shell>main{padding:18px 14px}.quick-actions{gap:10px}.modern-welcome{padding:22px}.topbar h1{font-size:23px}}.cash-summary{grid-template-columns:repeat(3,1fr);gap:17px;margin-bottom:18px;display:grid}.cash-summary article{color:#fff;border-radius:17px;align-items:center;gap:14px;padding:21px;display:flex;box-shadow:0 12px 28px #28326424}.cash-summary article>svg{background:#fff3;border-radius:14px;width:45px;height:45px;padding:10px}.cash-summary span,.cash-summary strong{display:block}.cash-summary span{opacity:.82;font-size:12px}.cash-summary strong{margin-top:3px;font-size:24px}.cash-summary .income{background:linear-gradient(135deg,#059669,#10b981)}.cash-summary .expense{background:linear-gradient(135deg,#dc2626,#f97316)}.cash-summary .balance{background:linear-gradient(135deg,#4f46e5,#8b5cf6)}.cash-toolbar{gap:10px;margin-bottom:17px;display:flex}.cash-filters{grid-template-columns:repeat(4,1fr) auto;align-items:end;gap:10px;margin-bottom:15px;padding:15px;display:grid}.cash-filters label{gap:5px;font-size:12px;font-weight:600;display:grid}.cash-filters input,.cash-filters select,.cash-form select{background:#fff;border:1px solid #cbd7e1;border-radius:8px;padding:9px}.cash-form h2{font-size:20px}.cash-form p{color:#718096;margin-top:3px;font-size:12px}.cash-type{border-radius:20px;padding:4px 9px;font-size:11px;font-weight:700;display:inline-block}.cash-type.income{color:#15803d;background:#dcfce7}.cash-type.expense{color:#c2410c;background:#ffedd5}.category-dot{border-radius:50%;width:9px;height:9px;margin-right:6px;display:inline-block}.amount-income{color:#059669;font-weight:700}.amount-expense{color:#dc2626;font-weight:700}.category-list{align-content:start;gap:8px;padding:15px;display:grid}.category-list article{border:1px solid #e8eaf4;border-radius:11px;align-items:center;gap:11px;padding:11px;display:flex}.category-list article>span{border-radius:8px;width:13px;height:38px}.category-list strong,.category-list small{display:block}.category-list small{color:#8491a0;margin-top:2px;font-size:11px}.badge.cancelled{color:#b91c1c;background:#fee2e2}@media (width<=850px){.cash-summary{grid-template-columns:1fr}.cash-filters{grid-template-columns:1fr 1fr}.cash-filters button{grid-column:span 2}}@media (width<=620px){.cash-filters{grid-template-columns:1fr}.cash-filters button{grid-column:auto}.cash-summary strong{font-size:21px}}.module-shell{align-items:start;min-height:100vh}.module-shell>main{align-self:start;min-width:0;min-height:100vh;margin:0;padding-top:26px;overflow:hidden}.module-topbar{align-items:center;min-height:72px;margin:0 0 18px;padding:5px 0 2px}.module-topbar+*,.module-shell .receipt-tabs{margin-top:0}.module-shell .sidebar-close{color:#fff;background:0 0;border:0;margin-left:auto;padding:5px;display:none}.sidebar-backdrop{display:none}.module-shell .sidebar-scroll{flex:1}.module-shell .logout-button{margin-top:10px}@media (width<=620px){.module-shell .sidebar{z-index:41;transition:transform .22s;position:fixed;inset:0 auto 0 0;transform:translate(-105%)}.module-shell .sidebar.open{transform:translate(0)}.module-shell .sidebar-close{place-items:center;display:grid}.module-shell .sidebar-backdrop{z-index:40;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#0f172a7a;border:0;display:block;position:fixed;inset:0}.module-shell>main{min-height:100vh;padding:14px 12px}.module-topbar{z-index:20;background:#f7f8fcf2;min-height:64px;padding:8px 2px 12px;position:sticky;top:0}.module-topbar .profile{margin-left:auto}.module-topbar .profile div{display:none}}.profit-filter{align-items:end;gap:10px;margin-bottom:12px;padding:16px;display:flex}.profit-filter>div:first-child{margin-right:auto}.profit-filter strong,.profit-filter small{display:block}.profit-filter>div:first-child strong{color:#172554;font-size:17px}.profit-filter small{color:#728096;margin-top:4px}.profit-filter select{background:#fff;border:1px solid #cbd5e1;border-radius:9px;padding:9px}.period-buttons{gap:5px;display:flex}.period-buttons button{color:#596579;cursor:pointer;background:#fff;border:1px solid #cbd5e1;border-radius:8px;padding:9px 12px}.period-buttons button.active{color:#5b21b6;background:#ede9fe;border-color:#6d28d9;font-weight:700}.profit-period-label{color:#68758a;margin:0 0 10px 3px;font-size:12px}.profit-cards{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:14px;display:grid}.profit-cards article{color:#fff;border-radius:15px;min-height:112px;padding:17px;box-shadow:0 8px 22px #2832641f}.profit-cards span,.profit-cards strong,.profit-cards small{display:block}.profit-cards span{opacity:.9;font-size:12px}.profit-cards strong{margin-top:8px;font-size:22px}.profit-cards small{opacity:.8;margin-top:5px}.profit-cards .revenue{background:linear-gradient(135deg,#059669,#10b981)}.profit-cards .cost{background:linear-gradient(135deg,#dc2626,#f43f5e)}.profit-cards .shipping{background:linear-gradient(135deg,#ea580c,#f59e0b)}.profit-cards .staff{background:linear-gradient(135deg,#c2410c,#fb7185)}.profit-cards .fixed{background:linear-gradient(135deg,#a16207,#eab308)}.profit-cards .other{background:linear-gradient(135deg,#475569,#64748b)}.profit-cards .expense-total{background:linear-gradient(135deg,#be123c,#e11d48)}.profit-cards .profit{background:linear-gradient(135deg,#4338ca,#7c3aed)}.profit-cards .loss{background:linear-gradient(135deg,#991b1b,#dc2626)}.profit-formula{justify-content:center;align-items:center;gap:16px;margin-bottom:15px;padding:15px;display:flex}.profit-formula .positive{color:#059669}.profit-formula .negative{color:#dc2626}.profit-table{margin-bottom:16px}.profit-table h3{color:#172554;margin:0;padding:15px;position:sticky;left:0}.profit-table td,.profit-table th{white-space:nowrap}.profit-table td:first-child small{display:block}.profit-table .amount-income,.profit-table .amount-expense{font-weight:700}@media (width<=1050px){.profit-cards{grid-template-columns:repeat(2,1fr)}.profit-filter{flex-wrap:wrap;align-items:stretch}.profit-filter>div:first-child{width:100%}}@media (width<=620px){.profit-cards{grid-template-columns:1fr}.period-buttons{width:100%}.period-buttons button{flex:1;padding:8px 5px}.profit-filter select{flex:1}.profit-formula{flex-wrap:wrap;gap:8px}.profit-formula span,.profit-formula strong{text-align:center;width:100%}.profit-formula b{display:none}}.customer-toolbar{align-items:end;gap:16px;margin-bottom:18px;display:flex}.customer-toolbar label{flex:1;align-items:center;gap:8px;display:flex}.customer-toolbar input,.customer-toolbar select{width:100%}.customer-layout{grid-template-columns:minmax(560px,1.35fr) minmax(360px,.8fr);align-items:start;gap:18px;display:grid}.customer-row{cursor:pointer}.customer-row:hover{background:#f5f7ff}.customer-detail{max-height:calc(100vh - 80px);position:sticky;top:18px;overflow:auto}.customer-detail h2{color:#182b72;margin:0 0 8px}.customer-detail h3{margin:20px 0 10px}.customer-order{background:#fff;border:1px solid #dfe5f3;border-radius:12px;margin-bottom:10px;padding:13px}.customer-order>div{justify-content:space-between;align-items:center;gap:10px;display:flex}.customer-order span{color:#667085;font-size:12px}.customer-order p{color:#344054;margin:9px 0;line-height:1.55}.customer-order .actions{border-top:1px solid #edf0f6;justify-content:flex-end;margin-top:9px;padding-top:9px}.customer-order .actions button:disabled{opacity:.45}.customer-stats{margin-bottom:18px}.customer-detail .empty{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:12px;min-height:260px;display:flex}@media (width<=1000px){.customer-layout{grid-template-columns:1fr}.customer-detail{max-height:none;position:static}.customer-toolbar{flex-direction:column;align-items:stretch}}.import-actions{justify-content:center;gap:12px;margin-top:18px;display:flex}.import-actions .primary-button,.import-actions .secondary-button{margin:0}.import-actions .danger-action{color:#b42318;background:#fff;border-color:#ef9a9a}@media (width<=640px){.import-actions{flex-direction:column}.import-actions button{width:100%}}.history-toolbar{background:linear-gradient(100deg,#eef2ff,#f5f3ff);border-bottom:1px solid #dddff3;flex-wrap:wrap;align-items:end;gap:9px;padding:14px 16px;display:flex;position:sticky;left:0}.history-toolbar label{color:#565d78;gap:4px;font-size:11px;font-weight:700;display:grid}.history-toolbar input[type=month]{background:#fff;border:1px solid #cbd5e1;border-radius:8px;padding:8px 10px}.history-toolbar>span{color:#565d78;margin:0 auto 0 6px}.history-toolbar button{color:#334155;cursor:pointer;background:#fff;border:1px solid #d7e2ea;border-radius:8px;align-items:center;gap:5px;padding:9px 11px;display:inline-flex}.history-toolbar .danger-action{color:#b42338;border-color:#f0b5bd}.history-toolbar button:disabled{opacity:.5;cursor:not-allowed}.sales-history td:first-child,.sales-history th:first-child{text-align:center;width:45px}.sales-history input[type=checkbox]{accent-color:#6d28d9;width:18px;height:18px}@media (width<=760px){.history-toolbar{align-items:stretch}.history-toolbar>*{width:100%}.history-toolbar>span{margin:0}.history-toolbar button{justify-content:center}}.modern-shell:not(.module-shell)>main{align-self:start;margin:0;padding-top:26px}.profit-table .margin-na{color:#8a94a5;text-align:center}.profit-table th:last-child,.profit-table td:last-child{font-weight:700}@media (width<=620px){.module-shell>main{width:100%;max-width:100vw;overflow:hidden}.module-topbar{gap:8px}.module-topbar>div:first-of-type{min-width:0}.module-topbar h1{white-space:normal;line-height:1.25}.receipt-tabs{overscroll-behavior-inline:contain;scrollbar-width:none;-webkit-overflow-scrolling:touch;gap:3px;width:100%;max-width:100%;padding:0 2px 2px;overflow-x:auto}.receipt-tabs::-webkit-scrollbar{display:none}.receipt-tabs button{white-space:nowrap;flex:none;padding:10px 12px;font-size:13px}.sales-form{padding:14px 12px}.sales-form .form-grid{grid-template-columns:1fr}.sales-form .form-grid .span2{grid-column:auto}.sales-items{margin-top:15px}.sales-items article{background:#fbfdff;border:1px solid #e1e7ef;border-radius:11px;grid-template-columns:1fr 1fr;padding:11px}.sales-items article>label:first-child,.sales-items .sale-desc,.sales-items .delete-field{grid-column:1/-1}.sales-items .delete-field button,.sales-tools{width:100%}.sales-tools>.secondary-button{justify-content:center;width:100%}.bundle-price{width:100%;padding:12px}.bundle-price>div{margin:0 0 4px}.bundle-price button{width:100%}.sales-summary{text-align:right;background:#f7f9fc;border-radius:10px;align-items:stretch;width:100%;padding:12px}.sales-summary strong{font-size:20px}.sales-import{width:100%;max-width:100%;padding:22px 12px}.sales-import .upload-zone{width:100%}.sales-history{width:100%;max-width:100%;overflow-x:auto}.sales-history .history-toolbar{width:100%;min-width:0;position:sticky;left:0}.payee-layout{width:100%;min-width:0}.payee-form{padding:15px}.payee-layout>.table-panel{max-width:100%;overflow-x:auto}.delivery-items article{grid-template-columns:1fr}.delivery-items .delivery-desc{grid-column:auto}.delivery-items .delete-action{width:100%;height:40px}.sub-tabs{scrollbar-width:none;overflow-x:auto}.sub-tabs::-webkit-scrollbar{display:none}.sub-tabs button{white-space:nowrap;flex:none}}
