@import "https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600&display=swap";body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0;font-family:Inter,sans-serif}@keyframes btn-spinner-rotate{to{transform:rotate(360deg)}}.btn-spinner{vertical-align:-1.5px;border:2px solid;border-right-color:#0000;border-radius:50%;width:11px;height:11px;margin-right:5px;animation:.6s linear infinite btn-spinner-rotate;display:inline-block}.page-lock-overlay{z-index:3000;background:#1c2b3a59;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.page-lock-card{background:#fff;border-radius:10px;flex-direction:column;align-items:center;gap:14px;min-width:220px;padding:28px 36px;display:flex;box-shadow:0 10px 30px #00000040}.page-lock-spinner{border:3px solid var(--color-rule,#d7dde3);border-top-color:var(--color-navy,#1c2b3a);border-radius:50%;width:32px;height:32px;animation:.8s linear infinite btn-spinner-rotate}.page-lock-progress{background:var(--color-rule,#e3e7ec);border-radius:2px;width:100%;height:4px;position:relative;overflow:hidden}.page-lock-progress:after{content:"";background:var(--color-navy,#1c2b3a);border-radius:2px;width:40%;height:100%;animation:1.1s ease-in-out infinite page-lock-progress-move;position:absolute;top:0;left:-40%}@keyframes page-lock-progress-move{0%{left:-40%}50%{left:60%}to{left:100%}}:root{--color-navy:#1c2b3a;--color-navy-light:#2a3f54;--color-sidebar:#328e6f;--color-sidebar-light:#46997b;--color-paper:#f7f5f0;--color-paper-card:#fff;--color-ink:#23282d;--color-ink-muted:#6b6f73;--color-teal:#2f6f62;--color-teal-light:#e6efed;--color-sky:#cfe8f7;--color-sky-ink:#0f2940;--color-rule:#dcd8cc;--color-balanced:#2f6f62;--color-balanced-bg:#e6efed;--color-unbalanced:#a13d2e;--color-unbalanced-bg:#f6e7e3;--color-sparkle:#ecab34;--font-serif:Georgia, "Source Serif 4", "Times New Roman", serif;--font-sans:-apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--font-mono:"Consolas", "SF Mono", "Courier New", monospace}*{box-sizing:border-box}html,body,#root{width:100%;max-width:none;margin:0}body{font-family:var(--font-sans);color:var(--color-ink);background:var(--color-paper)}.app-shell{width:100%;min-height:100vh;display:flex}.sidebar{background:linear-gradient(160deg, var(--color-navy,#16283c) 0%, var(--color-navy-light,#24425e) 100%);color:#fff;border:1px solid #ffd682;border-radius:14px;flex-direction:column;flex-shrink:0;width:240px;margin:12px 0 12px 12px;padding:28px 0;display:flex;box-shadow:0 8px 24px #00000059,0 0 50px #ecab3438}.brand{font-family:var(--font-serif);letter-spacing:.01em;text-align:center;color:inherit;cursor:pointer;border-bottom:1px solid #ecab3459;flex-direction:column;align-items:center;gap:10px;margin-bottom:16px;padding:0 24px 28px;font-size:20px;font-weight:700;text-decoration:none;display:flex}.sidebar-logo{object-fit:contain;background:#ffffff0f;border:1px solid #ffd682;border-radius:4px;max-width:80px;max-height:50px;padding:6px 8px}.sidebar nav{flex-direction:column;gap:2px;padding:0 12px;display:flex;overflow-y:auto}.sidebar-user-block{border-top:1px solid #ecab3459;margin-top:auto;padding:16px 20px 0}.sidebar-user-info{flex-direction:column;gap:2px;margin-bottom:10px;display:flex}.sidebar-user-name{font-family:var(--font-sans);color:#fff;font-size:13.5px;font-weight:600}.sidebar-user-role{text-transform:uppercase;letter-spacing:.05em;color:#ffffffbf;font-size:11px}.sidebar-logout-btn{color:#ffffffe6;width:100%;font-family:var(--font-sans);cursor:pointer;background:0 0;border:1px solid #ffd68299;border-radius:5px;padding:8px 0;font-size:13px;transition:background .15s,color .15s}.sidebar-logout-btn:hover{color:#fff;background:#ecab3447;border-color:#ffd682;box-shadow:0 0 8px 1px #ffd682cc,0 0 20px 3px #ecab348c}.auth-loading-screen{height:100vh;font-family:var(--font-sans);color:#8a96a3;background:#f7f5f0;justify-content:center;align-items:center;display:flex}.auth-screen{background:radial-gradient(circle at 20% 15%,#1c3a56 0%,#0f2940 45%,#081826 100%);justify-content:center;align-items:center;min-height:100vh;padding:24px;display:flex;position:relative;overflow:hidden}.auth-bg-decor{pointer-events:none;position:absolute;inset:0;overflow:hidden}.auth-blob{filter:blur(70px);border-radius:50%;position:absolute}.auth-blob-1{opacity:.55;background:#e8a33c;width:260px;height:260px;top:-80px;left:-60px}.auth-blob-2{opacity:.5;background:#d9542f;width:200px;height:200px;top:40px;left:120px}.auth-blob-3{opacity:.4;background:#f2c94c;width:180px;height:180px;top:-40px;left:280px}.auth-blob-4{opacity:.45;background:#1f7a6c;width:420px;height:420px;bottom:-140px;left:-100px}.auth-blob-5{opacity:.45;background:#c94f3d;width:300px;height:300px;bottom:-100px;right:-80px}.auth-blob-6{opacity:.4;background:#e8a33c;width:160px;height:160px;bottom:60px;right:140px}.auth-blob-7{opacity:.5;background:#2a5578;width:220px;height:220px;top:30%;right:-60px}.auth-content{z-index:1;flex-direction:column;align-items:center;width:100%;max-width:420px;display:flex;position:relative}.auth-brand{flex-direction:column;align-items:center;margin-bottom:28px;display:flex}.auth-brand-fallback{font-family:var(--font-serif);letter-spacing:.02em;color:#fff;margin-bottom:14px;font-size:26px;font-weight:700}.auth-brand-subtitle{font-family:var(--font-sans);color:#ffffffad;letter-spacing:.01em;margin:0;font-size:14px}.auth-footer{font-family:var(--font-sans);color:#ffffff73;text-align:center;margin-top:26px;font-size:12px}.auth-card{background:#fff;border-top:3px solid #c98a3e;border-radius:10px;width:100%;max-width:400px;padding:34px 34px 30px;box-shadow:0 20px 50px #00000059,0 2px 6px #00000026}.auth-logo{object-fit:contain;filter:drop-shadow(0 4px 14px #00000059);max-width:170px;max-height:76px;margin:0 auto 14px;display:block}.auth-title{font-family:var(--font-serif);letter-spacing:.01em;color:#0f2940;text-align:center;margin:0;font-size:19px;font-weight:600;line-height:1.4}.auth-title-rule{background:var(--brand-green,#c98a3e);width:56px;height:2px;margin:16px auto 28px}.auth-setup-intro{font-family:var(--font-sans);color:#5b6b78;text-align:center;margin:0 0 26px;font-size:13.5px;line-height:1.5}.auth-form{flex-direction:column;gap:18px;display:flex}.auth-form label{font-family:var(--font-sans);letter-spacing:.02em;text-transform:uppercase;color:#5b6b78;flex-direction:column;gap:7px;font-size:12.5px;font-weight:600;display:flex}.auth-form input{font-size:14.5px;font-family:var(--font-sans);color:#1f2d36;background:#fbfbfa;border:1px solid #d8dde2;border-radius:5px;padding:12px 14px;transition:border-color .15s,box-shadow .15s}.auth-form input::placeholder{color:#aab3bb;font-weight:400}.auth-form input:focus{background:#fff;border-color:#c98a3e;outline:none;box-shadow:0 0 0 3px #c98a3e26}.auth-form-actions{justify-content:flex-end;gap:10px;margin-top:6px;display:flex}.auth-form-actions button{font-family:var(--font-sans);cursor:pointer;border:none;border-radius:5px;padding:11px 22px;font-size:14px;font-weight:600}.auth-clear-btn{color:#5b6b78;background:#fff;border:1px solid #d8dde2!important}.auth-clear-btn:hover{color:#0f2940;background:#f4f5f6}.auth-form-actions button[type=submit]{color:#fff;background:#0f2940;flex:1}.auth-form-actions button[type=submit]:hover:not(:disabled){background:#163a59}.auth-form-actions button[type=submit]:disabled{opacity:.6;cursor:default}.nav-item{text-align:left;color:#ffffffeb;font-family:var(--font-sans);cursor:pointer;background:0 0;border:none;border-radius:5px;padding:11px 12px;font-size:14px;transition:background .22s cubic-bezier(.22,1,.36,1),color .22s cubic-bezier(.22,1,.36,1),box-shadow .22s cubic-bezier(.22,1,.36,1),transform .22s cubic-bezier(.22,1,.36,1)}.nav-item:hover{color:#fff;background:#ecab3447;transform:translate(2px);box-shadow:0 0 8px 1px #ffd682e6,0 0 24px 4px #ecab34bf}.nav-item.active{color:var(--color-navy);background:#fff;font-weight:600;box-shadow:0 3px 16px #ecab3499}.nav-item:focus-visible{outline-offset:2px;outline:2px solid #ffd682}.nav-group-toggle{justify-content:space-between;align-items:center;display:flex}.nav-group-arrow{font-size:11px;transition:transform .15s;display:inline-block}.nav-group-arrow.open{transform:rotate(180deg)}.nav-group{flex-direction:column;gap:2px;margin-bottom:2px;padding-left:10px;display:flex}.nav-subitem{text-align:left;color:#a7b3bd;font-family:var(--font-sans);cursor:pointer;background:0 0;border:none;border-left:3px solid #0000;border-radius:5px;padding:9px 12px;font-size:13px;transition:background .22s cubic-bezier(.22,1,.36,1),color .22s cubic-bezier(.22,1,.36,1),border-color .22s cubic-bezier(.22,1,.36,1),box-shadow .22s cubic-bezier(.22,1,.36,1),transform .22s cubic-bezier(.22,1,.36,1)}.nav-subitem:hover{color:#fff;background:#ecab343d;border-left-color:#ffd682;transform:translate(4px);box-shadow:0 0 7px 1px #ffd682d9,0 0 20px 3px #ecab3499}.nav-subitem.active{color:#fff;background:#ecab344d;border-left-color:#ffd682;font-weight:600;box-shadow:0 0 12px 1px #ecab3473}.infinite-scroll-container{flex-direction:column;display:flex}.infinite-scroll-sentinel{height:1px}.infinite-scroll-loading,.infinite-scroll-end{text-align:center;padding:14px 0}.page-size-select{font-family:var(--font-sans);color:var(--color-ink-muted);white-space:nowrap;align-items:center;gap:6px;font-size:13px;display:flex}.page-size-select select{border:1px solid var(--color-rule);border-radius:4px;padding:6px 8px;font-size:13px}.list-controls-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-bottom:12px;display:flex}.page-header-row{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:8px;display:flex}.main-content{background:var(--color-paper-card);border:1px solid var(--color-rule);border-radius:14px;flex:1;width:100%;min-width:0;margin:12px;padding:clamp(20px,4vw,40px) clamp(20px,5vw,48px)}.home-page{justify-content:center;align-items:center;min-height:calc(100vh - 160px);display:flex}.home-hero{text-align:center;max-width:520px}.home-logo{object-fit:contain;max-width:180px;max-height:80px;margin:0 auto 22px;display:block}.home-title{font-family:var(--font-serif);color:#0f2940;margin:0;font-size:clamp(22px,3vw,30px);font-weight:600;line-height:1.4}.home-greeting{font-family:var(--font-sans);color:#5b6b78;margin:28px 0 0;font-size:14px}.page h1{font-family:var(--font-serif);color:var(--color-navy);margin:0 0 4px;font-size:28px;font-weight:700}.page-subtitle{color:var(--color-ink-muted);margin:0 0 24px;font-size:14px}.status-text{color:var(--color-ink-muted);padding:24px 0;font-size:14px}.status-text.error{color:var(--color-unbalanced)}.data-table{border-collapse:collapse;background:var(--color-paper-card);border:1px solid var(--color-rule);width:100%;font-size:14px}.data-table thead th{text-align:left;text-transform:uppercase;letter-spacing:.04em;color:var(--color-navy);border-bottom:2px solid var(--color-rule);z-index:10;background:#fbfaf7;padding:12px 16px;font-size:12px;font-weight:700;position:sticky;top:0;box-shadow:0 2px 4px #00000014}.data-table td{border-bottom:1px solid var(--color-rule);font-family:var(--font-mono);text-align:left;padding:10px 16px;font-size:13.5px}.data-table td:nth-child(2){font-family:var(--font-sans)}.num-col{text-align:right;font-variant-numeric:tabular-nums}.type-badge{font-family:var(--font-sans);font-size:12.5px;font-weight:600}.totals-row td{border-top:2px solid var(--color-navy);background:#fbfaf7;border-bottom:none;font-weight:700}.totals-row td:first-child{font-family:var(--font-sans)}.balance-banner{border-left:4px solid #0000;border-radius:6px;margin-top:20px;padding:14px 18px;font-size:14px;font-weight:600}.balance-banner.balanced{background:var(--color-balanced-bg);color:var(--color-balanced);border-left-color:var(--color-balanced)}.balance-banner.unbalanced{background:var(--color-unbalanced-bg);color:var(--color-unbalanced);border-left-color:var(--color-unbalanced)}.entry-form{background:var(--color-paper-card);border:1px solid var(--color-rule);border-radius:6px;flex-direction:column;gap:18px;max-width:640px;padding:28px 28px 80px;display:flex}.entry-form.wide-form{max-width:100%}.form-row{flex-wrap:wrap;gap:18px;display:flex}.form-row label{flex:1;min-width:0}label{color:var(--color-ink-muted);flex-direction:column;gap:6px;font-size:13px;font-weight:600;display:flex}label.full-width{width:100%}input,select{font-family:var(--font-sans);color:var(--color-ink);background:#fff;border:1px solid #c9ccd1;border-radius:6px;padding:10px 12px;font-size:14px;font-weight:400;transition:border-color .15s,box-shadow .15s}input:focus-visible,select:focus-visible{border-color:var(--color-teal);outline:none;box-shadow:0 0 0 3px #2f6f6229}button[type=submit]{background:var(--brand-green);color:#fff;cursor:pointer;border:none;border-radius:5px;align-self:flex-start;padding:10px 22px;font-size:14px;font-weight:600;transition:background .15s}button[type=submit]:hover{background:var(--brand-green-dark)}button[type=submit]:disabled{cursor:not-allowed;background:#9fb3ae}button:focus-visible{outline:2px solid var(--color-navy);outline-offset:2px}.form-message{margin:0;font-size:13.5px;font-weight:600}.form-message.error{color:var(--color-unbalanced)}.form-message.success{color:var(--color-balanced)}.logo-uploader{align-items:center;gap:18px;margin-bottom:8px;display:flex}.logo-preview{border:1px solid var(--color-rule);background:var(--color-paper);border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;width:88px;height:88px;display:flex;overflow:hidden}.logo-preview img{object-fit:contain;max-width:100%;max-height:100%}.logo-placeholder{color:var(--color-ink-muted);text-transform:uppercase;letter-spacing:.03em;font-size:11px}.logo-upload-btn{border:1px solid var(--color-rule);color:var(--color-ink);cursor:pointer;background:0 0;border-radius:5px;padding:9px 18px;font-size:13.5px;font-weight:600;display:inline-block}.logo-upload-btn:hover{background:var(--color-paper)}.settings-form{max-width:720px}.search-bar-row{gap:12px;margin-bottom:16px;display:flex}.search-input{font-family:var(--font-sans);border:1px solid var(--color-rule);background:#fff;border-radius:5px;flex:1;padding:10px 14px;font-size:14px}.search-input:focus-visible{outline:2px solid var(--color-teal);outline-offset:1px}.new-record-btn{background:var(--color-teal);color:#fff;cursor:pointer;white-space:nowrap;border:none;border-radius:5px;padding:10px 18px;font-size:14px;font-weight:600}.new-record-btn:hover{background:#265a4f}.results-table{margin-bottom:28px}.result-row{cursor:pointer}.result-row:hover td{background:var(--color-paper)}.result-row.selected td{background:var(--color-teal-light)}.editor-card{background:var(--color-paper-card);border:1px solid var(--color-rule);box-sizing:border-box;border-radius:6px;width:100%;padding:24px 28px}.editor-heading{font-family:var(--font-serif);color:var(--color-navy);margin:0 0 16px;font-size:19px}.role-label-editor{margin-bottom:24px}.role-label-rows{flex-direction:column;gap:12px;display:flex}.role-label-row{align-items:center;gap:14px;display:flex}.role-label-original{color:var(--color-ink-muted);flex:0 0 160px;font-size:13.5px;font-weight:600}.role-label-row input{flex:1;max-width:280px}.feature-toggle-rows{flex-direction:column;gap:4px;display:flex}.feature-toggle-row{border-bottom:1px solid var(--color-rule);justify-content:space-between;align-items:center;padding:12px 4px;display:flex}.feature-toggle-row:last-child{border-bottom:none}.feature-toggle-label{color:var(--color-ink);align-items:center;gap:8px;font-size:14px;font-weight:600;display:flex}.feature-toggle-switch{flex-shrink:0;width:44px;height:24px;display:inline-block;position:relative}.feature-toggle-switch input{opacity:0;width:0;height:0}.feature-toggle-slider{cursor:pointer;background-color:#d8dde2;border-radius:24px;transition:background-color .15s;position:absolute;inset:0}.feature-toggle-slider:before{content:"";background-color:#fff;border-radius:50%;width:18px;height:18px;transition:transform .15s;position:absolute;bottom:3px;left:3px;box-shadow:0 1px 3px #0003}.feature-toggle-switch input:checked+.feature-toggle-slider{background-color:var(--color-teal)}.feature-toggle-switch input:checked+.feature-toggle-slider:before{transform:translate(20px)}.feature-toggle-switch input:disabled+.feature-toggle-slider{opacity:.6;cursor:not-allowed}.tab-strip{border-bottom:1px solid var(--color-rule);gap:4px;margin-bottom:20px;display:flex}.tab-btn{color:var(--color-ink-muted);cursor:pointer;background:0 0;border:none;border-bottom:3px solid #0000;margin-bottom:-1px;padding:10px 18px;font-size:14px;font-weight:700}.tab-btn:hover{color:var(--color-navy)}.tab-btn.active{color:#fff;background:var(--color-navy);border-bottom-color:var(--color-navy);border-radius:6px 6px 0 0}.tab-panel{flex-direction:column;gap:18px;margin-bottom:18px;display:flex}.tab-section-heading{font-family:var(--font-sans);text-transform:uppercase;letter-spacing:.07em;color:var(--color-teal);border-top:1px solid var(--color-rule);margin:8px 0 -4px;padding-top:18px;font-size:12.5px;font-weight:700}.tab-subheading{font-family:var(--font-sans);color:var(--color-ink);margin:4px 0 -6px;font-size:13.5px;font-weight:600}.tab-panel .form-row,.tab-panel label{margin:0}.regulatory-table{margin-bottom:8px}.inline-add-form{flex-direction:column;gap:14px;display:flex}.inline-add-row{gap:6px;display:flex}.inline-add-row input{flex:1}.inline-add-row button{border:1px solid var(--color-rule);cursor:pointer;white-space:nowrap;background:#fff;border-radius:5px;padding:8px 12px;font-size:12.5px}input:disabled,select:disabled{color:var(--color-ink-muted);cursor:not-allowed;background:#f1efe7}.field-hint{color:var(--color-ink-muted);text-transform:none;letter-spacing:normal;margin-top:-2px;font-size:11.5px;font-weight:400}.bill-line-header-v3.no-tax,.bill-line-row-v3.no-tax{grid-template-columns:1.1fr 1.4fr 140px 1.3fr 45px 85px 120px 120px 32px!important}.bill-line-header-v3.with-vat,.bill-line-row-v3.with-vat{min-width:unset;grid-template-columns:1fr 1.8fr 140px 1fr .3fr .8fr 1fr .4fr .95fr 1fr 28px!important;gap:6px!important}.bill-line-header-v3.with-vat-sd,.bill-line-row-v3.with-vat-sd{min-width:unset;grid-template-columns:1fr 1.6fr 140px .85fr 93px .85fr 1.15fr 74px 1.05fr 74px 1.05fr 1.2fr 28px!important;gap:6px!important}.product-bill-line-row.no-tax{grid-template-columns:1fr 1fr 1fr 1.6fr 70px 70px 110px 120px 120px 32px!important}.product-bill-line-row.with-vat{min-width:unset;grid-template-columns:.9fr .9fr .9fr 1.5fr 60px .5fr .9fr 1fr .5fr .95fr 1fr 28px!important;gap:6px!important}.product-bill-line-row.with-vat-sd{min-width:unset;grid-template-columns:.85fr .85fr .85fr 1.4fr 55px 80px .85fr 1fr 65px .9fr 65px .9fr 1.1fr 28px!important;gap:6px!important}.bill-line-header-v3 .lh-center{text-align:center}.bill-line-header-v3 span{font-weight:700}.shift-right-half-in{margin-left:48px}.load-items-row{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:4px;display:flex}.load-items-row select{max-width:280px}.load-items-hint{flex-basis:100%;margin:0}.price-reference-table{margin-bottom:8px}.bill-line-header-v2.no-tax,.bill-line-row-v2.no-tax{grid-template-columns:1.6fr 1.4fr 60px 90px 100px 100px 32px!important}.bill-line-header-v2.with-vat,.bill-line-row-v2.with-vat{grid-template-columns:1.4fr 1.2fr 55px 80px 90px 65px 80px 90px 32px!important}.bill-line-header-v2.with-vat-sd,.bill-line-row-v2.with-vat-sd{grid-template-columns:1.2fr 1fr 50px 70px 85px 55px 70px 55px 70px 85px 32px!important}.line-price-hint{margin:-4px 0 8px;font-size:12px}.bill-line-header.no-tax,.bill-line-row.no-tax{grid-template-columns:1.6fr 70px 100px 110px 110px 32px!important}.bill-line-header.with-vat,.bill-line-row.with-vat{grid-template-columns:1.4fr 60px 90px 100px 70px 90px 100px 32px!important}.bill-line-header.with-vat-sd,.bill-line-row.with-vat-sd{grid-template-columns:1.2fr 55px 80px 95px 60px 80px 60px 80px 95px 32px!important}.line-readout{font-family:var(--font-mono);text-align:right;color:var(--color-ink-muted);align-self:center;padding-right:4px;font-size:13px}.line-readout.total-readout{color:var(--color-ink);font-weight:600}.price-batch-row{grid-template-columns:1fr 1.4fr 110px 70px 110px 130px 130px 32px!important}.product-price-batch-row{grid-template-columns:1fr 1.3fr 1.3fr 110px 70px 110px 130px 130px 32px!important}.field-hint.price-hint{color:var(--color-ink);background:#eef6f0;border:1px solid #cde3d2;border-radius:4px;padding:8px 12px;font-size:13px}.lines-editor{flex-direction:column;gap:8px;display:flex;overflow:auto visible}.lines-grid-scroll{overflow-x:auto}.lines-editor-header{text-transform:uppercase;letter-spacing:.03em;color:var(--color-ink-muted);grid-template-columns:1fr 110px 110px 32px;gap:10px;padding:0 2px;font-size:11px;font-weight:600;display:grid}.line-editor-row{grid-template-columns:1fr 110px 110px 32px;align-items:center;gap:10px;display:grid;overflow:visible}.lines-editor-header .lh-amount,.ledger-row .lh-amount{text-align:right}.debit-input{border-color:var(--color-rule)}.debit-input:focus-visible{outline-color:var(--color-teal)}.credit-input:focus-visible{border-color:#854f0b;outline-color:#854f0b}.optional-tag{text-transform:none;color:#9a968a;margin-left:4px;font-size:10.5px;font-weight:500}.line-editor-row select,.line-editor-row input{margin:0}.remove-line-btn{color:var(--color-ink-muted);cursor:pointer;background:0 0;border:none;border-radius:5px;width:32px;height:32px;font-size:15px}.remove-line-btn:hover:not(:disabled){background:var(--color-unbalanced-bg);color:var(--color-unbalanced)}.remove-line-btn:disabled{opacity:.3;cursor:not-allowed}.add-line-btn{border:1px dashed var(--color-rule);color:var(--color-teal);cursor:pointer;background:0 0;border-radius:5px;align-self:flex-start;margin-top:4px;padding:8px 16px;font-size:13px;font-weight:600}.add-line-btn:hover{background:var(--color-teal-light)}.running-totals{font-family:var(--font-mono);color:var(--color-unbalanced);background:var(--color-unbalanced-bg);border-radius:5px;gap:20px;padding:10px 16px;font-size:13.5px;font-weight:600;display:flex}.running-totals.ok{color:var(--color-balanced);background:var(--color-balanced-bg)}.running-totals .diff{margin-left:auto}.toast-stack{z-index:200;flex-direction:column;gap:10px;display:flex;position:fixed;bottom:24px;right:24px}.toast{background:var(--color-navy);color:#fff;cursor:pointer;border-radius:6px;align-items:center;gap:10px;max-width:360px;padding:13px 18px;font-size:13.5px;font-weight:600;animation:.25s toast-in;display:flex;box-shadow:0 8px 24px #0003}@keyframes toast-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.toast-icon{border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:20px;height:20px;font-size:12px;display:flex}.toast-success .toast-icon{background:var(--color-teal)}.toast-error .toast-icon{background:var(--color-unbalanced)}@media (prefers-reduced-motion:reduce){.toast{animation:none}}.voucher-overlay{z-index:100;background:#1c2b3a8c;justify-content:center;align-items:center;padding:12px;display:flex;position:fixed;inset:0}.voucher-modal{background:#fff;border-radius:8px;width:100%;max-width:960px;max-height:97vh;padding:28px 48px;position:relative;overflow-y:auto;box-shadow:0 20px 60px #00000040}.voucher-close{color:var(--color-ink-muted);cursor:pointer;background:0 0;border:none;border-radius:50%;width:30px;height:30px;font-size:16px;position:absolute;top:16px;right:16px}.voucher-close:hover{background:var(--color-paper)}.voucher-header{text-align:center;border-bottom:2px solid var(--color-navy);margin-bottom:28px;padding-bottom:20px}.voucher-logo{object-fit:contain;max-width:140px;max-height:64px;margin:0 auto 10px;display:block}.voucher-header h2{font-family:var(--font-serif);color:var(--color-navy);margin:0 0 4px;font-size:24px}.voucher-title-bold{color:#1d4ed8;font-weight:700}.voucher-subtitle{color:var(--color-ink-muted);text-transform:uppercase;letter-spacing:.05em;margin:0;font-size:12.5px}.voucher-meta{grid-template-columns:1fr 1fr;gap:18px 28px;margin-bottom:26px;display:grid}.voucher-greeting{margin:0 0 20px;font-size:13.5px;line-height:1.6}.voucher-greeting p{margin:0 0 4px}.voucher-table-caption{margin:0 0 8px;font-size:13.5px;font-weight:700}.voucher-bank-box{border:1px solid var(--color-rule);background:#f7f6f1;border-radius:6px;margin:0 0 16px;padding:14px 16px}.voucher-bkash-box{background:#fdeef4;border:1px solid #e6a9c4;border-radius:6px;margin:0 0 12px;padding:12px 16px;font-size:11.5px;line-height:1.5}.voucher-bkash-box b{color:#97114f}.voucher-bank-title{margin:0 0 10px;font-size:12.5px;font-weight:700}.voucher-bank-grid{grid-template-columns:1fr 1fr;gap:6px 24px;display:grid}.voucher-bank-cell{font-size:13px;line-height:1.5}.voucher-description{margin:0 0 12px;font-size:13px;line-height:1.5}.voucher-thank-you{text-align:center;color:var(--color-ink-muted);margin:0 0 16px;font-size:13px;font-style:italic;line-height:1.5}.voucher-tax-exemption{color:var(--color-ink-muted);margin:0 0 24px;font-size:12.5px;line-height:1.6}.voucher-company-footer{text-align:center;color:var(--color-ink-muted);margin-top:8px;font-size:11px}.voucher-company-footer p{margin:0 0 2px}.tax-invoice-parties{border:1px solid var(--color-rule);background:#f7f6f1;border-radius:6px;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:10px;padding:14px 16px;display:grid}.tax-invoice-party h3{font-family:var(--font-sans);text-transform:uppercase;letter-spacing:.06em;color:var(--color-ink-muted);margin:0 0 6px;font-size:11px}.mushak-supplier-logo{object-fit:contain;max-width:120px;max-height:60px;margin-bottom:6px;display:block}.tax-invoice-party p{margin:0 0 2px;font-size:13px;line-height:1.4}.tax-invoice-party .party-name{font-size:14px;font-weight:700}.tax-invoice-modal{max-width:1000px}.credit-note-form-modal{max-width:720px}.credit-note-picker-modal{max-width:640px}.credit-note-lines-table th,.credit-note-lines-table td{padding:8px 6px;font-size:13px}.credit-qty-input{text-align:right;width:80px}.mushak-header{text-align:center;margin-bottom:8px}.mushak-gov-line,.mushak-nbr-line{font-family:var(--font-sans);margin:0;font-size:13px;font-weight:600}.mushak-form-stamp{color:var(--color-ink-muted);justify-content:space-between;align-items:flex-start;margin-bottom:10px;font-size:12px;font-weight:600;display:flex}.mushak-copy-label{border:1px solid var(--color-ink-muted);border-radius:3px;padding:2px 8px}.mushak-title{text-align:center;margin:2px 0 0;font-size:16px;font-weight:700}.mushak-subtitle{text-align:center;color:var(--color-ink-muted);margin:0 0 16px;font-size:11px}.mushak-meta-row{border-bottom:1px solid var(--color-rule);grid-template-columns:repeat(4,1fr);gap:4px 16px;margin-bottom:8px;padding-bottom:12px;display:grid}.mushak-table th,.mushak-table td{border-bottom:1px solid #000;border-left:1px solid #000;border-right:1px solid #000;padding:4px 5px;font-size:11.5px}.mushak-table thead th{background:#e9e9e9;border-bottom:2px solid #000!important}.mushak-table th,.mushak-table td{border-bottom:1px solid #000!important}.mushak-table tfoot tr td{background:#e9e9e9;padding:2px 5px}.mushak-table th:first-child,.mushak-table td:first-child{border-left:1px solid #000}.mushak-table th:last-child,.mushak-table td:last-child{border-right:1px solid #000}.mushak-table thead tr:first-child th{border-top:1px solid #000}.mushak-signature-block{grid-template-columns:1fr 1fr 1fr;gap:12px;margin:20px 0 12px;font-size:12px;display:grid}.mushak-signature-line{text-align:center;color:var(--color-ink-muted);flex-direction:column;align-self:end;display:flex}.mushak-signature-line-text{border-top:1px solid var(--color-ink);padding-top:4px}.mushak-footnote{color:var(--color-ink-muted);margin:4px 0 0;font-size:11px}.vm-label{text-transform:uppercase;letter-spacing:.03em;color:var(--color-ink-muted);margin-bottom:2px;font-size:11px;display:block}.vm-value{font-size:14px;font-weight:600;font-family:var(--font-mono);display:block}.voucher-narration{color:var(--color-ink-muted);margin:0 0 26px;font-size:13.5px;font-style:italic;line-height:1.6}.voucher-narration .narration-label{text-transform:uppercase;letter-spacing:.03em;margin-right:4px;font-size:11px;font-style:normal;font-weight:600}.voucher-signature-gap{height:2.2em}.voucher-table{border-collapse:collapse;width:100%;margin-bottom:30px;font-size:13.5px}.voucher-table th{text-align:left;text-transform:uppercase;letter-spacing:.03em;color:var(--color-ink-muted);border-bottom:2px solid var(--color-rule);padding:12px 6px;font-size:11px}.voucher-table td{font-family:var(--font-mono);border-bottom:1px solid var(--color-rule);padding:12px 6px}.voucher-table td:first-child{font-family:var(--font-sans)}.voucher-table tfoot td{border-top:2px solid var(--color-navy);border-bottom:none;font-weight:700}.voucher-amount-in-words{color:var(--color-ink-muted);text-align:right;margin:-10px 0 24px;font-size:13px;font-style:italic}.voucher-footer{grid-template-columns:1fr 1fr;gap:32px;margin-bottom:32px;display:grid}.signature-line{color:var(--color-ink-muted);text-align:center;flex-direction:column;gap:4px;font-size:12px;display:flex}.signature-line-left{text-align:left;align-items:flex-start}.signature-rule{border-top:1px solid var(--color-ink-muted);width:170px;margin-bottom:2px;display:block}.signature-line .signature-name{border-top:1px solid var(--color-ink-muted);padding-top:4px}.signature-name{font-family:var(--font-mono);color:var(--color-ink);font-size:13px;font-weight:600}.voucher-actions{justify-content:flex-end;gap:10px;display:flex}.voucher-tax-invoice-btn{border:1px solid var(--color-navy);color:var(--color-navy);cursor:pointer;background:0 0;border-radius:5px;margin-right:auto;padding:9px 18px;font-size:13.5px;font-weight:600}.voucher-tax-invoice-btn:hover{background:var(--color-paper)}.tax-invoice-link-btn{border:1px solid var(--color-rule);color:var(--color-navy);cursor:pointer;background:0 0;border-radius:4px;padding:5px 10px;font-size:12px;font-weight:600}.tax-invoice-link-btn:hover{background:var(--color-paper);border-color:var(--color-navy)}.voucher-print-btn{border:1px solid var(--color-rule);color:var(--color-ink);cursor:pointer;background:0 0;border-radius:5px;padding:9px 18px;font-size:13.5px;font-weight:600}.voucher-print-btn:hover{background:var(--color-paper)}.voucher-done-btn{background:var(--color-teal);color:#fff;cursor:pointer;border:none;border-radius:5px;padding:9px 18px;font-size:13.5px;font-weight:600}.voucher-done-btn:hover:not(:disabled){background:#265a4f}.voucher-done-btn:disabled{opacity:.6;cursor:default}@media print{@page{margin:12mm;size:auto}html,body{background:#fff!important;height:auto!important;overflow:visible!important}.app-shell{display:none!important}.voucher-overlay:has(~.voucher-overlay){display:none!important}.voucher-overlay{background:0 0!important;height:auto!important;min-height:0!important;padding:0!important;display:block!important;position:static!important;overflow:visible!important}.voucher-modal{box-shadow:none!important;width:100%!important;max-width:none!important;height:auto!important;max-height:none!important;margin:0!important;position:absolute!important;top:0!important;left:0!important;overflow:visible!important}.voucher-close,.voucher-actions{display:none!important}.tax-invoice-modal{padding:12px 18px!important;font-size:10px!important}.tax-invoice-modal .mushak-title{margin:2px 0 0!important;font-size:14px!important}.tax-invoice-modal .mushak-subtitle,.tax-invoice-modal .mushak-gov-line,.tax-invoice-modal .mushak-nbr-line{font-size:10px!important}.tax-invoice-modal .mushak-meta-row{gap:2px 12px!important;margin-bottom:6px!important}.tax-invoice-modal .tax-invoice-parties{gap:8px!important;margin-bottom:6px!important}.tax-invoice-modal .voucher-table th,.tax-invoice-modal .voucher-table td{padding:3px 4px!important;font-size:9px!important}.tax-invoice-modal .mushak-signature-block{margin-top:10px!important}.voucher-modal:not(.tax-invoice-modal){padding:20px 26px!important}.voucher-modal:not(.tax-invoice-modal) .voucher-header{margin-bottom:14px!important;padding-bottom:10px!important}.voucher-modal:not(.tax-invoice-modal) .voucher-header h2{font-size:18px!important}.voucher-modal:not(.tax-invoice-modal) .voucher-logo{max-height:44px!important;margin-bottom:6px!important}.voucher-modal:not(.tax-invoice-modal) .voucher-meta{gap:8px 20px!important;margin-bottom:14px!important}.voucher-modal:not(.tax-invoice-modal) .voucher-greeting{margin-bottom:10px!important;font-size:11px!important}.voucher-modal:not(.tax-invoice-modal) .voucher-table-caption{margin-bottom:4px!important;font-size:11px!important}.voucher-modal:not(.tax-invoice-modal) .voucher-table{margin-bottom:12px!important;font-size:11px!important}.voucher-modal:not(.tax-invoice-modal) .voucher-table th,.voucher-modal:not(.tax-invoice-modal) .voucher-table td{padding:5px 6px!important}.voucher-modal:not(.tax-invoice-modal) .voucher-amount-in-words{margin:-4px 0 10px!important}.voucher-modal:not(.tax-invoice-modal) .voucher-bank-box{margin-bottom:10px!important;padding:8px 10px!important}.voucher-modal:not(.tax-invoice-modal) .voucher-bkash-box{margin-bottom:8px!important;padding:6px 10px!important;font-size:10px!important}.voucher-modal:not(.tax-invoice-modal) .voucher-bank-title{margin-bottom:4px!important}.voucher-modal:not(.tax-invoice-modal) .voucher-tax-exemption{margin-bottom:10px!important;font-size:10.5px!important}.voucher-modal:not(.tax-invoice-modal) .voucher-footer{gap:20px!important;margin-bottom:14px!important}.voucher-company-footer{bottom:6mm;left:0;right:0;margin:0!important;position:fixed!important}.voucher-modal:not(.tax-invoice-modal) .voucher-company-footer{font-size:9.5px!important}.tax-invoice-modal .voucher-company-footer{bottom:4mm;font-size:8px!important}.money-receipt-modal .voucher-company-footer{margin-top:12px!important;position:static!important}@page{size:A4 portrait;margin:8mm}}.entry-list{flex-direction:column;gap:16px;display:flex}.entry-card{background:var(--color-paper-card);border:1px solid var(--color-rule);border-radius:6px;padding:18px 20px}.entry-card-header{justify-content:space-between;align-items:baseline;margin-bottom:6px;display:flex}.entry-ref{font-family:var(--font-mono);color:var(--color-navy);margin-right:12px;font-size:14px;font-weight:700}.entry-date{color:var(--color-ink-muted);margin-right:8px;font-size:13px}.entry-description{color:var(--color-ink-muted);margin:0 0 12px;font-size:13.5px}.status-badge{text-transform:uppercase;letter-spacing:.03em;border-radius:999px;padding:3px 9px;font-size:11.5px;font-weight:700}.row-action-cell{gap:6px;display:flex}td.row-action-cell{vertical-align:middle;display:table-cell}td.row-action-cell>.tax-invoice-link-btn:not(:last-child),td.row-action-cell>.voucher-done-btn:not(:last-child),td.row-action-cell>.checkbox-label:not(:last-child){margin-right:6px}.permissions-matrix-table th,.permissions-matrix-table td{text-align:center;padding:10px 12px;font-size:13px}.permissions-matrix-table th:first-child,.permissions-matrix-table td:first-child{text-align:left}.permission-checkbox-cell input[type=checkbox]{cursor:pointer;width:18px;height:18px}.lines-table{border-collapse:collapse;width:100%;font-size:13.5px}.lines-table th{text-align:left;text-transform:uppercase;letter-spacing:.03em;color:var(--color-ink-muted);border-bottom:1px solid var(--color-rule);padding:6px 0;font-size:11px;font-weight:600}.lines-table td{font-family:var(--font-mono);border-bottom:1px solid #ece9de;padding:7px 0}.lines-table td:first-child{font-family:var(--font-sans)}.lines-table tbody tr:last-child td{border-bottom:none}.entry-card-footer{justify-content:flex-end;align-items:center;margin-top:10px;display:flex}.journal-line-header,.journal-line-row{grid-template-columns:2fr 2fr 1fr 1fr 32px;align-items:center;gap:8px;display:grid}.journal-filter-row{background:var(--color-paper-card);border:1px solid var(--color-rule);border-radius:6px;flex-wrap:wrap;align-items:flex-end;gap:14px;margin-bottom:16px;padding:14px 16px;display:flex}.journal-filter-field{text-transform:uppercase;letter-spacing:.03em;color:var(--color-ink-muted);flex-direction:column;gap:5px;width:190px;font-size:11.5px;font-weight:600;display:flex}.journal-filter-field input,.journal-filter-field select{text-transform:none;letter-spacing:normal;width:100%;padding:7px 9px;font-size:13px;font-weight:400}.journal-filter-field.journal-ledger-field{width:260px}.trial-balance-filter-group{margin-bottom:20px}.journal-date-fields-group{border:1px solid var(--color-rule);border-radius:6px;flex-wrap:wrap;align-items:flex-end;gap:14px;padding:10px 14px;display:flex}.journal-date-type-field{min-width:280px}.journal-date-type-radios{gap:14px;padding-top:4px;display:flex}.journal-date-type-radios label{text-transform:none;letter-spacing:normal;color:var(--color-ink);cursor:pointer;white-space:nowrap;align-items:center;gap:5px;font-size:12.5px;font-weight:400;display:flex}.journal-date-type-radios input[type=radio]{cursor:pointer;margin:0}.journal-filter-actions{flex-wrap:wrap;flex-basis:100%;justify-content:flex-end;gap:8px;display:flex}.journal-filter-apply-btn,.journal-filter-clear-btn{align-self:flex-end}.journal-export-row{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:16px;display:flex}.journal-pagination-inline{margin-top:0;margin-bottom:0;margin-left:auto}.scroll-float-btn{background:var(--color-navy);color:#fff;cursor:pointer;z-index:150;border:none;border-radius:50%;justify-content:center;align-items:center;width:44px;height:44px;font-size:20px;font-weight:700;transition:background .15s,transform .15s;display:flex;position:fixed;bottom:28px;right:28px;box-shadow:0 4px 14px #00000040}.scroll-float-btn:hover{background:#2a3f54;transform:scale(1.06)}.journal-totals-summary{background:var(--brand-green);color:#fff;font-family:var(--font-mono);border-radius:6px;align-items:center;gap:28px;margin-top:18px;padding:14px 18px;font-size:14px;font-weight:600;display:flex}.journal-totals-count{font-family:var(--font-sans);opacity:.85;font-weight:600}.journal-totals-spacer{flex:1}.journal-pagination-row{justify-content:center;align-items:center;gap:16px;margin-top:16px;margin-bottom:8px;display:flex}.journal-pagination-indicator{color:var(--color-ink-muted);font-size:13.5px;font-weight:600;font-family:var(--font-mono)}.btn-spinner{vertical-align:-2px;border:2px solid #fff6;border-top-color:#fff;border-radius:50%;width:13px;height:13px;margin-right:7px;animation:.7s linear infinite btn-spin;display:inline-block}@keyframes btn-spin{to{transform:rotate(360deg)}}.journal-filter-loading-bar{background:var(--color-teal-light);color:var(--color-teal);border-radius:5px;align-items:center;gap:8px;margin-bottom:14px;padding:10px 16px;font-size:13px;font-weight:600;display:flex}.journal-filter-loading-bar .btn-spinner{border-color:#2f6f624d;border-top-color:var(--color-teal)}@media (width<=720px){.app-shell{flex-direction:column}.sidebar{flex-direction:row;width:100%;padding:12px;overflow-x:auto}.sidebar nav{flex-direction:row}.sidebar-user-block,.brand{display:none}.main-content{padding:24px 20px}.form-row{flex-direction:column}.lines-editor-header{display:none}.line-editor-row{border-bottom:1px solid var(--color-rule);grid-template-columns:1fr;gap:6px;padding-bottom:10px}}@media (prefers-reduced-motion:reduce){*{transition:none!important}}.shareholder-page-title{text-transform:uppercase;color:var(--color-navy);text-align:left;letter-spacing:.03em;margin-bottom:4px;font-weight:700}.shareholder-section-title{text-transform:uppercase;color:var(--color-navy);text-align:left;letter-spacing:.03em;margin:20px 0 10px;font-size:15px;font-weight:700}.inline-add-row .shareholder-save-btn,.shareholder-save-btn{cursor:pointer;border:none;border-radius:5px;padding:10px 20px;font-size:14px;font-weight:600;background:var(--color-navy)!important;color:#fff!important}.shareholder-save-btn:hover:not(:disabled){background:var(--color-navy-light)}.shareholder-save-btn:disabled{opacity:.6;cursor:default}.shareholder-tab-table thead th{background:var(--color-teal-light);color:var(--color-teal);text-transform:uppercase;letter-spacing:.03em;font-weight:700;box-shadow:0 2px 4px #1c2b3a14}.form-section{flex-direction:column;gap:14px;display:flex}.form-section label{color:var(--color-navy);text-align:left;flex-direction:column;gap:4px;font-size:16px;font-weight:700;display:flex}.form-section input[type=text],.form-section input[type=number],.form-section input[type=date],.form-section input[type=email],.form-section select,.form-section textarea{border:1px solid var(--color-rule);font-size:14px;font-family:var(--font-sans);color:var(--color-ink);background:var(--color-sky);border-radius:4px;padding:8px 10px}.form-section textarea{resize:vertical;min-height:60px}.shareholder-inline-row-nowrap{flex-flow:row;align-items:flex-end;gap:12px;padding-bottom:6px;display:flex;overflow-x:auto}.shareholder-inline-row-nowrap label{color:var(--color-ink-muted);white-space:nowrap;flex-direction:column;gap:4px;font-size:13px;font-weight:600;display:flex}.inline-add-row{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:16px;display:flex}.inline-add-row input,.inline-add-row select{border:1px solid var(--color-rule);border-radius:4px;padding:8px 10px;font-size:14px}.nested-card{background:var(--color-paper-card);border:1px solid var(--color-rule);border-radius:6px;margin-bottom:12px;padding:14px 16px}.nested-card-header{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.distinctive-numbers{flex-wrap:wrap;align-items:center;gap:8px;margin-top:10px;display:flex}.chip{background:var(--color-sky);color:var(--color-sky-ink);border-radius:12px;align-items:center;gap:6px;padding:4px 10px;font-size:13px;display:inline-flex}.chip button{cursor:pointer;color:var(--color-sky-ink);background:0 0;border:none;font-weight:700;line-height:1}.tab-bar{border-bottom:2px solid var(--color-rule);flex-wrap:wrap;gap:4px;margin-bottom:20px;display:flex}.tab-button{color:var(--color-ink-muted);cursor:pointer;background:0 0;border:none;border-bottom:3px solid #0000;padding:10px 16px;font-size:14px;font-weight:600}.tab-button:hover{color:var(--color-ink)}.tab-button.active{color:var(--color-navy);border-bottom-color:var(--color-navy)}.shareholder-name-subtitle{color:var(--color-navy);margin-top:0;margin-bottom:16px;font-size:18px;font-weight:700}.save-employee-btn{background:var(--brand-green);color:#fff;cursor:pointer;border:none;border-radius:6px;margin-top:8px;padding:12px 28px;font-size:14px;font-weight:700;box-shadow:0 2px 6px #1c2b3a40}.save-employee-btn:hover:not(:disabled){background:var(--brand-green-dark);box-shadow:0 4px 10px #1c2b3a4d}.save-employee-btn:disabled{opacity:.6;cursor:default}.employee-tab-fieldset{border:none;min-width:0;margin:0;padding:0}.employee-tab-fieldset:disabled,.employee-tab-fieldset[disabled]{opacity:.75}.employee-form-save-bar{z-index:20;background:var(--color-paper-card);border-top:1px solid var(--color-rule);margin-top:8px;padding:10px 0;position:sticky;bottom:0}.employee-form-page .employee-form-header-row{z-index:20;background:var(--color-paper-card);margin:-10px 0 8px;padding:10px 0 8px;position:sticky;top:0}.employee-form-page .employee-form-header-row .voucher-print-btn{font-weight:700;background:var(--brand-green)!important;color:#fff!important;border:none!important}.employee-form-page .employee-form-header-row .voucher-print-btn:hover{background:var(--brand-green-dark)!important}.employee-form-header-actions{flex-direction:column;align-items:flex-start;gap:8px;margin-top:10px;display:flex}.employee-form-header-actions .save-employee-btn{margin-top:0;padding:9px 18px}.employee-form-top-save{flex-shrink:0;justify-content:flex-end;align-items:flex-start;min-width:110px;display:flex}.employee-form-top-save .save-employee-btn{margin-top:0;padding:9px 18px}.employee-form-page .tab-btn:hover{color:var(--brand-green-dark)}.employee-form-page .tab-btn.active{background:var(--brand-green);border-bottom-color:var(--brand-green)}.payroll-page .tab-btn:hover{color:var(--brand-green-dark)}.payroll-page .tab-btn.active{background:var(--brand-green);border-bottom-color:var(--brand-green)}.voucher-footer{grid-template-columns:1fr 100px 1fr;align-items:end;gap:16px;margin-bottom:32px;display:grid}.voucher-signature-img{object-fit:contain;max-width:140px;max-height:50px;margin:0 auto}.voucher-seal-cell{justify-content:center;align-items:center;display:flex}.voucher-seal-img{object-fit:contain;opacity:.85;max-width:90px;max-height:90px}.mushak-seal-img{object-fit:contain;opacity:.85;width:70px;height:70px;margin:0 auto 4px;display:block}.mushak-signature-block-4col{grid-template-columns:1fr 1fr 1fr 1fr}.mushak-seal-cell{justify-content:center;align-items:center;display:flex}.mushak-creator-signature-img{object-fit:contain;max-width:120px;max-height:45px;margin:0 auto 4px;display:block}.checkbox-label{color:var(--color-ink);cursor:pointer;align-items:center;font-size:13.5px;font-weight:600;flex-direction:row!important;gap:8px!important}.checkbox-label input[type=checkbox]{cursor:pointer;width:16px;height:16px;margin:0}.executive-position-col-headers{color:var(--color-ink-muted);text-transform:uppercase;letter-spacing:.04em;align-items:center;gap:10px;margin-bottom:4px;padding:0 4px;font-size:12px;font-weight:700;display:flex}.executive-position-col-headers span{flex:1}.executive-position-col-headers span:last-child{flex:0 0 110px}.table-scroll-wrapper{border-radius:12px;width:100%;max-height:calc(100vh - 300px);overflow:auto}.table-scroll-wrapper-tall{max-height:calc(100vh - 200px)}.table-scroll-wrapper .data-table{width:100%;min-width:max-content}.searchable-select{width:100%;position:relative}.searchable-select-trigger{border:1px solid var(--color-rule);background:var(--color-sky);cursor:pointer;text-align:left;border-radius:4px;align-items:center;gap:6px;min-height:38px;padding:8px 10px;font-size:14px;display:flex}.searchable-select-trigger.open{border-color:var(--color-navy);outline:2px solid var(--color-navy);outline-offset:-1px}.searchable-select-trigger.disabled{opacity:.6;cursor:not-allowed}.searchable-select-trigger:focus-visible{border-color:var(--color-navy);outline:2px solid var(--color-navy);outline-offset:-1px}.searchable-select-input{font-size:14px;font-family:var(--font-sans);color:var(--color-ink);background:0 0;border:none;outline:none;flex:1;padding:0}.searchable-select-value{color:var(--color-ink);white-space:nowrap;text-overflow:ellipsis;flex:1;overflow:hidden}.searchable-select-placeholder{color:var(--color-ink-muted);flex:1}.searchable-select-clear{cursor:pointer;color:var(--color-ink-muted);background:0 0;border:none;padding:0 2px;font-size:12px;line-height:1}.searchable-select-arrow{color:var(--color-ink-muted);font-size:10px}.searchable-select-dropdown{background:var(--color-paper-card);border:1px solid var(--color-rule);z-index:1000;border-radius:4px;width:max-content;min-width:500px;max-width:700px;max-height:320px;position:absolute;top:calc(100% + 4px);left:0;overflow-y:auto;box-shadow:0 4px 12px #0000001f}.searchable-select-option{cursor:pointer;color:var(--color-ink);text-align:left;padding:8px 12px;font-size:14px}.searchable-select-option:hover{background:var(--color-sky)}.searchable-select-option.selected{background:var(--color-navy);color:#fff}.searchable-select-option.highlighted:not(.selected){background:var(--color-sky);outline:1px solid var(--color-navy);outline-offset:-1px}.searchable-select-empty{color:var(--color-ink-muted);padding:10px 12px;font-size:13px}.searchable-select-option.searchable-select-create{color:var(--brand-green,#2f6f4f);border-bottom:1px solid var(--color-rule,#d8d4c8);font-weight:600}.searchable-select-create-hint{color:var(--color-ink-muted);border-bottom:1px solid var(--color-rule,#d8d4c8);padding:8px 12px;font-size:12px;font-style:italic}.lh-account{min-width:0;position:relative;overflow:visible}.lh-account .searchable-select-dropdown{z-index:1000;min-width:600px;max-width:750px}.date-picker-popup-header{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.date-picker-nav-btn{cursor:pointer;color:var(--color-ink-muted);background:0 0;border:none;border-radius:4px;padding:5px 9px;font-size:15px;line-height:1}.date-picker-nav-btn:hover{background:var(--color-sky);color:var(--color-ink)}.date-picker-label-btn{cursor:pointer;color:var(--color-ink);background:0 0;border:none;border-radius:4px;padding:5px 10px;font-size:13.5px;font-weight:600}.date-picker-label-btn:hover{background:var(--color-sky)}.date-picker-label-static{color:var(--color-ink);padding:5px 10px;font-size:13.5px;font-weight:600}.date-picker-weekdays{text-align:center;color:var(--color-ink-muted);grid-template-columns:repeat(7,1fr);margin-bottom:4px;font-size:11px;font-weight:600;display:grid}.date-picker-days{grid-template-columns:repeat(7,1fr);gap:2px;display:grid}.date-picker-day{cursor:pointer;color:var(--color-ink);text-align:center;background:0 0;border:none;border-radius:50%;padding:7px 0;font-size:12.5px}.date-picker-day:hover{background:var(--color-sky)}.date-picker-day.muted{color:var(--color-ink-muted);opacity:.5}.date-picker-day.today{outline:1px solid var(--color-navy);outline-offset:-1px}.date-picker-day.selected{background:var(--color-navy);color:#fff;font-weight:600}.date-picker-months,.date-picker-years{grid-template-columns:repeat(4,1fr);gap:6px;display:grid}.date-picker-month,.date-picker-year{cursor:pointer;color:var(--color-ink);text-align:center;background:0 0;border:none;border-radius:4px;padding:10px 4px;font-size:12.5px}.date-picker-month:hover,.date-picker-year:hover{background:var(--color-sky)}.date-picker-year.muted{color:var(--color-ink-muted);opacity:.5}.date-picker-month.today{outline:1px solid var(--color-navy);outline-offset:-1px}.date-picker-month.selected,.date-picker-year.selected{background:var(--color-navy);color:#fff;font-weight:600}:root{--brand-green:#5aa832;--brand-green-dark:#4a8f28;--brand-green-light:#eef6e7;--surface:#fff;--surface-alt:#f7f8f6;--hairline:#e8e9e6}.page h1{font-family:var(--font-sans);letter-spacing:-.02em;color:var(--color-navy,#1f2429);padding-bottom:0;font-size:30px;font-weight:800}.page h1:after{display:none}.page-subtitle{color:#8a8f94;font-size:14px}.tab-section-heading{border-left:4px solid var(--brand-green);padding-left:12px;line-height:1.2;text-transform:none!important;letter-spacing:-.01em!important;color:var(--color-navy,#1f2429)!important;font-size:15px!important;font-weight:800!important}.tab-subheading{color:var(--color-navy,#1f2429)!important;font-size:14px!important;font-weight:700!important}.tab-panel{gap:20px!important}.tab-panel .form-row{background:var(--surface);border:1px solid var(--hairline);border-radius:12px;gap:20px;padding:16px 18px;box-shadow:0 1px 3px #141e140a}.tab-panel .form-row label,.tab-panel>label{box-shadow:none;background:0 0;border:none;padding:0}.data-table{border:1px solid var(--hairline);background:var(--surface);border-radius:12px}.data-table thead th{background:var(--surface-alt);color:#6b7075;text-transform:uppercase;letter-spacing:.03em;border-bottom:1px solid var(--hairline);padding:12px 14px;font-size:11.5px;font-weight:700}.data-table tbody td{border-bottom:1px solid var(--hairline);padding:13px 14px;font-size:13.5px}.data-table tbody tr:last-child td{border-bottom:none}.data-table tbody tr:hover{background:var(--brand-green-light)}.voucher-done-btn,.new-record-btn{border-radius:999px;padding:9px 18px;font-weight:700;transition:background .15s;background:var(--brand-green)!important;color:#fff!important;border:none!important}.voucher-done-btn:hover:not(:disabled),.new-record-btn:hover:not(:disabled){background:var(--brand-green-dark)!important}.tax-invoice-link-btn{font-weight:600;color:var(--brand-green)!important}.nav-item.active{font-weight:700;color:var(--color-sidebar)!important}.journal-filter-row{align-items:flex-end}.journal-filter-field{color:#8a8f94;font-size:12px;font-weight:600}.dashboard-spinner{border:4px solid var(--brand-green-light,#eef6e7);border-top-color:var(--brand-green,#5aa832);border-radius:50%;width:40px;height:40px;animation:.8s linear infinite dashboard-spin}@keyframes dashboard-spin{to{transform:rotate(360deg)}}.data-table td,.data-table th{border-right:1px solid var(--hairline,#e8e9e6)}.data-table td:last-child,.data-table th:last-child{border-right:none}.data-table tfoot td{border-top:2px solid #b8b8b8;font-weight:700;background:#d9d9d9!important}.data-table thead th{color:#1f2429!important;background:#d9d9d9!important}.app-shell.sidebar-right{flex-direction:row-reverse}.sidebar-side-toggle{width:100%;color:inherit;cursor:pointer;opacity:.85;background:0 0;border:1px solid #ffffff40;border-radius:6px;margin-bottom:10px;padding:4px 8px;font-size:11px;display:block}.sidebar-side-toggle:hover{opacity:1;background:#ffffff14}.nav-drag-block{cursor:grab;border:1px dashed #ffffff40;border-radius:6px;margin-bottom:2px}.nav-drag-block:active{cursor:grabbing}.nav-hover-group{position:relative}.nav-hover-group .nav-hover-panel{flex-direction:column;gap:2px;padding:4px 0 4px 10px;display:none}.nav-hover-group:hover .nav-hover-panel{display:flex}.nav-hover-group:hover .nav-group-arrow{transform:rotate(180deg)}.report-total-row td{border-top:2px solid #b8b8b8;font-weight:700;background:#d9d9d9!important}.data-table td.num-col,.data-table th.num-col,.lines-table th.num-col,.lines-table td.num-col,th.num-col,td.num-col{text-align:right;font-variant-numeric:tabular-nums}.opening-amount-input{text-align:right;color:#1f2429;font-variant-numeric:tabular-nums;background:#80f2612e;border:1px solid #80f2618c;border-radius:6px;width:120px;padding:7px 10px}.opening-amount-input:focus{background:#80f2614d;border-color:#80f261;outline:none;box-shadow:0 0 0 3px #80f2614d}.app-shell.layout-top{flex-direction:column}.app-shell.layout-top .sidebar{background:linear-gradient(135deg, var(--color-navy,#16283c) 0%, var(--color-navy-light,#24425e) 100%);border:1px solid #ffd682;border-radius:12px;flex-flow:wrap;align-items:center;gap:8px;width:100%;min-height:auto;margin:10px 10px 0;padding:8px 14px;box-shadow:0 6px 20px #00000059,0 0 40px #ecab3433}.app-shell.layout-top .brand{border-bottom:none;border-right:1px solid var(--color-navy-light);white-space:nowrap;flex-direction:row;align-items:center;gap:8px;margin:0 6px 0 0;padding:0 14px 0 0;font-size:15px}.app-shell.layout-top .sidebar-logo{max-width:44px;max-height:30px;padding:3px 5px}.app-shell.layout-top .sidebar-nav{flex-flow:wrap;flex:1;align-items:center;gap:2px;padding:0;overflow:visible}.app-shell.layout-top .nav-item{white-space:nowrap;border-radius:7px;padding:8px 12px;font-size:13px;transition:background .28s cubic-bezier(.22,1,.36,1),color .28s cubic-bezier(.22,1,.36,1),transform .28s cubic-bezier(.22,1,.36,1),box-shadow .28s cubic-bezier(.22,1,.36,1)}.app-shell.layout-top .nav-item:hover{background:#ffffff3d;transform:translateY(-4px);box-shadow:0 0 10px 2px #ffd682f2,0 0 36px 7px #ecab34d9,0 8px 18px #0000004d}.app-shell.layout-top .nav-item.active{color:var(--color-navy);background:#fff;box-shadow:0 4px 18px #ecab3499,0 2px 6px #0003}.app-shell.layout-top .nav-hover-group{position:relative}.app-shell.layout-top .nav-hover-group .nav-hover-panel{z-index:500;background:linear-gradient(180deg, #24384c 0%, var(--color-navy) 100%);border:1px solid var(--color-navy-light);border-top:3px solid var(--color-sparkle);opacity:0;visibility:hidden;pointer-events:none;border-radius:10px;flex-direction:column;min-width:230px;margin-top:0;padding:8px;transition:opacity .3s cubic-bezier(.22,1,.36,1),transform .3s cubic-bezier(.22,1,.36,1),visibility .3s;display:flex;position:absolute;top:100%;left:0;transform:translateY(-10px);box-shadow:0 20px 44px #00000080,0 0 36px #ecab3452}.app-shell.layout-top .nav-hover-group:hover .nav-hover-panel{opacity:1;visibility:visible;pointer-events:auto;transform:translateY(0)}.app-shell.layout-top .nav-subitem{white-space:nowrap;border-left:3px solid #0000;border-radius:6px;padding:9px 14px;transition:background .22s cubic-bezier(.22,1,.36,1),color .22s cubic-bezier(.22,1,.36,1),border-color .22s cubic-bezier(.22,1,.36,1),transform .22s cubic-bezier(.22,1,.36,1)}.app-shell.layout-top .nav-subitem:hover{color:#fff;background:#ecab3442;border-left-color:#ffd682;transform:translate(7px);box-shadow:0 0 8px 1px #ffd682e6,0 0 28px 4px #ecab34b3}.app-shell.layout-top .nav-subitem.active{border-left-color:var(--color-sparkle);color:#fff;background:#ecab3429;font-weight:600}.app-shell.layout-top .sidebar-user-block{border-top:none;border-left:1px solid var(--color-navy-light);white-space:nowrap;align-items:center;gap:10px;margin:0 0 0 auto;padding:0 0 0 14px;display:flex}.app-shell.layout-top .sidebar-user-info{margin-bottom:0}.app-shell.layout-top .sidebar-logout-btn{width:auto;padding:6px 12px}.app-shell.layout-top .sidebar-side-toggle{width:auto;margin:0 6px 0 0;padding:5px 10px}.app-shell.layout-top .main-content{margin:10px}.form-save-bar{background:linear-gradient(to top, var(--color-paper-card) 78%, #fff0);border-top:1px solid var(--color-rule);justify-content:flex-end;margin-top:12px;padding:14px 0 4px;display:flex;position:sticky;bottom:0}.primary-save-btn{background:var(--brand-green);color:#fff;cursor:pointer;border:none;border-radius:8px;padding:12px 34px;font-size:15px;font-weight:700;transition:background .15s,box-shadow .15s,transform 50ms;box-shadow:0 2px 8px #0003}.primary-save-btn:hover:not(:disabled){background:var(--brand-green-dark);box-shadow:0 4px 14px #00000040}.primary-save-btn:active:not(:disabled){transform:translateY(1px)}.primary-save-btn:disabled{cursor:not-allowed;box-shadow:none;background:#9fb3ae}.nav-subitem-divider{text-transform:uppercase;opacity:.6;cursor:default;padding:6px 12px 2px;font-size:11px;font-weight:600}.nav-hover-panel-nested{z-index:500;background:var(--color-navy);border:1px solid var(--color-navy-light);border-radius:8px;flex-direction:column;gap:2px;min-width:200px;padding:6px;display:none;position:absolute;top:0;left:100%;box-shadow:0 10px 28px #00000059}.nav-subitem-submenu:hover .nav-hover-panel-nested{display:flex}.nav-subitem-submenu:hover .nav-group-arrow{transform:rotate(180deg)}.nav-item,.nav-subitem,.nav-subitem-submenu .nav-subitem{text-decoration:none}.ratio-analysis-sheet{border:1px solid var(--color-rule,#d8d4c8);background:#fbf6dd;border-radius:8px;padding:24px 28px 32px;box-shadow:0 2px 8px #0000000f}.ratio-analysis-header{text-align:center;border-bottom:2px solid #1c2b3a;margin-bottom:18px;padding-bottom:14px}.ratio-analysis-logo{height:44px;margin:0 auto 8px;display:block}.ratio-analysis-header h2{color:var(--color-ink,#1c2b3a);margin:0 0 4px;font-size:18px}.ratio-analysis-header p{color:var(--color-ink-muted,#6b6b6b);margin:0;font-size:13px}.ratio-analysis-columns{grid-template-columns:1fr 1fr;gap:0 32px;display:grid}.ratio-analysis-col{min-width:0}.ratio-analysis-col h3{text-transform:uppercase;letter-spacing:.05em;color:var(--color-ink,#1c2b3a);border-bottom:1px solid #1c2b3a;margin:0 0 10px;padding-bottom:6px;font-size:13px;font-weight:700}.ratio-row{border-bottom:1px dashed #1c2b3a26;padding:5px 0}.ratio-row-main{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.ratio-row-label{color:var(--color-ink,#1c2b3a);font-size:13px}.ratio-row-value{font-size:13px;font-family:var(--font-mono,monospace);white-space:nowrap;color:var(--color-ink,#1c2b3a)}.ratio-row-sub{color:var(--color-ink-muted,#6b6b6b);margin-top:1px;font-size:10.5px;font-style:italic}.ratio-row-bold .ratio-row-label,.ratio-row-bold .ratio-row-value{font-weight:700}.ratio-row-highlight{background:#1c2b3a0f;border-radius:4px;margin:0 -8px;padding:5px 8px}@media (width<=720px){.ratio-analysis-columns{grid-template-columns:1fr;gap:0}.ratio-analysis-col+.ratio-analysis-col{margin-top:20px}}
