:root{--color-bg:#f6f7f9;--color-surface:#fff;--color-sidebar:#14181f;--color-sidebar-hover:#1d222c;--color-border:#e3e6ea;--color-border-strong:#838a96;--color-text-primary:#14181f;--color-text-secondary:#5b6270;--color-text-inverse:#f6f7f9;--color-text-inverse-muted:#9aa1ad;--color-accent:#c8862b;--color-accent-hover:#b37624;--color-accent-soft:#fbf1e2;--color-accent-strong:#93600f;--color-accent-strong-hover:#7e510a;--color-success:#2a7248;--color-success-soft:#e7f4ec;--color-danger:#b3402c;--color-danger-soft:#fbeae6;--color-warning:#835c00;--color-warning-soft:#fbf1d6;--font-display:"Fraunces", "Georgia", serif;--font-body:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-mono:"IBM Plex Mono", "Courier New", monospace;--radius-sm:6px;--radius-md:10px;--shadow-sm:0 1px 2px #14181f0f;--shadow-md:0 4px 16px #14181f14;--sidebar-width:240px}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{font-family:var(--font-body);background:var(--color-bg);color:var(--color-text-primary);-webkit-font-smoothing:antialiased;font-size:14px;line-height:1.5}h1,h2,h3{font-family:var(--font-display);letter-spacing:-.01em;margin:0;font-weight:600}a{color:inherit}button{font-family:inherit;font-size:inherit;cursor:pointer}:focus-visible{outline:2px solid var(--color-accent-strong);outline-offset:2px}.sidebar :focus-visible{outline-color:var(--color-accent)}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.skip-link{z-index:100;background:var(--color-surface);color:var(--color-text-primary);border:2px solid var(--color-accent-strong);border-radius:var(--radius-sm);padding:10px 16px;font-weight:600;text-decoration:none;position:absolute;top:-48px;left:8px}.skip-link:focus{top:8px}table{border-collapse:collapse;width:100%}@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}@media print{.no-print{display:none!important}body:has(.cash-up)>*{visibility:hidden}:is(body:has(.cash-up) .cash-up,body:has(.cash-up) .cash-up *){visibility:visible}body:has(.cash-up) .cash-up{background:#fff;width:100%;padding:12mm;position:absolute;top:0;left:0}body:has(.cash-up) .modal-backdrop{display:block;position:static}body:has(.cash-up) .modal{max-height:none;box-shadow:none;overflow:visible}}.topbar{border-bottom:1px solid var(--color-border);background:var(--color-surface);justify-content:space-between;align-items:center;padding:14px 40px;display:flex}.topbar__title{font-family:var(--font-display);color:var(--color-text-primary);font-size:16px;font-weight:600}.topbar__account{position:relative}.topbar__account-trigger{border-radius:var(--radius-sm);background:0 0;border:1px solid #0000;align-items:center;gap:10px;padding:5px 8px 5px 5px;transition:background .12s,border-color .12s;display:flex}.topbar__account-trigger:hover{background:var(--color-bg);border-color:var(--color-border)}.topbar__avatar{background:var(--color-accent-soft);width:30px;height:30px;color:var(--color-accent-strong);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:12px;font-weight:700;display:flex}.topbar__account-text{flex-direction:column;align-items:flex-start;line-height:1.25;display:flex}.topbar__account-name{color:var(--color-text-primary);font-size:13px;font-weight:600}.topbar__account-role{color:var(--color-text-secondary);font-size:11.5px}.topbar__chevron{color:var(--color-text-secondary);margin-left:2px;font-size:10px}.topbar__menu{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);width:220px;box-shadow:var(--shadow-md);z-index:40;position:absolute;top:calc(100% + 6px);right:0;overflow:hidden}.topbar__menu-header{border-bottom:1px solid var(--color-border);padding:12px 14px}.topbar__menu-name{color:var(--color-text-primary);font-size:13px;font-weight:600}.topbar__menu-username{color:var(--color-text-secondary);margin-top:1px;font-size:12px}.topbar__menu-item{text-align:left;width:100%;color:var(--color-text-primary);background:0 0;border:none;padding:10px 14px;font-size:13px;font-weight:500;display:block}.topbar__menu-item:hover{background:var(--color-bg)}.topbar__menu-item--danger{color:var(--color-danger)}.topbar__menu-divider{background:var(--color-border);height:1px;margin:4px 0}.topbar__menu-button{border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);width:44px;height:44px;color:var(--color-text-primary);background:0 0;flex-shrink:0;justify-content:center;align-items:center;margin-right:8px;font-size:20px;display:none}.topbar__menu-button:hover{background:var(--color-bg)}@media (width<=1023px){.topbar{gap:8px;padding:8px 12px}.topbar__menu-button{display:inline-flex}.topbar__title{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}}@media (width<=860px){.topbar__account-text{clip:rect(0, 0, 0, 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.topbar__account-trigger{min-width:44px;min-height:44px}.topbar__menu{width:min(260px,100vw - 24px)}.topbar__menu-item{min-height:44px;padding:14px}}.layout{min-height:100vh;display:flex}.sidebar{width:var(--sidebar-width);background:var(--color-sidebar);color:var(--color-text-inverse);flex-direction:column;flex-shrink:0;padding:20px 12px;display:flex}.sidebar__brand{align-items:center;gap:10px;padding:8px 10px 24px;display:flex}.sidebar__brand-mark{border-radius:var(--radius-sm);background:var(--color-accent);width:28px;height:28px;color:var(--color-sidebar);font-family:var(--font-display);justify-content:center;align-items:center;font-size:15px;font-weight:700;display:flex}.sidebar__brand-name{font-family:var(--font-display);letter-spacing:-.01em;font-size:16px;font-weight:600}.sidebar__nav{flex-direction:column;flex:1;gap:2px;display:flex}.sidebar__link{border-radius:var(--radius-sm);color:var(--color-text-inverse-muted);padding:9px 12px;font-size:13.5px;font-weight:500;text-decoration:none;transition:background .12s,color .12s;display:block}.sidebar__link:hover{background:var(--color-sidebar-hover);color:var(--color-text-inverse)}.sidebar__link--active{background:var(--color-sidebar-hover);color:var(--color-text-inverse);box-shadow:inset 2px 0 0 var(--color-accent)}.layout__content{flex-direction:column;flex:1;min-width:0;display:flex}.main:focus{outline:none}.main{flex:1;max-width:1200px;padding:32px 40px}.sidebar__close,.sidebar-scrim{display:none}@media (width<=1023px){.layout{display:block}.sidebar{z-index:60;visibility:hidden;width:min(280px,85vw);transition:transform .18s,visibility 0s linear .18s;position:fixed;inset:0 auto 0 0;overflow-y:auto;transform:translate(-100%)}.sidebar--open{visibility:visible;box-shadow:var(--shadow-md);transition:transform .18s;transform:none}.sidebar__brand{align-items:center}.sidebar__brand-name{flex:1}.sidebar__close{border-radius:var(--radius-sm);width:44px;height:44px;color:var(--color-text-inverse);background:0 0;border:0;justify-content:center;align-items:center;font-size:26px;line-height:1;display:inline-flex}.sidebar__close:hover{background:var(--color-sidebar-hover)}.sidebar__link{min-height:44px;padding:12px;font-size:15px}.sidebar-scrim{z-index:55;background:#14181f80;display:block;position:fixed;inset:0}.layout__content{width:100%}.main{max-width:100%;padding:20px 16px}}.login-page{background:var(--color-sidebar);justify-content:center;align-items:center;min-height:100vh;display:flex}.login-card{background:var(--color-surface);border-radius:var(--radius-md);box-shadow:var(--shadow-md);width:360px;padding:36px 32px}.login-card__mark{border-radius:var(--radius-sm);background:var(--color-accent);color:#fff;width:36px;height:36px;font-family:var(--font-display);justify-content:center;align-items:center;margin-bottom:18px;font-size:18px;font-weight:700;display:flex}.login-card h1{font-size:22px}.login-card__subtitle{color:var(--color-text-secondary);margin:6px 0 24px;font-size:13px}.login-card__submit{justify-content:center;width:100%;margin-top:6px}.acct-tabs{border-bottom:1px solid var(--color-border-strong);flex-wrap:wrap;gap:4px;margin-bottom:20px;display:flex}.acct-tab{color:var(--color-text-secondary);cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;margin-bottom:-1px;padding:10px 16px;font-size:13.5px;font-weight:600}.acct-tab:hover:not(:disabled){color:var(--color-text-primary)}.acct-tab:disabled{opacity:.4;cursor:not-allowed}@media (width<=860px){.acct-tab{min-height:44px}}.acct-tab--active{color:var(--color-accent-strong);border-bottom-color:var(--color-accent-strong)}.acct-grid{grid-template-columns:repeat(auto-fit,minmax(340px,1fr));align-items:start;gap:16px;display:grid}.acct-card{margin-bottom:16px;padding:18px 20px}.acct-card h3{flex-wrap:wrap;align-items:center;gap:8px;margin:0 0 12px;font-size:15px;display:flex}.acct-note{color:var(--color-text-secondary);margin:6px 0;font-size:12.5px}.acct-card small{color:var(--color-text-secondary);margin-top:4px;font-size:12px;display:block}.acct-toolbar,.acct-filters{flex-wrap:wrap;align-items:center;gap:16px;margin-bottom:14px;font-size:13.5px;display:flex}.acct-toolbar select,.acct-toolbar input,.acct-filters select,.acct-filters input,.acct-actions input{border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);padding:7px 10px;font-size:13.5px}.acct-actions{flex-wrap:wrap;align-items:center;gap:10px;margin-top:14px;display:flex}.acct-facts th{width:55%;color:var(--color-text-secondary);text-align:left;font-weight:500}.acct-lines td,.acct-lines th{font-size:12.5px}.acct-pack td{vertical-align:top}.acct-settings{max-width:640px}.acct-settings .form-field input[type=checkbox]{width:auto;margin-right:8px}.acct-report-table td,.acct-report-table th{white-space:nowrap}.badge--warning{color:#8a5a00;background:#fdf1d8}.badge--info{color:#1f5da8;background:#e3effc}.acct-scroll{overflow-x:auto}.acct-tab:focus-visible,.acct-toolbar select:focus-visible,.acct-toolbar input:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}@page{size:A4 landscape;margin:12mm}@media print{main,.main{max-width:none!important;padding:0!important}.acct-scroll{overflow:visible}.acct-report-table td,.acct-report-table th{white-space:normal;font-size:10.5px}.acct-noprint,.sidebar,.topbar,nav,aside,header{display:none!important}.acct-report .card{box-shadow:none;border:none}body{background:#fff}}.page-header{justify-content:space-between;align-items:flex-start;margin-bottom:24px;display:flex}.page-header h1{color:var(--color-text-primary);font-size:24px}.page-header__subtitle{color:var(--color-text-secondary);margin-top:4px;font-size:13.5px}.btn{border-radius:var(--radius-sm);border:1px solid #0000;align-items:center;gap:6px;padding:9px 16px;font-size:13.5px;font-weight:600;transition:all .12s;display:inline-flex}.btn--primary{background:var(--color-accent-strong);color:#fff}.btn--primary:hover{background:var(--color-accent-strong-hover)}.btn--primary:disabled{opacity:.5;cursor:not-allowed}.btn--secondary{background:var(--color-surface);border-color:var(--color-border-strong);color:var(--color-text-primary)}.btn--secondary:hover{background:var(--color-bg)}.btn--danger{background:var(--color-danger-soft);color:var(--color-danger)}.btn--danger:hover{background:#f8e1dc}.btn--sm{padding:5px 10px;font-size:12.5px}.card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-sm)}.data-table th{text-align:left;text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-secondary);border-bottom:1px solid var(--color-border);padding:12px 16px;font-size:11.5px;font-weight:600}.data-table td{border-bottom:1px solid var(--color-border);padding:12px 16px;font-size:13.5px}.data-table tr:last-child td{border-bottom:none}.data-table tr:hover td{background:var(--color-bg)}.badge{border-radius:999px;padding:2px 9px;font-size:11.5px;font-weight:600;display:inline-block}.badge--success{background:var(--color-success-soft);color:var(--color-success)}.badge--danger{background:var(--color-danger-soft);color:var(--color-danger)}.badge--neutral{background:var(--color-border);color:var(--color-text-secondary)}.empty-state{text-align:center;color:var(--color-text-secondary);padding:48px 24px}.empty-state h3{color:var(--color-text-primary);margin-bottom:6px;font-size:15px}.form-field{flex-direction:column;gap:5px;margin-bottom:14px;display:flex}.form-field label{color:var(--color-text-secondary);font-size:12.5px;font-weight:600}.form-field input,.form-field select,.form-field textarea{border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-text-primary);padding:8px 11px;font-family:inherit;font-size:13.5px}.form-field input:focus,.form-field select:focus,.form-field textarea:focus{outline:2px solid var(--color-accent-strong);outline-offset:0;border-color:var(--color-accent-strong);box-shadow:0 0 0 3px var(--color-accent-soft)}.modal-backdrop{z-index:50;background:#14181f66;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal{background:var(--color-surface);border-radius:var(--radius-md);box-shadow:var(--shadow-md);width:440px;max-width:calc(100vw - 32px);max-height:calc(100vh - 64px);padding:24px;overflow-y:auto}.modal h2{margin-bottom:18px;font-size:18px}.modal-actions{justify-content:flex-end;gap:10px;margin-top:20px;display:flex}.error-banner{background:var(--color-danger-soft);color:var(--color-danger);border-radius:var(--radius-sm);margin-bottom:16px;padding:10px 14px;font-size:13px}.success-banner{background:var(--color-success-soft);color:var(--color-success);border-radius:var(--radius-sm);margin-bottom:16px;padding:10px 14px;font-size:13px}.loading-text{color:var(--color-text-secondary);padding:24px 0;font-size:13.5px}.table-scroll{-webkit-overflow-scrolling:touch;max-width:100%;position:relative;overflow-x:auto}.card{max-width:100%}.page-header{flex-wrap:wrap;gap:12px}.page-header>div{min-width:0}.page-header>div:last-child:not(:first-child){flex-wrap:wrap}button,a,input,select,textarea{max-width:100%}@media (width<=860px){.page-header>div:last-child:not(:first-child){width:100%}.page-header h1{font-size:21px}.btn,.btn--sm{justify-content:center;min-height:44px;padding:10px 16px}.btn--sm{padding:8px 14px}.form-field input:not([type=checkbox]):not([type=radio]),.form-field select,.form-field textarea,.page-header select,.page-header input:not([type=checkbox]):not([type=radio]),.card select,.card input:not([type=checkbox]):not([type=radio]){min-height:44px;font-size:16px}input[type=checkbox],input[type=radio]{width:22px;height:22px}.badge[role],button.badge{min-width:44px;min-height:44px}.data-table td,.data-table th{padding:10px 12px}.modal-backdrop{align-items:flex-start;padding:12px 0;overflow-y:auto}.modal{max-height:none;padding:18px;width:calc(100vw - 24px)!important;max-width:calc(100vw - 24px)!important}.modal .form-field[style],.modal [style*="display: grid"],.modal [style*=display\:grid]{width:100%!important}.modal-actions{flex-wrap:wrap}.modal-actions .btn{flex:140px}.modal [style*="display: flex"],.modal [style*=display\:flex]{flex-wrap:wrap}}.kpi-grid{grid-template-columns:1fr;gap:16px;margin:0;padding:0;list-style:none;display:grid}@media (width>=560px){.kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width>=1100px){.kpi-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}.kpi-tile{min-width:0;padding:18px 20px}.kpi-tile__label{color:var(--color-text-secondary);margin:0 0 6px;font-size:13px;font-weight:600}.kpi-tile__value{color:var(--color-text-primary);white-space:nowrap;font-variant-numeric:tabular-nums;margin:0 0 6px;font-size:28px;font-weight:700}@media (width>=1100px) and (width<=1399px){.kpi-tile__value{font-size:16px}}@media (width>=560px) and (width<=859px){.kpi-tile__value{font-size:24px}}@supports (container-type:inline-size){.kpi-tile{container-type:inline-size}.kpi-tile__value{font-size:clamp(12px,9cqi,28px)}}.kpi-tile__detail{color:var(--color-text-secondary);margin:0;font-size:12.5px}.kpi-note{color:var(--color-text-secondary);margin:14px 0 0;font-size:12.5px}@media (width<=639px){.table-scroll:has(>table[data-stack]){overflow-x:visible}table[data-stack],table[data-stack] tbody,table[data-stack] tr,table[data-stack] td{box-sizing:border-box;width:100%;display:block}table[data-stack] thead{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}table[data-stack] thead tr,table[data-stack] thead th{display:block}table[data-stack] tbody tr{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);margin:0 0 12px;padding:4px 14px 12px}table[data-stack] tr:hover td{background:0 0}table[data-stack] td{border-bottom:1px solid var(--color-border);text-align:right;overflow-wrap:anywhere;justify-content:space-between;align-items:baseline;gap:12px;min-width:0;padding:8px 0;display:flex}table[data-stack] tr:last-child td{border-bottom:1px solid var(--color-border)}table[data-stack] td[data-label]:before{content:attr(data-label);text-align:left;text-transform:uppercase;letter-spacing:.04em;max-width:38%;color:var(--color-text-secondary);flex:0 0 38%;font-size:11.5px;font-weight:600}table[data-stack] td[data-key]{text-align:left;color:var(--color-text-primary);padding-top:12px;font-weight:700;display:block;font-size:16px!important}table[data-stack] td[data-key]:before{content:none}table[data-stack] td[data-actions]{flex-wrap:wrap;justify-content:flex-start;gap:8px;padding:10px 0 0;display:flex;text-align:left!important;white-space:normal!important;border-bottom:0!important}table[data-stack] td[data-actions]:empty{display:none}table[data-stack] td[data-actions] .btn,table[data-stack] td[data-actions] button,table[data-stack] td[data-actions] a{min-width:44px;min-height:44px;margin:0!important}table[data-stack] td[data-actions] .btn{flex:auto}table[data-stack] td[data-wide]{text-align:left;display:block}table[data-stack] td table[data-stack] tbody tr{box-shadow:none;margin-bottom:8px}table[data-stack] td .data-table{margin:0!important}table[data-stack] td button.badge,table[data-stack] td .badge[role]{min-width:44px;min-height:44px}}
