:root{--blue:#1d4ed8;--dark-blue:#0d1b3d;--green:#16a34a;--gray:#64748b;--light-gray:#f3f4f6;--white:#fff;--background:var(--light-gray);--panel:var(--white);--ink:var(--dark-blue);--muted:var(--gray);--line:#64748b2e;--sidebar:var(--dark-blue);--sidebar-link:var(--white);--accent:var(--blue);--accent-soft:var(--light-gray);--success-soft:var(--light-gray);--focus:var(--green)}*{box-sizing:border-box}html,body{min-height:100%;margin:0}body{background:var(--background);color:var(--ink);font-family:Arial,Helvetica,sans-serif}a{color:inherit;text-decoration:none}.app-shell{grid-template-columns:260px minmax(0,1fr);min-height:100vh;display:grid}.sidebar{background:var(--sidebar);color:var(--sidebar-link);flex-direction:column;gap:24px;padding:28px 20px;display:flex}.brand{color:var(--white);align-items:center;gap:12px;display:flex}.logo-mark{background:var(--white);border:2px solid var(--blue);color:var(--blue);border-radius:8px;flex:none;justify-content:center;align-items:center;width:42px;height:42px;font-size:1.25rem;font-weight:800;display:inline-flex;position:relative}.logo-mark:before,.logo-mark:after{background:var(--light-gray);content:"";z-index:0;width:12px;height:24px;position:absolute;top:7px}.logo-mark:before{border-radius:4px 1px 1px 4px;left:7px}.logo-mark:after{border-radius:1px 4px 4px 1px;right:7px}.logo-mark{z-index:1}.logo-mark>*{z-index:1;position:relative}.brand-copy{gap:2px;display:grid}.brand-name{font-size:1.45rem;font-weight:800;line-height:1}.brand-tagline{color:var(--white);font-size:.78rem;font-weight:700;line-height:1.2}.sidebar nav{flex-direction:column;gap:6px;display:flex}.nav-link{color:var(--sidebar-link);border-radius:6px;padding:10px 12px;font-size:.96rem;display:block}.nav-link:hover,.nav-link:focus-visible{color:var(--white);background:#1d4ed857;outline:none}.main-area{flex-direction:column;min-width:0;display:flex}.topbar{background:var(--panel);border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;min-height:68px;padding:0 32px;display:flex}.company-name{color:var(--muted);font-size:.95rem}.company-controls,.company-switcher{flex-wrap:wrap;align-items:center;gap:10px;min-width:0;display:flex}.company-controls{flex:1;padding:12px 0}.company-switcher label{color:var(--muted);font-size:.9rem}.company-switcher select{width:230px;max-width:100%}.company-switcher .field-error{flex-basis:100%;margin:0}.topbar{gap:16px}@media (max-width:600px){.company-controls,.company-switcher{width:100%}.company-switcher label{flex-basis:100%}.company-switcher select{flex:1;width:160px;min-width:0}}.settings-link{color:var(--accent);font-weight:700}.page-content{padding:32px}.content-panel{background:var(--panel);border:1px solid var(--line);border-radius:8px;max-width:980px;padding:32px}.eyebrow{color:var(--accent);letter-spacing:0;text-transform:uppercase;margin:0 0 10px;font-size:.78rem;font-weight:700}h1{color:var(--dark-blue);margin:0 0 12px;font-size:2.25rem;line-height:1.2}h2{margin:0 0 16px;font-size:1.25rem;line-height:1.3}p{color:var(--muted);margin:0;line-height:1.6}.tagline{color:var(--blue);margin:0 0 12px;font-size:1.15rem;font-weight:800}.dashboard-card-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:24px;display:grid}.dashboard-card{background:var(--white);border:1px solid var(--line);border-radius:8px;gap:8px;padding:18px;display:grid;box-shadow:0 1px 2px #0d1b3d0f}.dashboard-card span{color:var(--gray);font-size:.95rem;font-weight:700}.dashboard-card strong{color:var(--dark-blue);font-size:1.6rem;line-height:1.2}.dashboard-page{grid-template-columns:minmax(0,1fr);gap:20px;max-width:1280px;display:grid}.dashboard-page>.section-panel{min-width:0;overflow-x:auto}.dashboard-kpi-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.dashboard-kpi-card{background:var(--white);border:1px solid var(--line);border-radius:8px;gap:8px;min-height:132px;padding:18px;display:grid;box-shadow:0 1px 2px #0d1b3d0d}.dashboard-kpi-card:hover,.dashboard-kpi-card:focus-visible{border-color:var(--blue);outline:none;box-shadow:0 0 0 3px #1d4ed824}.dashboard-kpi-card span,.dashboard-snapshot-grid span,.quick-action-link span{color:var(--muted);font-size:.9rem;font-weight:700}.dashboard-kpi-card strong{color:var(--dark-blue);font-size:1.55rem;line-height:1.15}.dashboard-kpi-card small{color:var(--muted);font-size:.86rem;line-height:1.4}.dashboard-snapshot-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;display:grid}.dashboard-snapshot-grid div{background:var(--light-gray);border-radius:8px;gap:7px;padding:14px;display:grid}.dashboard-snapshot-grid strong{color:var(--dark-blue);font-size:1.15rem;line-height:1.2}.quick-action-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.quick-action-link{background:var(--white);border:1px solid var(--line);border-radius:8px;gap:6px;min-height:96px;padding:16px;display:grid}.quick-action-link:hover,.quick-action-link:focus-visible{border-color:var(--blue);outline:none;box-shadow:0 0 0 3px #1d4ed824}.quick-action-link strong{color:var(--dark-blue)}.dashboard-hidden{display:none!important}.modal-backdrop{z-index:20;background:#0d1b3d73;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.dashboard-customize-modal{background:var(--white);border:1px solid var(--line);border-radius:8px;gap:18px;width:min(920px,100%);max-width:920px;max-height:min(760px,92vh);padding:24px;display:grid;overflow-y:auto;box-shadow:0 18px 52px #0d1b3d3d}.customize-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.customize-panel{border:1px solid var(--line);border-radius:8px;gap:10px;padding:16px;display:grid}.customize-panel h3{color:var(--dark-blue);margin:0;font-size:1rem}.toggle-row{border-bottom:1px solid var(--line);grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;padding:10px 0;display:grid}.toggle-row:last-child{border-bottom:0}.toggle-row input{width:auto;min-height:auto}.toggle-row span{color:var(--dark-blue);font-weight:700}.toggle-row strong{color:var(--muted);font-size:.86rem}.customize-footer{border-top:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding-top:16px;display:flex}.customize-footer span{color:var(--muted);font-weight:700}.report-action-bar{background:var(--white);border:1px solid var(--line);border-radius:8px;justify-content:space-between;align-items:center;gap:14px;padding:16px;display:flex;box-shadow:0 1px 2px #0d1b3d0a}.report-action-bar>div:first-child{gap:4px;display:grid}.report-action-bar strong{color:var(--dark-blue)}.report-action-bar span{color:var(--muted);font-size:.92rem;line-height:1.4}@media (max-width:1100px){.dashboard-kpi-grid,.dashboard-snapshot-grid,.quick-action-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.welcome-actions{flex-wrap:wrap;gap:12px;margin-top:24px;display:flex}.primary-link,.secondary-link{border-radius:6px;justify-content:center;padding:10px 14px;font-weight:700;display:inline-flex}.primary-link{background:var(--accent);color:var(--white)}.secondary-link{border:1px solid var(--line);color:var(--ink)}.module-list{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:24px;display:grid}.module-card{background:var(--white);border:1px solid var(--line);border-radius:8px;padding:16px}.module-card:hover,.module-card:focus-visible{border-color:var(--blue);box-shadow:0 0 0 3px var(--accent-soft);outline:none}.module-card strong{color:var(--dark-blue);margin-bottom:6px;display:block}.module-card span{color:var(--muted);font-size:.92rem;line-height:1.45;display:block}.empty-state{background:var(--accent-soft);border:1px solid var(--blue);border-radius:8px;gap:6px;margin-top:24px;padding:18px;display:grid}.empty-state span{color:var(--muted)}.customer-page,.module-page{gap:20px;max-width:1180px;display:grid}.page-header{justify-content:space-between;align-items:flex-start;gap:18px;display:flex}.page-header p:not(.eyebrow){max-width:620px}.page-actions,.form-actions,.table-actions,.search-row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.primary-button,.secondary-button{cursor:pointer;font:inherit;border-radius:6px;justify-content:center;min-height:40px;padding:10px 14px;font-weight:700;display:inline-flex}.primary-button{background:var(--accent);border:1px solid var(--accent);color:var(--white)}.primary-button:disabled{cursor:not-allowed;opacity:.7}.secondary-button{background:var(--white);border:1px solid var(--line);color:var(--ink)}.quiet-link{color:var(--accent);font-weight:700}.search-row{background:var(--panel);border:1px solid var(--line);border-radius:8px;padding:16px}.search-field{flex:280px;gap:6px;display:grid}.filter-field{flex:0 190px;gap:6px;display:grid}.search-field span,.filter-field span,.field span{color:var(--dark-blue);font-size:.92rem;font-weight:700}input,select,textarea{background:var(--white);border:1px solid var(--line);color:var(--ink);font:inherit;border-radius:6px;width:100%;min-height:42px;padding:10px 12px}textarea{resize:vertical;line-height:1.45}input:focus,select:focus,textarea:focus{border-color:var(--accent);outline:none;box-shadow:0 0 0 3px #1d4ed829}[aria-invalid=true]{border-color:#b91c1c}.table-panel,.form-panel,.section-panel{background:var(--panel);border:1px solid var(--line);border-radius:8px;box-shadow:0 1px 2px #0d1b3d0a}.table-panel{overflow-x:auto}.data-table{border-collapse:collapse;width:100%;min-width:760px}.data-table th,.data-table td{border-bottom:1px solid var(--line);text-align:left;vertical-align:middle;padding:14px 16px}.data-table th{background:var(--light-gray);color:var(--dark-blue);font-size:.9rem}.data-table td{color:var(--ink)}.data-table td strong{display:block}.data-table input[type=checkbox]{width:auto;min-height:auto}.data-table td span{color:var(--muted);margin-top:4px;font-size:.88rem;display:block}.data-table tr:last-child td{border-bottom:0}.compact-table{min-width:620px}.table-actions a{color:var(--accent);font-weight:700}.table-actions form{display:inline-flex}.text-button{color:var(--accent);cursor:pointer;font:inherit;background:0 0;border:0;padding:0;font-weight:700}.danger-text-button{color:#b91c1c}.notice-message{color:var(--dark-blue);background:#16a34a1a;border:1px solid #16a34a47;border-radius:8px;padding:14px 16px;font-weight:700}.status{border-radius:999px;padding:4px 10px;font-size:.85rem;font-weight:800;display:inline-flex}.status.active{color:var(--green);background:#16a34a1f}.status.inactive{background:var(--light-gray);color:var(--gray)}.form-panel,.section-panel{padding:22px}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.field{gap:6px;display:grid}.field-full{grid-column:1/-1}.checkbox-field{align-content:center;align-items:center;gap:10px;min-height:42px;display:flex}.checkbox-field input{width:auto;min-height:auto}.field-error{color:#b91c1c;font-size:.88rem}.form-message{background:var(--light-gray);border:1px solid var(--line);color:var(--dark-blue);border-radius:6px;margin-bottom:16px;padding:12px;font-weight:700}.form-actions{border-top:1px solid var(--line);margin-top:22px;padding-top:18px}.settings-page{max-width:1100px}.settings-form{gap:18px;display:grid}.settings-section-nav{background:var(--panel);border:1px solid var(--line);border-radius:8px;flex-wrap:wrap;gap:10px;padding:14px;display:flex}.settings-section-nav a{background:var(--light-gray);color:var(--accent);border-radius:6px;padding:9px 12px;font-weight:700}.settings-section{scroll-margin-top:18px}.settings-logo-grid{grid-template-columns:180px minmax(0,1fr);align-items:start;gap:18px;display:grid}.logo-preview-frame{background:var(--light-gray);border:1px dashed var(--line);text-align:center;border-radius:8px;justify-content:center;align-items:center;width:180px;height:160px;padding:16px;display:flex;overflow:hidden}.logo-preview-frame img{object-fit:contain;max-width:148px;max-height:128px}.logo-preview-frame span,.settings-logo-controls p{color:var(--muted);font-size:.92rem;line-height:1.45}.settings-logo-controls{gap:12px;display:grid}.settings-logo-controls .secondary-button{justify-self:start}.settings-save-bar{background:var(--panel);border:1px solid var(--line);border-radius:8px;justify-content:flex-end;padding:14px;display:flex;position:sticky;bottom:16px;box-shadow:0 8px 22px #0d1b3d14}.subsection-header{justify-content:space-between;align-items:flex-start;gap:14px;display:flex}.line-items-panel{border-top:1px solid var(--line);gap:16px;margin-top:22px;padding-top:22px;display:grid}.line-item-list{gap:14px;display:grid}.line-item-row{background:var(--light-gray);border:1px solid var(--line);border-radius:8px;grid-template-columns:minmax(180px,1.1fr) minmax(180px,1.2fr) 86px 112px 112px auto;align-items:start;gap:12px;padding:14px;display:grid}.line-description-field{min-width:0}.line-amount{gap:4px;min-height:42px;display:grid}.line-amount span,.line-amount small,.totals-panel span{color:var(--muted);font-size:.82rem;font-weight:700}.line-amount strong{color:var(--dark-blue)}.totals-panel{background:var(--light-gray);border:1px solid var(--line);border-radius:8px;justify-self:end;gap:10px;min-width:280px;margin-top:18px;padding:16px;display:grid}.totals-panel div{justify-content:space-between;align-items:center;display:flex}.totals-panel div:last-child{border-top:1px solid var(--line);padding-top:10px}.totals-panel strong{color:var(--dark-blue)}.summary-panel{background:var(--light-gray);border-radius:8px;gap:14px;margin-bottom:18px;padding:16px;display:grid}.summary-panel h2{margin-bottom:0}.summary-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.summary-grid div{background:var(--light-gray);border-radius:8px;gap:6px;padding:14px;display:grid}.summary-grid span{color:var(--muted);font-size:.88rem;font-weight:700}.summary-grid strong{color:var(--dark-blue);font-size:1.2rem}.review-actions-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.review-action-panel{border:1px solid var(--line);border-radius:8px;gap:12px;padding:16px;display:grid}.review-action-panel h3{color:var(--dark-blue);margin:0;font-size:1rem}.detail-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;display:grid}.section-panel{gap:14px;display:grid}.detail-list{gap:12px;margin:0;display:grid}.detail-list div{border-bottom:1px solid var(--line);gap:4px;padding-bottom:12px;display:grid}.detail-list div:last-child{border-bottom:0;padding-bottom:0}.detail-list dt{color:var(--muted);font-size:.88rem;font-weight:700}.detail-list dd{color:var(--dark-blue);margin:0;line-height:1.45}.print-report-header{display:none}.print-brand-row{align-items:center;gap:12px;display:flex}.print-brand-row div{gap:2px;display:grid}.print-brand-row strong{color:var(--dark-blue);font-size:1.35rem;line-height:1.1}.print-brand-row span,.print-report-title p{color:var(--muted);font-size:.92rem}.print-report-title{gap:5px;display:grid}.print-report-title h1{margin-bottom:2px;font-size:1.8rem}@media (max-width:820px){.app-shell{grid-template-columns:1fr}.sidebar{padding:22px}.sidebar nav{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.topbar{padding:0 20px}.page-content{padding:20px}.content-panel{padding:24px}.module-list,.dashboard-card-grid,.dashboard-kpi-grid,.dashboard-snapshot-grid,.quick-action-grid,.customize-grid{grid-template-columns:1fr}.report-action-bar{align-items:stretch;display:grid}.page-header{display:grid}.form-grid,.detail-grid,.line-item-row,.review-actions-grid,.summary-grid{grid-template-columns:1fr}.totals-panel{justify-self:stretch}.settings-logo-grid{grid-template-columns:1fr}.logo-preview-frame{width:100%}}@media print{@page{margin:.45in}:root{--background:#fff;--line:#0d1b3d3d}body{color:#0d1b3d;background:#fff}.sidebar,.topbar,.page-header,.search-row,.page-actions,.no-print,button{display:none!important}.app-shell,.main-area{min-height:auto;display:block}.page-content{padding:0}.module-page{gap:14px;max-width:none}.print-report-header{border-bottom:2px solid #0d1b3d;gap:14px;margin-bottom:18px;padding-bottom:14px;display:grid}.print-brand-row img{width:44px;height:44px}.print-brand-row strong,.print-report-title h1,.summary-grid strong,.detail-list dd{color:#0d1b3d}.print-report-title h1{font-size:22pt;line-height:1.15}a{color:inherit;text-decoration:none}.summary-grid{break-inside:avoid;grid-template-columns:repeat(3,minmax(0,1fr))}.summary-grid div,.section-panel,.table-panel,.empty-state{box-shadow:none;background:#fff;border:1px solid #0d1b3d3d}.section-panel,.table-panel,.summary-grid{page-break-inside:avoid}.table-panel{overflow:visible}.data-table{min-width:0;font-size:9pt}.data-table th,.data-table td{padding:7px 8px}.data-table th{background:#f3f4f6}.data-table td span{color:#64748b}.status,.status.active,.status.inactive{color:#0d1b3d;background:#fff;border:1px solid #0d1b3d3d}.empty-state{margin-top:0}}.auth-page{background:#f3f4f6;align-content:center;justify-items:center;min-height:100vh;padding:24px;display:grid}.auth-card{background:#fff;border:1px solid #dce2eb;border-radius:12px;width:100%;max-width:480px;padding:32px}.auth-card h1{color:#0d1b3d;margin:12px 0}.auth-card p{overflow-wrap:anywhere;line-height:1.6}.auth-form{gap:18px;margin:24px 0;display:grid}.invitation-link{overflow-wrap:anywhere}.module-page .table-panel>h2,.module-page .table-panel>p{margin:20px}@media (max-width:480px){.auth-page{padding:16px}.auth-card{padding:24px}}@media screen{body{-webkit-font-smoothing:antialiased}.app-shell{grid-template-columns:258px minmax(0,1fr)}.sidebar{gap:30px;height:100dvh;padding:28px 14px;position:sticky;top:0;overflow-y:auto}.brand{gap:12px;padding:0 8px}.brand-name{font-size:23px;font-weight:700}.brand-tagline{color:#cbd5e1;margin-top:4px;font-size:12px;font-weight:400}.logo-mark{border:0;border-radius:7px;box-shadow:0 2px 7px #00000012}.sidebar nav{gap:7px}.app-icon{vertical-align:middle;flex:none}.nav-link{color:#e2e8f0;border-radius:8px;align-items:center;gap:14px;min-height:44px;padding:11px 14px;font-size:14px;transition:background .15s,color .15s;display:flex}.nav-link[aria-current=page]{background:var(--blue);color:#fff;box-shadow:0 4px 12px #00000012}.nav-link .app-icon{width:21px;height:21px}.topbar{gap:20px;min-height:72px;padding:0 32px}.company-switcher label{color:var(--ink);font-size:14px}.company-switcher select{border-radius:7px;width:210px;min-height:38px;font-size:13px}.topbar .secondary-button{min-height:38px;padding:8px 12px;font-size:13px;font-weight:500}.topbar .settings-link{font-size:13px;font-weight:500}.company-controls{gap:18px}.page-content{padding:32px}h1{margin-bottom:8px;font-size:36px;font-weight:700}h2{font-size:20px;font-weight:700}.page-header{align-items:flex-start;gap:20px}.page-header p:not(.eyebrow){font-size:15px;line-height:1.6}.page-actions{flex-shrink:0;gap:10px}.primary-button,.primary-link,.secondary-button{border-radius:7px;align-items:center;gap:8px;min-height:42px;font-size:13px;font-weight:500;transition:background .15s,box-shadow .15s}.primary-link{padding:11px 17px;display:inline-flex}.primary-button:hover,.primary-link:hover{background:#1742ba}.secondary-button:hover{background:#f8fafc;border-color:#94a3b8}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline-offset:3px;outline:3px solid #1d4ed84d}.dashboard-page{gap:24px;max-width:1600px}.dashboard-page>.page-header{margin-bottom:0}.dashboard-kpi-grid{gap:16px}.dashboard-kpi-card{border-radius:12px;align-content:start;gap:13px;min-height:150px;padding:24px 20px 20px;position:relative;box-shadow:0 2px 5px #0d1b3d05}.dashboard-kpi-card .kpi-label{color:var(--ink);min-height:17px;padding-right:30px;font-size:14px;font-weight:600;line-height:1.4}.dashboard-kpi-card .kpi-icon{width:30px;height:32px;color:var(--ink);background:#f1f4f8;border-radius:6px;place-items:center;display:grid;position:absolute;top:17px;right:16px}.dashboard-kpi-card .kpi-icon .app-icon{width:18px;height:18px}.dashboard-kpi-card strong{font-variant-numeric:tabular-nums;font-size:32px;font-weight:700}.dashboard-kpi-card small{font-size:13px;font-weight:400}.dashboard-kpi-card[data-dashboard-kpi=bank_balance]{border-top:3px solid var(--blue);padding-top:22px}.section-panel,.table-panel{border-radius:12px;box-shadow:0 2px 5px #0d1b3d04}.dashboard-page>.section-panel{gap:0;padding:22px}.subsection-header{margin-bottom:18px}.subsection-header h2{margin-bottom:6px}.subsection-header p{font-size:13px}.dashboard-snapshot-grid{gap:0}.dashboard-snapshot-grid div{border-left:1px solid var(--line);background:0 0;border-radius:0;align-content:start;gap:12px;padding:0 20px}.dashboard-snapshot-grid div:first-child{border-left:0;padding-left:0}.dashboard-snapshot-grid div:last-child{padding-right:0}.dashboard-snapshot-grid span{font-size:13px;font-weight:400;line-height:1.4}.dashboard-snapshot-grid strong{font-variant-numeric:tabular-nums;font-size:25px}.data-table{font-size:14px}.data-table th{color:var(--ink);background:#f3f5f8;padding:14px 12px;font-size:13px;font-weight:600}.data-table td{padding:14px 12px;line-height:1.5}.data-table tbody tr:hover{background:#f8fafc}.data-table td:has(.quiet-link) .quiet-link{font-weight:500}.data-table td{font-variant-numeric:tabular-nums}.status{border-radius:5px;padding:4px 8px;font-size:11px;font-weight:600}.data-table td .status{display:inline-flex}.status.active{color:#147534;background:#16a34a12}.status.inactive{color:#475569;background:#64748b12}.quiet-link{font-size:13px}.quick-action-link{border-radius:9px;padding:18px}.quick-action-link strong{font-size:14px}.quick-action-link span{font-size:13px;font-weight:400;line-height:1.5}.dashboard-customize-modal{border-radius:14px;box-shadow:0 20px 80px #0d1b3d33}}@media screen and (max-width:1200px) and (min-width:821px){.app-shell{grid-template-columns:224px minmax(0,1fr)}.page-content,.topbar{padding-left:24px;padding-right:24px}.dashboard-page .page-header{flex-wrap:wrap}.dashboard-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-snapshot-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.dashboard-snapshot-grid div{border:0;padding:0}.topbar{flex-wrap:wrap;gap:12px}}@media screen and (max-width:820px){.app-shell{grid-template-columns:minmax(0,1fr)}.sidebar{gap:18px;height:auto;padding:20px 16px 12px;position:static;overflow:hidden}.sidebar nav{scrollbar-width:thin;flex-direction:row;gap:6px;padding-bottom:8px;display:flex;overflow-x:auto}.nav-link{flex:none;gap:8px;min-height:40px;padding:9px 12px;font-size:13px}.nav-link .app-icon{width:18px;height:18px}.topbar{flex-wrap:wrap;gap:12px;padding:0 20px 12px}.company-controls{gap:12px;width:100%}.company-switcher{gap:8px}.company-switcher select{width:min(210px,100%)}.page-content{padding:24px 20px}.page-header,.page-actions{min-width:0}h1{font-size:28px}.dashboard-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.dashboard-kpi-card{min-height:145px;padding:18px 14px}.dashboard-kpi-card .kpi-label{min-height:36px;padding-right:0;font-size:12px}.dashboard-kpi-card .kpi-icon{display:none}.dashboard-kpi-card strong{font-size:25px}.dashboard-kpi-card small{font-size:12px}.dashboard-kpi-card[data-dashboard-kpi=bank_balance]{padding-top:16px}.dashboard-snapshot-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.dashboard-snapshot-grid div{border:0;padding:0}.dashboard-snapshot-grid strong{font-size:23px}.dashboard-page>.section-panel{padding:18px}.quick-action-grid{grid-template-columns:minmax(0,1fr)}}@media (prefers-reduced-motion:reduce){.nav-link,.primary-link,.primary-button,.secondary-button{transition:none}}@media screen{.bank-connections-entry{justify-content:flex-end;display:flex}.bank-connection-card{border:1px solid var(--line);border-radius:12px;gap:20px;padding:22px;display:grid}.bank-connection-card h3{margin:0 0 8px}.bank-connection-form fieldset{border:0;flex-wrap:wrap;align-items:end;gap:12px;margin:0;padding:0;display:flex}.bank-connection-form .field{min-width:180px;max-width:360px}.bank-connection-form{min-width:0}.bank-link-control{max-width:360px}.bank-action-message{color:var(--muted);white-space:normal;max-width:360px;margin:10px 0 0;font-size:13px;line-height:1.5}.bank-connection-card>.subsection-header{flex-wrap:wrap;align-items:start}.bank-connection-card .page-actions{flex-wrap:wrap}.module-page,.customer-page,.settings-page{gap:24px;min-width:0;max-width:1600px}.module-page>*,.customer-page>*{min-width:0}.module-page .page-header,.customer-page .page-header{flex-wrap:wrap;align-items:center;padding:4px 0 2px}.module-page .page-header h1,.customer-page .page-header h1{font-size:32px}.module-page .page-header .eyebrow,.customer-page .page-header .eyebrow{display:none}.page-header .secondary-button,.page-header .primary-link{white-space:normal;text-align:center}.form-panel{border-radius:12px;padding:28px;box-shadow:0 2px 5px #0d1b3d04}.form-intro{border-bottom:1px solid var(--line);align-items:flex-start;gap:14px;margin-bottom:24px;padding-bottom:22px;display:flex}.form-intro h2{margin:0 0 5px;font-size:19px}.form-intro p{font-size:13px}.form-intro-icon,.report-directory-icon{width:40px;height:40px;color:var(--blue);background:#1d4ed80a;border-radius:9px;flex:none;place-items:center;display:inline-grid}.form-grid{gap:24px}.field{gap:9px;min-width:0}.field>span,.search-field>span,.filter-field>span{color:#475569;font-size:13px;font-weight:600}input,select,textarea{border-color:#cbd5e1;border-radius:7px;min-width:0;min-height:44px;font-size:14px}input[readonly]{color:#475569;background:#f3f5f8}input[type=checkbox],input[type=radio]{accent-color:var(--blue);min-height:16px}input[type=file]{background:#f8fafc;padding:12px}textarea{min-height:94px}.form-actions{gap:12px;margin-top:28px;padding:20px 0 0}.form-actions .primary-button,.settings-save-bar .primary-button{min-width:140px}.line-item-row{border-color:var(--line);background:#f8fafc;border-radius:9px;grid-template-columns:minmax(150px,1.2fr) minmax(150px,1.3fr) minmax(60px,.42fr) minmax(85px,.6fr) minmax(85px,.6fr) auto;align-items:start;gap:14px;padding:18px}.line-item-row .text-button{align-self:center;font-size:12px}.line-amount{gap:10px;padding-top:0}.line-amount strong{font-variant-numeric:tabular-nums;align-items:center;min-height:44px;display:flex}.line-amount span{font-size:13px;font-weight:600}.line-amount small{font-weight:400}.totals-panel{border-color:var(--line);background:#f8fafc;border-radius:9px;gap:14px;min-width:300px;max-width:100%;padding:20px}.totals-panel span{font-size:13px;font-weight:400}.totals-panel strong{font-variant-numeric:tabular-nums}.totals-panel div:last-child strong{font-size:20px}.form-panel:has(>.line-items-panel){box-shadow:none;background:0 0;border:0;gap:24px;padding:0;display:grid}.form-panel:has(>.line-items-panel)>.form-intro{border:1px solid var(--line);background:#fff;border-bottom:0;border-radius:12px 12px 0 0;margin:0;padding:24px}.form-panel:has(>.line-items-panel)>.form-grid{border:1px solid var(--line);background:#fff;border-top:0;border-radius:0 0 12px 12px;margin-top:-24px;padding:0 24px 24px}.form-panel:has(>.line-items-panel):has(>.form-message)>.form-grid{border-top:1px solid var(--line);border-radius:12px;margin-top:0;padding-top:24px}.form-panel:has(>.line-items-panel):has(>.form-message)>.form-intro{border-bottom:1px solid var(--line);border-radius:12px}.form-panel:has(>.line-items-panel)>.totals-panel{border:1px solid var(--line);background:#fff}.form-panel:has(>.line-items-panel)>.line-items-panel{border:1px solid var(--line);background:#fff;border-radius:12px;gap:20px;min-width:0;margin:0;padding:24px}.form-panel:has(>.line-items-panel)>.form-actions{border:1px solid var(--line);background:#fff;border-radius:12px;justify-content:flex-end;margin:0;padding:18px 24px}.line-items-panel .subsection-header{margin-bottom:0}.search-row{border-radius:12px;align-items:end;gap:16px;padding:22px 24px;box-shadow:0 2px 5px #0d1b3d04}.search-row>.search-field{flex-basis:260px}.search-row>.filter-field{flex:140px}.search-row .secondary-button{color:#fff;background:var(--blue);border-color:var(--blue);min-height:44px;padding:11px 20px}.search-row .secondary-button:hover{background:#1742ba}:is(.module-page>.search-row:has(+.table-panel),.customer-page>.search-row:has(+.table-panel)){box-shadow:none;border-bottom:0;border-radius:12px 12px 0 0}.module-page>.search-row+.table-panel,.customer-page>.search-row+.table-panel{border-top:0;border-radius:0 0 12px 12px;margin-top:-24px}.collection-heading{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;padding:22px 24px;display:flex}.collection-heading h2{margin:0;font-size:18px}.collection-heading>span{color:var(--muted);white-space:nowrap;font-size:12px}.table-panel>h2{margin:0;padding:22px 24px;font-size:18px}.table-panel>p{padding:0 24px 24px;font-size:14px}.table-panel>.empty-state{text-align:center;background:#fff;border:0;border-radius:0 0 12px 12px;justify-items:center;margin:0;padding:42px 24px}.table-actions{white-space:nowrap;flex-wrap:nowrap;gap:0}.table-actions>a,.table-actions>form{border-left:1px solid var(--line);padding:0 10px;font-size:13px}.table-actions>:first-child{border-left:0;padding-left:0}.table-actions>a{color:var(--blue);font-weight:500}.table-actions .text-button{color:var(--muted);font-size:12px}.table-actions .text-button:hover{color:var(--ink);text-decoration:underline}.data-table th,.data-table td{padding:16px}.data-table .numeric-cell{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}.record-status{white-space:nowrap;border-radius:6px;align-items:center;padding:4px 9px;font-size:12px;font-weight:500;display:inline-flex}.record-status-positive{color:#147534;background:#16a34a12}.record-status-progress{color:#1d4ed8;background:#1d4ed80d}.record-status-neutral{color:#475569;background:#64748b10}.summary-grid{gap:16px}.summary-grid>div{border:1px solid var(--line);background:#fff;border-radius:12px;gap:12px;padding:24px;box-shadow:0 2px 5px #0d1b3d04}.summary-grid span{font-size:13px;font-weight:500}.summary-grid strong{font-variant-numeric:tabular-nums;font-size:30px}.summary-panel{border:1px solid var(--line);background:#f8fafc;border-radius:10px;gap:18px;padding:22px}.summary-panel .summary-grid>div{box-shadow:none}.section-panel{gap:20px;min-width:0;padding:24px;overflow-x:auto}.section-panel>h2{margin-bottom:0;font-size:19px}.section-panel .subsection-header{margin-bottom:0}.section-panel>.table-panel{box-shadow:none;border:0;border-radius:8px}.detail-grid{align-items:start;gap:24px}.detail-list{gap:0}.detail-list>div{grid-template-columns:minmax(110px,.8fr) minmax(0,1.3fr);align-items:start;gap:20px;padding:14px 0}.detail-list>div:first-child{padding-top:0}.detail-list dt{font-size:13px;font-weight:500;line-height:1.5}.detail-list dd{overflow-wrap:anywhere;font-size:14px}.review-action-panel{background:#f8fafc;border-radius:10px;padding:22px}.notice-message,.form-message{background:#1d4ed807;border:1px solid #1d4ed826;border-radius:9px;padding:16px 20px;font-size:14px;font-weight:400;line-height:1.6}.empty-state{border-color:var(--line);background:#f8fafc;border-radius:10px;padding:28px}.report-action-bar{border-radius:12px;gap:20px;padding:20px 24px;box-shadow:0 2px 5px #0d1b3d04}.report-action-bar strong{font-size:14px}.report-action-bar span{font-size:12px}.report-action-bar .page-actions{gap:12px}.module-list{gap:20px;margin-top:0}.module-card{border-radius:12px;align-content:start;gap:14px;min-width:0;padding:26px;display:grid;box-shadow:0 2px 5px #0d1b3d04}.module-card strong{margin:0;font-size:17px;line-height:1.4}.module-card>span:not(.report-directory-icon){font-size:13px;line-height:1.6}.module-card .report-directory-icon{display:inline-grid}.module-card:hover{background:#f8fafc}.settings-section-nav{border:0;border-bottom:1px solid var(--line);background:0 0;border-radius:0;gap:4px;padding:0}.settings-section-nav a{color:var(--muted);background:0 0;border-bottom:2px solid #0000;border-radius:0;padding:16px 14px;font-size:14px;font-weight:500}.settings-section-nav a:hover,.settings-section-nav a:focus-visible{color:var(--blue);border-bottom-color:var(--blue)}body:not(:has(.settings-section:target)) .settings-section-nav a[href=\#company-profile]{color:var(--blue);border-bottom-color:var(--blue)}body:has(#company-profile:target) a[href=\#company-profile]{color:var(--blue);border-bottom-color:var(--blue)}body:has(#branding:target) a[href=\#branding]{color:var(--blue);border-bottom-color:var(--blue)}body:has(#invoice-defaults:target) a[href=\#invoice-defaults]{color:var(--blue);border-bottom-color:var(--blue)}body:has(#estimate-defaults:target) a[href=\#estimate-defaults]{color:var(--blue);border-bottom-color:var(--blue)}.settings-form{gap:24px}.settings-section{gap:24px;padding:28px;scroll-margin-top:24px}.settings-section h2{margin-bottom:6px}.settings-section p{font-size:13px}.settings-save-bar{border:1px solid var(--line);background:#fff;border-radius:12px;justify-content:flex-start;padding:22px 24px;display:flex}.settings-logo-grid{grid-template-columns:220px minmax(0,1fr);gap:24px}.logo-preview-frame{background:#f8fafc;border-radius:10px;width:220px;height:160px}}@media screen and (max-width:1240px){.line-item-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.line-item-row .line-description-field{grid-column:auto}.line-item-row .text-button{justify-self:start}.module-list{grid-template-columns:repeat(2,minmax(0,1fr))}.report-action-bar{flex-wrap:wrap}}@media screen and (max-width:820px){.module-page .page-header h1,.customer-page .page-header h1{overflow-wrap:anywhere;font-size:27px}.module-page .page-header,.customer-page .page-header{gap:18px;display:grid}.page-actions{flex-shrink:1}.page-actions>*{max-width:100%}.form-panel,.section-panel{padding:20px}.form-grid,.detail-grid,.review-actions-grid{grid-template-columns:minmax(0,1fr);gap:22px}.form-intro{gap:12px}.form-intro h2{font-size:18px}.form-intro p{font-size:13px}.form-intro-icon{width:34px;height:34px}.line-item-row{grid-template-columns:repeat(2,minmax(0,1fr));padding:16px}.line-item-row .field:first-child,.line-item-row .line-description-field{grid-column:1/-1}.line-items-panel .subsection-header{flex-wrap:wrap}:is(.form-panel:has(>.line-items-panel)>.form-intro,.form-panel:has(>.line-items-panel)>.line-items-panel){padding:20px}.form-panel:has(>.line-items-panel)>.form-grid{padding:0 20px 20px}.form-panel:has(>.line-items-panel)>.form-actions{justify-content:flex-start;padding:18px 20px}.totals-panel{width:100%;min-width:0}.search-row{align-items:stretch;padding:20px}.search-field,.filter-field{flex-basis:100%;min-width:0}.search-row .secondary-button{align-self:end}.collection-heading{flex-direction:column;align-items:flex-start;gap:6px;padding:20px}.collection-heading h2{font-size:17px}.summary-grid{grid-template-columns:minmax(0,1fr);gap:12px}.summary-grid>div{padding:20px}.summary-grid strong{font-size:27px}.detail-list>div{grid-template-columns:minmax(0,1fr);gap:6px}.report-action-bar{align-items:stretch;padding:20px}.report-action-bar .page-actions{flex-wrap:wrap}.module-list{grid-template-columns:minmax(0,1fr)}.settings-section-nav{flex-wrap:nowrap;overflow-x:auto}.settings-section-nav a{flex-shrink:0}.settings-logo-grid{grid-template-columns:minmax(0,1fr)}.logo-preview-frame{width:100%}.settings-section{padding:20px}}.selected-brand-logo{width:100%;height:auto;display:block}.brand.brand-selected{gap:8px;width:210px;max-width:100%;display:grid}.brand-selected .selected-brand-logo{background:#fff;border-radius:8px;padding:8px}.brand-selected .brand-tagline{text-align:center}.auth-brand-shell{gap:20px;width:min(460px,100%);display:grid}.auth-brand-logo{background:#fff;border-radius:10px;justify-self:center;width:min(320px,100%);padding:12px}
