@import"https://fonts.googleapis.com/css2?family=Fraunces:opsz,wght@9..144,600&family=Space+Grotesk:wght@400;500;600;700&display=swap";@layer properties{@supports ((-webkit-hyphens:none) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-border-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial}}}.visible{visibility:visible}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-block{display:inline-block}.table{display:table}.border{border-style:var(--tw-border-style);border-width:1px}.lowercase{text-transform:lowercase}.uppercase{text-transform:uppercase}.filter{filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.delay-1{transition-delay:1ms}.delay-2{transition-delay:2ms}.delay-3{transition-delay:3ms}.delay-4{transition-delay:4ms}*{box-sizing:border-box}html,body{height:100%}body{color:#0b1b2b;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#f5f7fb;margin:0;font-family:Space Grotesk,Segoe UI,sans-serif}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}:root{--ink: #0b1b2b;--deep: #0a2536;--sage: #e3edf6;--mist: #f4f6f9;--paper: #ffffff;--ocean: #0b6b8f;--sun: #f5b760;--pearl: #ffffff;--nav-blue: #1d4ed8;--nav-blue-dark: #1e3a8a;--surface: #ffffff;--surface-muted: #f5f7fb;--border-soft: rgba(15, 23, 42, .12);--shadow-strong: rgba(15, 23, 42, .18);--shadow-soft: rgba(15, 23, 42, .08)}#root{min-height:100vh}.login-shell{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:2.5rem;position:relative;overflow:hidden;background:radial-gradient(circle at 12% 18%,#f9ecd7 0%,transparent 55%),radial-gradient(circle at 88% 12%,#d9f1ea 0%,transparent 50%),linear-gradient(135deg,#f8f5ee,#eef6f2 45%,#fff6e6);animation:drift 14s ease-in-out infinite alternate}.login-shell:before{content:"";position:absolute;inset:-20%;background:repeating-linear-gradient(120deg,rgba(12,31,26,.06),rgba(12,31,26,.06) 2px,transparent 2px,transparent 18px),repeating-linear-gradient(-35deg,rgba(255,255,255,.45),rgba(255,255,255,.45) 1px,transparent 1px,transparent 12px);opacity:.2;pointer-events:none}.login-card{position:relative;z-index:1;width:min(1100px,100%);background:var(--surface);border-radius:28px;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);border:1px solid rgba(12,31,26,.08);box-shadow:0 20px 50px var(--shadow-strong);overflow:hidden;animation:rise .8s ease}.brand-panel{background:linear-gradient(155deg,#0f6b59,#0c4f41 60%,#0a3b31);color:var(--paper);padding:3.5rem;display:flex;flex-direction:column;gap:1.6rem}.brand-kicker{text-transform:uppercase;letter-spacing:.35em;font-size:.75rem;font-weight:600}.brand-title{font-family:Fraunces,Times New Roman,serif;font-size:clamp(2rem,2.6vw,2.6rem);line-height:1.1;margin:0}.brand-subtitle{margin:0;color:#fffaf2e6;line-height:1.6}.brand-stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.brand-illustration{margin-top:.6rem;padding:1.2rem;border-radius:22px;background:#ffffff14;border:1px solid rgba(255,255,255,.16);height:220px}.brand-illustration svg{width:100%;height:100%;display:block}.brand-illustration .illus-card{fill:#ffffff1f;stroke:#fff6;stroke-width:2}.brand-illustration .illus-paper{fill:#ffffff2e;stroke:#ffffff73;stroke-width:2}.brand-illustration .illus-tag{fill:#f2b45a99}.brand-illustration .illus-line{stroke:#ffffff73;stroke-width:2;stroke-linecap:round}.brand-illustration .illus-chart{stroke:#f2b45af2;stroke-width:3;fill:none;stroke-linecap:round;stroke-linejoin:round}.brand-illustration .illus-node{fill:#f2b45af2}.brand-illustration .illus-bar{fill:#ffffff47}.brand-illustration .illus-coin-body{fill:#f2b45a80}.brand-illustration .illus-coin-top{fill:#f2b45ad9}.stat{background:#ffffff1f;border-radius:16px;padding:1rem 1.2rem;display:flex;flex-direction:column;gap:.2rem}.stat-value{font-size:1.6rem;font-weight:700}.stat-label{font-size:.85rem;text-transform:uppercase;letter-spacing:.1em;opacity:.8}.brand-footnote{margin-top:auto;font-size:.95rem;opacity:.85}.form-panel{padding:3.2rem 3rem;display:flex;flex-direction:column;gap:1.6rem;color:var(--ink);background:var(--surface)}.form-header h2{margin:.4rem 0 .6rem;font-size:1.8rem}.form-eyebrow{margin:0;font-size:.9rem;text-transform:uppercase;letter-spacing:.2em;color:var(--ocean);font-weight:600}.form-helper{margin:0;color:#4f5f59;font-size:.95rem;line-height:1.5}.login-header{display:grid;grid-template-columns:minmax(0,1fr) minmax(180px,220px);align-items:start;gap:1.5rem}.login-header h2{line-height:1.2}.form-title-group{display:flex;flex-direction:column;gap:.4rem}.login-header .form-helper{text-align:right}.login-form{display:flex;flex-direction:column;gap:1.2rem}.field{display:flex;flex-direction:column;gap:.5rem;font-size:.9rem;font-weight:600}.field input,.field select{border:1px solid var(--border-soft);background:#fff;padding:.85rem 1rem;border-radius:12px;font-size:1rem;transition:border .2s ease,box-shadow .2s ease}.field input:focus{outline:none;border-color:#0d6f5cb3;box-shadow:0 0 0 3px #0d6f5c1f}.field select:focus{outline:none;border-color:#0d6f5cb3;box-shadow:0 0 0 3px #0d6f5c1f}.form-row{display:flex;align-items:center;justify-content:space-between;gap:1rem;font-size:.9rem}.checkbox{display:inline-flex;gap:.5rem;align-items:center;color:#42524c}.checkbox input{accent-color:var(--ocean)}button.link{border:none;background:none;color:var(--ocean);font-weight:600;cursor:pointer}button.link:hover{text-decoration:underline}.primary{border:none;border-radius:14px;padding:.95rem 1rem;background:linear-gradient(130deg,#0d6f5c,#0f4f3f);color:var(--paper);font-size:1rem;font-weight:600;cursor:pointer;transition:transform .18s ease,box-shadow .18s ease;box-shadow:0 12px 26px #0d6f5c33}.primary:hover{transform:translateY(-1px);box-shadow:0 18px 36px #0d6f5c47}.status{padding:.85rem 1rem;border-radius:12px;font-weight:600;display:flex;flex-direction:column;gap:.4rem}.status.success{background:#0d6f5c1f;color:#0b4d3f}.status.error{background:#a838271f;color:#7b2d22}.status-meta{font-size:.85rem;font-weight:500}.demo-panel{border:1px solid var(--border-soft);border-radius:16px;padding:1rem;background:#fbf8f2;display:flex;flex-direction:column;gap:.75rem}.demo-title{font-weight:700;color:var(--deep)}.demo-list{display:grid;gap:.75rem}.demo-user{display:flex;flex-direction:column;gap:.2rem;text-align:left;padding:.7rem .9rem;border-radius:12px;border:1px solid var(--border-soft);background:var(--pearl);cursor:pointer;transition:transform .16s ease,box-shadow .16s ease}.demo-user:hover{transform:translateY(-1px);box-shadow:0 10px 20px var(--shadow-soft)}.demo-name{font-weight:700}.demo-meta{font-size:.85rem;color:#4a5d57}.form-footer{margin:0;font-size:.9rem;color:#566660}.reveal{opacity:0;transform:translateY(10px);animation:fadeUp .7s ease forwards}.delay-1{animation-delay:.12s}.delay-2{animation-delay:.22s}.delay-3{animation-delay:.32s}.delay-4{animation-delay:.42s}@keyframes rise{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes drift{0%{background-position:0% 0%}to{background-position:100% 40%}}@media(max-width:980px){.login-card{grid-template-columns:1fr}.brand-panel,.form-panel{padding:2.5rem}.brand-illustration{height:180px}}@media(max-width:640px){.login-shell{padding:1.5rem}.brand-panel,.form-panel{padding:2rem}.brand-illustration{height:160px}.form-row{flex-direction:column;align-items:flex-start}.login-header{grid-template-columns:1fr}.login-header .form-helper{text-align:left}}.dashboard-shell{min-height:100vh;display:grid;grid-template-columns:270px 1fr;background:var(--surface-muted)}.sidebar{background:#f6f8fc;border-right:1px solid rgba(15,23,42,.08);padding:1.6rem 1.3rem;display:flex;flex-direction:column;gap:1.5rem;position:sticky;top:0;height:100vh;box-shadow:inset -1px 0 #0f172a0a;overflow:hidden}.sidebar-header{display:flex;align-items:center;gap:.85rem}.menu-close{border:none;background:var(--paper);color:var(--deep);width:36px;height:36px;border-radius:10px;font-weight:700;cursor:pointer;box-shadow:0 10px 20px #0f172a1f}.sidebar-title{margin:0;font-size:1.1rem;font-weight:700}.sidebar-subtitle{margin:.2rem 0 0;font-size:.85rem;color:#4f635d}.menu-list{display:flex;flex-direction:column;gap:.7rem;flex:1;min-height:0;overflow-y:auto;scrollbar-width:thin;scrollbar-color:rgba(12,31,26,.15) transparent}.menu-list::-webkit-scrollbar{width:6px}.menu-list::-webkit-scrollbar-track{background:transparent}.menu-list::-webkit-scrollbar-thumb{background:#0f172a26;border-radius:3px}.menu-list::-webkit-scrollbar-thumb:hover{background:#0f172a40}.menu-block{background:transparent;border-radius:16px;border:1px solid rgba(15,23,42,.08);padding:.4rem}.menu-block.active{border-color:#2563eb4d;box-shadow:0 12px 20px #2563eb24}.menu-button{width:100%;border:none;background:#fff;color:#1f2a44;border:1px solid rgba(15,23,42,.12);border-radius:12px;padding:.75rem .9rem;display:flex;align-items:center;gap:.7rem;font-weight:600;cursor:pointer;transition:transform .16s ease,box-shadow .16s ease,background .16s ease,color .16s ease,border .16s ease}.menu-button:hover{transform:translateY(-1px);box-shadow:0 10px 18px #0f172a1f}.menu-block.active .menu-button{background:linear-gradient(135deg,var(--nav-blue) 0%,var(--nav-blue-dark) 100%);color:#fff;border-color:transparent;box-shadow:0 12px 24px #2563eb40}.menu-icon{width:32px;height:32px;border-radius:10px;background:#1d4ed81f;display:inline-flex;align-items:center;justify-content:center;color:#1e3a8a;transition:background .16s ease,color .16s ease}.menu-icon svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.menu-block.active .menu-icon{background:#fff3;color:#fff}.menu-label{flex:1;text-align:left}.menu-caret{width:18px;height:18px;position:relative;display:inline-flex;align-items:center;justify-content:center}.menu-caret:before{content:"";width:7px;height:7px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:translateY(-1px) rotate(-45deg);transition:transform .16s ease}.menu-block.active .menu-caret:before{transform:translateY(1px) rotate(45deg)}.submenu{display:flex;flex-direction:column;gap:.4rem;padding:.6rem .4rem .4rem .8rem;border-left:2px solid rgba(29,78,216,.15);margin-left:.4rem}.submenu-button{border:none;background:transparent;text-align:left;padding:.5rem .7rem;border-radius:10px;color:#3a4b63;cursor:pointer;font-weight:500;font-size:.9rem}.submenu-button.active,.submenu-button:hover{background:#1d4ed81f;color:#1e3a8a}.main-panel{display:flex;flex-direction:column;min-height:100vh;background:var(--surface-muted)}.topbar{display:flex;align-items:center;justify-content:space-between;padding:1.2rem 2rem;border-bottom:1px solid rgba(15,23,42,.06);background:#ffffffe6;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);position:sticky;top:0;z-index:5;box-shadow:0 10px 20px #0f172a0d}.session-strip{display:flex;gap:1.4rem;font-size:.88rem;font-weight:500;color:#2f3d56;align-items:center}.session-actions{display:flex;align-items:center;gap:1rem;justify-content:flex-end}.session-select{display:inline-flex;align-items:center;gap:.6rem;padding:.35rem .65rem;border-radius:12px;background:#f4f6fb;border:1px solid rgba(15,23,42,.08);font-size:.85rem;color:#2f3d56}.session-select select{border:none;background:transparent;font-weight:600;color:#1e2f4b;font-size:.85rem;outline:none}.session-select select:disabled{opacity:.6;cursor:not-allowed}.logout-button{border:none;border-radius:12px;padding:.6rem 1.4rem;background:linear-gradient(135deg,var(--nav-blue) 0%,var(--nav-blue-dark) 100%);color:#fff;font-weight:600;cursor:pointer;box-shadow:0 12px 24px #1d4ed838}.user-label{font-size:.88rem;font-weight:500;color:#2f3d56}.content-area{flex:1;padding:2rem 2.5rem;max-width:1220px;width:100%;margin:0 auto}.app-footer{text-align:center;padding:1rem 0;font-size:.85rem;color:#6b7a92;border-top:1px solid rgba(15,23,42,.08);background:var(--surface-muted);margin-top:auto}.utility-panel{display:flex;flex-direction:column;gap:1.5rem}.panel-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1.5rem;background:var(--surface);border-radius:20px;padding:1.6rem 2rem;border:1px solid rgba(15,23,42,.08);box-shadow:0 16px 28px #0f172a14}.panel-kicker{text-transform:uppercase;letter-spacing:.2em;font-size:.75rem;color:#5b6a86;margin:0 0 .4rem}.panel-header h2{margin:0 0 .6rem;font-size:1.8rem}.panel-subtitle{margin:0;color:#556480}.table-card{background:var(--surface);border-radius:20px;border:1px solid rgba(15,23,42,.08);box-shadow:0 14px 24px #0f172a14;overflow:hidden}.pagination{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.9rem 1.2rem;border-radius:16px;background:var(--surface);border:1px solid rgba(15,23,42,.08);box-shadow:0 10px 18px #0f172a0f}.pagination-meta{font-size:.85rem;color:#4f635d;font-weight:600}.pagination-controls{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap}.pagination-page{font-size:.9rem;color:#2f4b44;font-weight:600}.data-table{width:100%;border-collapse:collapse;font-size:.92rem}.data-table th{text-align:left;padding:.9rem 1rem;background:#f4f6f4;color:#1e3f37;font-weight:600;border-bottom:1px solid rgba(12,31,26,.1)}.data-table td{padding:.85rem 1rem;border-bottom:1px solid rgba(12,31,26,.05)}.data-table tbody tr:nth-child(2n){background:#fbfcfb}.data-table tbody tr:hover{background:#0d6f5c0f}.data-table .group-row,.data-table .group-row:hover{background:#eef2ff}.group-pill{display:inline-flex;align-items:center;padding:.3rem .8rem;border-radius:999px;font-size:.8rem;font-weight:600;color:#1e40af;background:#2563eb29}.status-pill{display:inline-flex;align-items:center;padding:.25rem .7rem;border-radius:999px;font-size:.8rem;font-weight:600}.status-pill.active{background:#0d6f5c29;color:#0b4d3f}.status-pill.inactive{background:#9c413029;color:#7d2f23}.status-pill.posted{background:#0d6f5c29;color:#0b4d3f}.status-pill.draft{background:#f59e0b2e;color:#92400e}.action-button{border:none;background:#1f4fd1;color:#fff;padding:.4rem .9rem;border-radius:10px;cursor:pointer;font-weight:600}.placeholder-card{background:var(--pearl);border-radius:20px;padding:2.5rem;border:1px dashed rgba(12,31,26,.2);color:#4b5b56}.empty-state{padding:2.5rem;text-align:center;color:#5e6f68}.form-card{background:var(--surface);border-radius:20px;padding:2rem;border:1px solid rgba(12,31,26,.08);box-shadow:0 16px 28px #0c1f1a14;display:flex;flex-direction:column;gap:1.5rem}.form-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1.5rem}.form-header h3{margin:0 0 .4rem;font-size:1.5rem}.form-header p{margin:0;color:#4f635d}.account-master-form .form-grid{gap:1.4rem}.account-code-mode{display:grid;gap:.9rem;padding:1.1rem 1.2rem;border-radius:16px;background:var(--surface-muted);border:1px solid var(--border-soft)}.account-code-mode-header{display:flex;flex-direction:column;gap:.2rem}.account-code-mode-title{font-weight:600;font-size:.95rem;color:var(--ink)}.account-code-mode-subtitle{font-size:.85rem;color:#4f635d}.account-code-mode-options{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:.8rem}.account-code-option{display:flex;align-items:center;gap:.6rem;padding:.7rem .9rem;border-radius:12px;border:1px solid rgba(12,31,26,.12);background:#fff;cursor:pointer;font-weight:600;color:#1f3a34;transition:border .16s ease,box-shadow .16s ease,transform .16s ease}.account-code-option input{margin:0;accent-color:var(--ocean)}.account-code-option:hover{border-color:#0c1f1a40}.account-code-option:focus-within{border-color:#2563eb66;box-shadow:0 0 0 3px #2563eb1f}.account-code-option.is-selected{border-color:#0d6f5c66;box-shadow:0 10px 18px #0d6f5c26;transform:translateY(-1px)}.form-actions{display:flex;gap:.8rem;flex-wrap:wrap}.form-footer-actions{justify-content:flex-end;margin-top:1rem;padding-top:1rem;border-top:1px solid rgba(12,31,26,.08)}.submit-hint{margin-right:auto;align-self:center;font-size:.85rem;color:#b42318;background:#b4231814;border:1px solid rgba(180,35,24,.22);border-radius:8px;padding:.5rem .75rem;max-width:60%}.ghost-button{border:1px solid rgba(12,31,26,.18);background:#fff;color:#1f3a34;padding:.6rem 1.2rem;border-radius:12px;cursor:pointer;font-weight:600}.danger-button{border:none;background:#dc2626;color:#fff;padding:.6rem 1.2rem;border-radius:12px;cursor:pointer;font-weight:600}.form-alert{padding:.8rem 1rem;border-radius:12px;background:#9c41301f;color:#7d2f23;font-weight:600}.form-alert-footer{margin-top:-.5rem}.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1.2rem}.purchase-bill-summary{display:grid;gap:1rem;padding:1rem;border-radius:16px;border:1px solid rgba(12,31,26,.08);background:var(--surface-muted)}.purchase-bill-totals{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.8rem}.purchase-bill-total{background:#fff;border:1px solid rgba(12,31,26,.12);border-radius:12px;padding:.8rem 1rem;display:flex;flex-direction:column;gap:.2rem;font-variant-numeric:tabular-nums}.purchase-bill-total span{font-size:.85rem;color:#4f635d}.purchase-bill-total strong{font-size:1rem;color:#1f3a34}.purchase-bill-total.invoice{border-color:#0d6f5c66;background:#f2faf7}.purchase-bill-adjustments{display:grid;grid-template-columns:1fr;gap:1rem}.purchase-bill-adjustments .line-items-table .data-table th:first-child,.purchase-bill-adjustments .line-items-table .data-table td:first-child{min-width:240px}.adjustment-card{background:#fff;border:1px solid rgba(12,31,26,.1);border-radius:14px;padding:.8rem;display:grid;gap:.6rem}.adjustment-header h4{margin:0;font-size:1rem}.company-tax-row{grid-column:1 / -1;display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem;padding:1rem;border-radius:16px;border:1px solid rgba(12,31,26,.08);background:var(--surface-muted)}.field-group{display:flex;flex-direction:column;gap:.4rem}.field-group label{font-weight:600;font-size:.9rem}.field-label-row{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.field-label-row label{font-weight:600;font-size:.9rem}.field-add-link{background:transparent;border:none;color:#0f6b54;font-size:.8rem;font-weight:600;cursor:pointer;padding:0;line-height:1}.field-add-link:hover{text-decoration:underline}.field-group input,.field-group textarea,.field-group select{border:1px solid rgba(12,31,26,.16);border-radius:12px;padding:.7rem .9rem;font-size:.95rem;background:#fff;transition:border .16s ease,box-shadow .16s ease}.field-group textarea{resize:vertical}.field-group input:focus,.field-group textarea:focus,.field-group select:focus{outline:none;border-color:#2563eb66;box-shadow:0 0 0 3px #2563eb1f}.field-group input[readonly]{background:#f1f4f2;color:#5a6a64}.field-note{padding:.8rem 1rem;border-radius:12px;background:#f4f6f4;color:#51645e;font-size:.9rem}.field-group.has-error input,.field-group.has-error textarea,.field-group.has-error select{border-color:#9c413099}.field-error{color:#7d2f23;font-size:.8rem}.field-helper{color:#51645e;font-size:.8rem}.field-group.span-2{grid-column:span 2}.file-row{display:flex;gap:.8rem;align-items:center}.file-hidden{display:none}.voucher-filters{display:flex;gap:1rem;flex-wrap:wrap;align-items:flex-end;padding:1rem 1.2rem;border-radius:16px;background:var(--surface);border:1px solid rgba(12,31,26,.08);box-shadow:0 10px 20px #0c1f1a0f}.filter-field{display:flex;flex-direction:column;gap:.4rem;font-size:.85rem;color:#4f635d}.filter-field input{border:1px solid rgba(12,31,26,.16);border-radius:10px;padding:.5rem .7rem;font-size:.9rem}.filter-toggle{display:inline-flex;align-items:center;gap:.5rem;font-size:.85rem;color:#2f4b44}.table-actions{display:flex;gap:.6rem;flex-wrap:wrap}.icon-button{width:34px;height:34px;border-radius:10px;border:1px solid rgba(12,31,26,.12);background:#fff;color:#1f3a34;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease}.icon-button svg{width:16px;height:16px;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.icon-button.edit{color:#1e40af;border-color:#2563eb59;box-shadow:0 8px 16px #2563eb29}.icon-button.delete{color:#b91c1c;border-color:#b91c1c59}.icon-button:hover{transform:translateY(-1px);box-shadow:0 10px 18px #0c1f1a1f}.line-items{display:flex;flex-direction:column;gap:1rem}.line-items-header{display:flex;align-items:center;justify-content:space-between;gap:1rem}.line-items-header h4{margin:0;font-size:1.1rem}.line-items-footer{display:flex;align-items:center;justify-content:flex-end;gap:1rem;margin-top:.8rem}.line-items-summary{font-weight:600;color:#1e3f37;font-variant-numeric:tabular-nums;text-align:right}.line-action-buttons{display:inline-flex;align-items:center;gap:.4rem}.line-action-button{width:32px;height:32px;border:1px solid rgba(12,31,26,.12);border-radius:10px;background:#fff;color:#1f3a34;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease}.line-action-button svg{width:16px;height:16px;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.line-action-button.add{color:#1e40af;border-color:#2563eb66;box-shadow:0 8px 16px #2563eb2e}.line-action-button.delete{color:#b91c1c;border-color:#b91c1c59}.line-action-button:disabled{opacity:.5;cursor:not-allowed;box-shadow:none}.line-action-button:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 10px 18px #0c1f1a1f}.money-input{text-align:right;font-variant-numeric:tabular-nums}.line-items-table .data-table td select,.line-items-table .data-table td input,.line-items-table .data-table td textarea{width:100%;border:1px solid rgba(12,31,26,.16);border-radius:8px;padding:.35rem .5rem;font-size:.9rem}.line-items-table .data-table td textarea{resize:vertical;min-height:34px}.line-items-table{overflow:visible}.line-items-cell-caption{display:block;margin-top:4px;font-size:.7rem;color:#667085;font-variant-numeric:tabular-nums;text-align:right}.line-items-table .data-table th,.line-items-table .data-table td{padding:.55rem .6rem}.line-items-table .data-table th:first-child,.line-items-table .data-table td:first-child{width:42px}.line-items-table .data-table th:nth-child(2),.line-items-table .data-table td:nth-child(2){min-width:170px}.line-items-table .data-table th:nth-child(3),.line-items-table .data-table td:nth-child(3){min-width:150px}.line-items-table .data-table th:nth-child(4),.line-items-table .data-table td:nth-child(4){width:140px}.line-items-table .data-table th:nth-child(5),.line-items-table .data-table td:nth-child(5){width:130px}.line-items-table .data-table th:nth-child(6),.line-items-table .data-table td:nth-child(6){width:120px}.line-items-table .data-table th:nth-child(7),.line-items-table .data-table td:nth-child(7){width:100px}.line-items-table .data-table th:nth-child(8),.line-items-table .data-table td:nth-child(8){width:100px}.line-items-table .data-table th:nth-child(9),.line-items-table .data-table td:nth-child(9){width:150px}.line-items-table .data-table th:nth-child(10),.line-items-table .data-table td:nth-child(10){width:90px}.search-select{position:relative;width:100%}.search-select-input{width:100%;border:1px solid rgba(12,31,26,.16);border-radius:10px;padding:.6rem .8rem;font-size:.95rem;background:#fff;transition:border .16s ease,box-shadow .16s ease}.search-select-input:focus{outline:none;border-color:#2563eb66;box-shadow:0 0 0 3px #2563eb1f}.form-grid .search-select-input{border-radius:12px;padding:.7rem .9rem}.line-items-table .search-select-input{border-radius:8px;padding:.35rem .5rem;font-size:.9rem}.line-items-table .data-table td:nth-child(4) .search-select-menu{right:auto;width:240px;min-width:240px}.search-select-menu{position:absolute;left:0;right:0;top:calc(100% + 6px);z-index:20;max-height:220px;overflow-y:auto;background:#fff;border:1px solid rgba(12,31,26,.16);border-radius:12px;box-shadow:0 12px 24px #0c1f1a1f}.search-select-option{width:100%;border:none;background:transparent;text-align:left;padding:.6rem .8rem;font-size:.92rem;cursor:pointer}.search-select-option:hover,.search-select-option.active{background:#0d6f5c14}.search-select-empty{padding:.6rem .8rem;font-size:.9rem;color:#5e6f68}.report-modal-backdrop{position:fixed;inset:0;background:#0c1f1a73;display:flex;align-items:center;justify-content:center;padding:1.5rem;z-index:40}.report-modal{width:min(1100px,100%);height:min(82vh,860px);min-height:70vh;background:var(--surface);border-radius:22px;border:1px solid rgba(12,31,26,.12);box-shadow:0 24px 60px var(--shadow-strong);display:flex;flex-direction:column;overflow:hidden}.report-modal-header{padding:1.6rem 2rem;background:#f7faf8;border-bottom:1px solid rgba(12,31,26,.08);display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.report-modal-title{margin:.35rem 0 0;font-size:1.4rem}.report-modal-body{padding:1.6rem 2rem 2rem;display:flex;flex-direction:column;gap:1.4rem;max-height:none;flex:1;overflow:auto}.report-form{display:flex;flex-wrap:wrap;gap:1rem;align-items:flex-end;padding:1rem;border-radius:16px;border:1px solid rgba(12,31,26,.08);background:#f8faf8}.report-form .field-group{min-width:200px}.report-form .primary{align-self:flex-end}.report-meta{text-align:center;display:flex;flex-direction:column;gap:.3rem}.report-meta-title{font-weight:700;font-size:1.1rem;color:#1f3832}.report-meta-subtitle{font-size:.95rem;font-weight:600;color:#2f4b44}.report-meta-range{font-size:.85rem;color:#4f635d}.report-meta-metrics{display:flex;justify-content:center;gap:.8rem;flex-wrap:wrap;margin-top:.4rem}.report-metric{background:#f2f6f3;color:#2f4b44;border-radius:999px;padding:.2rem .7rem;font-size:.82rem;font-weight:600}.report-loader{display:inline-flex;align-items:center;gap:.5rem}.report-loader:before{content:"";width:14px;height:14px;border-radius:50%;border:2px solid rgba(12,31,26,.25);border-top-color:#0c1f1acc;animation:spin .8s linear infinite}.report-screen-area{display:flex;flex-direction:column;gap:1.2rem;width:100%}.report-print-area{display:none;flex-direction:column;gap:1.2rem;width:100%}.report-card{overflow-x:auto;overflow-y:hidden}.report-table{font-size:.88rem;min-width:860px}.report-book-table{min-width:980px}.report-table th,.report-table td{vertical-align:top}.report-particulars{min-width:260px}.report-amount{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.data-table th.report-amount{text-align:right}.report-group-header td{font-weight:600;background:#e8ede9;color:#0c1f1a;font-size:.82rem;text-transform:uppercase;letter-spacing:.04em;padding:.45rem 1rem}.report-voucher-row td{background:#f4f7f4;color:#1f3a34;font-weight:600}.report-total-row td{background:#fbf7ef;font-weight:700;text-transform:uppercase;font-size:.78rem;letter-spacing:.08em}.report-grand-total td{background:#e8f1ee;font-weight:700}.report-ledger-list{display:flex;flex-direction:column;gap:1.4rem}.report-ledger-block{display:flex;flex-direction:column;gap:.5rem}.report-ledger-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.5rem .75rem;background:#f2f6f3;border-radius:8px;font-size:.9rem;color:#1f3832}.report-ledger-opening{font-weight:600;color:#2f4b44;white-space:nowrap;font-size:.85rem;background:#ddeee6;border-radius:999px;padding:.15rem .7rem}.report-ledger-table{min-width:700px}.report-ledger-closing td{background:#fbf7ef;font-weight:700;font-size:.82rem;text-transform:uppercase;letter-spacing:.06em}.trial-balance-modal{width:min(1100px,100%)}.trial-balance-accounts{border:1px solid rgba(12,31,26,.08);background:#fff;border-radius:16px;padding:1rem;display:flex;flex-direction:column;gap:.8rem}.trial-balance-accounts-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap}.trial-balance-accounts-title{font-weight:700;color:#1f3832}.trial-balance-accounts-meta{font-size:.85rem;color:#5b6a64;margin-top:.2rem}.trial-balance-accounts-actions{display:inline-flex;gap:.5rem;flex-wrap:wrap}.trial-balance-accounts-list{border:1px solid rgba(12,31,26,.08);border-radius:12px;max-height:220px;overflow-y:auto;background:#fbfcfb}.trial-balance-account-row{display:flex;align-items:center;gap:.6rem;padding:.55rem .75rem;border-bottom:1px solid rgba(12,31,26,.08);font-size:.9rem}.trial-balance-account-row:last-child{border-bottom:none}.trial-balance-account-row input{accent-color:var(--ocean)}.trial-balance-account-code{font-weight:600;min-width:90px;color:#1f3a34;font-variant-numeric:tabular-nums}.trial-balance-account-name{color:#2f4b44}.trial-balance-header{text-align:center;margin-bottom:.75rem;line-height:1.2}.trial-balance-company{font-size:1.05rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.trial-balance-title{font-size:.9rem;font-weight:600;margin-top:.25rem;text-transform:uppercase}.trial-balance-page{font-size:.8rem;text-align:right;margin-top:.35rem}.trial-balance-table th{background:#f7faf8;font-weight:700;text-transform:uppercase;font-size:.78rem;letter-spacing:.1em}.trial-balance-col-code{width:120px}.trial-balance-col-name{min-width:280px}.trial-balance-code-cell{white-space:nowrap;font-variant-numeric:tabular-nums}.trial-balance-name-cell{white-space:normal}.trial-balance-group-row td{background:#f4f7f4;font-weight:700}.trial-balance-total-row td{background:#fbf7ef;font-weight:700;text-transform:uppercase;font-size:.78rem;letter-spacing:.08em}.trial-balance-total-label{color:#1f3a34}.receipts-disbursements-modal{width:min(1100px,100%)}.receipts-disbursements-accounts{border:1px solid rgba(12,31,26,.08);background:#fff;border-radius:16px;padding:1rem;display:flex;flex-direction:column;gap:.8rem}.receipts-disbursements-accounts-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap}.receipts-disbursements-accounts-title{font-weight:700;color:#1f3832}.receipts-disbursements-accounts-meta{font-size:.85rem;color:#5b6a64;margin-top:.2rem}.receipts-disbursements-accounts-actions{display:inline-flex;gap:.5rem;flex-wrap:wrap}.receipts-disbursements-accounts-list{border:1px solid rgba(12,31,26,.08);border-radius:12px;max-height:220px;overflow-y:auto;background:#fbfcfb;padding:.4rem 0}.receipts-disbursements-accounts-section{padding:0 .6rem .6rem}.receipts-disbursements-accounts-section+.receipts-disbursements-accounts-section{border-top:1px solid rgba(12,31,26,.08);margin-top:.4rem}.receipts-disbursements-accounts-section-title{font-size:.75rem;font-weight:700;color:#5b6a64;text-transform:uppercase;letter-spacing:.12em;margin:.4rem 0 .3rem}.receipts-disbursements-account-row-select{display:flex;align-items:center;gap:.6rem;padding:.55rem .75rem;border-bottom:1px solid rgba(12,31,26,.08);font-size:.9rem;background:#fff;border-radius:10px;margin-bottom:.35rem}.receipts-disbursements-account-row-select:last-child{margin-bottom:0}.receipts-disbursements-account-row-select input{accent-color:var(--ocean)}.receipts-disbursements-account-tag{font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;padding:.15rem .4rem;border-radius:999px;background:#0d6f5c1f;color:#0b4d3f}.receipts-disbursements-account-tag.partner{background:#2563eb24;color:#1e40af}.receipts-disbursements-account-code{font-weight:600;min-width:90px;color:#1f3a34;font-variant-numeric:tabular-nums}.receipts-disbursements-account-name{color:#2f4b44}.receipts-disbursements-header{text-align:center;margin-bottom:.75rem;line-height:1.2}.receipts-disbursements-company{font-size:1.05rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.receipts-disbursements-title{font-size:.9rem;font-weight:600;margin-top:.25rem;text-transform:uppercase}.receipts-disbursements-page{font-size:.8rem;text-align:right;margin-top:.35rem}.receipts-disbursements-table th{background:#f7faf8;font-weight:700;text-transform:uppercase;font-size:.78rem;letter-spacing:.1em}.receipts-disbursements-col-name{min-width:280px}.receipts-disbursements-name-cell{white-space:normal}.receipts-disbursements-group-row td{background:#f4f7f4;font-weight:700}.receipts-disbursements-total-row td{background:#fbf7ef;font-weight:700;text-transform:uppercase;font-size:.78rem;letter-spacing:.08em}.receipts-disbursements-total-label{color:#1f3a34}.ledgerbook-modal{width:min(1100px,100%)}.ledgerbook-accounts{border:1px solid rgba(12,31,26,.08);background:#fff;border-radius:16px;padding:1rem;display:flex;flex-direction:column;gap:.8rem}.ledgerbook-accounts-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap}.ledgerbook-accounts-title{font-weight:700;color:#1f3832}.ledgerbook-accounts-meta{font-size:.85rem;color:#5b6a64;margin-top:.2rem}.ledgerbook-accounts-actions{display:inline-flex;gap:.5rem;flex-wrap:wrap}.ledgerbook-accounts-list{border:1px solid rgba(12,31,26,.08);border-radius:12px;max-height:220px;overflow-y:auto;background:#fbfcfb;padding:.4rem 0}.ledgerbook-accounts-section{padding:0 .6rem .6rem}.ledgerbook-accounts-section+.ledgerbook-accounts-section{border-top:1px solid rgba(12,31,26,.08);margin-top:.4rem}.ledgerbook-accounts-section-title{font-size:.75rem;font-weight:700;color:#5b6a64;text-transform:uppercase;letter-spacing:.12em;margin:.4rem 0 .3rem}.ledgerbook-account-row-select{display:flex;align-items:center;gap:.6rem;padding:.55rem .75rem;border-bottom:1px solid rgba(12,31,26,.08);font-size:.9rem;background:#fff;border-radius:10px;margin-bottom:.35rem}.ledgerbook-account-row-select:last-child{margin-bottom:0}.ledgerbook-account-row-select input{accent-color:var(--ocean)}.ledgerbook-account-tag{font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;padding:.15rem .4rem;border-radius:999px;background:#0d6f5c1f;color:#0b4d3f}.ledgerbook-account-tag.partner{background:#2563eb24;color:#1e40af}.ledgerbook-account-code{font-weight:600;min-width:90px;color:#1f3a34;font-variant-numeric:tabular-nums}.ledgerbook-account-name{color:#2f4b44}.ledgerbook-header{text-align:center;margin-bottom:.75rem;line-height:1.2}.ledgerbook-company{font-size:1.05rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.ledgerbook-title{font-size:.9rem;font-weight:600;margin-top:.25rem;text-transform:uppercase}.ledgerbook-page{font-size:.8rem;text-align:right;margin-top:.35rem}.ledgerbook-group{margin-bottom:1.6rem}.ledgerbook-group-title{font-weight:700;color:#1f3a34;text-transform:uppercase;letter-spacing:.08em;margin:0 0 .6rem}.ledgerbook-table{width:100%;border-collapse:collapse;font-size:.88rem;line-height:1.35;table-layout:auto}.ledgerbook-table th,.ledgerbook-table td{padding:.45rem .55rem;border:none;vertical-align:top}.ledgerbook-table th{background:#f7faf8;font-weight:700;text-align:left;border-top:1px solid rgba(12,31,26,.2);border-bottom:1px solid rgba(12,31,26,.2);white-space:nowrap;text-transform:uppercase;font-size:.78rem;letter-spacing:.1em}.ledgerbook-col-date{width:110px}.ledgerbook-col-vno{width:120px}.ledgerbook-col-particulars{min-width:240px}.ledgerbook-col-cheque{width:120px}.ledgerbook-col-debit,.ledgerbook-col-credit,.ledgerbook-col-balance{width:120px;text-align:right}.ledgerbook-vno-cell,.ledgerbook-cheque-cell{white-space:normal;word-break:break-word;overflow-wrap:anywhere}.ledgerbook-particulars-cell{white-space:normal;word-break:break-word}.ledgerbook-amount{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.ledgerbook-balance{font-weight:600}.ledgerbook-table tbody td{border-bottom:1px dashed rgba(12,31,26,.12)}.ledgerbook-account-row td{font-weight:700;background:#f4f7f4;border-top:1px solid rgba(12,31,26,.2)}.ledgerbook-opening-row td{font-weight:600;background:#f4f7f4}.ledgerbook-closing-row td{font-weight:700;background:#e8f1ee;border-top:2px solid rgba(12,31,26,.4)}.ledgerbook-total-row td{background:#fbf7ef;font-weight:700;text-transform:uppercase;font-size:.78rem;letter-spacing:.08em}@media print{html,body{margin:0;padding:0}body *{visibility:hidden}.report-modal-backdrop,.report-modal,.report-modal-body,.report-print-area,.report-print-area *{visibility:visible}.report-screen-area,.report-screen-area *{visibility:hidden}.report-print-area{display:block;position:absolute;top:0;left:0;right:0;background:#fff;padding:1rem}.report-modal-backdrop{position:absolute;inset:0;background:none;padding:0;display:block}.report-modal{box-shadow:none;border:none;border-radius:0;width:100%;margin:0;height:auto;min-height:0}.report-modal-body{max-height:none;overflow:visible;padding:0}.report-card{overflow:visible}.report-table{width:100%;min-width:0}.report-table thead{display:table-header-group}.report-table tr,.report-table td,.report-table th{-moz-column-break-inside:avoid;break-inside:avoid;page-break-inside:avoid}.report-modal-header,.report-form,.pagination,.trial-balance-accounts,.ledgerbook-accounts{display:none!important}}@keyframes spin{to{transform:rotate(360deg)}}@media(max-width:1100px){.dashboard-shell{grid-template-columns:1fr}.sidebar{border-right:none;border-bottom:1px solid rgba(12,31,26,.1);position:relative;height:auto;overflow:visible}.menu-list{flex-direction:row;flex-wrap:wrap;overflow-y:visible;min-height:auto}.menu-block{flex:1 1 180px}.main-panel{min-height:auto}}@media(max-width:780px){.topbar{flex-direction:column;align-items:flex-start;gap:.8rem}.session-strip{flex-direction:column;gap:.3rem}.session-actions{width:100%;flex-wrap:wrap;justify-content:space-between}.panel-header{flex-direction:column}.form-header{flex-direction:column;align-items:flex-start}.content-area{padding:1.6rem}.form-grid,.account-code-mode-options{grid-template-columns:1fr}.field-group.span-2{grid-column:span 1}.file-row{flex-direction:column;align-items:stretch}}.cashbook-modal{width:min(1100px,100%)}.cashbook-screen,.cashbook-print{font-family:inherit;background:#fff;padding:1rem;border-radius:12px;border:1px solid rgba(12,31,26,.12)}.cashbook-screen{overflow-x:auto}.cashbook-header{text-align:center;margin-bottom:.75rem;line-height:1.2}.cashbook-company{font-size:1.05rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.cashbook-title{font-size:.9rem;font-weight:600;margin-top:.25rem;text-transform:uppercase}.cashbook-account{font-size:.78rem;color:#4f635d;margin-top:.25rem}.cashbook-page{font-size:.8rem;text-align:right;margin-top:.35rem}.cashbook-table{width:100%;border-collapse:collapse;font-size:.88rem;line-height:1.35;table-layout:auto}.cashbook-table th,.cashbook-table td{padding:.45rem .55rem;border:none;vertical-align:top}.cashbook-table th{background:#f7faf8;font-weight:700;text-align:left;border-top:1px solid rgba(12,31,26,.2);border-bottom:1px solid rgba(12,31,26,.2);white-space:nowrap;text-transform:uppercase;font-size:.78rem;letter-spacing:.1em}.cashbook-col-date{width:110px}.cashbook-col-vno{width:140px}.cashbook-col-particulars{width:auto;min-width:240px}.cashbook-col-cheque{width:130px}.cashbook-col-receipt,.cashbook-col-payment{width:120px;text-align:right}.cashbook-col-balance{width:150px;text-align:right}.cashbook-vno-cell,.cashbook-cheque-cell{white-space:normal;word-break:break-word;overflow-wrap:anywhere}.cashbook-particulars-cell{white-space:normal;word-break:break-word}.cashbook-particulars-main{font-weight:600}.cashbook-particulars-sub{font-size:.78rem;color:#555;margin-top:.15rem;line-height:1.25}.cashbook-amount{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.cashbook-balance{font-weight:600}.cashbook-table tbody td{border-bottom:1px dashed rgba(12,31,26,.12)}.cashbook-opening-row td{font-weight:600;background:#f4f7f4;border-top:1px solid rgba(12,31,26,.2)}.cashbook-entry-row:hover td{background:#0d6f5c0a}.cashbook-closing-row td{font-weight:700;background:#e8f1ee;border-top:2px solid rgba(12,31,26,.4);border-bottom:none}.cashbook-total{font-weight:700}.cashbook-print{display:none}.cashbook-print-page{page-break-after:always;margin-bottom:2rem}.cashbook-print-page:last-child{page-break-after:auto}@media print{.cashbook-screen,.cashbook-screen *{visibility:hidden!important}.cashbook-print{display:block!important;visibility:visible!important}.cashbook-print,.cashbook-print *{visibility:visible!important}.cashbook-print{position:absolute;left:0;top:0;width:100%;padding:0;border:none;background:#fff}.cashbook-table{font-size:10pt}.cashbook-header{margin-bottom:.3rem}.cashbook-company{font-size:12pt}.cashbook-title{font-size:10pt}.cashbook-page{font-size:9pt}}.tag-inline{display:inline-flex;margin-left:.5rem;padding:.15rem .45rem;border-radius:999px;border:1px solid rgba(37,99,235,.25);background:#2563eb14;color:#1e40af;font-size:.75rem;font-weight:600;letter-spacing:.01em}.authz-shell{display:grid;grid-template-columns:320px 1fr;gap:1rem;align-items:start}.authz-users,.authz-perms{background:#fff;border:1px solid rgba(15,23,42,.08);border-radius:16px;padding:1rem;box-shadow:0 12px 30px #0f172a0f}.authz-title{font-weight:700;color:#0f172ad9;margin-bottom:.75rem}.authz-user-list{display:flex;flex-direction:column;gap:.5rem}.authz-user-button{text-align:left;border-radius:12px;border:1px solid rgba(15,23,42,.08);background:#f8fafcbf;padding:.65rem .75rem;transition:transform .12s ease,border-color .12s ease,background .12s ease}.authz-user-button:hover{transform:translateY(-1px);border-color:#2563eb40;background:#2563eb0f}.authz-user-button.active{border-color:#2563eb59;background:#2563eb1a}.authz-user-name{font-weight:700;color:#0f172ad9}.authz-user-sub{margin-top:.1rem;font-size:.85rem;color:#0f172a99}.authz-grid{display:flex;flex-direction:column;gap:.75rem}.authz-row{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.65rem .75rem;border-radius:12px;border:1px solid rgba(15,23,42,.08);background:#f8fafcbf}.authz-label{font-weight:600;color:#0f172acc}.checkbox-line{display:flex;align-items:center;padding-top:1.75rem}@media(max-width:860px){.authz-shell{grid-template-columns:1fr}}.analytics-dashboard{padding:0}.analytics-filter-card{margin-top:1rem;padding:1rem 1.25rem}.analytics-filters{display:flex;align-items:flex-end;gap:1rem;flex-wrap:wrap}.analytics-actions{display:flex;gap:.75rem;align-items:center}.kpi-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.5rem;margin-bottom:2rem}.kpi-card{background:var(--surface);border:1px solid var(--border-soft);border-radius:12px;padding:1.5rem;box-shadow:0 2px 4px var(--shadow-soft);transition:transform .2s,box-shadow .2s}.kpi-card:hover{transform:translateY(-2px);box-shadow:0 4px 8px var(--shadow-strong)}.kpi-card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.kpi-card-title{font-size:.875rem;color:var(--ink);font-weight:600;text-transform:uppercase;letter-spacing:.5px}.kpi-card-icon{font-size:1.5rem}.kpi-card-value{font-size:2rem;font-weight:700;color:var(--deep);margin-bottom:.5rem}.kpi-card-subtitle{font-size:.875rem;color:#6b7280}.kpi-card-trend{font-size:.875rem;font-weight:600;margin-top:.75rem}.kpi-card-trend.up{color:#10b981}.kpi-card-trend.down{color:#ef4444}.kpi-card-blue{border-left:4px solid #3b82f6}.kpi-card-green{border-left:4px solid #10b981}.kpi-card-orange{border-left:4px solid #f59e0b}.kpi-card-purple{border-left:4px solid #8b5cf6}.kpi-card-red{border-left:4px solid #ef4444}.charts-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(500px,1fr));gap:2rem;margin-top:2rem}.chart-card{background:var(--surface);border:1px solid var(--border-soft);border-radius:12px;padding:1.5rem;box-shadow:0 2px 4px var(--shadow-soft)}.chart-card-wide{grid-column:1 / -1}.chart-title{font-size:1.125rem;font-weight:600;color:var(--deep);margin-bottom:1.5rem}.chart-subtitle{text-align:center;margin-top:1rem;font-size:.875rem;color:#6b7280;font-weight:600}.gst-alert{background:#fef3c7;border:1px solid #fbbf24;border-radius:8px;padding:1rem 1.5rem;margin-bottom:2rem;display:flex;gap:1rem;align-items:flex-start}.gst-alert .alert-icon{font-size:1.5rem;flex-shrink:0}.gst-alert strong{display:block;color:#92400e;font-size:1rem;margin-bottom:.5rem}.gst-alert p{color:#78350f;font-size:.875rem;margin:.25rem 0}.alert-recommendation{font-weight:600;color:#92400e!important}.compliance-tips{display:flex;flex-direction:column;gap:1rem}.tip-item{display:flex;gap:1rem;align-items:flex-start}.tip-icon{font-size:1.25rem;flex-shrink:0}.tip-item strong{display:block;color:var(--deep);font-size:.875rem;margin-bottom:.25rem}.tip-item p{color:#6b7280;font-size:.8125rem;margin:0}@media(max-width:1024px){.charts-grid{grid-template-columns:1fr}.kpi-grid{grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.analytics-actions{width:100%}}.invoice-print-area{display:none}@media print{.invoice-print-area,.invoice-print-area *{visibility:visible!important}.invoice-print-area{display:block!important;position:absolute;top:0;left:0;width:100%;background:#fff;padding:0}@page{margin:10mm;size:A4}}.invoice-print-area{font-family:Arial,Helvetica,sans-serif;font-size:13px;color:#000;width:100%}.inv-header{border:1px solid #000;padding:6px 10px;text-align:center}.inv-print-title{font-size:15px;font-weight:700;text-align:center;letter-spacing:.5px;margin-bottom:4px;padding-bottom:4px;border-bottom:1px dashed rgba(0,0,0,.4)}.inv-header-top{display:flex;justify-content:flex-end}.inv-tax-label{font-size:15px;font-weight:700;text-align:right}.inv-jurisdiction{font-size:12px;text-align:right;color:#333}.inv-company-name{font-size:20px;font-weight:700;text-transform:uppercase;margin:4px 0 2px}.inv-company-addr{font-size:12px;line-height:1.4}.inv-company-tagline{font-size:12px;font-style:italic;margin-top:2px}.inv-billing-row{display:grid;grid-template-columns:1fr 1fr;border-left:1px solid #000;border-right:1px solid #000;border-bottom:1px solid #000}.inv-bill-to{padding:6px 8px;border-right:1px solid #000;min-height:80px}.inv-section-label{font-size:12px;font-weight:700;margin-bottom:2px}.inv-bp-name{font-weight:700;font-size:13px}.inv-bp-addr{font-size:12px;line-height:1.4}.inv-inv-details{padding:6px 8px}.inv-details-table{width:100%;border-collapse:collapse;font-size:12px}.inv-details-table td{padding:2px 4px;vertical-align:top}.inv-details-table td:first-child{font-weight:700;white-space:nowrap;width:45%}.inv-lines-wrapper{border-left:1px solid #000;border-right:1px solid #000;border-bottom:1px solid #000}.inv-lines-table{width:100%;border-collapse:collapse;font-size:12px}.inv-lines-table th,.inv-lines-table td{border:1px solid #ccc;padding:3px 5px}.inv-lines-table thead th{background:#f5f5f5;font-weight:700;text-align:center}.inv-col-no{width:4%;text-align:center}.inv-col-code{width:7%}.inv-col-desc{width:22%;white-space:normal;word-break:break-word;overflow-wrap:anywhere}.inv-col-hsn{width:8%}.inv-col-qty{width:7%;text-align:right}.inv-col-rate{width:8%;text-align:right}.inv-col-disc,.inv-col-gst{width:7%;text-align:right}.inv-col-amt{width:11%;text-align:right}.inv-lines-table td.inv-col-desc{vertical-align:top}.inv-blank-row td{height:20px;border-color:#eee}.inv-num{text-align:right}.inv-adj-row td{font-style:italic;border-top:1px dashed #bbb}.inv-adj-less{background:#fff8f8}.inv-adj-add{background:#f8fff8}.inv-adj-label{padding-left:12px;color:#444}.inv-adj-amount{font-weight:600}.inv-bank-totals-row{display:grid;grid-template-columns:1fr 1fr;border-left:1px solid #000;border-right:1px solid #000;border-bottom:1px solid #000}.inv-bank-terms{padding:6px 8px;border-right:1px solid #000;font-size:12px}.inv-bank-line{font-size:12px;font-weight:700;border-bottom:1px solid #ccc;padding-bottom:4px;margin-bottom:4px}.inv-terms-label{font-weight:700;margin-bottom:2px}.inv-terms-list{padding-left:16px;margin:0 0 4px;font-size:12px}.inv-terms-list li{margin-bottom:1px}.inv-eoe{font-size:11px;color:#555;margin-top:4px}.inv-totals{padding:6px 8px;font-size:12px}.inv-totals-table{width:100%;border-collapse:collapse}.inv-totals-table td{padding:2px 4px}.inv-totals-table td:last-child{text-align:right;min-width:80px}.inv-net-amount{display:flex;justify-content:space-between;font-weight:700;font-size:14px;border-top:1px solid #000;margin-top:4px;padding-top:4px}.inv-gst-wrapper{border-left:1px solid #000;border-right:1px solid #000;border-bottom:1px solid #000}.inv-gst-table{width:100%;border-collapse:collapse;font-size:12px}.inv-gst-table th,.inv-gst-table td{border:1px solid #ccc;padding:3px 5px;text-align:right}.inv-gst-table th:first-child,.inv-gst-table td:first-child{text-align:left}.inv-gst-table thead th{background:#f5f5f5;font-weight:700;text-align:center}.inv-gst-total td{font-weight:700;background:#f9f9f9}.inv-amount-words{border-left:1px solid #000;border-right:1px solid #000;border-bottom:1px solid #000;padding:5px 8px;font-size:12px;line-height:1.6}.inv-signature-row{display:grid;grid-template-columns:1fr 1fr;border-left:1px solid #000;border-right:1px solid #000;border-bottom:1px solid #000}.inv-declaration{padding:6px 8px;border-right:1px solid #000;font-size:12px}.inv-sig-right{padding:6px 8px;font-size:12px;text-align:right}.inv-sig-space{height:40px}.bs-report-card{padding:1.2rem}.bs-report-header{text-align:center;margin-bottom:1.4rem;padding-bottom:.8rem;border-bottom:2px solid var(--color-border, #e2e8f0)}.bs-company-name{font-size:1.1rem;font-weight:700;letter-spacing:.04em;color:var(--color-text-primary, #1a202c)}.bs-report-title{font-size:1rem;font-weight:600;margin-top:.25rem;color:var(--color-text-primary, #1a202c);letter-spacing:.08em}.bs-report-period{font-size:.82rem;color:var(--color-text-secondary, #718096);margin-top:.2rem}.bs-columns{display:grid;grid-template-columns:1fr 1fr;gap:0;border:1px solid var(--color-border, #e2e8f0);border-radius:6px;overflow:hidden}.bs-side{padding:.75rem 1rem}.bs-side:first-child{border-right:1px solid var(--color-border, #e2e8f0)}.bs-side-header{font-size:.78rem;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--color-text-secondary, #718096);padding-bottom:.5rem;margin-bottom:.6rem;border-bottom:1px solid var(--color-border, #e2e8f0)}.bs-group{margin-bottom:.8rem}.bs-group-header{padding:.22rem 0}.bs-group-label{font-size:.8rem;font-weight:600;color:var(--color-text-primary, #1a202c)}.bs-account-row{display:flex;align-items:baseline;gap:.5rem;padding:.12rem .5rem;font-size:.82rem;color:var(--color-text-secondary, #4a5568)}.bs-account-code{font-family:monospace;font-size:.78rem;min-width:5rem;flex-shrink:0}.bs-account-name{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.bs-amount{font-family:monospace;font-size:.82rem;white-space:nowrap;text-align:right;min-width:7rem}.bs-group-total-row{display:flex;justify-content:space-between;align-items:center;padding:.2rem .5rem;font-size:.82rem;border-top:1px solid var(--color-border, #e2e8f0);background:var(--color-surface-2, #f7fafc);margin-top:.15rem}.bs-group-total-label{font-weight:500;font-style:italic;color:var(--color-text-secondary, #718096)}.bs-group-total-amount{font-weight:600}.bs-section-total-row{display:flex;justify-content:space-between;align-items:center;padding:.25rem .5rem;font-size:.82rem;font-weight:600;border-top:2px solid var(--color-border, #cbd5e0);margin-top:.3rem;margin-bottom:.3rem}.bs-sub-total{margin-top:.5rem;border-top-color:var(--color-border, #e2e8f0);border-top-width:1px}.bs-pl-section{margin-top:.8rem;border-top:1px dashed var(--color-border, #cbd5e0);padding-top:.6rem}.bs-pl-header{font-size:.8rem;font-weight:700;letter-spacing:.04em;color:var(--color-text-primary, #2d3748);margin-bottom:.5rem}.bs-pl-sub{margin-bottom:.6rem}.bs-pl-sub-label{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--color-text-secondary, #718096);margin-bottom:.3rem;padding-left:.25rem}.bs-net-pl-row{display:flex;justify-content:space-between;align-items:center;padding:.3rem .5rem;font-size:.88rem;font-weight:700;border-top:2px solid var(--color-border, #cbd5e0);border-bottom:2px solid var(--color-border, #cbd5e0);margin-top:.4rem}.bs-net-pl-label{letter-spacing:.03em}.bs-net-pl-amount{font-size:.9rem}.bs-profit{color:var(--color-success, #276749)}.bs-loss{color:var(--color-danger, #c53030)}.bs-grand-total-row{display:flex;justify-content:space-between;align-items:center;padding:.35rem .5rem;font-size:.9rem;font-weight:700;letter-spacing:.04em;border-top:2px solid var(--color-text-primary, #2d3748);border-bottom:3px double var(--color-text-primary, #2d3748);margin-top:.6rem;background:var(--color-surface-2, #f7fafc)}.bs-difference-row{display:flex;justify-content:space-between;align-items:center;padding:.2rem .5rem;font-size:.78rem;color:var(--color-danger, #c53030);margin-top:.3rem}@media print{.bs-columns{grid-template-columns:1fr 1fr;page-break-inside:avoid}.bs-account-name{white-space:normal;overflow:visible}}.feedback-fab{position:fixed;right:24px;bottom:24px;z-index:9999;padding:10px 18px;border-radius:999px;border:none;background:#1f3a8a;color:#fff;font-weight:600;font-size:13px;cursor:pointer;box-shadow:0 8px 20px #1f3a8a52;transition:transform .15s ease,box-shadow .15s ease}.feedback-fab:hover{transform:translateY(-1px);box-shadow:0 12px 24px #1f3a8a66}.feedback-backdrop{position:fixed;inset:0;background:#0f172a73;z-index:10000}.feedback-modal{position:fixed;right:24px;bottom:24px;width:380px;max-width:calc(100vw - 48px);max-height:calc(100vh - 48px);overflow-y:auto;background:#fff;border-radius:14px;box-shadow:0 24px 60px #0f172a40;z-index:10001;padding:18px 20px 20px}.feedback-header{display:flex;align-items:center;justify-content:space-between;font-weight:700;font-size:15px;margin-bottom:14px}.feedback-close{background:none;border:none;font-size:22px;line-height:1;cursor:pointer;color:#475467;padding:0 4px}.feedback-types{display:flex;gap:8px;margin-bottom:14px}.feedback-type-chip{flex:1;padding:6px 0;border-radius:999px;border:1.5px solid #D0D5DD;background:transparent;color:#475467;font-size:13px;font-weight:500;cursor:pointer;transition:all .12s}.feedback-type-chip.selected{font-weight:600}.feedback-label{display:block;font-size:12px;font-weight:600;color:#344054;margin-bottom:10px}.feedback-label input,.feedback-label textarea{display:block;width:100%;margin-top:4px;padding:8px 10px;border:1px solid #D0D5DD;border-radius:6px;font-size:13px;font-family:inherit;box-sizing:border-box}.feedback-label textarea{resize:vertical}.feedback-screenshot{margin-bottom:12px}.feedback-screenshot .ghost-button{width:100%;padding:10px;font-size:13px}.feedback-screenshot-preview{position:relative;border-radius:8px;overflow:hidden}.feedback-screenshot-preview img{display:block;width:100%;height:140px;-o-object-fit:cover;object-fit:cover}.feedback-screenshot-remove{position:absolute;top:6px;right:6px;padding:3px 10px;background:#0000008c;color:#fff;border:none;border-radius:999px;font-size:11px;cursor:pointer}.feedback-error{color:#e24b4a;font-size:12px;margin:6px 0 10px}.feedback-submit{width:100%;padding:11px;font-size:14px;font-weight:600}.feedback-submit:disabled{opacity:.6;cursor:not-allowed}.feedback-context{margin:10px 0 0;font-size:11px;color:#98a2b3;text-align:center}.feedback-success{text-align:center;padding:8px 0}.feedback-success-icon{font-size:36px;color:#1d9e75;line-height:1}.feedback-success-title{margin:8px 0 6px;font-weight:700;font-size:15px}.feedback-issue-link{display:block;font-size:12px;color:#1f3a8a;word-break:break-all;margin-bottom:14px}.feedback-success-actions{display:flex;gap:8px}.feedback-success-actions button{flex:1;padding:9px}.feedback-fab-badge{margin-left:8px;padding:2px 8px;border-radius:999px;font-size:11px;font-weight:700}.feedback-fab-badge.answer{background:#1d9e75;color:#fff}.feedback-fab-badge.waiting{background:#ffffff2e;color:#fff;animation:feedbackPulse 1.6s infinite}@keyframes feedbackPulse{0%,to{opacity:1}50%{opacity:.55}}.feedback-tabs{display:flex;gap:6px;margin-bottom:14px;background:#f2f4f7;border-radius:10px;padding:4px}.feedback-tab{position:relative;flex:1;padding:7px 0;border:none;border-radius:8px;background:transparent;color:#475467;font-size:13px;font-weight:600;cursor:pointer}.feedback-tab.active{background:#fff;color:#1f3a8a;box-shadow:0 1px 3px #0f172a1f}.feedback-tab-dot{position:absolute;top:4px;right:10px;width:8px;height:8px;border-radius:50%;background:#1d9e75}.feedback-modal-chat{width:440px}.feedback-chat{display:flex;flex-direction:column;min-height:0}.feedback-chat-intro{margin:0 0 12px;font-size:12.5px;color:#475467;line-height:1.5}.feedback-chat-messages{overflow-y:auto;max-height:min(340px,calc(100vh - 320px));display:flex;flex-direction:column;gap:8px;padding:2px 0 8px}.feedback-chat-bubble{max-width:85%;padding:8px 12px;border-radius:12px;font-size:13px;line-height:1.5;white-space:pre-wrap;word-break:break-word}.feedback-chat-bubble.user{align-self:flex-end;background:#1f3a8a;color:#fff;border-bottom-right-radius:4px}.feedback-chat-bubble.assistant{align-self:flex-start;background:#f2f4f7;color:#1d2939;border-bottom-left-radius:4px}.feedback-chat-bubble code{background:#0f172a14;padding:1px 4px;border-radius:4px;font-size:12px}.feedback-chat-bubble.user code{background:#fff3}.feedback-chat-bubble a{color:#1f3a8a}.feedback-chat-waiting{color:#475467;font-style:italic}.feedback-chat-dots span{animation:feedbackDot 1.2s infinite}.feedback-chat-dots span:nth-child(2){animation-delay:.2s}.feedback-chat-dots span:nth-child(3){animation-delay:.4s}@keyframes feedbackDot{0%,60%,to{opacity:.2}30%{opacity:1}}.feedback-chat-composer{display:flex;gap:8px;margin-top:10px}.feedback-chat-composer textarea{flex:1;padding:8px 10px;border:1px solid #D0D5DD;border-radius:8px;font-size:13px;font-family:inherit;resize:none;box-sizing:border-box}.feedback-chat-composer button{padding:0 16px}.feedback-chat-footer{display:flex;align-items:center;gap:8px;margin-top:10px}.feedback-chat-footer .ghost-button,.feedback-mark-read{padding:6px 12px;font-size:12px}.feedback-chat-issue-link{margin-left:auto;font-size:11.5px;color:#98a2b3;text-decoration:none}
