:root{--ink:#15231f;--muted:#6d7a76;--line:#dfe6e2;--bg:#f3f6f4;--surface:#fff;--deep:#12352d;--deep2:#0b2822;--green:#2ca878;--mint:#dff5eb;--gold:#d5a94c;--red:#dc615d;--blue:#4f7fe8;--shadow:0 14px 42px rgba(25,51,43,.09);font-family:'DM Sans',sans-serif;color:var(--ink)}*{box-sizing:border-box}html,body{margin:0;min-height:100%;background:var(--bg)}button,input,select,textarea{font:inherit}button{cursor:pointer}.hidden{display:none!important}.loader-screen{position:fixed;inset:0;display:grid;place-content:center;gap:20px;background:#f7faf8;z-index:100}.brand-mark{width:42px;height:42px;border-radius:13px;display:grid;place-items:center;background:var(--deep);color:#fff;font:800 23px Manrope;box-shadow:inset 0 0 0 1px #ffffff24}.brand-mark.light{background:#fff;color:var(--deep)}.loader-screen .brand-mark{margin:auto}.loader-bar{width:130px;height:3px;background:#dbe5e0;overflow:hidden;border-radius:9px}.loader-bar span{display:block;height:100%;width:50%;background:var(--green);animation:loading 1s infinite ease-in-out}@keyframes loading{from{transform:translateX(-100%)}to{transform:translateX(240%)}}
.login-view{min-height:100vh;display:grid;grid-template-columns:minmax(420px,1.07fr) minmax(400px,.93fr)}.login-brand{padding:46px 6vw 40px;background:radial-gradient(circle at 78% 20%,#2c5b4e 0,transparent 32%),linear-gradient(145deg,#153c33,#0a2923 70%);color:#fff;display:flex;flex-direction:column;position:relative;overflow:hidden}.login-brand:after{content:'';position:absolute;width:420px;height:420px;border:1px solid #ffffff16;border-radius:50%;right:-180px;bottom:-120px;box-shadow:0 0 0 55px #ffffff07,0 0 0 110px #ffffff05}.brand-lockup{display:flex;align-items:center;gap:12px;font:700 21px Manrope;z-index:1}.login-copy{margin:auto 0;max-width:660px;z-index:1}.eyebrow{font-size:12px!important;letter-spacing:.19em;color:#8ee1be!important;font-weight:700}.login-copy h1{font:800 clamp(44px,5vw,72px)/1.06 Manrope;margin:20px 0 24px;letter-spacing:-.045em}.login-copy h1 em{font-style:normal;color:#8ee1be}.login-copy>p{font-size:18px;line-height:1.65;color:#c8d9d4;max-width:570px}.feature-row{display:flex;flex-wrap:wrap;gap:16px;margin-top:36px}.feature-row span{font-size:13px;background:#ffffff0c;border:1px solid #ffffff1c;padding:10px 13px;border-radius:9px}.login-foot{font-size:12px;color:#88a29b;z-index:1}.login-panel{display:grid;place-items:center;padding:40px;background:#fbfcfb}.login-form{width:min(410px,100%)}.mobile-brand{display:none}.welcome-pill{font-size:10px;letter-spacing:.15em;font-weight:800;color:#247c60;background:var(--mint);padding:7px 10px;border-radius:20px}.login-form h2{font:800 37px Manrope;margin:20px 0 8px;letter-spacing:-.03em}.login-form>p{color:var(--muted);margin:0 0 34px}.login-form label,.form-grid label{display:block;font-size:13px;font-weight:700;margin:18px 0 8px}.login-form input,.form-grid input,.form-grid select,.form-grid textarea,.toolbar select,.toolbar input,.company-picker select{width:100%;border:1px solid #d7e0dc;background:#fff;border-radius:10px;padding:12px 13px;outline:0;color:var(--ink);transition:.2s}.login-form input{margin-top:8px;padding:15px}.login-form input:focus,.form-grid input:focus,.form-grid select:focus,.form-grid textarea:focus{border-color:var(--green);box-shadow:0 0 0 3px #2ca87816}.password-wrap{position:relative}.password-wrap input{padding-right:62px}.show-password{position:absolute;right:12px;top:20px;border:0;background:transparent;color:#28775e;font-size:12px;font-weight:700}.btn{border:0;border-radius:9px;padding:11px 16px;font-weight:700;font-size:13px;display:inline-flex;align-items:center;justify-content:center;gap:10px}.btn.primary{background:var(--deep);color:#fff;box-shadow:0 7px 16px #173f3530}.btn.primary:hover{background:#1b4a3e}.btn.secondary{background:#edf2ef;color:#27423a}.btn.danger{background:#fff0ef;color:#b9433f}.btn.wide{width:100%;padding:15px 17px;margin-top:24px;justify-content:space-between}.form-error{color:#a63f3c;background:#fff0ef;padding:11px 13px;border-radius:8px;margin-top:14px;font-size:13px}.security-note{text-align:center!important;font-size:12px!important;margin:25px 0 0!important;color:#91a09b!important}
.app-shell{min-height:100vh;display:grid;grid-template-columns:244px 1fr}.sidebar{background:linear-gradient(180deg,var(--deep),var(--deep2));color:#fff;height:100vh;position:sticky;top:0;padding:22px 14px;display:flex;flex-direction:column;z-index:40}.side-brand{height:50px;padding:0 7px;display:flex;align-items:center;gap:10px}.side-brand strong{font:700 18px Manrope}.side-brand small{display:block;color:#81a69b;font-size:10px;letter-spacing:.12em;margin-top:2px}.nav-close{display:none}.sidebar nav{margin-top:28px;overflow:auto}.nav-group{margin:21px 12px 8px;color:#789c91;font-size:9px;font-weight:800;letter-spacing:.15em}.nav-item{border:0;background:transparent;color:#abc0ba;width:100%;display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:8px;margin:2px 0;text-align:left;font-size:13px}.nav-item i{font-style:normal;width:21px;font-size:16px;text-align:center;opacity:.9}.nav-item:hover{color:#fff;background:#ffffff0b}.nav-item.active{color:#fff;background:#ffffff13;box-shadow:inset 3px 0 #59d7a6}.side-user{margin-top:auto;border-top:1px solid #ffffff15;padding:18px 6px 0;display:flex;align-items:center;gap:9px}.avatar,.top-avatar{width:34px;height:34px;border-radius:10px;background:#62c9a2;color:#0d3329;display:grid;place-items:center;font-size:11px;font-weight:800}.side-user>div:nth-child(2){min-width:0;flex:1}.side-user strong{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:12px}.side-user small{color:#7fa096;font-size:10px;text-transform:capitalize}.side-user button{color:#9bb1ab;border:0;background:transparent;font-size:18px}.workspace{min-width:0}.topbar{height:68px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;padding:0 28px;position:sticky;top:0;z-index:30}.menu-btn{display:none}.company-picker{display:flex;align-items:center;gap:12px}.company-picker span{font-size:9px;font-weight:800;letter-spacing:.13em;color:#8b9994}.company-picker select{padding:8px 30px 8px 11px;font-weight:700;border:0;background:#f1f5f3;max-width:260px}.top-actions{margin-left:auto;display:flex;align-items:center;gap:13px}.live-status{font-size:10px;font-weight:800;color:#538471;background:#ecf7f2;padding:7px 9px;border-radius:20px}.live-status i{display:inline-block;width:6px;height:6px;background:#37b67f;border-radius:50%;margin-right:5px;box-shadow:0 0 0 3px #37b67f22}.icon-btn{border:1px solid var(--line);background:#fff;width:34px;height:34px;border-radius:9px;font-size:20px}.content{padding:27px 30px 50px;max-width:1600px;margin:auto}.page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:24px}.page-head h1{font:800 27px Manrope;margin:0 0 5px;letter-spacing:-.03em}.page-head p{margin:0;color:var(--muted);font-size:13px}.head-actions{display:flex;gap:9px}.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:20px}.stat-card{background:#fff;border:1px solid #e2e8e5;border-radius:13px;padding:18px;position:relative;overflow:hidden}.stat-card:after{content:'';position:absolute;right:-18px;top:-19px;width:70px;height:70px;border-radius:50%;background:#edf7f2}.stat-label{display:flex;align-items:center;gap:8px;color:#6e7d78;font-size:11px;font-weight:700;position:relative;z-index:1}.stat-icon{width:27px;height:27px;border-radius:8px;background:#e7f6ef;color:#228460;display:grid;place-items:center}.stat-value{font:800 25px Manrope;margin-top:14px}.stat-foot{font-size:10px;color:#91a09b;margin-top:5px}.dashboard-grid{display:grid;grid-template-columns:1.35fr .65fr;gap:18px}.card{background:#fff;border:1px solid #e1e8e4;border-radius:13px;box-shadow:0 2px 4px #1f3a3110}.card-head{display:flex;align-items:center;justify-content:space-between;padding:17px 19px;border-bottom:1px solid #edf1ef}.card-head h3{font:700 14px Manrope;margin:0}.card-head small{color:var(--muted)}.card-body{padding:18px}.chart{height:220px;display:flex;align-items:flex-end;gap:12px;padding:20px 8px 22px;border-bottom:1px solid var(--line)}.chart-day{height:100%;flex:1;display:flex;align-items:flex-end;justify-content:center;gap:4px;position:relative}.bar{width:min(16px,35%);border-radius:5px 5px 2px 2px;min-height:3px;background:#45b98d}.bar.purchase{background:#dfe8e4}.chart-day small{position:absolute;bottom:-20px;font-size:9px;color:#82908b}.quick-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px}.quick-btn{border:1px solid var(--line);background:#fbfcfb;border-radius:10px;padding:15px 10px;text-align:left;color:var(--ink)}.quick-btn b{font-size:18px;display:block;margin-bottom:7px;color:#2b8a69}.quick-btn span{font-size:11px;font-weight:700}.quick-btn:hover{border-color:#64bd9c;background:#f4fbf8}.empty-state{text-align:center;padding:65px 20px}.empty-icon{width:58px;height:58px;border-radius:18px;background:#e8f5ef;color:#278261;display:grid;place-items:center;font-size:24px;margin:0 auto 16px}.empty-state h3{font:700 18px Manrope;margin:0 0 7px}.empty-state p{color:var(--muted);font-size:13px;margin:0 auto 18px;max-width:430px}
.nav-transaction-group{position:relative}.nav-transaction-group .nav-item>span{flex:1}.nav-expand{margin-left:auto;color:#62c9a2;font-size:16px;font-weight:500;line-height:1;transition:transform .2s ease,color .2s ease}.nav-submenu{max-height:0;opacity:0;overflow:hidden;pointer-events:none;margin:0 0 0 21px;padding:0 0 0 15px;border-left:1px solid transparent;transform:translateY(-5px);transition:max-height .3s ease,opacity .18s ease,transform .24s ease,padding .24s ease,margin .24s ease,border-color .24s ease}.nav-transaction-group.is-open .nav-submenu{max-height:520px;opacity:1;pointer-events:auto;margin:2px 0 8px 21px;padding:3px 0 4px 15px;border-left-color:#ffffff24;transform:translateY(0)}.nav-transaction-group.is-open .nav-expand{transform:rotate(45deg);color:#8be8c4}.nav-subitem{width:100%;display:flex;align-items:center;gap:8px;padding:7px 8px;border:0;border-radius:7px;background:transparent;color:#91aaa2;text-align:left;font-size:11px}.nav-subitem i{width:15px;font-style:normal;color:#62c9a2;font-weight:800}.nav-subitem:hover{background:#ffffff0d;color:#fff}.nav-subitem:hover i{color:#7de0ba}
.table-card{background:#fff;border:1px solid var(--line);border-radius:12px;overflow:hidden}.toolbar{padding:12px 14px;border-bottom:1px solid var(--line);display:flex;gap:9px;align-items:center}.toolbar input,.toolbar select{width:auto;padding:9px 11px}.search{min-width:230px}.table-wrap{overflow:auto}table{border-collapse:collapse;width:100%;font-size:12px}th{text-align:left;padding:11px 14px;background:#fafcfb;color:#71807b;font-size:9px;letter-spacing:.08em;text-transform:uppercase;border-bottom:1px solid var(--line);white-space:nowrap}td{padding:12px 14px;border-bottom:1px solid #edf1ef;white-space:nowrap}tbody tr:hover{background:#fbfdfc}tbody tr:last-child td{border-bottom:0}.num{text-align:right;font-variant-numeric:tabular-nums}.amount{font-weight:700}.muted{color:var(--muted)}.badge{display:inline-flex;align-items:center;padding:4px 7px;border-radius:12px;font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.04em}.badge.posted,.badge.active,.badge.final,.badge.unmodified{background:#e5f6ee;color:#267b5c}.badge.draft{background:#fff4d9;color:#9a6b0b}.badge.void,.badge.inactive,.badge.adverse{background:#ffebe9;color:#b44842}.badge.qualified,.badge.disclaimer{background:#fff1dc;color:#9e681b}.type-label{font-weight:700;text-transform:capitalize}.type-dot{display:inline-block;width:7px;height:7px;border-radius:50%;margin-right:7px;background:#5d90ee}.type-dot.sales,.type-dot.receipt{background:#33a879}.type-dot.purchase,.type-dot.payment{background:#e1a749}.type-dot.journal{background:#7c75dc}.click-row{cursor:pointer}.text-green{color:#208461}.text-red{color:#c24b47}.report-summary{display:flex;gap:20px;justify-content:flex-end;padding:14px 18px;background:#f8faf9;border-top:1px solid var(--line)}.report-summary div{text-align:right}.report-summary small{display:block;color:var(--muted);font-size:9px;text-transform:uppercase}.report-summary strong{font:700 17px Manrope}.company-list{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.company-card{background:#fff;border:1px solid var(--line);border-radius:13px;padding:18px}.company-card-top{display:flex;align-items:center;gap:11px}.company-logo{width:38px;height:38px;border-radius:10px;background:var(--deep);color:#fff;display:grid;place-items:center;font-weight:800}.company-card h3{margin:0;font:700 14px Manrope}.company-card p{margin:4px 0 0;color:var(--muted);font-size:11px}.company-card-foot{display:flex;justify-content:space-between;margin-top:18px;padding-top:13px;border-top:1px solid var(--line);font-size:11px}.role-chip{padding:3px 7px;border-radius:12px;background:#eef3f1;font-size:9px;text-transform:capitalize}.low-stock{color:#c24b47;font-weight:700}
.modal-backdrop{position:fixed;inset:0;background:#091f1acc;display:grid;place-items:center;padding:22px;z-index:100;backdrop-filter:blur(4px)}.modal{width:min(700px,100%);max-height:92vh;overflow:auto;background:#fff;border-radius:16px;box-shadow:0 30px 80px #0005}.modal.large{width:min(980px,100%)}.modal-head{padding:19px 22px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;background:#fff;z-index:2}.modal-head h2{font:700 18px Manrope;margin:0}.modal-close{border:0;background:#eef2f0;border-radius:8px;width:30px;height:30px;font-size:19px}.modal-body{padding:20px 22px}.modal-foot{padding:14px 22px;border-top:1px solid var(--line);display:flex;justify-content:flex-end;gap:9px;position:sticky;bottom:0;background:#fff}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:2px 16px}.form-grid label{margin-top:9px}.form-grid .full{grid-column:1/-1}.form-grid textarea{min-height:90px;resize:vertical;margin-top:7px}.form-grid input,.form-grid select{margin-top:7px}.voucher-lines{margin-top:20px;border:1px solid var(--line);border-radius:10px;overflow:auto}.voucher-lines table{min-width:800px}.voucher-lines input,.voucher-lines select{width:100%;padding:8px;border:1px solid #dce4e0;border-radius:7px}.voucher-lines .line-remove{border:0;background:#fff0ef;color:#b94440;border-radius:7px;padding:7px}.line-actions{display:flex;justify-content:space-between;align-items:center;margin-top:10px}.balance-check{font-size:11px;font-weight:700}.balance-check.good{color:#26815f}.balance-check.bad{color:#bc4d48}.toast-root{position:fixed;right:22px;bottom:22px;z-index:200;display:grid;gap:8px}.toast{min-width:260px;max-width:360px;background:#153a31;color:#fff;padding:13px 15px;border-radius:10px;box-shadow:var(--shadow);font-size:12px;animation:toastin .25s ease}.toast.error{background:#a63f3c}@keyframes toastin{from{transform:translateY(12px);opacity:0}}.print-only{display:none}
@media(max-width:1100px){.stats-grid{grid-template-columns:1fr 1fr}.company-list{grid-template-columns:1fr 1fr}.dashboard-grid{grid-template-columns:1fr}.app-shell{grid-template-columns:218px 1fr}.sidebar{padding-left:10px;padding-right:10px}.content{padding:24px 20px}}
@media(max-width:780px){.login-view{display:block}.login-brand{display:none}.login-panel{min-height:100vh;padding:30px 22px}.mobile-brand{display:flex;align-items:center;gap:10px;margin-bottom:65px;font:700 19px Manrope}.app-shell{display:block}.sidebar{position:fixed;left:-260px;width:244px;transition:left .25s}.sidebar.open{left:0;box-shadow:0 0 0 100vw #07191599}.nav-close{display:block;margin-left:auto;color:#fff;background:transparent;border:0;font-size:22px}.menu-btn{display:block;border:0;background:transparent;font-size:19px;margin-right:8px}.topbar{padding:0 14px}.company-picker span,.live-status{display:none}.company-picker select{max-width:175px}.content{padding:20px 13px 40px}.page-head{align-items:flex-start;flex-direction:column}.stats-grid{grid-template-columns:1fr 1fr;gap:9px}.stat-card{padding:14px}.stat-value{font-size:20px}.company-list{grid-template-columns:1fr}.head-actions{width:100%}.head-actions .btn{flex:1}.form-grid{grid-template-columns:1fr}.form-grid .full{grid-column:auto}.modal-backdrop{padding:8px}.modal{max-height:96vh}.toast-root{left:12px;right:12px;bottom:12px}.toast{max-width:none}.toolbar{flex-wrap:wrap}.search{width:100%!important}}
@media print{.sidebar,.topbar,.page-head .head-actions,.toolbar,.no-print{display:none!important}.app-shell{display:block}.content{padding:0}.table-card,.card{border:0}.print-only{display:block}body{background:#fff}th{background:#eee!important;color:#222}.page-head{margin-bottom:12px}}
@media print{.account-list-card .account-child{display:table-row!important}.account-list-card .account-tree-toggle{display:none!important}.account-list-card .account-link{color:#17231f;text-decoration:none}.account-list-card .table-wrap{overflow:visible}.account-list-card table{width:100%;min-width:0}.account-list-card th,.account-list-card td{padding:8px 10px}.account-list-card .account-child td:first-child{border-left:2px solid #8bc7b1}}
.global-print-btn{font-size:16px;color:#174b3d;background:#f7faf8}.global-print-btn:hover{background:#e8f5ef;border-color:#91c8b3}
.global-print-header{border-bottom:2px solid #173f35;margin:0 0 16px;padding:0 0 12px;align-items:center;gap:14px}.global-print-header img{width:64px;height:64px;object-fit:contain}.global-print-header h1{margin:0 0 4px;font:800 22px Manrope,Arial,sans-serif}.global-print-header p{margin:2px 0;color:#465750;font-size:10px}.global-print-header small{display:block;margin-top:6px;color:#66766f;font-size:9px}
@media print{@page{margin:10mm}.global-print-header{display:flex!important}.content{width:100%;max-width:none}.content>.table-card,.content>.card,.report-workspace{width:100%}.table-wrap{overflow:visible!important}table{width:100%!important;min-width:0!important;font-size:10px!important}th,td{padding:6px 5px!important}.btn,.action-edit,.action-delete,.icon-btn,.row-actions,.toast-root{display:none!important}body:has(.modal-backdrop) .app-shell{display:none!important}.modal-backdrop{position:static!important;display:block!important;padding:0!important;background:#fff!important}.modal{width:100%!important;max-width:none!important;max-height:none!important;overflow:visible!important;border:0!important;box-shadow:none!important}.modal-head,.modal-body{padding-left:0!important;padding-right:0!important}.modal-foot{display:none!important}}
.row-actions{display:flex;justify-content:flex-end;gap:6px}.row-actions button{border:1px solid var(--line);background:#fff;border-radius:7px;padding:6px 10px;font-size:10px;font-weight:700}.row-actions .action-edit{color:#276f59}.row-actions .action-edit:hover{background:#edf8f3;border-color:#9ccdbb}.row-actions .action-delete{color:#b54743}.row-actions .action-delete:hover{background:#fff0ef;border-color:#efb5b2}.row-actions button:disabled{opacity:.35;cursor:not-allowed}.delete-warning{display:flex;gap:15px;align-items:flex-start;background:#fff7f6;border:1px solid #f2d0ce;border-radius:11px;padding:17px}.delete-warning>div{width:34px;height:34px;flex:0 0 34px;border-radius:9px;background:#ffe4e1;color:#b6403c;display:grid;place-items:center;font-weight:800}.delete-warning h3{margin:0 0 7px;font:700 15px Manrope}.delete-warning p{margin:5px 0;color:#6f7774;font-size:12px;line-height:1.55}
.voucher-help{margin-top:18px;padding:11px 13px;border-radius:9px;background:#eef8f3;color:#386b5a;font-size:11px;line-height:1.5}.voucher-lines tr.line-invalid{background:#fff3f2}.voucher-lines tr.line-invalid select,.voucher-lines tr.line-invalid input{border-color:#dc615d;box-shadow:0 0 0 2px #dc615d18}.voucher-lines input::placeholder{color:#a8b2ae}
.cheque-field{display:none!important}.show-cheque .cheque-field{display:block!important}.mode-journal .cheque-field{display:none!important}
.table-card .action-edit{border:1px solid var(--line);background:#fff;color:#276f59;border-radius:7px;padding:6px 10px;font-size:10px;font-weight:700}.table-card .action-edit:hover{background:#edf8f3;border-color:#9ccdbb}
.modal.large{width:min(1180px,100%)}.modal.large .voucher-lines table{min-width:1080px}.line-total[readonly]{background:#f2f6f4;color:#244b40;font-weight:700}
.mode-simple .advanced-col{display:none}.mode-simple .cash-amount,.mode-simple .balance-check{display:none}.mode-cash .voucher-lines,.mode-cash .line-actions,.mode-cash .warehouse-field{display:none}.mode-journal .pricing-col,.mode-journal .settlement-field,.mode-journal .cash-amount,.mode-journal .warehouse-field{display:none}.mode-journal .voucher-lines table{min-width:720px}.mode-simple .voucher-lines table{min-width:760px}.warehouse-strip{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:10px;margin:0 0 16px}.warehouse-card{display:flex;justify-content:space-between;gap:12px;background:#fff;border:1px solid var(--line);border-radius:11px;padding:14px}.warehouse-card b,.warehouse-card small{display:block}.warehouse-card b{font-size:12px}.warehouse-card small{font-size:9px;color:var(--muted);margin-top:4px}.warehouse-card>div:last-child{text-align:right}.warehouse-card strong{font:700 17px Manrope}.warehouse-balance{display:inline-block;padding:3px 6px;background:#edf7f2;color:#2a7059;border-radius:10px;font-size:9px;margin:2px}
.form-grid .checkbox-label{display:flex;align-items:center;gap:10px;padding:11px 13px;border:1px solid #d7e0dc;border-radius:10px;background:#f8faf9;transition:background-color .2s ease,border-color .2s ease,box-shadow .2s ease}.form-grid .checkbox-label:has(input:checked){background:#edf9f4;border-color:#86cdb5;box-shadow:0 0 0 3px rgba(44,168,120,.08)}.form-grid .checkbox-label input[type=checkbox]{width:auto;margin:0;accent-color:var(--green);transition:transform .18s ease}.form-grid .checkbox-label input[type=checkbox]:checked{transform:scale(1.08)}.tax-registration-field,.supplier-invoice-field{overflow:hidden;transform-origin:top}
.product-code2{display:block;margin-top:4px}.product-list-name{display:flex;align-items:center;gap:9px}.product-list-name img,.product-image-placeholder{width:38px;height:38px;border-radius:9px;object-fit:cover;flex:0 0 38px}.product-image-placeholder{display:grid;place-items:center;background:#edf3f0;color:#71817a;font-size:8px;font-weight:800}.product-image-editor .company-logo-preview{width:82px;height:82px}
.product-combobox{position:relative;min-width:250px}.product-search-results{position:relative;margin-top:5px;max-height:220px;overflow:auto;padding:5px;background:#fff;border:1px solid #cbd9d3;border-radius:10px;box-shadow:0 10px 24px rgba(18,53,45,.13)}.product-search-results button{width:100%;border:0;background:#fff;display:flex;align-items:center;gap:9px;text-align:left;padding:8px;border-radius:7px;color:var(--ink)}.product-search-results button:hover,.product-search-results button:focus{background:#edf8f3}.product-search-results img,.product-result-placeholder{width:34px;height:34px;object-fit:cover;border-radius:7px;flex:0 0 34px}.product-result-placeholder{display:grid;place-items:center;background:#edf3f0;color:#71817a;font-size:7px;font-weight:800}.product-search-results b,.product-search-results small{display:block}.product-search-results b{font-size:11px}.product-search-results small{font-size:9px;color:var(--muted);margin-top:2px}.product-no-results{padding:12px;color:var(--muted);font-size:10px;text-align:center}.product-codes[readonly]{background:#f5f8f6;color:#40554e;font-weight:600}
.modal.large .voucher-lines{overflow:visible}.modal.large .voucher-lines table,.mode-simple .voucher-lines table,.mode-journal .voucher-lines table{width:100%;min-width:0;table-layout:fixed}.modal.large .voucher-lines th,.modal.large .voucher-lines td{padding-left:8px;padding-right:8px}.mode-simple .voucher-lines th:nth-child(2){width:16%}.mode-simple .voucher-lines th:nth-child(3){width:29%}.mode-simple .voucher-lines th:nth-child(4){width:12%}.mode-simple .voucher-lines th:nth-child(5){width:16%}.mode-simple .voucher-lines th:nth-child(6){width:12%}.mode-simple .voucher-lines th:nth-child(7){width:16%}.mode-simple .voucher-lines th:last-child{width:42px}.mode-journal .voucher-lines th:nth-child(1){width:31%}.mode-journal .voucher-lines th:nth-child(2){width:27%}.mode-journal .voucher-lines th:nth-child(8),.mode-journal .voucher-lines th:nth-child(9){width:19%}.mode-journal .voucher-lines th:last-child{width:42px}.product-combobox{min-width:0}.product-search-results{position:absolute;left:0;right:0;top:100%;z-index:8;margin-top:5px}.voucher-lines input,.voucher-lines select{min-width:0}.voucher-lines .line-remove{width:30px;height:36px;padding:0;display:grid;place-items:center}
.mode-simple .voucher-lines th,.mode-journal .voucher-lines th{width:auto!important}.voucher-lines .line-number-col{width:5%!important;text-align:center;padding-left:4px!important;padding-right:4px!important}.voucher-lines .line-number{display:inline-grid;place-items:center;width:24px;height:24px;border-radius:7px;background:#edf5f1;color:#356b5a;font-size:10px;font-weight:800}.mode-simple .voucher-lines .codes-col{width:14%!important}.mode-simple .voucher-lines .product-col{width:27%!important}.mode-simple .voucher-lines .qty-col{width:10%!important}.mode-simple .voucher-lines .price-col{width:14%!important}.mode-simple .voucher-lines .discount-col{width:11%!important}.mode-simple .voucher-lines .total-col{width:15%!important}.voucher-lines .remove-col{width:4%!important;padding-left:3px!important;padding-right:3px!important}.mode-journal .voucher-lines .ledger-col{width:32%!important}.mode-journal .voucher-lines .codes-col{width:27%!important}.mode-journal .voucher-lines .debit-col{width:15%!important}.mode-journal .voucher-lines .credit-col{width:17%!important}.product-stock{display:block;margin:5px 2px 0;color:#27805f;font-size:9px;font-weight:700;white-space:normal}.product-result-stock{color:#27805f!important;font-weight:700}.product-search-results button>span:last-child{min-width:0;flex:1}.product-search-results b,.product-search-results small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.voucher-lines tr.auto-balance{display:none}
.product-search-results button{min-height:62px;background:#f0faf5;border:1px solid #d7eee4}.product-search-results button:hover,.product-search-results button:focus{background:#e5f6ee;border-color:#aad9c7}.product-result-info{min-width:0;flex:1}.product-stock-badge{min-width:46px;height:42px;display:grid;place-items:center;flex:0 0 auto;padding:0 10px;border-radius:8px;background:#dcefe6;color:#173f35;font:800 22px Manrope;box-shadow:inset 0 0 0 1px #c5e4d7}.product-search-results .product-result-info b,.product-search-results .product-result-info small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.product-search-results .product-result-info em{display:block;margin-top:4px;color:#17664e;font-size:10px;font-style:normal;font-weight:800;font-variant-numeric:tabular-nums}
.contact-combobox{margin-top:6px}.contact-search-results{z-index:30;max-height:250px}.contact-result-icon{font-size:12px;font-weight:800}.party-field-label{display:block}.contact-search-results button{min-height:54px}
.allocation-invoices{margin-top:12px}.allocation-title{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:8px;font-weight:700}.allocation-title small{color:var(--muted);font-weight:500}.allocation-list{display:grid;gap:7px}.allocation-row{display:grid;grid-template-columns:minmax(150px,1fr) minmax(120px,.65fr) minmax(150px,.65fr);align-items:center;gap:14px;padding:10px 12px;border:1px solid var(--line);border-radius:9px;background:#fbfdfc}.allocation-row>div b,.allocation-row>div small{display:block}.allocation-row>div small{margin-top:2px;color:var(--muted);font-size:9px}.allocation-row .allocation-balance{text-align:right}.allocation-row label{margin:0}.allocation-row input{margin-top:4px}.allocation-empty{padding:13px;border:1px dashed #cddbd5;border-radius:9px;color:var(--muted);text-align:center;background:#fafcfb}@media(max-width:780px){.allocation-row{grid-template-columns:1fr 1fr}.allocation-row label{grid-column:1/-1}.allocation-title{align-items:flex-start;flex-direction:column}}
.allocation-row{grid-template-columns:minmax(220px,1.2fr) minmax(130px,.55fr) minmax(0,.8fr);transition:border-color .2s ease,background .2s ease,box-shadow .2s ease}.allocation-row.selected{border-color:#79c5a8;background:#f1faf6;box-shadow:0 0 0 2px #42ad8314}.allocation-choice{display:flex!important;align-items:center;gap:11px;cursor:pointer}.allocation-choice input{width:18px!important;height:18px;min-width:18px;margin:0!important;accent-color:#2ca878}.allocation-choice span b,.allocation-choice span small{display:block}.allocation-choice span small{margin-top:2px;color:var(--muted);font-size:9px}.allocation-payment{max-height:0;opacity:0;overflow:hidden;transform:translateY(-4px);transition:max-height .22s ease,opacity .18s ease,transform .22s ease}.allocation-payment.open{max-height:80px;opacity:1;overflow:visible;transform:translateY(0)}.allocation-payment label{display:block}.allocation-payment input:disabled{pointer-events:none}@media(max-width:780px){.allocation-row{grid-template-columns:1fr auto}.allocation-payment{grid-column:1/-1}}
.report-workspace>.toolbar{flex-wrap:wrap;padding:14px 16px;background:#fbfdfc}.report-date{display:flex;align-items:center;gap:7px;font-size:10px;font-weight:800;color:var(--muted);text-transform:uppercase}.report-date input{margin:0}.financial-report-head{display:flex;justify-content:space-between;gap:24px;padding:26px 28px 20px;border-bottom:1px solid var(--line);background:linear-gradient(135deg,#fbfdfc,#f2f8f5)}.financial-report-head h2{font:800 22px Manrope;margin:5px 0 2px}.financial-report-head h3{font:700 17px Manrope;margin:0}.financial-report-head p{margin:7px 0 0;color:var(--muted);font-size:11px}.report-kicker{font-size:9px;letter-spacing:.15em;color:#237b5e;font-weight:800}.report-stamp{text-align:right;display:flex;flex-direction:column;gap:5px;color:var(--muted);font-size:10px}.report-stamp b{color:var(--deep);font-size:13px}.financial-table small{display:block;color:var(--muted);font-size:9px;margin-top:3px}.financial-table thead tr:first-child th{background:#f4f8f6;color:#50645d}.financial-table tbody tr:nth-child(even){background:#fcfdfd}.statement-section{padding-top:10px}.statement-section h4{font:800 12px Manrope;text-transform:uppercase;letter-spacing:.09em;padding:10px 16px;margin:0;background:#edf5f1;color:#1e5d49}.statement-total{display:flex;justify-content:flex-end;gap:40px;padding:11px 18px;border-top:1px solid #cbd9d3;background:#fafcfb}.statement-total strong{min-width:140px;text-align:right}.ageing-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;padding:16px}.ageing-cards div{border:1px solid var(--line);border-radius:10px;padding:13px;background:#fbfdfc}.ageing-cards small{display:block;color:var(--muted);font-size:9px;text-transform:uppercase}.ageing-cards strong{display:block;font:700 17px Manrope;margin-top:6px}.financial-report-foot{display:flex;justify-content:space-between;gap:20px;padding:14px 18px;color:var(--muted);font-size:9px;border-top:1px solid var(--line)}
.account-link{border:0;background:transparent;padding:0;color:#145b47;font:inherit;font-weight:700;text-align:left;text-decoration:underline;text-decoration-color:#77b9a3;text-underline-offset:3px;cursor:pointer}.account-link:hover{color:#0b352b;text-decoration-color:#0b352b}
.account-code-cell{display:flex;align-items:center;gap:9px}.account-tree-toggle{width:25px;height:25px;display:inline-grid;place-items:center;flex:0 0 25px;padding:0;border:1px solid #b9d4ca;border-radius:7px;background:#edf8f3;color:#155e49;font-size:16px;font-weight:800;line-height:1}.account-tree-toggle:hover{background:#dff3e9;border-color:#75b59d}.account-parent td{background:#f9fcfa}.account-parent:hover td{background:#f4faf7}.account-child td{background:#fcfefd}.account-child td:first-child{border-left:3px solid #8bc7b1}.account-child .account-code-cell{padding-left:31px}.account-child-name{position:relative;padding-left:20px}.account-child-name:before{content:'↳';position:absolute;left:0;color:#7ba694;font-weight:700}
.account-child.account-depth-2 td{background:#f8fcfa}.account-child.account-depth-2 td:first-child{border-left:6px double #6db496}.account-child.account-depth-2 .account-code-cell{padding-left:72px}.account-child.account-depth-2 .account-child-name{padding-left:45px}.account-child.account-depth-2 .account-child-name:before{content:'└──';color:#39906f;letter-spacing:1px}
.account-tree-actions{margin-left:auto;display:flex;gap:7px}.account-tree-action{display:inline-flex;align-items:center;gap:7px;padding:8px 11px;border:1px solid #d5e2dd;border-radius:8px;background:#f7faf8;color:#214b3f;font-size:11px;font-weight:700}.account-tree-action span{font-size:17px;line-height:1;color:#18825f}.account-tree-action:hover{background:#e8f6f0;border-color:#8dc7b1}@media(max-width:780px){.account-tree-actions{width:100%;margin-left:0}.account-tree-action{flex:1}}
.party-profile{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:14px}.party-profile>div{padding:11px 12px;border:1px solid var(--line);border-radius:9px;background:#fbfdfc}.party-profile .full{grid-column:1/-1}.party-profile small{display:block;color:var(--muted);font-size:9px;text-transform:uppercase;margin-bottom:5px}.party-profile b{font-size:12px}.party-statement-filter{border:1px solid var(--line);border-radius:10px;flex-wrap:wrap}.party-statement-summary{margin:14px 0}
.reconciliation-meta{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:14px}.reconciliation-meta>div,.reconciliation-summary>div{border:1px solid var(--line);border-radius:10px;padding:13px;background:#fbfdfc}.reconciliation-meta small,.reconciliation-summary small{display:block;color:var(--muted);font-size:9px;text-transform:uppercase;letter-spacing:.05em;margin-bottom:6px}.reconciliation-meta b{font-size:12px}.reconciliation-summary{display:grid;grid-template-columns:repeat(5,1fr);gap:10px}.reconciliation-summary strong{display:block;font:700 17px Manrope}.reconciled-ok{background:#eaf7f1!important;color:#176b50}.reconciled-bad{background:#fff0ef!important;color:#aa3f3b}.reconciliation-actions{display:flex;justify-content:flex-end;gap:8px;margin:14px 0}.section-title{font:700 13px Manrope;margin:18px 0 9px}.bank-statement-table small{display:block;color:var(--muted);font-size:9px;margin-top:4px}.bank-statement-table select{min-width:230px;border:1px solid var(--line);border-radius:7px;padding:7px;background:#fff}.bank-statement-table .action-edit,.bank-statement-table .action-delete{border:1px solid var(--line);background:#fff;border-radius:7px;padding:6px 9px;font-size:10px;font-weight:700}.bank-statement-table .action-edit{color:#276f59}.bank-statement-table .action-delete{color:#b54743}
@media(max-width:780px){.reconciliation-meta,.reconciliation-summary{grid-template-columns:1fr 1fr}.reconciliation-actions{justify-content:stretch}.reconciliation-actions .btn{flex:1}}
.reconcile-workspace{display:flex;flex-direction:column;gap:14px}.reconcile-topbar{display:flex;align-items:center;justify-content:space-between;padding:2px 2px 10px}.reconcile-topbar>div:first-child{display:flex;flex-direction:column;gap:3px}.reconcile-eyebrow{color:var(--muted);font-size:9px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.reconcile-topbar strong{font-size:14px}.reconcile-topbar small{color:var(--muted)}.reconcile-balance-strip{display:grid;grid-template-columns:1fr 1fr 1.15fr;border:1px solid var(--line);border-radius:13px;overflow:hidden;background:#fff}.reconcile-balance-strip>div{padding:15px 18px;border-right:1px solid var(--line)}.reconcile-balance-strip>div:last-child{border-right:0}.reconcile-balance-strip small,.reconcile-balance-strip span{display:block;color:var(--muted);font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.04em}.reconcile-balance-strip strong{display:block;margin-top:5px;font:750 20px Manrope}.reconcile-balance-strip .reconcile-difference{position:relative;padding-right:105px}.reconcile-balance-strip .reconcile-difference span{position:absolute;right:16px;top:50%;transform:translateY(-50%);padding:5px 8px;border-radius:99px}.reconcile-balance-strip .is-ready{background:#eaf7f1;color:#176b50}.reconcile-balance-strip .is-ready span{background:#d5eee3;color:#176b50}.reconcile-balance-strip .needs-work{background:#fff5f3;color:#a6403c}.reconcile-balance-strip .needs-work span{background:#fbe1dd;color:#a6403c}.reconcile-progress{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:13px 16px;border-radius:12px;background:#0d3d35;color:#fff}.reconcile-progress-copy{display:flex;flex-direction:column;gap:3px}.reconcile-progress-copy span{font-size:10px;color:#bcd3cc}.reconcile-steps{display:flex;align-items:center;gap:6px}.reconcile-steps span{padding:6px 9px;border-radius:99px;color:#9ebbb3;font-size:9px;font-weight:750;white-space:nowrap}.reconcile-steps .done{background:#1c5b4e;color:#d8eee7}.reconcile-steps .active{background:#fff;color:#123e36}.reconcile-section{border:1px solid var(--line);border-radius:13px;background:#fff;overflow:hidden}.reconcile-section-head{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:16px 18px;border-bottom:1px solid var(--line);background:#fbfdfc}.reconcile-section-head>div:first-child{position:relative;padding-left:39px}.reconcile-section-head h3{margin:0;font:750 14px Manrope}.reconcile-section-head p{margin:4px 0 0;color:var(--muted);font-size:10px}.step-number{position:absolute;left:0;top:0;display:grid;place-items:center;width:27px;height:27px;border-radius:8px;background:#dff3ec;color:#176b50;font-size:12px;font-weight:800}.reconcile-count{padding:6px 9px;border-radius:99px;background:#eef4f1;color:#526b63;font-size:10px;font-weight:750;white-space:nowrap}.reconcile-section .table-wrap{border:0;border-radius:0}.reconcile-section table{margin:0}.statement-check-col{width:96px;text-align:center!important}.statement-ledger-check{display:inline-grid;place-items:center;cursor:pointer}.statement-ledger-check input{appearance:none;width:21px;height:21px;margin:0;border:1.5px solid #9dbdb3;border-radius:6px;background:#fff;cursor:pointer}.statement-ledger-check input:checked{border-color:#1e9d76;background:#1e9d76}.statement-ledger-check input:checked:after{content:'✓';display:grid;place-items:center;color:#fff;font-size:13px;font-weight:900}.reconcile-empty-success{padding:25px!important;text-align:center;color:#20775c!important;background:#f4fbf8}.resolved-line{background:#fbfdfc}.attention-line{background:#fffaf4}.match-status-ok{display:inline-block;margin-right:7px;padding:4px 7px;border-radius:99px;background:#e4f5ee;color:#197053;font-size:9px;font-weight:800}.reconcile-footer-status{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:15px 17px;border:1px solid #f0cbc5;border-radius:12px;background:#fff5f3}.reconcile-footer-status.is-ready{border-color:#bde1d3;background:#eef9f4}.reconcile-footer-status>div:first-child{display:flex;flex-direction:column;gap:3px}.reconcile-footer-status b{font-size:12px}.reconcile-footer-status span{color:var(--muted);font-size:10px}.reconcile-footer-status .reconciliation-actions{margin:0}.finalize-reconciliation:disabled{cursor:not-allowed;box-shadow:none;opacity:.45}
@media(max-width:900px){.reconcile-progress{align-items:flex-start;flex-direction:column}.reconcile-steps{width:100%;overflow-x:auto}.reconcile-balance-strip{grid-template-columns:1fr 1fr}.reconcile-balance-strip .reconcile-difference{grid-column:1/-1;border-top:1px solid var(--line)}}
@media(max-width:620px){.reconcile-balance-strip{grid-template-columns:1fr}.reconcile-balance-strip .reconcile-difference{grid-column:auto}.reconcile-balance-strip>div{border-right:0;border-bottom:1px solid var(--line)}.reconcile-section-head,.reconcile-footer-status{align-items:stretch;flex-direction:column}.reconcile-section-head .btn,.reconcile-footer-status .btn{width:100%}.reconcile-progress{padding:13px}.reconcile-steps span{padding:5px 7px}.statement-check-col{width:70px}}
.reconcile-balance-strip{grid-template-columns:1fr 1fr 1fr 1.15fr}
@media(max-width:900px){.reconcile-balance-strip{grid-template-columns:1fr 1fr}}
@media(max-width:620px){.reconcile-balance-strip{grid-template-columns:1fr}}
.subscription-warning{display:flex;gap:16px;align-items:flex-start;padding:18px;border:1px solid #efd49a;background:#fff9e9;border-radius:12px}.subscription-warning>div{width:38px;height:38px;flex:0 0 38px;border-radius:10px;background:#ffe9ad;color:#8b6200;display:grid;place-items:center;font-weight:900}.subscription-warning h3{font:700 15px Manrope;margin:0 0 8px}.subscription-warning p{color:var(--muted);font-size:12px;line-height:1.5;margin:0 0 14px}.subscription-countdown{display:block;color:#9a6800;font:800 18px Manrope}
.badge.pending,.badge.pending_user{background:#fff1cc;color:#946500}
.badge.rejected{background:#ffebe9;color:#b44842}
.billing-hero{display:flex;justify-content:space-between;gap:24px;align-items:center;padding:24px 26px;margin-bottom:18px;border-radius:14px;color:#fff;background:linear-gradient(135deg,#12352d,#1d5949);box-shadow:var(--shadow)}.billing-hero small{font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:#a9cfc2}.billing-hero h2{font:800 27px Manrope;margin:6px 0}.billing-hero p{margin:0;color:#c2d8d1;font-size:12px}.billing-status{text-align:right}.billing-status .badge{display:table;margin:0 0 9px auto}.billing-status strong{display:block;font:800 25px Manrope}.billing-status>small{display:block;margin-top:3px}.staff-usage{height:5px;background:#e5ece9;border-radius:8px;overflow:hidden;margin-top:12px}.staff-usage span{display:block;height:100%;background:var(--green);border-radius:8px}.billing-days{font-size:17px}.billing-details-grid{display:grid;grid-template-columns:1.4fr .6fr;gap:16px;margin-bottom:18px}.billing-facts{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.billing-facts>div{padding:12px;border:1px solid var(--line);border-radius:9px;background:#fbfdfc}.billing-facts small,.billing-code small{display:block;color:var(--muted);font-size:9px;text-transform:uppercase;margin-bottom:5px}.billing-facts b{font-size:12px}.billing-note{font-size:12px;line-height:1.55;margin-top:0}.billing-code{padding:14px;border-radius:9px;background:#edf7f2}.billing-code strong{font:800 20px Manrope;color:var(--deep)}
@media(max-width:780px){.billing-hero{align-items:flex-start;flex-direction:column}.billing-status{text-align:left}.billing-status .badge{margin-left:0}.billing-details-grid{grid-template-columns:1fr}.billing-facts{grid-template-columns:1fr 1fr}}
.company-logo{overflow:hidden;flex:0 0 auto}.company-logo img{width:100%;height:100%;object-fit:contain;background:#fff}.company-logo-editor{display:flex;gap:16px;align-items:center;padding:14px;border:1px solid var(--line);border-radius:12px;background:#f8fbfa}.company-logo-preview{width:88px;height:88px;border-radius:14px;background:var(--deep);color:#fff;display:grid;place-items:center;font:800 24px Manrope;overflow:hidden;flex:0 0 auto}.company-logo-preview img{width:100%;height:100%;object-fit:contain;background:#fff}.company-logo-editor input[type=file]{margin-top:6px}.logo-remove{display:flex!important;flex-direction:row!important;align-items:center;gap:7px;margin-top:9px;color:#b44842}.logo-remove input{width:auto!important;margin:0}
.side-brand-copy{min-width:0;flex:1}.side-brand-copy strong{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.side-brand .brand-mark{overflow:hidden;flex:0 0 auto}.side-brand .brand-mark img{width:100%;height:100%;object-fit:contain;background:#fff}.side-footer{padding:11px 6px 0;text-align:center;color:#789c91;border-top:1px solid #ffffff10}.side-footer span,.side-footer small{display:block;font-size:9px;line-height:1.5}.side-footer b{color:#b8cec7}.side-footer small{margin-top:2px;color:#63877c}
.billing-console{background:linear-gradient(180deg,#f3f7f5 0,#f7f9f8 260px);min-height:calc(100vh - 68px);max-width:none!important;padding-left:3.2vw!important;padding-right:3.2vw!important}.billing-console .page-head{align-items:center;margin-bottom:20px}.billing-console .page-head h1{font-size:30px}.billing-console .page-head p{max-width:650px}.billing-console .stats-grid{gap:12px;margin-bottom:18px}.billing-console .stat-card{min-height:118px;padding:20px;border:0;box-shadow:0 8px 25px #173f350a}.billing-console .stat-card:after{width:82px;height:82px;background:#e6f4ee}.billing-console .stat-card:nth-child(2):after{background:#fff3d9}.billing-console .stat-card:nth-child(3):after{background:#fde9e7}.billing-console .stat-card:nth-child(4){background:linear-gradient(135deg,#143b32,#1d5949);color:#fff}.billing-console .stat-card:nth-child(4):after{background:#ffffff0b}.billing-console .stat-card:nth-child(4) .stat-label{color:#acd0c4}.billing-console .stat-label{text-transform:uppercase;letter-spacing:.08em;font-size:9px}.billing-console .stat-value{font-size:27px}.billing-console .section-title{font-size:15px;margin:27px 0 10px;display:flex;align-items:center;gap:9px}.billing-console .section-title:before{content:'';width:4px;height:18px;border-radius:5px;background:#37aa80}.billing-console .table-card{border:0;border-radius:14px;box-shadow:0 6px 24px #173f3508}.billing-console .table-card th{background:#f7faf8;padding-top:12px;padding-bottom:12px}.billing-console .table-card td{padding-top:14px;padding-bottom:14px}.billing-console .action-edit,.billing-console .action-delete{border-radius:8px;padding:7px 11px;background:#fff;font-weight:700}.billing-console .action-edit{border:1px solid #cfe0da;color:#185f4a}.billing-console .action-edit:hover{background:#eaf6f1}.billing-console .action-delete{border:1px solid #f0d3d1;color:#b2413e}.billing-console .voucher-help{margin:18px 0 4px;border:1px solid #cfe9de;background:#ecf8f3;border-radius:12px;padding:13px 15px;color:#376c5d}.billing-clear{display:flex;align-items:center;gap:12px;background:#fff;border:1px solid #dce9e4;border-radius:12px;padding:13px 16px;box-shadow:0 4px 18px #173f3506}.billing-clear>span{width:30px;height:30px;display:grid;place-items:center;border-radius:50%;background:#e4f6ee;color:#20815f;font-weight:800}.billing-clear b,.billing-clear small{display:block}.billing-clear b{font-size:12px}.billing-clear small{font-size:10px;color:var(--muted);margin-top:2px}.billing-attention{margin:18px 0 5px;border:1px solid #efdba7;border-radius:14px;background:#fffaf0;padding:14px}.billing-section-head{display:flex;justify-content:space-between;align-items:center;margin:0 3px 11px}.billing-section-head span{display:block;text-transform:uppercase;letter-spacing:.1em;color:#9b6a12;font-size:8px;font-weight:800}.billing-section-head h3{font:700 14px Manrope;margin:3px 0 0}.billing-section-head>b{width:28px;height:28px;display:grid;place-items:center;border-radius:50%;background:#f4b943;color:#523700;font-size:11px}.billing-attention .table-card{box-shadow:none;border:1px solid #efe4ca}.billing-console .badge{padding:5px 8px}.billing-console .amount{font-variant-numeric:tabular-nums}
@media(max-width:780px){.billing-console{padding-left:13px!important;padding-right:13px!important}.billing-console .page-head h1{font-size:25px}.billing-console .stat-card{min-height:100px}.billing-attention{padding:9px}}
.billing-menu{display:grid;grid-template-columns:repeat(6,1fr);gap:5px;margin:0 0 20px;padding:5px;background:#e8efec;border:1px solid #dbe5e1;border-radius:13px}.billing-menu button{position:relative;border:0;border-radius:9px;background:transparent;padding:11px 14px;text-align:left;color:#536861;transition:.18s}.billing-menu button:hover{background:#f3f7f5;color:#183f34}.billing-menu button.active{background:#fff;color:#123d31;box-shadow:0 3px 12px #173f3512}.billing-menu button.active:after{content:'';position:absolute;left:14px;right:14px;bottom:0;height:3px;border-radius:4px 4px 0 0;background:#36a77e}.billing-menu span,.billing-menu small{display:block}.billing-menu span{font:700 12px Manrope}.billing-menu small{margin-top:3px;font-size:9px;color:#87958f}.billing-panel-hidden{display:none!important}.billing-module-summary{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:0 0 14px;padding:18px 20px;border:1px solid #dbe8e3;border-radius:14px;background:linear-gradient(135deg,#fff,#eef8f4)}.billing-module-summary h3{margin:7px 0 3px}.billing-module-count{min-width:120px;padding:12px 18px;border-radius:12px;background:#123f31;color:#fff;text-align:center}.billing-module-count b,.billing-module-count small{display:block}.billing-module-count b{font-size:24px}.billing-module-count small{color:#cbe7dc}@media(max-width:780px){.billing-menu{display:flex;overflow-x:auto}.billing-menu button{min-width:145px;flex:0 0 auto}.billing-module-summary{align-items:flex-start}.billing-module-count{min-width:96px}}

/* Readability and fluid screen layout */
html{font-size:clamp(14px,.28vw + 12px,16px)}body{font-size:1rem;line-height:1.45}.app-shell{grid-template-columns:clamp(228px,16vw,268px) minmax(0,1fr)}.content{width:100%;max-width:1700px;padding:clamp(20px,2.2vw,36px) clamp(16px,2.5vw,42px) 56px}.nav-item{font-size:14px;padding:11px 12px}.nav-group{font-size:10px}.side-brand small,.side-user small{font-size:11px}.side-user strong{font-size:13px}.company-picker span,.live-status{font-size:10px}.company-picker select{font-size:14px;max-width:min(290px,32vw)}.page-head h1{font-size:clamp(27px,2vw,32px)}.page-head p{font-size:14px}.btn{font-size:14px}.stats-grid{grid-template-columns:repeat(auto-fit,minmax(min(210px,100%),1fr))}.company-list{grid-template-columns:repeat(auto-fit,minmax(min(300px,100%),1fr))}.stat-label{font-size:12px}.stat-foot{font-size:11px}.card-head h3,.company-card h3{font-size:15px}.company-card p,.company-card-foot{font-size:12px}.table-wrap{max-width:100%;overflow-x:auto;overscroll-behavior-inline:contain}table{font-size:13px;min-width:max-content}th{font-size:10px}td{line-height:1.45}.badge{font-size:10px}.row-actions button,.table-card .action-edit{font-size:11px}.form-grid label,.login-form label{font-size:14px}.form-grid input,.form-grid select,.form-grid textarea,.toolbar input,.toolbar select{font-size:14px}.modal{width:min(760px,calc(100vw - 32px))}.modal.large{width:min(1120px,calc(100vw - 32px))}.modal-head h2{font-size:20px}.muted,small{line-height:1.45}.section-title{font-size:14px}.billing-console .section-title{font-size:16px}.billing-menu span{font-size:13px}.billing-menu small{font-size:10px}
@media(max-width:1100px){.app-shell{grid-template-columns:220px minmax(0,1fr)}.content{padding-left:20px;padding-right:20px}.dashboard-grid{grid-template-columns:1fr}.billing-details-grid{grid-template-columns:1fr}}
@media(max-width:780px){html{font-size:14px}.app-shell{display:block}.content{padding:19px 12px 42px}.page-head h1{font-size:26px}.page-head p{font-size:13px}.stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.stat-card{min-width:0}.stat-value{font-size:22px}.form-grid{grid-template-columns:1fr}.toolbar{width:100%;flex-wrap:wrap}.toolbar input,.toolbar select,.search{width:100%!important;min-width:0}.modal,.modal.large{width:calc(100vw - 16px)}.modal-body,.modal-head,.modal-foot{padding-left:16px;padding-right:16px}.head-actions{width:100%;flex-wrap:wrap}.head-actions .btn{flex:1 1 150px}.company-picker select{max-width:55vw}.billing-menu{width:100%}}
@media(max-width:430px){.stats-grid{grid-template-columns:1fr}.top-actions{gap:7px}.company-picker select{max-width:52vw}.page-head h1{font-size:24px}.modal-backdrop{padding:4px}.modal,.modal.large{width:calc(100vw - 8px);max-height:98vh}.billing-facts{grid-template-columns:1fr}}
.registration-section{display:flex;align-items:center;gap:11px;margin:6px 0 8px;padding:12px 14px;border-radius:11px;background:#edf7f3;border:1px solid #d7ebe3}.registration-section>span{width:30px;height:30px;flex:0 0 auto;display:grid;place-items:center;border-radius:9px;background:var(--deep);color:#fff;font:800 12px Manrope}.registration-section h3{margin:0;font:700 14px Manrope}.registration-section p{margin:3px 0 0;color:var(--muted);font-size:11px}.registration-section:not(:first-child){margin-top:22px}.subscription-create-note{align-self:end;margin:9px 0 0;padding:11px 12px;border-radius:9px;background:#fff8e7;border:1px solid #f0dfb3}.subscription-create-note b,.subscription-create-note small{display:block}.subscription-create-note b{font-size:12px;color:#7c5914}.subscription-create-note small{margin-top:3px;color:#806f4d;font-size:10px}
.badge.suspended,.badge.past_due{background:#ffebe9;color:#b44842}.billing-console .row-actions .action-delete{background:#fff7f6}.billing-console .row-actions .action-delete:hover{background:#ffecea}
.billing-status em{display:block;margin-top:5px;color:#a9cdc1;font-size:10px;font-style:normal}.billing-total-fact{background:#e5f5ee!important;border-color:#bfe2d3!important}.billing-total-fact b{font-size:15px!important;color:#176c51}
.badge.scheduled{background:#fff4d9;color:#93650e}.badge.removed{background:#edf0ef;color:#65736e}
.badge.pending_price_approval,.badge.pending.price.approval{background:#fff1cc;color:#8b5d00}.line-price.price-overridden{border-color:#e2a638!important;background:#fff9e9!important;box-shadow:0 0 0 3px #e2a63818}.line-price.price-overridden:focus{box-shadow:0 0 0 3px #e2a63830}
.price-approval-box{margin:0 0 16px;padding:13px 15px;border:1px solid #efd28d;border-radius:10px;background:#fff9e9;color:#76510c}.price-approval-box>div b,.price-approval-box>div small{display:block}.price-approval-box>div small{margin-top:3px}.price-approval-box p{display:flex;justify-content:space-between;gap:18px;margin:10px 0 0;padding-top:9px;border-top:1px solid #f0dfb8}.price-approval-box p span{font-variant-numeric:tabular-nums}
.user-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:16px}.user-summary>div{position:relative;overflow:hidden;min-height:92px;padding:17px 18px;border:1px solid var(--line);border-radius:12px;background:#fff;box-shadow:0 5px 18px #173f3507}.user-summary>div:after{content:'';position:absolute;right:-22px;top:-24px;width:72px;height:72px;border-radius:50%;background:#edf7f2}.user-summary small,.user-summary strong{display:block;position:relative;z-index:1}.user-summary small{color:var(--muted);font-size:10px;font-weight:800;letter-spacing:.07em;text-transform:uppercase}.user-summary strong{margin-top:10px;font:800 22px Manrope}.users-card{border-radius:14px;box-shadow:0 6px 25px #173f3508}.user-toolbar{padding:14px 15px;background:#fbfdfc}.user-toolbar .user-search{flex:1;min-width:260px}.user-toolbar select{min-width:160px}.user-identity{display:flex;align-items:center;gap:11px;min-width:215px}.user-identity>span{width:35px;height:35px;flex:0 0 35px;display:grid;place-items:center;border-radius:10px;background:#e4f5ed;color:#1b7658;font:800 11px Manrope}.user-identity b,.user-identity small{display:block}.user-identity b{font-size:13px}.user-identity small{margin-top:2px;color:var(--muted);font-size:10px}.row-actions .immediate-delete{background:#fff7f6;border-color:#efcfcc}.row-actions .immediate-delete:hover{background:#ffe9e7;border-color:#e8aaa6}
@media(max-width:900px){.user-summary{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.user-summary{grid-template-columns:1fr}.user-toolbar .user-search,.user-toolbar select{width:100%;min-width:0}}
.custom-access-panel{margin-top:5px;padding:16px;border:1px solid #cfe2da;border-radius:12px;background:#f6fbf8}.custom-access-head{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:13px}.custom-access-head b,.custom-access-head small{display:block}.custom-access-head small{margin-top:3px;color:var(--muted);font-size:11px}.permission-select-all{border:1px solid #bad7cb;border-radius:8px;background:#fff;color:#216c54;padding:7px 10px;font-size:11px;font-weight:700}.permission-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.permission-grid label{display:flex!important;align-items:flex-start;gap:10px;margin:0!important;padding:11px;border:1px solid #dce8e3;border-radius:9px;background:#fff;cursor:pointer}.permission-grid input{width:auto!important;margin:3px 0 0!important;accent-color:var(--green)}.permission-grid span,.permission-grid b,.permission-grid small{display:block}.permission-grid b{font-size:12px}.permission-grid small{margin-top:2px;color:var(--muted);font-size:10px;font-weight:400}.permission-grid label:has(input:checked){border-color:#72bea0;background:#edf8f3;box-shadow:0 0 0 2px #2ca8780d}.badge.custom_access{background:#e8edff;color:#465fb2}
@media(max-width:640px){.permission-grid{grid-template-columns:1fr}.custom-access-head{align-items:flex-start}}
.permission-matrix{overflow:hidden;border:1px solid #dce8e3;border-radius:10px;background:#fff}.permission-matrix-head,.permission-matrix-row{display:grid;grid-template-columns:minmax(240px,1fr) repeat(3,minmax(90px,120px));align-items:stretch}.permission-matrix-head{background:#eef5f2;color:#61736c;font-size:9px;font-weight:800;letter-spacing:.06em;text-transform:uppercase}.permission-matrix-head span{padding:10px;text-align:center}.permission-matrix-head span:first-child{text-align:left}.permission-matrix-row{border-top:1px solid #e8efec}.permission-matrix-row>div{padding:11px 12px}.permission-matrix-row>div b,.permission-matrix-row>div small{display:block}.permission-matrix-row>div b{font-size:12px}.permission-matrix-row>div small{margin-top:2px;color:var(--muted);font-size:10px}.permission-matrix-row label{display:flex!important;align-items:center;justify-content:center;gap:6px;margin:0!important;padding:10px;border-left:1px solid #e8efec;cursor:pointer}.permission-matrix-row label:has(input:checked){background:#eaf7f1;color:#176b50}.permission-matrix-row input{width:auto!important;margin:0!important;accent-color:var(--green)}.permission-matrix-row label span{display:none}.permission-matrix-row:hover>div{background:#fbfdfc}
@media(max-width:720px){.permission-matrix{overflow-x:auto}.permission-matrix-head,.permission-matrix-row{min-width:650px}}
.permission-matrix-row label.dependency-auto{background:#fff3d9!important;color:#8a610d!important;box-shadow:inset 0 0 0 1px #edcf8d}.permission-matrix-row label.dependency-auto input{accent-color:#d69c27}.permission-dependency-note{margin:0 0 12px;padding:10px 12px;border:1px solid #ecd49d;border-radius:9px;background:#fff8e8;color:#765815;font-size:11px;line-height:1.6}.permission-dependency-note b{margin-right:5px}.permission-dependency-note small{display:inline;color:#9b761f;font-size:9px}
.session-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:16px}.session-summary>div{padding:17px 18px;border:1px solid var(--line);border-radius:12px;background:#fff;box-shadow:0 5px 18px #173f3507}.session-summary small,.session-summary strong{display:block}.session-summary small{color:var(--muted);font-size:10px;font-weight:800;letter-spacing:.07em;text-transform:uppercase}.session-summary strong{margin-top:9px;font:800 23px Manrope}.sessions-card{border-radius:14px;box-shadow:0 6px 25px #173f3508}.session-toolbar .session-search{flex:1;min-width:260px}.session-toolbar select{min-width:170px}.session-live-note{margin-left:auto;color:var(--muted);font-size:10px}.session-live-note i,.session-state i{display:inline-block;width:7px;height:7px;margin-right:6px;border-radius:50%;background:#31ad7c;box-shadow:0 0 0 3px #31ad7c1d}.session-state{display:inline-flex;align-items:center;padding:5px 8px;border-radius:15px;font-size:10px;font-weight:800}.session-state.working{background:#e6f6ee;color:#22795a}.session-state.idle{background:#fff3d9;color:#90620b}.session-state.idle i{background:#d5a13a;box-shadow:0 0 0 3px #d5a13a1d}.sessions-card code{font:11px Consolas,monospace;color:#52635d;background:#f2f5f4;padding:4px 6px;border-radius:6px}
@media(max-width:900px){.session-summary{grid-template-columns:1fr 1fr}.session-live-note{width:100%;margin-left:0}}
@media(max-width:500px){.session-summary{grid-template-columns:1fr}}
.content-refreshing{position:relative}.content-refreshing:before{content:"";position:fixed;top:0;left:0;right:0;height:3px;z-index:50;background:linear-gradient(90deg,transparent,#2cad80,transparent);background-size:45% 100%;animation:pageRefresh 1s linear infinite}.modal-loading{max-width:440px}.action-loading{min-height:125px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;color:var(--muted)}.action-loading span{width:32px;height:32px;border:3px solid #dcebe5;border-top-color:#2ca878;border-radius:50%;animation:actionSpin .7s linear infinite}.action-loading p{margin:0}@keyframes actionSpin{to{transform:rotate(360deg)}}@keyframes pageRefresh{from{background-position:-50% 0}to{background-position:150% 0}}
.nav-subitem.active{color:#fff;background:#ffffff12}.po-lines select{min-width:0}.po-lines table{width:100%;min-width:0;table-layout:fixed}.po-lines .line-number-col{width:5%!important}.po-lines .codes-col{width:14%!important}.po-lines .product-col{width:27%!important}.po-lines .qty-col{width:10%!important}.po-lines .price-col{width:14%!important}.po-lines .discount-col{width:11%!important}.po-lines .total-col{width:15%!important}.po-lines .remove-col{width:4%!important}.po-grand-total{margin-left:auto;font-size:16px;color:var(--ink)}
.receive-lines .po-not-delivered{display:flex;align-items:center;gap:8px;font-size:11px;font-weight:700;color:#9b4b32;white-space:nowrap}.receive-lines .po-not-delivered input{width:17px;min-width:17px;height:17px}.receive-lines .cancel-reason{margin-top:7px;font-size:10px}.badge.closed{background:#e9edf3;color:#42526b}
.modal.large .receive-lines{overflow-x:auto;overflow-y:visible}.receive-lines table{width:100%;min-width:1040px!important;table-layout:fixed}.receive-lines th{white-space:normal;line-height:1.25;vertical-align:middle}.receive-lines th:nth-child(1){width:19%}.receive-lines th:nth-child(2){width:8%}.receive-lines th:nth-child(3){width:12%}.receive-lines th:nth-child(4){width:8%}.receive-lines th:nth-child(5){width:11%}.receive-lines th:nth-child(6){width:13%}.receive-lines th:nth-child(7){width:10%}.receive-lines th:nth-child(8){width:19%}.receive-lines td{vertical-align:middle}.receive-lines .receive-value{white-space:nowrap}.receive-lines .receive-qty,.receive-lines .receive-cost{min-width:88px}.receive-lines .po-not-delivered{white-space:normal;line-height:1.3}
@media(max-width:780px){.receive-lines table{min-width:980px!important}.receive-lines th,.receive-lines td{padding-left:7px!important;padding-right:7px!important}}
.required-mark{color:#d93025;font-weight:800;margin-left:2px}
.voucher-date-field .readonly-date-value{display:flex;align-items:center;min-height:46px;padding:0 14px;border-bottom:1px solid #d9e3df;color:var(--ink);font-size:14px;font-weight:700}.voucher-date-field .readonly-date-value.hidden{display:none}
.po-progress{width:110px;height:7px;border-radius:999px;background:#e6efeb;overflow:hidden;margin-bottom:5px}.po-progress span{display:block;height:100%;background:#2ca878;border-radius:inherit}.po-receive-note{margin-top:14px;padding:12px 14px;border-radius:10px;background:#eff9f4;color:#286653;font-size:12px}.receive-lines td:first-child b,.receive-lines td:first-child small{display:block}.po-receipt-history{margin-top:18px}.po-receipt-history h3{margin:0 0 10px}.po-receipt-history>div{display:grid;grid-template-columns:1.1fr .8fr .8fr 1fr;gap:8px 14px;padding:11px 12px;border:1px solid var(--line);border-radius:10px;margin-top:8px}.po-receipt-history>div small{grid-column:1/-1;color:var(--muted)}.badge.partially_received{background:#fff1cf;color:#8a5a00}.badge.received{background:#dff5ea;color:#147653}@media(max-width:780px){.po-receipt-history>div{grid-template-columns:1fr 1fr}}
.po-receipt-history .po-receipt-history-head,.po-receipt-history .po-receipt-history-row{display:grid;grid-template-columns:minmax(190px,1.25fr) minmax(105px,.72fr) minmax(125px,.75fr) minmax(125px,.72fr) minmax(150px,1fr);align-items:center;gap:10px 18px}.po-receipt-history .po-receipt-history-head{margin:0;padding:9px 13px;border:0;border-radius:9px;background:#f3f7f5;color:#687a73;font-size:9px;font-weight:800;letter-spacing:.07em;text-transform:uppercase}.po-receipt-history .po-receipt-history-row{margin-top:7px;padding:13px;border:1px solid var(--line);border-radius:10px;background:#fff}.po-receipt-history-row>b{font-size:13px}.po-receipt-history-row strong{font-size:13px;text-align:right;font-variant-numeric:tabular-nums}.po-receipt-history-row span>b,.po-receipt-history-row span>small{display:block}.po-receipt-history-row span>small{margin-top:2px;color:#a24b3f;font-size:9px}.po-receipt-history .po-receipt-notes{grid-column:1/-1;margin:0;padding-top:8px;border-top:1px dashed #dfe8e4;color:var(--muted)}@media(max-width:780px){.po-receipt-history .po-receipt-history-head{display:none}.po-receipt-history .po-receipt-history-row{grid-template-columns:1fr 1fr}.po-receipt-history-row strong{text-align:left}.po-receipt-history .po-receipt-notes{grid-column:1/-1}}
.transaction-filter-bar{flex-wrap:wrap}.transaction-date-range{display:flex;align-items:center;gap:7px;margin-left:auto}.transaction-date-range>span{color:var(--muted);font-size:10px}.transaction-date-range label{display:flex;align-items:center;gap:6px;color:#667872;font-size:9px;font-weight:800;text-transform:uppercase}.transaction-date-range input{width:145px!important}.transaction-filter-note{display:flex;align-items:center;justify-content:space-between;padding:8px 15px;border-bottom:1px solid var(--line);background:#f7faf8;color:var(--muted);font-size:10px}.transaction-filter-note span:first-child b{color:var(--deep)}.transaction-filter-note i{padding:0 4px;font-style:normal;color:#9baaa5}@media(max-width:900px){.transaction-date-range{width:100%;margin-left:0}.transaction-date-range label{flex:1}.transaction-date-range input{width:100%!important}.transaction-current-month{flex:1}}@media(max-width:520px){.transaction-date-range{align-items:stretch;flex-direction:column}.transaction-date-range>span{display:none}.transaction-date-range label{display:block}.transaction-date-range input{margin-top:4px}.transaction-filter-note{align-items:flex-start;flex-direction:column;gap:3px}}
.settings-layout{display:grid;grid-template-columns:250px minmax(0,1fr);gap:18px;align-items:start}.settings-menu{position:sticky;top:82px;padding:8px;border:1px solid var(--line);border-radius:14px;background:#fff;box-shadow:0 6px 24px #173f3508}.settings-menu button{display:block;width:100%;padding:13px 14px;border:0;border-radius:10px;background:transparent;color:var(--ink);text-align:left;cursor:pointer}.settings-menu button+button{margin-top:3px}.settings-menu button:hover{background:#f2f7f5}.settings-menu button.active{background:#e7f5ef;color:var(--deep);box-shadow:inset 3px 0 #2ca878}.settings-menu b,.settings-menu small{display:block}.settings-menu b{font-size:12px}.settings-menu small{margin-top:3px;color:var(--muted);font-size:9px;line-height:1.35}.settings-panel{min-width:0}.settings-panel-head{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:14px;padding:18px 20px;border:1px solid var(--line);border-radius:14px;background:#fff}.settings-panel-head h2{margin:0;font:800 20px Manrope}.settings-panel-head p{margin:5px 0 0;color:var(--muted);font-size:11px}.settings-loading{min-height:230px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;color:var(--muted)}.settings-loading span{width:30px;height:30px;border:3px solid #dcebe5;border-top-color:#2ca878;border-radius:50%;animation:actionSpin .7s linear infinite}.settings-panel .year-close-card,.settings-panel .factory-reset-card{margin-top:0}.settings-panel .company-import-card{margin-top:0}@media(max-width:850px){.settings-layout{grid-template-columns:1fr}.settings-menu{position:static;display:flex;overflow-x:auto}.settings-menu button{min-width:170px}.settings-menu button+button{margin:0 0 0 4px}.settings-menu button.active{box-shadow:inset 0 -3px #2ca878}.settings-panel-head{align-items:stretch;flex-direction:column}.settings-panel-head .btn{width:100%}}
.module-assignment-list{display:grid;gap:10px}.module-assignment{display:grid;grid-template-columns:minmax(0,1fr) 190px auto;align-items:center;gap:18px;padding:15px;border:1px solid var(--line);border-radius:12px;background:#fff}.module-enable{display:flex!important;align-items:flex-start;gap:11px}.module-enable input{width:18px!important;height:18px;margin-top:2px}.module-enable b,.module-enable small{display:block}.module-enable small{margin-top:3px;color:var(--muted);font-size:10px}.module-assignment>label:nth-child(2){font-size:10px;font-weight:700}.module-assignment .module-price{margin-top:5px}@media(max-width:700px){.module-assignment{grid-template-columns:1fr}.module-assignment>label:nth-child(2){width:100%}}
.module-store-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:14px;margin-bottom:24px}.module-store-card{display:flex;min-height:190px;flex-direction:column;justify-content:space-between;gap:15px;padding:20px;border:1px solid var(--line);border-radius:14px;background:#fff;box-shadow:0 7px 24px #173f3508}.module-store-card h3{margin:12px 0 6px;font:800 17px Manrope}.module-store-card p{margin:0;color:var(--muted);font-size:11px;line-height:1.55}.module-store-foot{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-top:14px;border-top:1px solid var(--line)}.module-store-foot strong{font:800 18px Manrope}.module-store-foot strong small{font:600 9px Manrope;color:var(--muted)}@media(max-width:520px){.module-store-foot{align-items:stretch;flex-direction:column}.module-store-foot .btn{width:100%}}
.badge.pending_approval{background:#fff1cf;color:#8a5a00}.badge.pending_payment{background:#ffe5df;color:#a33e32}
.year-close-card{margin-top:18px;border:1px solid #bcd9ce;border-radius:14px;overflow:hidden;background:#fff}.year-close-head{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:22px 24px;background:linear-gradient(135deg,#f4fbf8,#eaf6f1)}.year-close-head h3{margin:13px 0 5px;font:800 19px Manrope}.year-close-head p{max-width:720px;margin:0;color:var(--muted);font-size:12px}.year-close-current{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid #d5e6df;border-bottom:1px solid var(--line)}.year-close-current>div{padding:13px 20px}.year-close-current>div+div{border-left:1px solid var(--line)}.year-close-current small,.year-close-current b{display:block}.year-close-current small{margin-bottom:4px;color:var(--muted);font-size:9px;text-transform:uppercase}.year-close-empty{padding:22px;text-align:center;color:var(--muted)}.year-close-warning{margin-bottom:15px;padding:14px;border:1px solid #edc8a8;border-radius:10px;background:#fff8ed;color:#704b26}.year-close-warning p{margin:5px 0 0;font-size:11px;line-height:1.55}.year-close-confirm{display:flex!important;align-items:flex-start;gap:9px;padding:12px;border:1px solid var(--line);border-radius:10px;background:#f7faf8}.year-close-confirm input{width:auto!important;margin:2px 0 0}.badge.closed{background:#e5f6ee;color:#267b5c}.badge.reopened{background:#fff1dc;color:#9e681b}@media(max-width:700px){.year-close-head{align-items:stretch;flex-direction:column;padding:18px}.year-close-head .btn{width:100%}.year-close-current{grid-template-columns:1fr}.year-close-current>div+div{border-left:0;border-top:1px solid var(--line)}}
.inline-selling-price{appearance:none;border:0;background:transparent;color:inherit;font:inherit;font-weight:700;padding:4px 6px;border-radius:7px;cursor:default}
.inline-selling-price:not(:disabled){cursor:text}
.inline-selling-price:not(:disabled):hover{background:#edf7f3;outline:1px dashed #79ad9f}
.inline-selling-input{width:118px!important;min-width:0!important;text-align:right;padding:7px 9px!important;border-color:#2ca77d!important;box-shadow:0 0 0 3px rgba(44,167,125,.12)}
.selling-price-cell{min-width:175px}
.price-cost-warning{display:block;margin-top:3px;color:#c34b3f;font-size:11px;line-height:1.35;font-weight:600;white-space:normal}
.selling-below-po{background:#fff8f0}
.latest-purchase-cell{min-width:150px}
.latest-purchase-cell small{display:block;margin-top:3px;color:#718079;font-size:10px;white-space:nowrap}
.factory-reset-card{margin-top:22px;padding:22px 24px;border:1px solid #efb8b3;border-radius:15px;background:#fff8f7;display:flex;align-items:center;justify-content:space-between;gap:24px}
.factory-reset-card h3{margin:7px 0 6px;color:#8f2f27}
.factory-reset-card p{margin:0 0 6px;max-width:820px;color:#4c5c56}
.factory-reset-card small{color:#78857f}
.danger-kicker{font-size:10px;font-weight:800;letter-spacing:.13em;color:#bd3e34}
.btn.danger{background:#b83d34;color:#fff;border-color:#b83d34;white-space:nowrap}
.btn.danger:hover{background:#982e27}
.factory-reset-warning{display:flex;gap:16px;padding:16px;border:1px solid #efb8b3;border-radius:12px;background:#fff5f4;margin-bottom:18px}
.factory-reset-warning>div{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:#bd3e34;color:#fff;font-weight:800;flex:0 0 auto}
.factory-reset-warning h3{margin:0 0 7px;color:#8f2f27}
.factory-reset-warning p{margin:5px 0;color:#4c5c56}
.factory-reset-warning ul{margin:9px 0;padding-left:20px;color:#4c5c56}
.factory-code-label{display:block;margin-bottom:14px}
.factory-code-label input{margin-top:8px;text-transform:uppercase}
.factory-confirm-check{display:flex!important;align-items:center;gap:9px;padding:12px;border:1px solid #e1e8e5;border-radius:10px;background:#f7faf9}
.factory-confirm-check input{width:18px!important;height:18px;min-width:18px}
@media(max-width:700px){.factory-reset-card{align-items:stretch;flex-direction:column}.factory-reset-card .btn{width:100%}}
.permission-main-toggle{display:flex!important;align-items:center!important;justify-content:flex-start!important;gap:11px!important;padding:0 10px!important;text-align:left!important;cursor:pointer}.permission-main-toggle input{width:17px!important;height:17px!important;flex:0 0 auto}.permission-main-toggle span,.permission-main-toggle b,.permission-main-toggle small{display:block}.permission-main-toggle small{margin-top:3px;color:var(--muted)}
.permission-matrix-row .permission-main-toggle{border-left:0!important;padding:9px 12px!important}.permission-matrix-row .permission-main-toggle>span,.permission-matrix-row .permission-main-toggle b,.permission-matrix-row .permission-main-toggle small{display:block!important}.permission-matrix-row .permission-main-toggle b{font-size:12px;color:var(--ink)}.permission-matrix-row .permission-main-toggle small{margin-top:2px;font-size:10px;color:var(--muted)}
.permission-child-row .permission-main-toggle{padding-left:30px!important;background:#fbfdfc}.permission-child-row .permission-main-toggle b{font-weight:650!important;color:#365b50!important}
.stock-lookup-trigger{display:grid;place-items:center;color:#185c49}.stock-lookup-trigger svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.stock-lookup-trigger:hover{background:#edf8f3;border-color:#a9d7c5}.stock-lookup{display:flex;flex-direction:column;gap:12px}.stock-lookup-search{position:relative}.stock-lookup-search svg{position:absolute;left:14px;top:50%;transform:translateY(-50%);width:19px;height:19px;fill:none;stroke:#71827c;stroke-width:1.8;stroke-linecap:round}.stock-lookup-search input{width:100%;padding:13px 14px 13px 44px;font-size:14px}.stock-lookup-meta{font-size:10px}.stock-lookup-results{display:flex;flex-direction:column;gap:8px;max-height:58vh;overflow:auto;padding-right:3px}.stock-lookup-item{display:grid;grid-template-columns:minmax(220px,1.5fr) minmax(125px,.55fr) minmax(115px,.5fr) minmax(230px,1fr);align-items:center;gap:16px;border:1px solid var(--line);border-radius:11px;padding:12px;background:#fff}.stock-lookup-product{display:flex;align-items:center;gap:11px;min-width:0}.stock-lookup-product img,.stock-lookup-product>.product-image-placeholder{width:42px;height:42px;border-radius:9px;object-fit:cover;flex:0 0 auto}.stock-lookup-product>div{min-width:0}.stock-lookup-product b,.stock-lookup-product small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.stock-lookup-product small,.stock-on-hand small,.stock-selling small{color:var(--muted);font-size:9px;margin-top:4px}.stock-on-hand strong,.stock-selling strong{display:block;margin-top:3px;font-size:14px}.stock-on-hand.is-low strong{color:#bd4844}.stock-warehouse-list{display:flex;flex-direction:column;gap:5px}.stock-warehouse-balance{display:flex;justify-content:space-between;gap:12px;padding:5px 8px;border-radius:7px;background:#f0f7f4;font-size:10px}.stock-warehouse-balance span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.stock-warehouse-balance small{color:#789089}.stock-warehouse-balance strong{white-space:nowrap;color:#185c49}.stock-lookup-empty{padding:42px;text-align:center;border:1px dashed var(--line);border-radius:11px}.stock-lookup-empty b,.stock-lookup-empty span{display:block}.stock-lookup-empty span{color:var(--muted);font-size:11px;margin-top:6px}@media(max-width:780px){.stock-lookup-item{grid-template-columns:1fr 1fr}.stock-lookup-product,.stock-warehouse-list{grid-column:1/-1}.top-actions{gap:7px}.stock-lookup-results{max-height:64vh}}
.product-stock-badge{min-width:27px!important;height:24px!important;padding:1px 5px!important;border-radius:5px!important;font-size:11px!important;line-height:1!important;display:flex!important;align-items:center!important;justify-content:center!important;gap:3px!important}.product-stock-badge small{font:700 7px Manrope!important;color:#52766a!important;line-height:1!important;max-width:22px;overflow:hidden;text-overflow:ellipsis}
.stock-lookup-bar{width:170px;height:36px;display:flex;align-items:center;gap:8px;padding:0 11px;border:1px solid var(--line);border-radius:9px;background:#fff;color:#7b8984;text-align:left;font:500 11px Manrope;transition:border-color .15s,box-shadow .15s,background .15s}.stock-lookup-bar svg{width:16px;height:16px;flex:0 0 auto;fill:none;stroke:#286f59;stroke-width:1.8;stroke-linecap:round}.stock-lookup-bar:hover,.stock-lookup-bar:focus{outline:0;border-color:#6bc19f;background:#fbfefc;box-shadow:0 0 0 3px #48ad8618}.stock-lookup-bar span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media(max-width:780px){.stock-lookup-bar{width:38px;padding:0;justify-content:center}.stock-lookup-bar span{display:none}}
.top-stock-search{position:relative;width:190px;height:36px}.top-stock-search>svg{position:absolute;z-index:1;left:10px;top:10px;width:16px;height:16px;fill:none;stroke:#286f59;stroke-width:1.8;stroke-linecap:round;pointer-events:none}.top-stock-search>input{width:100%;height:36px;padding:0 10px 0 33px;border:1px solid var(--line);border-radius:9px;background:#fff;font-size:11px}.top-stock-search>input:focus{border-color:#55b68f;box-shadow:0 0 0 3px #48ad8618}.top-stock-results{position:absolute;right:0;top:43px;width:310px;max-height:420px;overflow:auto;padding:5px;z-index:100;border:1px solid #cfe0d9;border-radius:10px;background:#fff;box-shadow:0 14px 34px #173a3028}.top-stock-result{width:100%;min-height:58px;display:flex;align-items:center;gap:9px;padding:7px;border:1px solid #d7eee4;border-radius:8px;background:#f0faf5;color:var(--ink);text-align:left;margin-bottom:5px}.top-stock-result:last-child{margin-bottom:0}.top-stock-result:hover{background:#e5f6ee;border-color:#aad9c7}.top-stock-image{width:34px;height:34px;display:grid;place-items:center;flex:0 0 auto;border-radius:7px;background:#e7f1ed;color:#82938d;font-size:7px;overflow:hidden}.top-stock-image img{width:100%;height:100%;object-fit:cover}.top-stock-info{min-width:0;flex:1}.top-stock-info b,.top-stock-info small,.top-stock-info em{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.top-stock-info b{font-size:10px}.top-stock-info small{margin-top:2px;color:#7c8b86;font-size:7px}.top-stock-info em{margin-top:4px;color:#087456;font-size:8px;font-style:normal;font-weight:700}.top-stock-qty{min-width:29px;height:25px;display:flex;align-items:center;justify-content:center;gap:3px;padding:0 5px;border-radius:6px;background:#dcefe6;color:#173f35;font:800 11px Manrope;box-shadow:inset 0 0 0 1px #c5e4d7}.top-stock-qty small{font:700 7px Manrope;color:#52766a}.top-stock-message{padding:20px;text-align:center;color:var(--muted);font-size:10px}.top-stock-message.error{color:#b44842}@media(max-width:780px){.top-stock-search{width:135px}.top-stock-results{position:fixed;left:10px;right:10px;top:62px;width:auto}.top-stock-search>input{font-size:10px}}
.invoice-tax-controls{display:flex;align-items:end;gap:14px;margin-top:10px}.invoice-tax-controls label{margin:0}.invoice-tax-toggle{min-height:44px;display:flex!important;align-items:center;gap:9px;padding:0 13px;border:1px solid var(--line);border-radius:9px;background:#f7faf9}.invoice-tax-toggle input{width:17px!important;margin:0!important;accent-color:var(--green)}.tax-mode-field{min-width:210px}.invoice-total-summary{width:min(360px,100%);margin:15px 0 0 auto;padding:11px 15px;border:1px solid var(--line);border-radius:10px;background:#f8fbf9}.invoice-total-summary>div{display:flex;justify-content:space-between;gap:20px;padding:5px 0;color:#667670;font-size:11px}.invoice-total-summary strong{color:var(--ink);font-size:13px}.invoice-grand-row{margin-top:4px;padding-top:9px!important;border-top:1px solid var(--line);font-weight:800}.invoice-grand-row strong{font-size:17px}.post-print{border-color:#8fc8b3;color:#175d49}@media(max-width:600px){.invoice-tax-controls{align-items:stretch;flex-direction:column}.tax-mode-field{width:100%;min-width:0}.invoice-total-summary{width:100%}}
.ledger-tree-account td{background:#edf7f2!important;border-top:2px solid #c8ddd4!important;padding:12px 14px!important;color:#164d3e}.ledger-tree-account:first-child td{border-top:0!important}.ledger-tree-account td:first-child{font-size:13px}.ledger-tree-account small{margin-left:10px;color:#71827b;font-size:9px}.ledger-tree-toggle{display:inline-grid;place-items:center;width:20px;height:20px;margin-right:8px;border-radius:5px;background:#d7ece3;color:#197257}.ledger-tree-entry td:first-child{position:relative;width:55px;background:#fbfdfc}.ledger-tree-branch{display:block;padding-left:12px;color:#7aa694;font:600 16px/1 monospace}.ledger-tree-entry:hover td{background:#f7fbf9}
.voucher-lines tr.service-line .qty-col{position:relative;background:#f7faf9}.voucher-lines tr.service-line .qty-col input{display:none}.voucher-lines tr.service-line .qty-col::after{content:"Service";display:block;text-align:center;color:#477064;font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.05em}
.outstanding-chart{margin:24px 20px 4px;padding:20px;border:1px solid var(--line);border-radius:14px;background:#fbfdfc}.outstanding-chart-head{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:18px}.outstanding-chart-head small{display:block;color:#258264;font-size:9px;font-weight:800;letter-spacing:.12em}.outstanding-chart-head h3{margin:5px 0 0;font-size:17px}.outstanding-chart-head>strong{font-size:20px}.outstanding-chart-body{display:grid;grid-template-columns:220px minmax(280px,1fr);align-items:center;gap:32px}.outstanding-pie{width:210px;aspect-ratio:1;border-radius:50%;display:grid;place-items:center;box-shadow:0 10px 28px #173f3517}.outstanding-pie>div{width:54%;aspect-ratio:1;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#fff;box-shadow:0 2px 10px #173f3515}.outstanding-pie small{color:var(--muted);font-size:9px}.outstanding-pie b{margin-top:4px;font-size:14px}.outstanding-legend{display:grid;grid-template-columns:repeat(2,minmax(190px,1fr));gap:8px 18px}.outstanding-legend>div{display:grid;grid-template-columns:10px minmax(0,1fr) auto;align-items:center;gap:9px;padding:8px 10px;border-bottom:1px solid #e5ece9}.outstanding-legend i{width:9px;height:9px;border-radius:3px}.outstanding-legend span{min-width:0}.outstanding-legend b,.outstanding-legend small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.outstanding-legend b{font-size:11px}.outstanding-legend small{margin-top:2px;color:var(--muted);font-size:9px}.outstanding-legend strong{font-size:11px}@media(max-width:720px){.outstanding-chart-body{grid-template-columns:1fr}.outstanding-pie{margin:auto}.outstanding-legend{grid-template-columns:1fr}}
.outstanding-tree-party td{background:#edf7f2!important;border-top:2px solid #c8ddd4!important;padding:11px 14px!important;color:#164d3e}.outstanding-tree-party:first-child td{border-top:0!important}.outstanding-tree-party small{margin-left:10px;color:#71827b;font-size:9px}.outstanding-tree-document td:first-child{width:62px;background:#fbfdfc}.outstanding-tree-document:hover td{background:#f7fbf9}
.inline-select-action{display:flex;gap:8px;align-items:stretch}.inline-select-action select,.inline-select-action .referrer-combobox{flex:1;min-width:0}.inline-select-action .btn{padding:0 14px}.referrer-field{align-self:end}.referrer-search{height:100%}
.reconciliation-console{width:min(1500px,calc(100vw - 28px))!important;height:min(94vh,960px);max-height:94vh;display:grid;grid-template-rows:auto minmax(0,1fr) auto;overflow:hidden;border-radius:18px}.reconciliation-console>.modal-head{position:static;padding:14px 20px}.reconciliation-console>.modal-body{min-height:0;overflow:hidden;padding:14px 18px}.reconciliation-console>.modal-foot{position:static;padding:10px 18px}.reconciliation-console .reconcile-workspace{height:100%;min-height:0;display:grid;grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr);grid-template-rows:auto auto auto minmax(0,1fr) auto;gap:10px}.reconciliation-console .reconcile-topbar,.reconciliation-console .reconcile-balance-strip,.reconciliation-console .reconcile-progress,.reconciliation-console .reconcile-footer-status{grid-column:1/-1}.reconciliation-console .reconcile-topbar{padding:0 2px 3px}.reconciliation-console .reconcile-balance-strip>div{padding:10px 14px}.reconciliation-console .reconcile-balance-strip strong{font-size:17px}.reconciliation-console .reconcile-progress{padding:9px 13px}.reconciliation-console .reconcile-section{min-width:0;min-height:0;display:flex;flex-direction:column}.reconciliation-console .reconcile-section-head{flex:0 0 auto;padding:11px 13px}.reconciliation-console .reconcile-section-head h3{font-size:12px}.reconciliation-console .reconcile-section-head p{font-size:9px}.reconciliation-console .reconcile-section .table-wrap{min-height:0;flex:1;overflow:auto;overscroll-behavior:contain}.reconciliation-console .reconcile-section table{width:100%;min-width:680px}.reconciliation-console .reconcile-section thead{position:sticky;top:0;z-index:2;background:#f7faf8;box-shadow:0 1px 0 var(--line)}.reconciliation-console .reconcile-section th,.reconciliation-console .reconcile-section td{padding:9px 11px}.reconciliation-console .reconcile-footer-status{padding:10px 13px}.reconcile-review-tools{display:flex;align-items:center;gap:8px;flex:0 0 auto;padding:8px 10px;border-bottom:1px solid var(--line);background:#fff}.reconcile-search{position:relative;flex:1;min-width:150px}.reconcile-search span{position:absolute;left:10px;top:50%;transform:translateY(-50%);color:#668079;font-size:16px}.reconcile-search input{width:100%;height:34px;padding:7px 10px 7px 31px;border:1px solid var(--line);border-radius:8px;font-size:11px}.reconcile-direction{width:145px;height:34px;padding:6px 9px;border:1px solid var(--line);border-radius:8px;background:#fff;font-size:10px}.reconcile-visible-count{white-space:nowrap;color:var(--muted);font-size:9px;font-weight:750}.reconciliation-console .statement-ledger-check input{width:19px;height:19px}.reconciliation-console .ledger-review-panel{grid-column:1}.reconciliation-console .statement-activity-panel{grid-column:2}.reconciliation-console .reconcile-footer-status{margin-top:0}@media(max-width:1050px){.reconciliation-console{height:96vh;max-height:96vh}.reconciliation-console>.modal-body{overflow:auto}.reconciliation-console .reconcile-workspace{height:auto;display:flex}.reconciliation-console .reconcile-section .table-wrap{max-height:42vh}.reconciliation-console .reconcile-balance-strip{grid-template-columns:repeat(2,1fr)}}@media(max-width:620px){.reconciliation-console{width:calc(100vw - 8px)!important;height:98vh;max-height:98vh}.reconciliation-console>.modal-body{padding:10px}.reconcile-review-tools{align-items:stretch;flex-wrap:wrap}.reconcile-search{flex-basis:100%}.reconcile-direction{flex:1}.reconciliation-console .reconcile-section .table-wrap{max-height:48vh}}
