@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url("../fonts/inter-latin.woff2") format("woff2")}
@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url("../fonts/inter-latin-ext.woff2") format("woff2")}
@font-face{font-family:"Material Symbols Outlined";font-style:normal;font-weight:100 700;font-display:block;src:url("../fonts/material-symbols-outlined.woff2") format("woff2")}

:root{
  --brand:#c9001c;--brand-hover:#a90018;--brand-soft:#fff0f2;--brand-line:#ffc9d0;
  --ink:#14171c;--ink-2:#303640;--muted:#626b78;--quiet:#8993a1;
  --canvas:#f5f6f8;--surface:#fff;--surface-2:#fafbfc;--surface-3:#f0f2f5;
  --line:#e1e5ea;--line-strong:#cbd1d9;
  --nav:#111315;--nav-2:#191c20;--nav-text:#c9ced6;--nav-muted:#7f8997;
  --success:#08783f;--success-bg:#e8f7ef;--success-line:#bce8cf;
  --warning:#9a5900;--warning-bg:#fff5e6;--warning-line:#f3d5a5;
  --danger:#b42318;--danger-bg:#fff0ee;--danger-line:#f5c6c1;
  --info:#285ea8;--info-bg:#edf4ff;--info-line:#cbdcf7;
  --sidebar:17rem;--header:4.5rem;--page:94rem;--pad-x:clamp(1.25rem,2.4vw,2.5rem);
  --r-sm:.45rem;--r:.7rem;--r-lg:1rem;--r-xl:1.35rem;
  --shadow-xs:0 1px 2px rgba(16,24,40,.04);--shadow:0 8px 24px rgba(20,27,38,.07);--shadow-lg:0 22px 60px rgba(10,14,20,.18);
  --ease:cubic-bezier(.2,0,.15,1);--fast:150ms;--safe:env(safe-area-inset-bottom,0px);
  --z-header:40;--z-nav:60;--z-backdrop:70;--z-overlay:80;--z-toast:90;--bs-z-backdrop:70;
  /* compatibility aliases retained only for server-rendered chart values */
  --bs-brand:var(--brand);--bs-ok:var(--success);--bs-warn:var(--warning);--bs-bad:var(--danger);
  --bs-surface:var(--surface);--bs-surface-2:var(--surface-2);--bs-surface-3:var(--surface-3);--bs-surface-4:var(--line);
  --bs-line:var(--line);--bs-line-faint:#edf0f3;--bs-line-strong:var(--line-strong);--bs-ink:var(--ink);--bs-muted:var(--muted);--bs-subtle:var(--quiet);
  --bs-header-h:var(--header);--bs-safe-b:var(--safe);--bs-r:var(--r);--bs-r-sm:var(--r-sm);--bs-r-md:var(--r);--bs-r-xl:var(--r-xl);
}

html.bs-app{font-family:Inter,system-ui,sans-serif;-webkit-text-size-adjust:100%;scroll-behavior:smooth;overflow-x:clip}
.bs-app,.bs-app body{margin:0;min-height:100%;background:var(--canvas);color:var(--ink)}
.bs-app body{font-size:15px;line-height:1.5;font-variant-numeric:tabular-nums lining-nums;-webkit-font-smoothing:antialiased;overflow-x:clip}
.bs-app *,.bs-app *::before,.bs-app *::after{box-sizing:border-box}
.bs-app h1,.bs-app h2,.bs-app h3,.bs-app h4,.bs-app p,.bs-app dl,.bs-app dd{margin:0}
.bs-app h1,.bs-app h2,.bs-app h3,.bs-app h4{letter-spacing:-.025em}
.bs-app img{max-width:100%}.bs-app a{color:inherit;text-decoration:none}.bs-app button,.bs-app input,.bs-app select,.bs-app textarea{font:inherit}
.bs-app .material-symbols-outlined{font-family:"Material Symbols Outlined";font-weight:400;font-style:normal;font-size:1.25rem;line-height:1;letter-spacing:normal;text-transform:none;display:inline-block;white-space:nowrap;direction:ltr;-webkit-font-smoothing:antialiased;font-feature-settings:"liga";font-variation-settings:"FILL" 0,"wght" 450,"GRAD" 0,"opsz" 24}
.bs-app :focus{outline:0}.bs-app :focus-visible{outline:3px solid rgba(201,0,28,.28);outline-offset:2px;border-radius:var(--r-sm)}
.bs-sr-only,.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.bs-skip-link{position:fixed;z-index:200;left:1rem;top:1rem;transform:translateY(-180%);padding:.7rem 1rem;background:var(--brand);color:#fff;border-radius:var(--r);font-weight:700}.bs-skip-link:focus{transform:none}

/* Premium application shell */
.app-sidebar{position:fixed;z-index:var(--z-nav);inset:0 auto 0 0;width:var(--sidebar);display:flex;flex-direction:column;background:var(--nav);color:var(--nav-text);border-right:1px solid #25282d;overflow:hidden}
.app-sidebar__brand{height:6.25rem;flex:none;display:flex;align-items:center;padding:0 1.25rem;border-bottom:1px solid #25282d}.app-sidebar__brand a{display:flex;align-items:center;min-width:0}.app-sidebar__brand img{display:block;width:8.75rem;height:auto;max-height:5.5rem;object-fit:contain}.app-sidebar__close{display:none;margin-left:auto;width:2.75rem;height:2.75rem;border:0;border-radius:var(--r);background:transparent;color:#fff}
.app-nav{flex:1;min-height:0;overflow-y:auto;padding:1rem .85rem 1.5rem;scrollbar-width:thin;scrollbar-color:#41464e transparent}
.app-nav__section{padding:.95rem .8rem .4rem;color:var(--nav-muted);font-size:.68rem;font-weight:750;letter-spacing:.12em;text-transform:uppercase}.app-nav__section:first-child{padding-top:.25rem}
.bs-nav-link{position:relative;display:flex;align-items:center;gap:.8rem;min-height:2.8rem;padding:.65rem .8rem;border:0;border-radius:.65rem;background:transparent;color:var(--nav-text);font-size:.89rem;font-weight:540;text-align:left;transition:background var(--fast),color var(--fast),transform var(--fast)}
.bs-nav-link>.material-symbols-outlined{width:1.25rem;flex:none;color:#8f9bab;font-size:1.2rem;text-align:center}.bs-nav-link:hover{background:#202328;color:#fff}.bs-nav-link:hover>.material-symbols-outlined{color:#fff}
.bs-nav-link[aria-current=page]{background:var(--brand);color:#fff;font-weight:680;box-shadow:0 6px 18px rgba(201,0,28,.22)}.bs-nav-link[aria-current=page]>.material-symbols-outlined{color:#fff}
.app-nav__group{margin:.08rem 0}.app-nav__toggle{width:100%;cursor:pointer}.app-nav__chevron{margin-left:auto!important;font-size:1.05rem!important;transition:transform var(--fast)}.app-nav__toggle[aria-expanded=true] .app-nav__chevron{transform:rotate(180deg)}
.app-nav__sub{display:none;margin:.2rem 0 .3rem 2rem;padding:.15rem 0 .15rem .75rem;border-left:1px solid #383d44}.app-nav__group.is-open .app-nav__sub{display:grid}.app-nav__sub .bs-nav-link{min-height:2.25rem;padding:.4rem .7rem;font-size:.82rem}
.app-sidebar__footer{flex:none;padding:1rem 1.35rem 1.2rem;border-top:1px solid #25282d;background:#0d0f11}.app-sidebar__status{display:flex;align-items:center;gap:.5rem;color:#c0c7d0;font-size:.76rem}.bs-dot{width:.45rem;height:.45rem;border-radius:50%;background:#7e8792;flex:none}.app-sidebar__meta{margin-top:.28rem;color:#707a87;font-size:.69rem}
.app-frame{min-height:100dvh;padding-left:var(--sidebar);display:flex;flex-direction:column}.app-header{position:sticky;z-index:var(--z-header);top:0;height:var(--header);display:flex;align-items:center;gap:1rem;padding:0 var(--pad-x);background:rgba(255,255,255,.96);border-bottom:1px solid var(--line);backdrop-filter:blur(12px)}
.app-header__menu{display:none}.app-header__context{display:flex;align-items:center;gap:1rem;min-width:0;flex:1}.app-header__product{font-size:.76rem;font-weight:760;letter-spacing:.1em;text-transform:uppercase;color:var(--quiet)}.app-header__divider{width:1px;height:1.7rem;background:var(--line)}
.bs-company{display:flex;align-items:center;min-width:0}.bs-company__text{display:flex;flex-direction:column;min-width:0;line-height:1.25}.bs-company__name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.88rem;font-weight:680}.bs-company__meta{font-size:.72rem;color:var(--quiet)}
.app-header__actions{display:flex;align-items:center;gap:.65rem}.profile-trigger{display:flex;align-items:center;gap:.65rem;min-height:2.75rem;padding:.3rem .45rem .3rem .35rem;border:1px solid transparent;border-radius:.8rem;background:transparent;cursor:pointer}.profile-trigger:hover{background:var(--surface-3);border-color:var(--line)}.avatar{display:grid;place-items:center;width:2.15rem;height:2.15rem;border-radius:.65rem;background:var(--ink);color:#fff;font-size:.72rem;font-weight:750}.profile-trigger__text{display:flex;flex-direction:column;text-align:left;line-height:1.25}.profile-trigger__name{font-size:.8rem;font-weight:680}.profile-trigger__role{font-size:.68rem;color:var(--quiet)}
.app-main{flex:1;min-width:0;padding:2.25rem var(--pad-x) 4rem}.page{position:relative;width:100%;max-width:var(--page);margin:auto;display:flex;flex-direction:column;gap:1.35rem}.page--narrow{max-width:72rem}.page--form{max-width:68rem}

/* Page identity and actions */
.page-header{display:flex;align-items:flex-start;justify-content:space-between;gap:2rem;min-height:4.2rem}.page-header__text{min-width:0}.bs-eyebrow{margin-bottom:.2rem;color:var(--brand);font-size:.69rem;font-weight:780;letter-spacing:.11em;text-transform:uppercase}.page-title{font-size:clamp(1.75rem,2.3vw,2.25rem);line-height:1.15;font-weight:730}.page-subtitle{max-width:62ch;margin-top:.45rem;color:var(--muted);font-size:.93rem}.page-header__actions{display:flex;align-items:center;justify-content:flex-end;gap:.65rem;flex-wrap:wrap}
.page:has(>.page-header + .page-header__actions)>.page-header{padding-right:18rem}.page>.page-header+.page-header__actions{position:absolute;right:0;top:.55rem;max-width:17rem}
.bs-breadcrumb{display:flex;align-items:center;gap:.4rem;margin-bottom:.35rem;color:var(--quiet);font-size:.78rem}.bs-breadcrumb a:hover{color:var(--brand)}

/* Buttons and menus */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.45rem;min-height:2.55rem;padding:.55rem .95rem;border:1px solid transparent;border-radius:.62rem;background:transparent;color:var(--ink);font-size:.84rem;font-weight:680;line-height:1.1;white-space:nowrap;cursor:pointer;transition:transform var(--fast),background var(--fast),border-color var(--fast),box-shadow var(--fast)}.btn:hover{transform:translateY(-1px)}.btn:active{transform:none}.btn:disabled,.btn.is-disabled,.btn[aria-disabled=true]{opacity:.5;pointer-events:none}.btn--primary{background:var(--brand);color:#fff;box-shadow:0 5px 14px rgba(201,0,28,.18)}.btn--primary:hover{background:var(--brand-hover)}.btn--secondary{background:var(--surface);border-color:var(--line-strong);box-shadow:var(--shadow-xs)}.btn--secondary:hover{background:var(--surface-2);border-color:#aeb6c0}.btn--ghost{color:var(--muted)}.btn--ghost:hover{background:var(--surface-3);color:var(--ink)}.btn--danger{background:var(--danger);color:#fff}.btn--danger-soft{background:var(--danger-bg);border-color:var(--danger-line);color:var(--danger)}.btn--success{background:var(--success);color:#fff}.btn--sm{min-height:2.2rem;padding:.4rem .75rem;font-size:.78rem}.btn--lg{min-height:3rem;padding:.7rem 1.2rem}.btn--block{width:100%}.btn .material-symbols-outlined{font-size:1.05rem}
.icon-btn{position:relative;display:inline-grid;place-items:center;width:2.55rem;height:2.55rem;padding:0;border:1px solid transparent;border-radius:.65rem;background:transparent;color:var(--muted);cursor:pointer}.icon-btn:hover{background:var(--surface-3);color:var(--ink)}.icon-btn--bordered{background:#fff;border-color:var(--line)}.icon-btn__dot{position:absolute;right:.4rem;top:.35rem;width:.48rem;height:.48rem;border-radius:50%;background:var(--brand);box-shadow:0 0 0 2px #fff}
.menu-anchor{position:relative}.menu{position:absolute;display:none;right:0;top:calc(100% + .55rem);z-index:55;width:15rem;padding:.45rem;border:1px solid var(--line);border-radius:.8rem;background:#fff;box-shadow:var(--shadow-lg)}.menu.is-open{display:block}.menu__label{padding:.55rem .65rem;color:var(--quiet);font-size:.72rem;overflow-wrap:anywhere}.menu__item{display:flex;align-items:center;gap:.6rem;width:100%;padding:.65rem;border:0;border-radius:.5rem;background:transparent;color:var(--ink-2);font-size:.82rem;text-align:left;cursor:pointer}.menu__item:hover{background:var(--surface-3)}.menu__item--danger{color:var(--danger)}.menu__sep{height:1px;margin:.3rem;background:var(--line)}

/* Compact segmented controls */
.btn-group{display:inline-flex;align-items:center;gap:.2rem;padding:.2rem;border:1px solid var(--line-strong);border-radius:.65rem;background:var(--surface-3)}
.btn-group>button{min-height:2.15rem;padding:.4rem .72rem;border:0;border-radius:.45rem;background:transparent;color:var(--muted);font-size:.76rem;font-weight:680;cursor:pointer}
.btn-group>button:hover{color:var(--ink)}
.btn-group>button[aria-pressed=true],.btn-group>button.is-active{background:#fff;color:var(--ink);box-shadow:var(--shadow-xs)}

/* Cards and financial hierarchy */
.card{min-width:0;overflow:hidden;border:1px solid var(--line);border-radius:var(--r-lg);background:var(--surface);box-shadow:var(--shadow-xs)}.card__head{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1.1rem 1.35rem;border-bottom:1px solid var(--line)}.card__title{font-size:1rem;font-weight:700}.card__desc{margin-top:.2rem;color:var(--muted);font-size:.8rem}.card__body{min-width:0;padding:1.35rem}.card__body--dense{padding:1rem}.card__foot{display:flex;align-items:center;justify-content:flex-end;gap:.65rem;padding:1rem 1.35rem;border-top:1px solid var(--line);background:var(--surface-2)}
.kpi-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:1rem}.kpi{position:relative;grid-column:span 4;min-width:0;padding:1.25rem 1.3rem;border:1px solid var(--line);border-radius:var(--r-lg);background:#fff;box-shadow:var(--shadow-xs)}.kpi:first-child,.kpi:nth-child(3){border-top:3px solid var(--ink)}.kpi:nth-child(4){border-top:3px solid var(--warning)}.kpi:nth-child(5){border-top:3px solid var(--danger)}.kpi__label{color:var(--quiet);font-size:.7rem;font-weight:760;letter-spacing:.08em;text-transform:uppercase}.kpi__value{margin-top:.45rem;color:var(--ink);font-size:clamp(1.45rem,2.2vw,2rem);line-height:1.15;font-weight:740;letter-spacing:-.045em;white-space:nowrap}.kpi__value--ok{color:var(--success)}.kpi__value--warn{color:var(--warning)}.kpi__value--bad{color:var(--danger)}.kpi__meta{display:flex;align-items:flex-start;gap:.3rem;margin-top:.55rem;color:var(--muted);font-size:.76rem;line-height:1.35}.kpi__meta--up{color:var(--success)}.kpi__meta--down{color:var(--danger)}.kpi__meta .material-symbols-outlined{margin-top:.05rem;font-size:.9rem}.kpi__icon{position:absolute;right:1rem;top:1rem;color:#a0a8b2}.kpi__icon .material-symbols-outlined{font-size:1.15rem}.kpi__icon--ok{color:var(--success)}.kpi__icon--warn{color:var(--warning)}.kpi__icon--bad,.kpi__icon--brand{color:var(--brand)}.kpi__icon--info{color:var(--info)}
.split{display:grid;grid-template-columns:minmax(0,1fr) minmax(20rem,32%);gap:1.15rem;align-items:start}.split--wide-rail{grid-template-columns:minmax(0,1.65fr) minmax(21rem,.75fr)}.split__rail{position:sticky;top:calc(var(--header) + 1rem)}.bs-stack,.stack{display:flex;flex-direction:column;gap:1.15rem}.bs-stack-sm{display:flex;flex-direction:column;gap:.55rem}.bs-row{display:flex;align-items:center;gap:.55rem;flex-wrap:wrap}
.dl{display:grid;grid-template-columns:repeat(auto-fit,minmax(12rem,1fr));gap:1rem 1.5rem}.dl--stacked{display:block}.dl--stacked .dl__item{display:grid;grid-template-columns:minmax(7rem,.7fr) minmax(0,1.3fr);gap:1rem;padding:.7rem 0;border-bottom:1px solid #edf0f3}.dl__label{color:var(--quiet);font-size:.72rem;font-weight:680}.dl__value{min-width:0;color:var(--ink);font-size:.85rem;font-weight:560;overflow-wrap:anywhere}.dl--stacked .dl__value{text-align:right}

/* Integrated filters and premium data tables */
.toolbar,.filters{display:flex;align-items:center;gap:.65rem;min-height:4.5rem;padding:.8rem 1rem;border:1px solid var(--line);border-radius:var(--r-lg);background:#fff;box-shadow:var(--shadow-xs)}.toolbar__search{position:relative;flex:1;max-width:34rem}.toolbar__search .material-symbols-outlined{position:absolute;left:.8rem;top:50%;transform:translateY(-50%);color:var(--quiet);font-size:1.05rem}.toolbar__search .input{padding-left:2.4rem}.toolbar__group{display:flex;align-items:center;gap:.55rem;margin-left:auto}.toolbar__group .select{width:auto;min-width:10rem}.filters>input{flex:1;max-width:34rem}
.input,.select,.textarea,.filters input{width:100%;min-width:0;border:1px solid var(--line-strong);border-radius:.6rem;background:#fff;color:var(--ink);font-size:.87rem;transition:border-color var(--fast),box-shadow var(--fast),background var(--fast)}.input,.select,.filters input{height:2.65rem;padding:0 .78rem}.textarea{min-height:6rem;padding:.7rem .78rem;resize:vertical}.select{appearance:none;padding-right:2.1rem;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='none' stroke='%23626b78' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='m4 6 4 4 4-4'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .65rem center}.input:hover,.select:hover,.textarea:hover{border-color:#9ba5b1}.input:focus,.select:focus,.textarea:focus{border-color:var(--brand);box-shadow:0 0 0 3px rgba(201,0,28,.1)}.input:disabled,.select:disabled,.textarea:disabled,.input[readonly]{background:var(--surface-3);color:var(--muted)}.input::placeholder,.textarea::placeholder{color:#9ba4af}
.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.15rem 1.4rem}.form-grid--1{grid-template-columns:1fr}.form-grid--3{grid-template-columns:repeat(3,minmax(0,1fr))}.field{display:flex;flex-direction:column;gap:.4rem;min-width:0}.field>label,.field__label{color:var(--ink-2);font-size:.76rem;font-weight:680}.field__hint,.field__help{color:var(--quiet);font-size:.72rem}.field__error{display:none;color:var(--danger);font-size:.73rem;font-weight:620}.field--error .field__error,.field.is-invalid .field__error{display:block}.field--error .input,.field--error .select,.field--error .textarea,[aria-invalid=true]{border-color:var(--danger)}.field--full,.col-span-full{grid-column:1/-1}.check{display:flex;align-items:flex-start;gap:.55rem;color:var(--ink-2);font-size:.84rem}.check input{width:1.05rem;height:1.05rem;margin-top:.15rem;accent-color:var(--brand)}.input-group{display:flex}.input-group__addon{display:grid;place-items:center;padding:0 .75rem;border:1px solid var(--line-strong);border-right:0;border-radius:.6rem 0 0 .6rem;background:var(--surface-3);color:var(--muted)}.input-group .input{border-radius:0 .6rem .6rem 0}
.table-wrap{width:100%;max-width:100%;overflow-x:auto;overscroll-behavior-x:contain}.data-table{width:100%;border-collapse:separate;border-spacing:0;font-size:.84rem}.data-table th{padding:.8rem 1rem;border-bottom:1px solid var(--line);background:var(--surface-2);color:var(--quiet);font-size:.68rem;font-weight:760;letter-spacing:.07em;text-transform:uppercase;text-align:left;white-space:nowrap}.data-table td{padding:.9rem 1rem;border-bottom:1px solid #edf0f3;color:var(--ink-2);vertical-align:middle}.data-table tbody tr{transition:background var(--fast),box-shadow var(--fast)}.data-table tbody tr:hover{background:#fafbfc;box-shadow:inset 3px 0 var(--brand)}.data-table tbody tr:last-child td{border-bottom:0}.data-table .num,.data-table th.num{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}.data-table td.num{color:var(--ink);font-weight:650}.cell-link,.cell-primary{color:var(--ink);font-weight:680}.cell-link:hover{color:var(--brand);text-decoration:underline;text-underline-offset:3px}.cell-sub{display:block;margin-top:.12rem;color:var(--quiet);font-size:.72rem}.data-table tfoot td{background:var(--surface-2);font-weight:700}.record-list{display:none}
.pagination{display:flex;align-items:center;justify-content:flex-end;gap:.4rem;padding:1rem;border-top:1px solid var(--line);color:var(--muted);font-size:.76rem}.pagination>a:not(.btn){display:grid;place-items:center;min-width:2rem;height:2rem;border-radius:.45rem}.pagination>a[aria-current=page]{background:var(--ink);color:#fff}

/* Status and feedback */
.badge{display:inline-flex;align-items:center;gap:.38rem;padding:.22rem .55rem;border:1px solid var(--line);border-radius:999px;background:var(--surface-3);color:var(--muted);font-size:.7rem;font-weight:700;line-height:1.2;white-space:nowrap}.badge::before{content:"";width:.38rem;height:.38rem;border-radius:50%;background:currentColor}.badge--success{background:var(--success-bg);border-color:var(--success-line);color:var(--success)}.badge--warning{background:var(--warning-bg);border-color:var(--warning-line);color:var(--warning)}.badge--danger{background:var(--danger-bg);border-color:var(--danger-line);color:var(--danger)}.badge--info{background:var(--info-bg);border-color:var(--info-line);color:var(--info)}.badge--brand{background:var(--brand-soft);border-color:var(--brand-line);color:var(--brand)}
.alert{display:flex;align-items:flex-start;gap:.7rem;max-width:62rem;padding:.8rem 1rem;border:1px solid var(--line);border-radius:.7rem;background:#fff;color:var(--ink-2);font-size:.8rem;box-shadow:var(--shadow-xs)}.app-frame>.alert{position:fixed;z-index:var(--z-toast);right:1.25rem;top:calc(var(--header) + 1rem);max-width:28rem;box-shadow:var(--shadow)}.alert__body{min-width:0}.alert__title{display:block;margin-bottom:.15rem;color:var(--ink);font-weight:700}.alert--success{background:var(--success-bg);border-color:var(--success-line)}.alert--warning{background:var(--warning-bg);border-color:var(--warning-line)}.alert--danger,.alert--error{background:var(--danger-bg);border-color:var(--danger-line)}.alert--info{background:var(--info-bg);border-color:var(--info-line)}
.empty-state{width:min(100%,34rem);margin:1.8rem auto;padding:2.75rem 2rem;text-align:center}.empty-state__icon{display:grid!important;place-items:center;width:3rem;height:3rem;margin:0 auto 1rem;border-radius:.9rem;background:var(--surface-3);color:var(--muted);font-size:1.35rem}.empty-state h2{font-size:1.2rem;font-weight:720}.empty-state p{max-width:42ch;margin:.4rem auto 0;color:var(--muted);font-size:.85rem}.empty-state .btn{margin-top:1.2rem}
.tabs{display:flex;gap:.3rem;max-width:100%;overflow-x:auto;border-bottom:1px solid var(--line)}.tab{position:relative;min-height:2.8rem;padding:.65rem .8rem;border:0;background:transparent;color:var(--muted);font-size:.8rem;font-weight:650;white-space:nowrap;cursor:pointer}.tab[aria-selected=true],.tab.is-active{color:var(--ink)}.tab[aria-selected=true]::after,.tab.is-active::after{content:"";position:absolute;inset:auto .7rem -1px;height:2px;background:var(--brand)}

.page>.split:not(.split--wide-rail) .empty-state{margin:0 auto;padding:1.6rem 1.25rem}
.page>.split:not(.split--wide-rail) .empty-state__icon{width:2.5rem;height:2.5rem;margin-bottom:.7rem}

/* Structured workflows, settings and campaign documents */
.form-section{display:grid;grid-template-columns:12rem minmax(0,1fr);gap:1.25rem;align-items:start}.form-section__heading{display:flex;gap:.8rem;padding-top:.8rem}.form-section__heading>span{display:grid;place-items:center;flex:0 0 2rem;width:2rem;height:2rem;border-radius:50%;background:var(--nav);color:#fff;font-size:.7rem;font-weight:750}.form-section__heading h2{font-size:1rem}.form-section__heading p{margin-top:.25rem;color:var(--muted);font-size:.76rem;line-height:1.45}.section-intro{display:flex;gap:.8rem;padding:.85rem;border-radius:.75rem;background:var(--surface-2)}.section-intro h3{font-size:.9rem}.section-intro p{margin-top:.2rem;color:var(--muted);font-size:.76rem}.settings-layout{display:grid;grid-template-columns:minmax(0,1fr) 22rem;gap:1rem;align-items:start}.settings-aside{position:sticky;top:calc(var(--header) + 1rem)}.status-summary{display:flex;gap:.65rem}.status-summary p{margin-top:.2rem;color:var(--muted);font-size:.76rem}.status-dot{width:.6rem;height:.6rem;margin-top:.3rem;border-radius:50%}.status-dot--success{background:var(--success)}.status-dot--warning{background:var(--warning)}.alert__close{display:grid;place-items:center;margin-left:auto;border:0;background:transparent;color:inherit;cursor:pointer}.alert__close .material-symbols-outlined{font-size:1rem}.bs-app a.btn--primary,.bs-app .btn--primary,.bs-app a.btn--danger,.bs-app .btn--danger{color:#fff}

.campaign-summary{padding:1.25rem;border-radius:var(--r-lg);background:var(--nav);color:#fff}.campaign-summary__lead{display:flex;gap:.9rem}.campaign-summary__lead h2{margin-top:.25rem;color:#fff}.campaign-summary__lead p{color:#adb5c0}.campaign-summary dl{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-top:1.1rem}.campaign-summary dt{color:#858f9c;font-size:.66rem;text-transform:uppercase;letter-spacing:.08em}.campaign-summary dd{margin-top:.2rem;font-weight:650}.campaign-summary__notes{margin-top:1rem;padding-top:1rem;border-top:1px solid #30363d;color:#c8ced6}
.form-section>.card{min-width:0}@media(max-width:1023px){.form-section{grid-template-columns:minmax(0,1fr)}.form-section__heading{padding-top:0}.settings-layout{grid-template-columns:minmax(0,1fr)}.settings-aside{position:static}}@media(max-width:767px){.campaign-summary dl{grid-template-columns:1fr}.form-section__heading p{max-width:28rem}.invoice-lines{min-width:44rem}}
.table-wrap:has(.invoice-lines){contain:inline-size}
/* Charts and detail workflows */
.chart{min-height:14rem}.bars{display:flex;align-items:flex-end;gap:.7rem;height:13rem;padding-top:1rem;border-bottom:1px solid var(--line)}.bars__col{display:flex;flex:1;min-width:0;height:100%;flex-direction:column;justify-content:flex-end;align-items:center;gap:.45rem}.bars__stack{display:flex;align-items:flex-end;gap:2px;width:100%;height:100%}.bars__bar{flex:1;min-height:2px;border-radius:.28rem .28rem 0 0;background:var(--brand)}.bars__bar--alt{background:#8793a2}.bars__bar--ok{background:var(--success)}.bars__label{color:var(--quiet);font-size:.68rem}.chart__legend{display:flex;gap:1.2rem;flex-wrap:wrap;margin-top:1rem;color:var(--muted);font-size:.76rem}.chart__legend-item{display:flex;align-items:center;gap:.4rem}.chart__swatch{width:.55rem;height:.55rem;border-radius:.15rem}.chart__caption{margin-top:.6rem;color:var(--quiet);font-size:.72rem}
.invoice-parties{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:2rem}.invoice-parties h3{margin-bottom:.55rem;color:var(--quiet);font-size:.68rem;letter-spacing:.08em;text-transform:uppercase}.invoice-parties p{margin-top:.3rem;color:var(--muted)}.invoice-summary{width:min(100%,26rem);margin-left:auto}.invoice-summary p{display:flex;justify-content:space-between;padding:.4rem 0}.invoice-total{margin-top:.35rem;padding-top:.8rem!important;border-top:2px solid var(--ink);font-size:1.05rem}.invoice-lines td:first-child{min-width:22rem}.invoice-lines td:first-child .select{margin-top:.45rem}.invoice-lines .icon-btn{color:var(--danger)}.invoice-lines .icon-btn:hover{background:var(--danger-bg)}.payment-allocations .select{min-width:20rem}.page-actions{display:flex;align-items:center;gap:.65rem;flex-wrap:wrap}.page-actions form{display:flex;align-items:center;gap:.55rem}.sticky-actions{position:sticky;z-index:10;bottom:1rem;display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-top:.5rem;padding:.9rem 1rem;border:1px solid var(--line);border-radius:.85rem;background:rgba(255,255,255,.96);box-shadow:var(--shadow);backdrop-filter:blur(12px)}.sticky-actions__meta{color:var(--muted);font-size:.76rem}.sticky-actions__buttons{display:flex;gap:.6rem;margin-left:auto}.invoice-print{max-width:900px;margin:auto;padding:2rem;background:#fff}.invoice-print .pdf-logo{display:block;width:150px;height:auto;max-width:100%;margin-bottom:1.5rem}.print-actions{display:flex;gap:.5rem;margin-bottom:1rem}
.bottom-nav{display:none}.bs-backdrop{position:fixed;z-index:var(--z-backdrop);inset:0;background:rgba(10,13,17,.58);opacity:0;pointer-events:none;transition:opacity var(--fast)}.bs-backdrop.is-visible{opacity:1;pointer-events:auto}.bs-scroll-locked{overflow:hidden}.modal,.drawer{border:0;padding:0;background:transparent}.modal::backdrop,.drawer::backdrop{background:rgba(10,13,17,.58)}.modal__panel,.drawer__panel{border:1px solid var(--line);border-radius:var(--r-lg);background:#fff;box-shadow:var(--shadow-lg)}.modal__panel{width:min(34rem,calc(100vw - 2rem));padding:1.4rem}.modal__head,.drawer__head{display:flex;align-items:center;justify-content:space-between;gap:1rem}.modal__actions{display:flex;justify-content:flex-end;gap:.65rem;margin-top:1.5rem}.drawer{margin:0 0 0 auto;width:min(26rem,92vw);height:100dvh}.drawer__panel{height:100%;border-radius:0;padding:1.25rem}.bs-toasts{position:fixed;z-index:var(--z-toast);right:1rem;bottom:1rem;width:min(24rem,calc(100vw - 2rem))}
.bs-muted,.text-muted{color:var(--muted)}.bs-subtle{color:var(--quiet)}.bs-strong{font-weight:700;color:var(--ink)}.bs-ok{color:var(--success)}.bs-warn{color:var(--warning)}.bs-bad{color:var(--danger)}.bs-link{color:var(--brand);font-weight:650}.bs-link:hover{text-decoration:underline}.num,.bs-num{font-variant-numeric:tabular-nums}.bs-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bs-divider{height:1px;border:0;background:var(--line)}[hidden]{display:none!important}

.error-page{min-height:65vh;justify-content:center;align-items:flex-start}.error-visual{position:relative;display:grid;place-items:center;width:5.5rem;height:5.5rem;border-radius:1.25rem;background:var(--nav);box-shadow:inset -10px 0 var(--brand)}.error-visual span{color:#fff;font-size:1.25rem;font-weight:780;letter-spacing:.08em}.error-page .page-subtitle{max-width:36rem}
/* Reporting period */
.period-control{display:flex;align-items:center;gap:.55rem}.period-presets{display:inline-flex;padding:.2rem;border:1px solid var(--line);border-radius:.65rem;background:var(--surface-2)}.period-preset{min-height:2.15rem;padding:.35rem .65rem;border:0;border-radius:.45rem;background:transparent;color:var(--muted);font-size:.72rem;font-weight:680;cursor:pointer}.period-preset[aria-pressed=true]{background:#fff;color:var(--ink);box-shadow:var(--shadow-xs)}.period-custom{position:relative}.period-custom>summary{display:flex;min-height:2.55rem;align-items:center;gap:.4rem;padding:.5rem .7rem;border:1px solid var(--line-strong);border-radius:.62rem;background:#fff;color:var(--ink-2);font-size:.75rem;font-weight:650;cursor:pointer;list-style:none}.period-custom>summary::-webkit-details-marker{display:none}.period-custom>summary .material-symbols-outlined{font-size:1rem}.period-custom[open]>summary{border-color:var(--brand)}.period-custom>form{position:absolute;z-index:20;right:0;top:calc(100% + .45rem);width:20rem;padding:1rem;border:1px solid var(--line);border-radius:.8rem;background:#fff;box-shadow:var(--shadow-lg)}.period-custom__fields{display:grid;grid-template-columns:1fr 1fr;gap:.6rem;margin-bottom:.75rem}.period-custom__fields label{display:grid;gap:.3rem;color:var(--quiet);font-size:.65rem;font-weight:700;text-transform:uppercase}

/* Date and calendar controls */
.date-control{position:relative}.date-control__native{position:absolute!important;width:1px!important;height:1px!important;margin:-1px!important;clip-path:inset(50%);opacity:0}.date-control__button{display:flex;width:100%;min-height:2.75rem;align-items:center;justify-content:space-between;gap:.75rem;padding:.62rem .78rem;border:1px solid var(--line-strong);border-radius:.62rem;background:#fff;color:var(--ink);text-align:left;cursor:pointer}.date-control__button:hover{border-color:#aeb6c0;background:var(--surface-2)}.date-control__button .material-symbols-outlined{color:var(--muted);font-size:1.15rem}.date-picker{position:fixed;z-index:var(--z-overlay);inset:0;display:grid;place-items:center;padding:1rem}.date-picker__panel{width:min(22rem,calc(100vw - 2rem));padding:1rem}.date-picker__head{display:grid;grid-template-columns:2.5rem 1fr 2.5rem;align-items:center;margin-bottom:.75rem}.date-picker__month{text-align:center;font-size:1rem}.date-picker__week,.date-picker__grid{display:grid;grid-template-columns:repeat(7,1fr);gap:.2rem}.date-picker__week{margin-bottom:.3rem;color:var(--quiet);font-size:.62rem;text-align:center}.date-picker__day{aspect-ratio:1;border:0;border-radius:.5rem;background:transparent;color:var(--ink);cursor:pointer}.date-picker__day:hover{background:var(--surface-3)}.date-picker__day.is-today{box-shadow:inset 0 0 0 1px var(--brand);color:var(--brand);font-weight:700}.date-picker__day.is-selected{background:var(--brand);color:#fff;font-weight:750}.date-picker__time{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-top:.8rem;padding-top:.8rem;border-top:1px solid var(--line);font-size:.76rem;font-weight:700}.date-picker__time .input{width:8rem}.date-picker__actions{display:flex;justify-content:flex-end;gap:.5rem;margin-top:.85rem;padding-top:.85rem;border-top:1px solid var(--line)}

@media(max-width:767px){.period-control{display:grid;gap:.5rem}.period-presets{display:grid;grid-template-columns:repeat(4,1fr);width:100%}.period-preset{padding:.35rem .25rem}.period-custom>summary{justify-content:center}.period-custom>form{position:static;width:100%;margin-top:.45rem}.period-custom__fields{grid-template-columns:1fr}.page-header__actions:has(.period-control){width:100%}}

/* Mobile navigation sheet */
.sheet{position:fixed;z-index:var(--z-overlay);right:0;bottom:0;left:0;max-height:min(80dvh,46rem);padding:0 1rem calc(1rem + var(--safe));border:1px solid var(--line);border-bottom:0;border-radius:1.35rem 1.35rem 0 0;background:#fff;box-shadow:0 -20px 60px rgba(10,14,20,.2);transform:translateY(105%);transition:transform 220ms var(--ease);overflow:auto}.sheet.is-open{transform:none}.sheet__handle{width:2.5rem;height:.28rem;margin:.65rem auto .2rem;border-radius:1rem;background:#c7ccd3}.sheet__head{position:sticky;z-index:1;top:0;display:flex;align-items:center;justify-content:space-between;padding:.85rem 0;background:#fff}.sheet__title{font-size:1.25rem}.sheet__body{display:grid;gap:1.1rem}.sheet__group h3{margin-bottom:.55rem;color:var(--quiet);font-size:.65rem;font-weight:760;letter-spacing:.08em;text-transform:uppercase}.sheet__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.55rem}.sheet__item{display:flex;min-height:4.6rem;flex-direction:column;align-items:center;justify-content:center;gap:.4rem;padding:.65rem .35rem;border:1px solid var(--line);border-radius:.8rem;background:var(--surface);color:var(--ink-2);font-size:.7rem;font-weight:670;text-align:center}.sheet__item:hover{border-color:var(--brand-line);background:var(--brand-soft)}.sheet__item[aria-current=page]{border-color:var(--brand);background:var(--brand-soft);color:var(--brand)}.sheet__item .material-symbols-outlined{font-size:1.35rem}

.bottom-nav__item{-webkit-appearance:none;appearance:none;border:0;background:transparent}.bottom-nav__more[aria-expanded=true]{color:var(--brand)}.bottom-nav__more[aria-expanded=true]::before{content:"";position:absolute;top:0;width:2rem;height:2px;background:var(--brand)}
@media(max-width:767px){.bottom-nav{box-shadow:0 -8px 24px rgba(16,24,40,.08)}.bottom-nav__inner{max-width:32rem;margin:auto}.bottom-nav__item{min-width:0;min-height:4.25rem;padding:.35rem .15rem;color:#596270}.bottom-nav__item>span:last-child{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.app-main{padding-bottom:calc(7rem + var(--safe))}.sticky-actions{bottom:calc(5.2rem + var(--safe))}.sheet__grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:374px){.bottom-nav__item{font-size:.58rem}.bottom-nav__item .material-symbols-outlined{font-size:1.15rem}.sheet__grid{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* Authentication */
.auth-card input:-webkit-autofill,.auth-card input:-webkit-autofill:hover,.auth-card input:-webkit-autofill:focus{-webkit-text-fill-color:var(--ink);-webkit-box-shadow:0 0 0 1000px #fff inset;box-shadow:0 0 0 1000px #fff inset;caret-color:var(--ink);transition:background-color 9999s}.auth-card__foot{position:relative;margin-top:1rem!important;line-height:1.45}.auth-submit+.auth-card__foot{margin-top:1rem}
.auth-shell{min-height:100dvh;display:grid;grid-template-columns:minmax(30rem,48%) 1fr;background:#fff}.auth-brand{position:relative;isolation:isolate;overflow:hidden;display:flex;flex-direction:column;justify-content:space-between;padding:clamp(2.5rem,5vw,5rem);background:var(--nav);color:#fff}.auth-brand::before{content:"";position:absolute;z-index:-1;right:-18%;top:16%;width:22rem;height:4rem;transform:skewX(-22deg);background:var(--brand);opacity:.9}.auth-brand::after{content:"";position:absolute;z-index:-1;left:-15%;bottom:11%;width:26rem;height:1.2rem;transform:skewX(-22deg);background:var(--brand);opacity:.28}.auth-brand__glow{position:absolute;z-index:-2;width:30rem;height:30rem;border-radius:50%;background:rgba(201,0,28,.16);filter:blur(90px)}.auth-brand__glow--top{right:-12rem;top:-12rem}.auth-brand__glow--bottom{left:-12rem;bottom:-12rem}.auth-logo{display:inline-flex;width:max-content}.auth-logo img{width:12rem;height:auto}.auth-logo small{display:none}.auth-brand__copy{max-width:36rem}.auth-brand__copy h1{color:#fff;font-size:clamp(2.4rem,4vw,4rem);line-height:1.04;font-weight:730;letter-spacing:-.045em}.auth-brand__copy>p{max-width:30rem;margin-top:1.25rem;color:#b5bdc8;font-size:1.05rem;line-height:1.7}.auth-brand__status{display:flex;align-items:center;gap:.5rem;margin-top:2.2rem!important;font-size:.78rem!important}.auth-brand>small{color:#707986}.auth-main{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:clamp(1.5rem,5vw,5rem)}.auth-card{width:100%;max-width:27rem}.auth-card h1{font-size:2rem;font-weight:730}.auth-card__intro{margin:.35rem 0 1.8rem;color:var(--muted)}.auth-form{display:grid;gap:1.15rem}.auth-form__forgot{position:relative;z-index:1;margin-bottom:-2.4rem;text-align:right;font-size:.76rem}.auth-form__forgot a,.auth-back{color:var(--brand);font-weight:650}.auth-submit{width:100%;min-height:2.9rem}.auth-card__foot{margin-top:1.4rem;color:var(--quiet);font-size:.75rem;text-align:center}.auth-mobile-logo{display:none;margin-bottom:2rem}.auth-mobile-logo img{width:10rem;height:auto}.error-page{max-width:44rem;margin:auto;padding-top:8vh}

@media(max-width:1199px){:root{--sidebar:15.5rem}.kpi{grid-column:span 6}.split{grid-template-columns:minmax(0,1fr) minmax(18rem,35%)}}
@media(max-width:1023px){.app-frame{padding-left:0}.app-sidebar{width:min(18rem,88vw); z-index: calc(var(--bs-z-backdrop) + 1);transform:translateX(-100%);transition:transform 220ms var(--ease);box-shadow:var(--shadow-lg)}body.bs-nav-open .app-sidebar{transform:none}.app-sidebar__close,.app-header__menu{display:inline-grid;place-items:center}.app-header__product,.app-header__divider{display:none}.split,.split--wide-rail{grid-template-columns:1fr}.split__rail{position:static}.auth-shell{grid-template-columns:1fr}.auth-brand{display:none}.auth-main{min-height:100dvh}.auth-mobile-logo{display:block}}
@media(max-width:767px){:root{--header:4rem;--pad-x:1rem}.app-main{padding-top:1.35rem;padding-bottom:calc(6rem + var(--safe))}.app-header{gap:.5rem;padding-inline:.75rem}.app-header__create{display:none}.bs-hide-sm,.bs-hide-md{display:none}.bs-company__name{max-width:11rem}.page{gap:1rem}.page-header{min-height:0;flex-direction:column;align-items:stretch;gap:1rem}.page-header__actions{width:100%;justify-content:flex-start}.page-header__actions>form{width:100%}.page-title{font-size:1.65rem}.page-subtitle{font-size:.86rem}.page:has(>.page-header + .page-header__actions)>.page-header{padding-right:0}.page>.page-header+.page-header__actions{position:static;max-width:none;justify-content:flex-start}.page>.page-header+.page-header__actions .btn{flex:1}.form-grid,.form-grid--3{grid-template-columns:1fr}.kpi-grid{gap:.7rem}.kpi{grid-column:span 6;padding:1rem}.kpi__value{font-size:1.4rem}.kpi__icon{display:none}.card__head,.card__body{padding:1rem}.toolbar,.filters{display:grid;grid-template-columns:1fr;padding:.8rem}.toolbar__search,.filters>input{max-width:none}.toolbar__group{display:grid;grid-template-columns:1fr 1fr;width:100%;margin:0}.toolbar__group .select{width:100%;min-width:0}.toolbar__group .btn{grid-column:1/-1}.table-wrap[data-collapse=cards] table,.table-wrap[data-collapse=cards] thead,.table-wrap[data-collapse=cards] tbody,.table-wrap[data-collapse=cards] tr,.table-wrap[data-collapse=cards] td{display:block}.table-wrap[data-collapse=cards] thead{display:none}.table-wrap[data-collapse=cards] tr{padding:.85rem 1rem;border-bottom:1px solid var(--line)}.table-wrap[data-collapse=cards] td{padding:.35rem 0;border:0;text-align:left!important}.table-wrap[data-collapse=cards] td::before{content:attr(data-label);display:block;color:var(--quiet);font-size:.65rem;font-weight:720;text-transform:uppercase}.invoice-parties{grid-template-columns:1fr}.invoice-lines td:first-child{min-width:16rem}.payment-allocations .select{min-width:16rem}.dl--stacked .dl__item{grid-template-columns:7rem minmax(0,1fr)}.sticky-actions{bottom:calc(4.4rem + var(--safe));margin-inline:-.25rem}.bottom-nav{position:fixed;z-index:50;display:block;inset:auto 0 0;background:rgba(255,255,255,.97);border-top:1px solid var(--line);padding-bottom:var(--safe);backdrop-filter:blur(14px)}.bottom-nav__inner{display:grid;grid-template-columns:repeat(5,1fr)}.bottom-nav__item{position:relative;display:flex;min-height:4.15rem;flex-direction:column;align-items:center;justify-content:center;gap:.25rem;color:var(--muted);font-size:.62rem;font-weight:650}.bottom-nav__item .material-symbols-outlined{font-size:1.25rem}.bottom-nav__item[aria-current=page]{color:var(--brand)}.bottom-nav__item[aria-current=page]::before{content:"";position:absolute;top:0;width:2rem;height:2px;background:var(--brand)}.alert{max-width:100%}.app-frame>.alert{right:.75rem;left:.75rem;top:calc(var(--header) + .7rem)}.pagination{justify-content:center;flex-wrap:wrap}.page-actions form{width:100%;flex-wrap:wrap}}
@media(max-width:420px){.kpi{grid-column:span 12}.kpi-grid{grid-template-columns:1fr}.toolbar__group{grid-template-columns:1fr}.auth-main{padding:1.25rem;background:var(--surface-2)}.auth-card{padding:1.35rem;border:1px solid var(--line);border-radius:var(--r-lg);background:#fff;box-shadow:var(--shadow)}.empty-state{padding:2rem 1rem}.sticky-actions{align-items:stretch;flex-direction:column}.sticky-actions__buttons{width:100%;margin:0}.sticky-actions__buttons .btn{flex:1}}
@media(prefers-reduced-motion:reduce){html.bs-app{scroll-behavior:auto}.bs-app *,.bs-app *::before,.bs-app *::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
@media(forced-colors:active){.btn,.card,.input,.select,.badge{border:1px solid}}
@media print{.app-sidebar,.app-header,.bottom-nav,.sticky-actions,.print-actions,.page-header__actions{display:none!important}.app-frame{padding:0}.app-main,.invoice-print{padding:0}.card{box-shadow:none;break-inside:avoid}}
@media(max-width:767px){.invoice-lines{display:block;min-width:0!important}.invoice-lines thead{display:none}.invoice-lines tbody{display:grid;padding:.75rem}.invoice-lines tr{position:relative;display:grid;grid-template-columns:minmax(0,1fr) minmax(5.5rem,.42fr);gap:.65rem;padding:.85rem;border:1px solid var(--line);border-radius:.75rem;background:#fff}.invoice-lines td{display:block!important;min-width:0!important;padding:0!important;border:0!important}.invoice-lines td:first-child,.invoice-lines td:nth-child(4){grid-column:1/-1}.invoice-lines td:last-child{position:static;grid-column:2;justify-self:end}.invoice-lines input,.invoice-lines select{width:100%}.campaign-summary dl{grid-template-columns:1fr}.auth-card .alert{margin-bottom:1rem}.app-frame>.alert{position:relative;z-index:1;inset:auto;margin:1rem 1rem 0;max-width:none;box-shadow:var(--shadow-xs)}body[data-nav=dashboard] .kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}body[data-nav=dashboard] .kpi{grid-column:span 1;min-height:7rem;padding:.85rem}body[data-nav=dashboard] .kpi:nth-child(1),body[data-nav=dashboard] .kpi:nth-child(4){grid-column:1/-1}}
@media(max-width:420px){.kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.kpi{grid-column:span 1;min-height:7rem;padding:.85rem}.kpi__value{font-size:1.18rem}.kpi__meta{font-size:.64rem}.kpi:nth-child(1),.kpi:nth-child(4){grid-column:1/-1}.dashboard .card__desc{display:none}}

/* Contact selection is a shared invoicing and ledger workflow, not a native-select patch. */
.contact-picker{padding:1rem;border:1px solid var(--line);border-radius:var(--r);background:var(--surface-2)}
.contact-picker__head{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:.75rem}.contact-picker__modes{display:inline-flex;padding:.2rem;border:1px solid var(--line);border-radius:.65rem;background:#fff}.contact-picker__mode{min-height:2rem;padding:.35rem .7rem;border:0;border-radius:.45rem;background:transparent;color:var(--muted);font:inherit;font-size:.72rem;font-weight:680;cursor:pointer}.contact-picker__mode.is-active{background:var(--nav);color:#fff;box-shadow:var(--shadow-xs)}.contact-picker__search{position:relative;margin-bottom:.55rem}.contact-picker__search>.material-symbols-outlined{position:absolute;z-index:1;left:.75rem;top:50%;transform:translateY(-50%);color:var(--quiet);font-size:1rem}.contact-picker__search .input{padding-left:2.25rem}.contact-picker__manual{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}.contact-picker__hint{display:flex;grid-column:1/-1;align-items:flex-start;gap:.4rem;color:var(--muted);font-size:.72rem;line-height:1.45}.contact-picker__hint .material-symbols-outlined{margin-top:.05rem;font-size:.95rem}.field__optional{color:var(--quiet);font-size:.65rem;font-weight:500}

@media(max-width:767px){.contact-picker{padding:.8rem}.contact-picker__head{align-items:stretch;flex-direction:column;gap:.55rem}.contact-picker__modes{display:grid;grid-template-columns:1fr 1fr}.contact-picker__mode{min-height:2.5rem}.contact-picker__manual{grid-template-columns:1fr}body[data-page=dashboard] .app-main{padding-top:.9rem;background:#f2f4f7}body[data-page=dashboard] .page{gap:.8rem}body[data-page=dashboard] .page-header{gap:.7rem;padding:.15rem 0 .2rem}body[data-page=dashboard] .page-eyebrow{font-size:.62rem}body[data-page=dashboard] .page-title{font-size:1.8rem;letter-spacing:-.045em}body[data-page=dashboard] .page-subtitle{max-width:22rem;font-size:.78rem;line-height:1.4}body[data-page=dashboard] .period-control{width:100%;gap:.4rem;overflow-x:auto;padding-bottom:.1rem;scrollbar-width:none}body[data-page=dashboard] .period-control::-webkit-scrollbar{display:none}body[data-page=dashboard] .period-presets{flex:1;justify-content:space-between;min-width:14.5rem;background:#e8ebef}body[data-page=dashboard] .period-preset{flex:1}body[data-page=dashboard] .period-custom{flex:none}body[data-page=dashboard] .kpi-grid{gap:.6rem}body[data-page=dashboard] .kpi{min-height:6.3rem;padding:.8rem .85rem;border-radius:.9rem}body[data-page=dashboard] .kpi:nth-child(1){grid-column:1/-1;min-height:8.25rem;padding:1rem 1.1rem;border:0;background:var(--nav);box-shadow:0 12px 28px rgba(15,18,22,.2)}body[data-page=dashboard] .kpi:nth-child(1) .kpi__label,body[data-page=dashboard] .kpi:nth-child(1) .kpi__meta{color:#aeb7c3}body[data-page=dashboard] .kpi:nth-child(1) .kpi__value{color:#fff;font-size:2rem}body[data-page=dashboard] .kpi:nth-child(1) .kpi__icon{display:block;color:var(--brand)}body[data-page=dashboard] .kpi:nth-child(2),body[data-page=dashboard] .kpi:nth-child(3),body[data-page=dashboard] .kpi:nth-child(5),body[data-page=dashboard] .kpi:nth-child(6){grid-column:span 1}body[data-page=dashboard] .kpi:nth-child(4){grid-column:1/-1;min-height:6.75rem;background:#fffaf1}body[data-page=dashboard] .kpi__label{font-size:.62rem}body[data-page=dashboard] .kpi__value{font-size:1.25rem}body[data-page=dashboard] .kpi__meta{margin-top:.35rem;font-size:.63rem}body[data-page=dashboard] .split{gap:.8rem}body[data-page=dashboard] .card{border-radius:1rem}body[data-page=dashboard] .card__head{padding:.9rem}body[data-page=dashboard] .card__body{padding:.9rem}body[data-page=dashboard] .card__desc{display:none}body[data-page=dashboard] .chart{min-height:9rem}body[data-page=dashboard] .bars{height:8rem}body[data-page=dashboard] .chart__caption{line-height:1.45}}
.impersonation-banner{position:sticky;top:0;z-index:90;display:flex;align-items:center;justify-content:center;gap:1rem;padding:.65rem 1rem;background:#fff3cd;color:#5c4500;border-bottom:1px solid #e4c766}.impersonation-banner form{margin:0}

@media(min-width:768px) and (max-width:1023px){body.bs-nav-open .app-frame{padding-left:min(18rem,88vw);transition:padding-left 220ms var(--ease)}body.bs-nav-open .app-sidebar{box-shadow:none}}
