@import url('https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@400;500;600;700&display=swap');

:root{
  --sc-green:#38d200;--sc-green-70:#74df4c;--sc-green-50:#92e773;--sc-green-20:#cdf4bf;
  --sc-blue:#0473ea;--sc-blue-70:#4f9df0;--sc-blue-50:#7bb6f5;--sc-blue-20:#c3defa;
  --sc-grey:#525355;--sc-grey-70:#868788;--sc-grey-50:#a8a9aa;--sc-grey-25:#d4d4d4;--sc-grey-15:#e5e5e5;
  --sc-gradient:linear-gradient(90deg,#2c3a87 0%,#0061c7 100%);--sc-solid:#254498;
  --bg:var(--sc-grey-15);--surface:#fff;--soft:var(--sc-grey-15);--line:var(--sc-grey-25);
  --ink:var(--sc-grey);--muted:var(--sc-grey-70);--faint:var(--sc-grey-50);
  --navy:var(--sc-solid);--navy-deep:#2c3a87;--navy-2:#0061c7;
  --blue:var(--sc-blue);--blue-soft:var(--sc-blue-20);
  --green:var(--sc-green);--green-ink:var(--sc-grey);--green-soft:var(--sc-green-20);
  --on-dark-muted:var(--sc-blue-20);
  --red:#d92d20;--red-soft:#fdecea;
  --radius:18px;--radius-sm:12px;
  --fs-2xs:11px;--fs-xs:12px;--fs-sm:13px;--fs-base:14px;--fs-lg:16px;--fs-title:22px;--fs-kpi:24px;--fs-hero:30px;
  --control:40px;--control-sm:32px;
  --gutter:14px;--topbar-h:64px;
  --app-max:1480px;
  --shadow:none;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--ink);font:var(--fs-base)/1.5 'Plus Jakarta Sans',system-ui,sans-serif}
a{color:var(--blue)}
h1,h2,h3{margin:0;font-weight:600;letter-spacing:-.02em}
button,input,select,textarea{font:inherit;color:inherit}
button{cursor:pointer}
.icon{flex:none;display:block}
.eyebrow{margin:0 0 4px;font-size:var(--fs-2xs);font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.empty{color:var(--muted);text-align:center;padding:28px 12px}

.topbar{position:sticky;top:var(--gutter);z-index:30;display:flex;align-items:center;gap:20px;height:var(--topbar-h);margin:var(--gutter) max(var(--gutter),calc((100% - var(--app-max)) / 2 + var(--gutter))) 0;padding:0 18px 0 14px;background:var(--surface);border-radius:var(--radius);box-shadow:0 0 0 var(--gutter) var(--bg)}
.brand{display:flex;align-items:center;gap:10px;width:216px;flex:none;text-decoration:none;color:var(--ink)}
.brand-mark{display:grid;place-items:center;width:36px;height:36px;border-radius:50%;background:var(--sc-solid);color:#fff;font-size:var(--fs-lg);font-weight:700}
.brand-text b{display:block;font-size:var(--fs-lg);letter-spacing:-.03em}
.brand-text i{color:var(--green);font-style:normal}
.brand-text small{display:block;color:var(--muted);font-size:var(--fs-2xs)}
.search-pill{display:flex;align-items:center;gap:10px;width:min(360px,100%);height:var(--control);padding:0 6px 0 14px;border:0;border-radius:999px;background:var(--soft);color:var(--muted);text-align:left;font-size:var(--fs-sm)}
.search-pill span{flex:1}
.search-pill kbd{padding:3px 8px;border-radius:999px;background:var(--surface);font:600 12px 'Plus Jakarta Sans';color:var(--ink);box-shadow:var(--shadow)}
.search-pill:hover{background:var(--sc-grey-15)}
.topbar-right{margin-left:auto;display:flex;align-items:center;gap:16px}
.cta{display:inline-flex;align-items:center;gap:8px;height:var(--control);padding:0 16px 0 4px;border-radius:999px;background:var(--sc-solid);color:#fff;text-decoration:none;font-weight:600;white-space:nowrap;font-size:var(--fs-sm)}
.cta>span{display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:var(--sc-blue);color:#fff}
.cta:hover{background:var(--navy-deep)}
.user-chip{display:flex;align-items:center;gap:12px}
.avatar{display:grid;place-items:center;flex:none;width:34px;height:34px;border-radius:50%;background:var(--blue-soft);color:var(--navy);font-weight:700;font-size:var(--fs-xs)}
.avatar.lg{width:40px;height:40px}
.user-meta b{display:block;font-weight:600;font-size:var(--fs-sm)}
.user-meta small{color:var(--muted);font-size:var(--fs-2xs)}
.icon-btn{display:grid;place-items:center;width:34px;height:34px;border:1px solid var(--line);border-radius:50%;background:var(--surface);color:var(--ink)}
.icon-btn:hover{border-color:var(--blue);color:var(--blue)}

.layout{display:grid;grid-template-columns:248px minmax(0,1fr);gap:var(--gutter);align-items:stretch;max-width:var(--app-max);margin:0 auto;padding:var(--gutter)}
.sidebar{min-height:calc(100vh - var(--topbar-h) - var(--gutter) * 3);padding:12px;background:var(--surface);border-radius:var(--radius)}
.sidebar-inner{position:sticky;top:calc(var(--topbar-h) + var(--gutter) * 2 + 12px);display:flex;flex-direction:column;height:calc(100vh - var(--topbar-h) - var(--gutter) * 3 - 24px);overflow:auto;scrollbar-width:none}
.sidebar-inner::-webkit-scrollbar{display:none}
.page-head{margin-bottom:var(--gutter);padding:14px 20px;background:var(--surface);border-radius:var(--radius)}
.crumbs{margin:0 0 2px;font-size:var(--fs-xs);color:var(--ink)}
.crumbs a{color:var(--muted);text-decoration:none}
.crumbs span{margin:0 7px;color:var(--faint)}
.page-heading{font-size:20px;line-height:1.25;letter-spacing:-.02em}
.side-nav{display:grid;gap:2px;padding:0}
.nav-label{margin:14px 10px 4px;font-size:var(--fs-2xs);letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.side-nav a{display:flex;align-items:center;gap:10px;padding:9px 14px;border-radius:999px;color:var(--ink);text-decoration:none;font-size:var(--fs-base);font-weight:500}
.side-nav a:hover{background:var(--soft)}
.side-nav a.active{background:var(--sc-solid);color:#fff}
.promo{margin-top:auto;padding:16px;border-radius:var(--radius);color:var(--ink);background:var(--soft)}
.promo b{display:block;margin-bottom:10px;font-size:var(--fs-base)}
.promo p{margin:4px 0 12px;color:var(--muted);font-size:var(--fs-xs)}
.promo a{display:flex;align-items:center;justify-content:space-between;height:36px;padding:0 4px 0 14px;border-radius:999px;background:var(--surface);color:var(--sc-solid);text-decoration:none;font-weight:600;font-size:var(--fs-sm)}
.promo a span{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:var(--sc-solid);color:#fff}
.app-main{min-width:0;padding:0}

.command-palette{position:fixed;inset:0;z-index:60;display:grid;place-items:start center;padding:12vh 16px 16px;background:#525355b3}
.command-palette[hidden]{display:none}
.palette-card{position:relative;width:min(440px,100%);padding:20px;border-radius:var(--radius);background:var(--surface);border:1px solid var(--line)}
.palette-card a{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:12px;color:var(--ink);text-decoration:none;font-weight:500;font-size:var(--fs-base)}
.palette-card a:hover{background:var(--blue-soft);color:var(--sc-solid)}
.palette-close{position:absolute;top:14px;right:14px;width:34px;height:34px;border:0;border-radius:50%;background:var(--soft);font-size:18px}

.card,.panel,.form-card{background:var(--surface);border-radius:var(--radius);box-shadow:var(--shadow)}
.card{padding:20px}
.card-head,.panel-head{display:flex;align-items:center;gap:8px;margin-bottom:14px}
.card-head h2,.panel-head h3{display:flex;align-items:center;gap:10px;margin-right:auto;font-size:var(--fs-lg)}
.panel-head{padding:16px 20px 0}
.panel-head a{color:var(--blue);text-decoration:none;font-weight:600;font-size:var(--fs-sm)}
.chip-ico,.kpi-ico{display:grid;place-items:center;flex:none;width:32px;height:32px;border-radius:50%;background:var(--soft);color:var(--navy);font-style:normal}
.pill{display:inline-flex;white-space:nowrap;align-items:center;height:var(--control-sm);padding:0 14px;border-radius:999px;background:var(--soft);color:var(--ink);text-decoration:none;font-weight:600;font-size:var(--fs-xs)}
.pill:hover{background:var(--blue-soft);color:var(--navy)}
.round-btn{display:grid;place-items:center;width:var(--control-sm);height:var(--control-sm);border-radius:50%;background:var(--soft);color:var(--ink);text-decoration:none}
.round-btn:hover{background:var(--sc-solid);color:#fff}
.tag{display:inline-flex;align-items:center;height:24px;padding:0 10px;border-radius:999px;border:1px solid var(--line);background:var(--surface);color:var(--muted);font-size:var(--fs-2xs);font-style:normal;white-space:nowrap}
.tag.dark{border-color:var(--navy);background:var(--navy);color:#fff}
.dot{display:inline-block;width:10px;height:10px;border-radius:50%;flex:none}
.dot.navy{background:var(--sc-blue)}.dot.green{background:var(--sc-green)}.dot.grey{background:var(--sc-grey-25)}
.big{margin:0;font-size:var(--fs-hero);font-weight:600;letter-spacing:-.03em;line-height:1}
.big small{margin-left:12px;font-size:var(--fs-sm);font-weight:400;letter-spacing:0;color:var(--muted)}
.neg{color:var(--red)}

.status{display:inline-flex;align-items:center;height:22px;padding:0 9px;border-radius:999px;background:var(--soft);color:var(--muted);font-size:var(--fs-2xs);font-weight:600;font-style:normal;border:0}
.status.paid,.status.accepted{background:var(--green-soft);color:var(--green-ink)}
.status.sent{background:var(--blue-soft);color:var(--sc-solid)}
.status.overdue{background:var(--red-soft);color:var(--red)}

.kpi-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--gutter);margin-bottom:var(--gutter)}
.kpi{display:flex;flex-direction:column;min-height:148px;padding:16px 18px;border:0;background:var(--surface);border-radius:var(--radius)}
.kpi-head{display:flex;align-items:center;justify-content:space-between;color:var(--muted);font-size:var(--fs-sm)}
.kpi strong{display:block;white-space:nowrap;font-size:clamp(20px,1.6vw,var(--fs-kpi));font-weight:600;letter-spacing:-.025em;line-height:1.1}
.kpi small{color:var(--muted);font-size:var(--fs-xs)}
.kpi-row{display:flex;align-items:flex-end;justify-content:space-between;gap:14px;margin-top:auto}
.kpi-foot{margin:8px 0 0;font-size:var(--fs-xs);color:var(--muted)}
.kpi-hero{border:0;background:var(--sc-gradient);color:#fff;overflow:hidden}
.kpi-hero .kpi-head{color:#fff}
.kpi-hero .kpi-ico{background:var(--green);color:var(--navy-deep)}
.kpi-hero-body{display:flex;align-items:flex-end;gap:16px;margin-top:auto}
.kpi-hero-body strong{font-size:clamp(20px,1.6vw,var(--fs-kpi))}
.kpi-hero small{color:var(--on-dark-muted)}
.spark{flex:1;min-width:0;height:56px;border-right:2px solid var(--green)}
.spark polyline{fill:none;stroke:var(--green);stroke-width:2.2;vector-effect:non-scaling-stroke;stroke-linejoin:round}
.barcode{width:46%;height:46px;background:repeating-linear-gradient(90deg,var(--sc-grey-25) 0 2px,#fff 2px 4px)}
.barcode span{display:block;width:var(--fill);height:100%;background:repeating-linear-gradient(90deg,var(--sc-blue) 0 2px,#fff 2px 4px)}
.mini-bars{display:flex;align-items:flex-end;gap:6px;height:76px}
.mini-bars i{width:14px;border-radius:999px;background:var(--sc-grey-25)}
.mini-bars i.on{background:var(--sc-blue)}
.faces{display:flex}
.faces span{display:grid;place-items:center;width:38px;height:38px;margin-left:-10px;border:3px solid var(--surface);border-radius:50%;background:var(--blue-soft);color:var(--navy);font-size:var(--fs-xs);font-weight:700}
.faces span:nth-child(2){background:var(--green-soft);color:var(--green-ink)}
.faces span:nth-child(3){background:var(--sc-blue);color:#fff}

.dash-grid{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:var(--gutter);align-items:start}
.dash-main,.dash-side{display:grid;gap:var(--gutter);min-width:0}
.analytic-body{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.25fr);gap:28px;align-items:end}
.legend{list-style:none;margin:26px 0 0;padding:0}
.legend li{display:flex;align-items:center;gap:10px;padding:10px 0;border-bottom:1px solid var(--line);font-size:var(--fs-base)}
.legend li:last-child{border:0}
.legend b{margin-left:auto;font-weight:600}
.stripe-bars{position:relative;display:flex;align-items:flex-end;gap:10px;height:250px;padding-top:90px}
.sbar{position:relative;flex:1;min-height:40px;border-radius:18px;display:flex;align-items:flex-end;padding:12px;font-size:var(--fs-xs);font-weight:600}
.sbar span{padding:3px 9px;border-radius:999px;background:#fff;color:var(--ink)}
.sbar.navy{background:repeating-linear-gradient(135deg,var(--sc-blue) 0 9px,var(--sc-blue-70) 9px 18px)}
.sbar.green{background:repeating-linear-gradient(135deg,var(--sc-green) 0 9px,var(--sc-green-70) 9px 18px)}
.sbar.grey{background:repeating-linear-gradient(135deg,var(--sc-grey-25) 0 9px,var(--sc-grey-15) 9px 18px)}
.callout{position:absolute;top:0;left:0;width:200px;padding:12px 14px;border-radius:12px;background:var(--sc-grey);color:#fff;font-size:var(--fs-xs);z-index:1}
.callout p{margin:0 0 6px;font-weight:600}
.callout span{display:flex;align-items:center;gap:8px;padding:2px 0}
.callout b{margin-left:auto;font-weight:500}
.callout:after{content:'';position:absolute;left:40px;bottom:-7px;border:8px solid transparent;border-bottom:0;border-top-color:var(--sc-grey)}
.analytic-notes{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:22px}
.note-stack{display:grid;gap:12px}
.note-box{display:block;padding:14px 16px;border-radius:var(--radius-sm);background:var(--soft);color:var(--ink);text-decoration:none}
.note-box h3{font-size:var(--fs-base);margin-bottom:4px}
.note-box p{margin:0;color:var(--muted);font-size:var(--fs-sm)}
.note-box.row{display:flex;align-items:flex-start;gap:12px}
.note-box.row .chip-ico{background:var(--surface)}
.note-box.row .tag{margin-left:auto}
a.note-box:hover{background:var(--blue-soft)}
.dash-pair{display:grid;grid-template-columns:1fr 1fr;gap:var(--gutter)}
.split{display:flex;gap:4px;margin-top:28px}
.split>div{min-width:76px;display:flex;flex-direction:column;justify-content:flex-end;gap:8px}
.split b{font-size:var(--fs-base);font-weight:600;padding-left:6px}
.split span{display:grid;place-items:center;height:44px;border-radius:14px;font-weight:600;font-size:var(--fs-xs)}
.split-a span{background:var(--green);color:var(--navy-deep)}
.split-b span{background:var(--soft);color:var(--ink)}
.split-b b{position:relative;margin-left:-3px;padding:26px 0 0 10px;border-left:2px solid var(--navy)}
.split-b b:before{content:'';position:absolute;top:-5px;left:-6px;width:10px;height:10px;border-radius:50%;background:var(--navy)}
.top-card{display:flex;flex-direction:column;gap:18px}
.top-card .card-head{margin:0}
.top-person{display:flex;align-items:center;gap:12px}
.top-person small{display:block;color:var(--muted);font-size:var(--fs-xs)}
.top-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;padding:16px 0 0;border-top:1px solid var(--line)}
.top-stats b{display:block;font-size:var(--fs-base);font-weight:600}
.top-stats small{color:var(--muted);font-size:var(--fs-xs)}
.top-card .pill{align-self:flex-start;margin-top:auto}
.cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:6px;text-align:center}
.cal-grid b{font-weight:500;font-size:var(--fs-2xs);padding-bottom:4px}
.cal-grid span{display:grid;place-items:center;aspect-ratio:1;border:1px solid var(--line);border-radius:50%;font-size:var(--fs-sm)}
.cal-grid span.out{color:var(--faint);background:repeating-linear-gradient(135deg,var(--sc-grey-15) 0 3px,#fff 3px 7px)}
.cal-grid span.due{border:2px solid var(--green);font-weight:600}
.cal-grid span.today{background:var(--sc-blue);border-color:var(--sc-blue);color:#fff;font-weight:700}
.cal-key{display:flex;align-items:center;gap:8px;margin:16px 0 0;color:var(--muted);font-size:var(--fs-xs)}
.doc-card{display:block;padding:12px 14px;margin-top:8px;border-radius:var(--radius-sm);background:var(--soft);color:var(--ink);text-decoration:none}
.doc-card:hover{background:var(--blue-soft)}
.doc-card-top{display:flex;align-items:center;gap:12px}
.doc-card-top b{display:block;font-weight:600;font-size:var(--fs-sm)}
.doc-card-top small{color:var(--muted);font-size:var(--fs-xs)}
.doc-card-top strong{margin-left:auto;font-weight:600;font-size:var(--fs-sm)}
.doc-card-top .avatar{background:var(--surface)}
.doc-card-tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}

.toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:var(--gutter);padding:12px 16px;background:var(--surface);border-radius:var(--radius)}
.toolbar p{margin:0;color:var(--muted)}
.toolbar label{display:flex;align-items:center;gap:10px;font-weight:600}
.toolbar .ui-select{min-width:120px;margin:0}
.primary{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:var(--control);padding:0 18px;border:0;border-radius:999px;background:var(--navy);color:#fff;text-decoration:none;font-weight:600;white-space:nowrap;font-size:var(--fs-sm)}
.primary:hover{background:var(--navy-2)}
.primary.full{width:100%}
.panel{overflow:hidden}
.panel table{margin-top:0}
table{width:100%;border-collapse:collapse;font-variant-numeric:tabular-nums}
th{padding:11px 20px;text-align:left;font-size:var(--fs-2xs);font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:#fff;background:var(--sc-solid);white-space:nowrap}
td{padding:11px 20px;border-top:1px solid var(--line);vertical-align:middle}
thead+tbody tr:first-child td{border-top:0}
tbody tr:hover td{background:var(--soft)}
td.empty{background:transparent!important}
td small{display:block;color:var(--muted);font-size:var(--fs-xs)}
td b{font-weight:600}
td a{font-weight:600;text-decoration:none}
tr[onclick]{cursor:pointer}
tr[onclick]{cursor:pointer}
.person{display:flex;align-items:center;gap:12px}
.person span{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:var(--blue-soft);color:var(--navy);font-weight:700;font-size:var(--fs-2xs)}
.inline{display:inline-flex}
.link-danger{background:none;border:0;padding:0;color:var(--red);font:inherit;font-weight:600;cursor:pointer}
.link-danger:hover{text-decoration:underline}

.form-card{padding:22px;max-width:none}
.form-card.compact{padding:20px}
.form-card h2{font-size:var(--fs-lg);margin-bottom:14px}
.form-title{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:6px}
.form-title a{color:var(--muted);text-decoration:none;font-weight:600}
.form-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-bottom:22px}
.form-grid .wide{grid-column:1/-1}
label{display:block;margin-bottom:12px;font-size:var(--fs-xs);font-weight:600;color:var(--ink)}
.form-grid label{margin:0}
input,select,textarea{display:block;width:100%;margin-top:6px;padding:9px 12px;border:1px solid var(--line);border-radius:10px;background:var(--surface);font-size:var(--fs-base);font-weight:400;outline:0;line-height:20px}
textarea{min-height:96px;resize:vertical}
input:focus,select:focus,textarea:focus{box-shadow:0 0 0 3px var(--sc-blue-20)}
.section-title{font-size:var(--fs-base);margin:4px 0 12px}
.item-row{display:grid;grid-template-columns:minmax(0,1fr) 90px 100px 140px 46px;gap:10px;margin-bottom:14px;padding-bottom:14px;border-bottom:1px solid var(--line)}
.item-row textarea{grid-column:1/-2;min-height:58px;margin:0}
.item-details{display:block;margin-top:4px;color:var(--muted);font-size:var(--fs-sm);white-space:normal}
.item-row input{margin:0}
.remove{border:0;border-radius:12px;background:var(--red-soft);color:var(--red);font-size:20px}
.add-item{height:34px;padding:0 14px;margin-bottom:20px;border:1px dashed var(--blue);border-radius:999px;background:var(--blue-soft);color:var(--blue);font-weight:600;font-size:var(--fs-sm)}
.notes{margin-bottom:20px}
.module-grid{display:grid;grid-template-columns:340px minmax(0,1fr);gap:var(--gutter);align-items:start}
.module-grid .form-card form .primary{margin-top:4px}
.module-grid .form-card form a{margin-left:12px;color:var(--muted);font-weight:600;text-decoration:none}
.flash{margin:0 0 14px;padding:11px 14px;border-radius:12px;font-size:var(--fs-sm)}
.flash.error{background:var(--red-soft);color:var(--red)}

.ui-select,.ui-date{position:relative;margin-top:7px}
.ui-native{position:absolute!important;width:1px!important;height:1px!important;opacity:0!important;pointer-events:none!important}
.ui-field-trigger{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;min-height:var(--control);padding:9px 12px;border:1px solid var(--line);border-radius:10px;background:var(--surface);font-size:var(--fs-base);font-weight:400;text-align:left}
.ui-field-trigger:hover{border-color:var(--sc-grey-50)}
.is-open>.ui-field-trigger{box-shadow:0 0 0 3px var(--sc-blue-20)}
.ui-field-trigger>i{width:0;height:0;border-left:5px solid transparent;border-right:5px solid transparent;border-top:6px solid var(--muted)}
.calendar-mark{width:14px;height:14px;border:2px solid var(--muted);border-top-width:4px;border-radius:3px}
.ui-options,.ui-calendar{display:none;position:absolute;z-index:40;left:0;right:0;top:calc(100% + 6px);padding:6px;border:1px solid var(--line);border-radius:14px;background:var(--surface);box-shadow:none}
.ui-options{max-height:240px;overflow:auto}
.is-open>.ui-options,.is-open>.ui-calendar{display:block}
.ui-options button{display:block;width:100%;padding:10px 12px;border:0;border-radius:9px;background:none;text-align:left;font-size:var(--fs-sm)}
.ui-options button:hover,.ui-options button.selected{background:var(--blue-soft);color:var(--navy)}
.ui-calendar{min-width:290px;padding:14px}
.calendar-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}
.calendar-top button{width:34px;height:34px;border:0;border-radius:50%;background:var(--soft);font-size:18px}
.calendar-days{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;text-align:center}
.calendar-days b{font-size:var(--fs-2xs);font-weight:600;color:var(--muted);padding:4px 0}
.calendar-days button{aspect-ratio:1;border:0;border-radius:50%;background:none;font-size:var(--fs-sm)}
.calendar-days button:hover{background:var(--soft)}
.calendar-days button.today{box-shadow:inset 0 0 0 1.5px var(--green)}
.calendar-days button.selected{background:var(--sc-blue);color:#fff}
.calendar-footer{margin-top:8px;text-align:right}
.calendar-footer button{border:0;background:none;color:var(--blue);font-weight:600}

.report-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--gutter);margin-bottom:var(--gutter)}
.report-cards article{position:relative;padding:18px 20px;border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow)}
.report-cards article:first-child{background:var(--sc-gradient);color:#fff}
.report-cards article:first-child span,.report-cards article:first-child small{color:var(--on-dark-muted)}
.report-cards span{display:block;color:var(--muted);font-size:var(--fs-sm)}
.report-cards strong{display:block;margin:10px 0 2px;font-size:var(--fs-kpi);font-weight:600;letter-spacing:-.025em}
.report-cards small{color:var(--muted);font-size:var(--fs-xs)}
.kpi-icon{position:absolute;top:16px;right:16px;width:32px;height:32px;padding:8px;border-radius:50%;background:var(--soft);color:var(--navy)}
.report-cards article:first-child .kpi-icon{background:var(--green);color:var(--navy-deep)}
.report-panel{margin-bottom:var(--gutter)}
.bars{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:10px;align-items:end;height:320px;padding:20px 22px 22px}
.bars>div{display:flex;flex-direction:column;align-items:center;gap:6px;min-width:0}
.bars i{width:100%;max-width:44px;border-radius:12px;background:repeating-linear-gradient(135deg,var(--sc-blue) 0 8px,var(--sc-blue-70) 8px 16px)}
.bars b{font-size:var(--fs-xs);font-weight:600}
.bars small{font-size:10px;color:var(--muted);white-space:nowrap}

.document-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;max-width:none;margin-bottom:var(--gutter);padding:10px 12px 10px 18px;background:var(--surface);border-radius:var(--radius)}
.document-actions>a{font-weight:600;text-decoration:none;font-size:var(--fs-sm)}
.document-actions>div{display:flex;gap:10px}
.convert,.print-btn{display:inline-flex;align-items:center;height:var(--control);padding:0 18px;border:0;border-radius:999px;font-weight:600;text-decoration:none;font-size:var(--fs-sm)}
.convert{background:var(--green);color:var(--navy-deep)}
.print-btn{background:var(--sc-solid);color:#fff}
.convert:hover{background:var(--sc-green-70)}
.print-document{max-width:none;padding:40px;border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow)}
.doc-top{display:flex;justify-content:space-between;gap:20px;padding-bottom:28px;border-bottom:1px solid var(--line)}
.doc-brand{font-size:26px;font-weight:700;letter-spacing:-.04em;color:var(--navy);text-decoration:none}
.doc-company{font-size:18px;color:var(--ink)}
.doc-brand span{color:var(--sc-green)}
.doc-top p{margin:6px 0 0;color:var(--muted);font-size:var(--fs-sm)}
.doc-type{text-align:right}
.doc-type p{margin:0;font-size:var(--fs-xs);letter-spacing:.14em;color:var(--muted)}
.doc-type h2{margin:4px 0 10px;font-size:20px}
.doc-meta{display:flex;justify-content:space-between;gap:20px;padding:22px 0}
.doc-meta small{display:block;margin-top:8px;font-size:var(--fs-2xs);letter-spacing:.1em;color:var(--muted)}
.doc-meta small:first-child{margin-top:0}
.doc-meta p{margin:4px 0 0;color:var(--muted)}
.items-table th:not(:first-child),.items-table td:not(:first-child){text-align:right;white-space:nowrap}
.total{margin:24px 0 0 auto;max-width:320px}
.total p,.total h3{display:flex;justify-content:space-between;margin:0;padding:8px 0}
.total p{color:var(--muted)}
.total p b{color:var(--ink);font-weight:500}
.total h3{margin-top:6px;padding-top:14px;border-top:2px solid var(--navy);font-size:18px}
.doc-notes{margin-top:30px;padding:18px;border-radius:var(--radius-sm);background:var(--soft)}
.doc-notes small{font-size:var(--fs-2xs);letter-spacing:.1em;color:var(--muted)}
.doc-notes p{margin:6px 0 0}

.hint{margin:18px 0 0;font-size:var(--fs-xs);color:var(--muted)}

@media(max-width:1280px){
  .dash-grid{grid-template-columns:minmax(0,1fr)}
  .dash-side{grid-template-columns:repeat(auto-fit,minmax(320px,1fr))}
  .kpi-strip{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:1000px){
  :root{--gutter:8px;--topbar-h:56px}
  .topbar{gap:10px;padding:0 10px}
  .brand{width:auto}
  .brand-text small,.user-meta,.search-pill span,.search-pill kbd{display:none}
  .search-pill{width:var(--control);padding:0;justify-content:center}
  .layout{display:block}
  .sidebar{min-height:0;padding:6px;margin-bottom:var(--gutter)}
  .sidebar-inner{position:static;display:block;height:auto;overflow:visible}
  .side-nav{display:flex;gap:4px;overflow-x:auto;scrollbar-width:none}
  .side-nav::-webkit-scrollbar{display:none}
  .nav-label,.promo,.side-month{display:none}
  .side-nav a{flex:none;padding:8px 14px;font-size:var(--fs-sm)}
  .page-head{padding:12px 14px}
  .page-heading{font-size:18px}
  .module-grid,.analytic-body,.analytic-notes,.dash-pair{grid-template-columns:minmax(0,1fr)}
  .form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .report-cards{grid-template-columns:minmax(0,1fr)}
}
@media(max-width:620px){
  .cta{width:var(--control);padding:0 4px;font-size:0;gap:0}
  .user-chip .avatar{display:none}
  .kpi{min-height:120px}
  .kpi-strip{grid-template-columns:minmax(0,1fr)}
  .form-grid{grid-template-columns:minmax(0,1fr)}
  .toolbar{flex-wrap:wrap}
  .panel{overflow-x:auto}
  th,td{padding:10px 14px}
  .print-document{padding:22px}
  .items-table th,.items-table td{padding:9px 6px;font-size:var(--fs-xs)}
  .items-table th:first-child,.items-table td:first-child{padding-left:0}
  .items-table th:last-child,.items-table td:last-child{padding-right:0}
  .document-actions>div{flex-wrap:wrap}
  .doc-top,.doc-meta{flex-direction:column}
  .doc-type{text-align:left}
  .document-actions{flex-wrap:wrap}
  .big,.income-card .big{font-size:26px}
}
@media print{
  body{background:#fff}
  .topbar,.sidebar,.document-actions,.command-palette{display:none!important}
  .layout{display:block;padding:0}.app-main{padding:0}
  .print-document{box-shadow:none;max-width:none;padding:0}
}

.flash.ok{display:flex;align-items:center;gap:10px;margin:0 0 18px;padding:10px 14px;border-radius:var(--radius-sm);background:var(--sc-green-20);color:var(--ink);font-size:var(--fs-sm);font-weight:500}
.flash.ok .icon{color:var(--green-ink)}
.notice{max-width:560px}
.notice .flash{font-size:var(--fs-base)}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.hint{display:block;margin-top:6px;color:var(--muted);font-size:var(--fs-xs);font-weight:400}
.hint a,a.hint{color:var(--blue);text-decoration:none;font-weight:600}
.status-dot{width:8px;height:8px;border-radius:50%;background:var(--sc-grey-50)}
.status-dot.paid,.status-dot.accepted{background:var(--sc-green)}
.status-dot.sent{background:var(--sc-blue)}
.status-dot.overdue{background:var(--red)}
.list-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px}
.search-field{position:relative;flex:1;max-width:360px}
.search-field .icon{position:absolute;left:14px;top:50%;transform:translateY(-50%);color:var(--muted)}
.search-field input{margin:0;padding-left:40px;border-radius:999px;background:var(--soft);border-color:transparent}
.search-field input:focus{background:var(--surface)}
.doc-list table{margin:0}
.doc-list th.num,.doc-list td.num{text-align:right}
.doc-link{display:block;color:var(--ink);text-decoration:none}
.doc-link b{color:var(--sc-solid)}
.late{color:var(--red)!important;font-weight:600}
.row-actions{width:1%;white-space:nowrap;text-align:right}
.row-actions>*{display:inline-flex;vertical-align:middle}
.row-actions a,.row-actions button{display:inline-grid;place-items:center;width:30px;height:30px;margin-left:4px;border:1px solid var(--line);border-radius:50%;background:var(--surface);color:var(--ink);cursor:pointer}
.row-actions a:hover,.row-actions button:hover{border-color:var(--sc-solid);color:var(--sc-solid)}

.editor-head{display:flex;align-items:center;gap:16px;margin-bottom:var(--gutter);flex-wrap:wrap;padding:12px 16px;background:var(--surface);border-radius:var(--radius)}
.back-link{display:inline-flex;align-items:center;gap:4px;color:var(--muted);text-decoration:none;font-weight:600}
.back-link:hover{color:var(--sc-solid)}
.editor-title{display:flex;align-items:center;gap:10px;margin-right:auto}
.editor-title h2{font-size:18px}
.editor-links{display:flex;gap:8px}
.editor-links .pill{background:var(--surface);border:1px solid var(--line)}
.editor-links .pill:hover{border-color:var(--sc-solid)}
.editor-grid{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:var(--gutter);align-items:start}
.editor-main{display:grid;gap:var(--gutter);min-width:0}
.editor-side{position:sticky;top:calc(var(--topbar-h) + var(--gutter) * 2);display:grid;gap:var(--gutter)}
.editor-main .form-grid{grid-template-columns:repeat(4,minmax(0,1fr));margin:0}
.editor-main .form-grid .wide-2{grid-column:span 2}
.editor-main textarea[name=notes]{margin:0}
.muted-count{color:var(--muted);font-size:var(--fs-sm)}
.lines-head,.line-main{display:grid;grid-template-columns:24px minmax(0,1fr) 76px 112px 112px 112px 112px;gap:10px;align-items:center}
.lines-head{padding:10px 12px;border-radius:10px;background:var(--sc-solid);font-size:var(--fs-2xs);font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:#fff}
.line{padding-left:12px;padding-right:12px}
.lines-head .num{text-align:right}
.line{padding:12px 0;border-bottom:1px solid var(--line)}
.line-main label{margin:0}
.line-main label>span,.line-amount>span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.line-main input{margin:0}
.line-no{display:grid;place-items:center;width:24px;height:24px;border-radius:50%;background:var(--soft);color:var(--muted);font-size:var(--fs-xs);font-weight:600}
.line-amount{text-align:right;font-weight:600;white-space:nowrap}
.line-actions{display:flex;justify-content:flex-end;gap:4px}
.line-actions button{display:grid;place-items:center;width:28px;height:28px;padding:0;border:1px solid var(--line);border-radius:50%;background:var(--surface);color:var(--ink)}
.line-actions [data-move="-1"] .icon{transform:rotate(90deg)}
.line-actions [data-move="1"] .icon{transform:rotate(90deg)}
.line-actions button:hover:not(:disabled){border-color:var(--sc-solid);color:var(--sc-solid)}
.line-actions button:disabled{opacity:.35;cursor:default}
.line textarea{display:block;width:calc(100% - 34px);min-height:44px;margin:10px 0 0 34px;resize:none;overflow:hidden;font-size:var(--fs-sm);color:var(--ink)}
.lines-foot{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding-top:16px}
.lines-foot .add-item{display:inline-flex;align-items:center;gap:8px;margin:0}
.lines-foot .ui-select,.catalog-pick{margin:0;min-width:240px}
.summary-card .card-head{margin-bottom:10px}
.totals{margin:0 0 18px}
.totals>div{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 0;border-bottom:1px solid var(--line)}
.totals dt{display:flex;align-items:center;gap:10px;color:var(--muted);font-size:var(--fs-sm)}
.totals dd{margin:0;font-weight:600;white-space:nowrap;font-size:var(--fs-sm)}
.totals .grand{border:0;padding-top:16px}
.totals .grand dt{color:var(--ink);font-weight:600;font-size:var(--fs-base)}
.totals .grand dd{font-size:20px;letter-spacing:-.02em;color:var(--sc-solid)}
.tax-input{position:relative;display:inline-block;width:84px}
.tax-input input{margin:0;padding:8px 26px 8px 10px;text-align:right}
.tax-input i{position:absolute;right:10px;top:50%;transform:translateY(-50%);font-style:normal;color:var(--muted)}
.summary-card .primary.full{margin-bottom:8px}
.pill.full{display:flex;justify-content:center;width:100%}
.danger-zone{padding:18px 20px}
.danger-zone h3{font-size:var(--fs-base);margin-bottom:4px}
.danger-zone p{margin:0 0 12px;color:var(--muted);font-size:var(--fs-sm)}

@media(max-width:1200px){
  .editor-grid{grid-template-columns:minmax(0,1fr)}
  .editor-side{position:static;grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}
}
@media(max-width:760px){
  .editor-main .form-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
  .editor-main .form-grid .wide-2{grid-column:1/-1}
  .lines-head{display:none}
  .line-main{grid-template-columns:24px minmax(0,1fr) minmax(0,1fr);grid-template-areas:"no title title" "no qty unit" "no rate amount" "no actions actions"}
  .line-no{grid-area:no;align-self:start;margin-top:30px}
  .line-title{grid-area:title}.line-qty{grid-area:qty}.line-unit{grid-area:unit}.line-rate{grid-area:rate}.line-amount{grid-area:amount}.line-actions{grid-area:actions}
  .line-main label>span,.line-amount>span{position:static;width:auto;height:auto;clip:auto;display:block;margin-bottom:4px;font-size:var(--fs-2xs);font-weight:600;color:var(--muted)}
  .line-amount{align-self:end;padding-bottom:12px}
  .line-actions{justify-content:flex-start}
  .list-toolbar{flex-wrap:wrap;padding:14px 16px}
  .search-field{max-width:none;min-width:100%}
  .list-toolbar .primary{width:100%}
  .doc-list thead{display:none}
  .doc-list tr{display:grid;grid-template-columns:1fr auto;gap:4px 12px;padding:14px 16px;border-top:1px solid var(--line)}
  .doc-list td{padding:0;border:0}
  .doc-list td[data-label=Issued],.doc-list td[data-label="Due Date"],.doc-list td[data-label="Valid Until"]{font-size:var(--fs-xs);color:var(--muted)}
  .doc-list td[data-label=Issued]:before{content:'Issued '}
  .doc-list td[data-label="Due Date"]:before{content:'Due '}
  .doc-list td[data-label="Valid Until"]:before{content:'Valid until '}
  .doc-list td[data-label=Status]{grid-column:2;grid-row:1}
  .doc-list td.num{grid-column:2;grid-row:2}
  .doc-list .row-actions{grid-column:1/-1;text-align:left;padding-top:6px}
  .doc-list .row-actions a,.doc-list .row-actions button{margin:0 6px 0 0}
  .doc-list td.empty{grid-column:1/-1}
}

[hidden]{display:none!important}
.dot.red{background:var(--red)}
.legend-inline{display:inline-flex;align-items:center;gap:6px;color:var(--muted);font-size:var(--fs-xs)}
.legend-inline .dot{margin-left:8px}
.side-note{margin:16px 4px 0;line-height:1.55}
.card-intro{margin:-6px 0 16px;color:var(--muted);font-size:var(--fs-sm)}

.income-body{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.3fr);gap:28px;align-items:end}
.income-card .big{font-size:28px}
.income-card .big small{display:block;margin:8px 0 0}
.income-steps{margin:20px 0 0}
.income-steps>div{display:flex;justify-content:space-between;gap:12px;padding:8px 0;border-bottom:1px solid var(--line)}
.income-steps dt{display:flex;align-items:center;gap:10px;color:var(--muted);font-size:var(--fs-sm)}
.income-steps dd{margin:0;font-weight:600;white-space:nowrap;font-size:var(--fs-sm)}
.income-steps .total{border:0}
.income-steps .total dt{color:var(--ink);font-weight:600}
.income-steps .total dd{color:var(--sc-solid)}
.kpi-foot a{color:var(--blue);text-decoration:none;font-weight:600}

.settings-grid,.report-grid{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:var(--gutter);align-items:start}
.settings-main{display:grid;gap:var(--gutter);min-width:0}
.settings-side{position:sticky;top:calc(var(--topbar-h) + var(--gutter) * 2)}
.choice-group{margin:0 0 20px;padding:0;border:0}
.choice-group legend{margin-bottom:10px;font-weight:600;font-size:var(--fs-xs)}
.choice{display:flex;gap:12px;align-items:flex-start;margin:0 0 8px;padding:12px 14px;border:0;border-radius:var(--radius-sm);background:var(--soft);cursor:pointer;transition:background .15s}
.choice:hover{background:var(--sc-grey-25)}
.choice:has(input:checked){background:var(--sc-blue-20)}
.choice>input{width:18px;height:18px;margin:2px 0 0;flex:none;accent-color:var(--sc-solid)}
.choice>span{display:block;flex:1}
.choice b{display:block;font-weight:600;font-size:var(--fs-base)}
.choice small{display:block;margin-top:2px;color:var(--muted);font-weight:400;font-size:var(--fs-xs)}
.inline-input{position:relative;display:inline-block!important;width:110px;margin-top:10px}
.inline-input input{margin:0;padding-right:30px}
.inline-input i{position:absolute;right:12px;top:50%;transform:translateY(-50%);font-style:normal;color:var(--muted)}
.form-grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}
.expense-form{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px;align-items:end;padding:16px;margin-bottom:16px;border-radius:var(--radius-sm);background:var(--soft)}
.expense-form label{margin:0}
.expense-form .span-2{grid-column:span 2}
.expense-actions{display:flex;gap:8px;align-items:center}
.expense-actions .primary{height:var(--control)}
.expense-table th.num,.expense-table td.num,.month-table .num,.formula-table .num,.panel .num{text-align:right;white-space:nowrap}
.expense-table td,.expense-table th{padding-left:12px;padding-right:12px}
.formula{list-style:none;margin:0 0 16px;padding:0}
.formula li{display:grid;grid-template-columns:26px minmax(0,1fr) auto;gap:10px;align-items:center;padding:9px 0;border-bottom:1px solid var(--line)}
.formula li>span,.step{display:inline-grid;place-items:center;width:24px;height:24px;border-radius:50%;background:var(--soft);color:var(--muted);font-size:var(--fs-2xs);font-weight:700}
.formula b{display:block;font-weight:500;font-size:var(--fs-sm)}
.formula small{display:block;color:var(--muted);font-size:var(--fs-2xs)}
.formula em{font-style:normal;font-weight:600;white-space:nowrap;font-size:var(--fs-sm)}
.formula li.sub{background:var(--soft);margin:0 -10px;padding:9px 10px;border-radius:10px;border:0}
.formula li.total{border:0;padding-top:14px}
.formula li.total>span{background:var(--sc-solid);color:#fff}
.formula li.total em{font-size:var(--fs-lg);color:var(--sc-solid)}

.report-head{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin-bottom:var(--gutter);padding:12px 16px;background:var(--surface);border-radius:var(--radius)}
.report-head p{flex:1;margin:0;color:var(--muted);min-width:260px;font-size:var(--fs-sm)}
.report-head p b{color:var(--ink);font-weight:600}
.report-head p a{font-weight:600;text-decoration:none}
.year-pick label{display:flex;align-items:center;gap:10px;margin:0;font-weight:600}
.year-pick .ui-select{margin:0;min-width:110px}
.report-actions{display:flex;gap:8px}
.report-actions .pill{gap:6px;border:1px solid var(--line);background:var(--surface);cursor:pointer;font:inherit;font-weight:600;font-size:var(--fs-sm)}
.report-grid{grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);margin-bottom:var(--gutter)}
.formula-table td{padding:13px 4px;vertical-align:top;font-size:var(--fs-sm)}
.formula-table td:first-child{padding-left:38px;position:relative}
.formula-table .step{position:absolute;left:4px;top:12px}
.formula-table small{display:block;margin-top:2px}
.formula-table tr.sub td{background:var(--soft);font-weight:600}
.formula-table tr.total td{border-top:2px solid var(--sc-solid);font-weight:600;font-size:var(--fs-base)}
.formula-table tr.total .num{color:var(--sc-solid);font-size:18px}
.formula-table tr.total .step{background:var(--sc-solid);color:#fff}
.month-table{margin-top:18px}
.month-table td,.month-table th{padding:9px 8px}

@media(max-width:1200px){
  .settings-grid,.report-grid{grid-template-columns:minmax(0,1fr)}
  .settings-side{position:static}
}
@media(max-width:760px){
  .income-body{grid-template-columns:minmax(0,1fr)}
  .expense-form{grid-template-columns:repeat(2,minmax(0,1fr))}
  .expense-form .span-2{grid-column:1/-1}
  .form-grid.two{grid-template-columns:minmax(0,1fr)}
  .expense-table thead{display:none}
  .expense-table tr{display:grid;grid-template-columns:1fr auto;gap:2px 10px;padding:12px 0;border-top:1px solid var(--line)}
  .expense-table td{padding:0;border:0}
  .expense-table td:nth-child(2),.expense-table td:nth-child(3),.expense-table td:nth-child(4){display:none}
  .expense-table .row-actions{grid-column:1/-1;text-align:left}
}
@media print{
  .report-head form,.report-actions,.side-note a{display:none!important}
  .card,.panel,.report-cards article{break-inside:avoid;border:1px solid var(--line)}
  .report-grid{grid-template-columns:1fr}
}

.num,.kpi strong,.report-cards strong,.totals dd,.formula em,.income-steps dd,.doc-card-top strong,.line-amount{font-variant-numeric:tabular-nums}
.card thead th:first-child{border-radius:10px 0 0 10px}
.card thead th:last-child{border-radius:0 10px 10px 0}

.mini-tag{display:inline-flex;align-items:center;height:18px;margin-left:8px;padding:0 6px;border-radius:6px;background:var(--sc-green-20);color:var(--ink);font-size:10px;font-weight:700;letter-spacing:.04em;vertical-align:2px}
.print-btn.alt{background:var(--sc-blue)}
.editor-main .form-grid .do-choice{grid-column:1/-1;margin:0}

.status.cancelled{background:var(--sc-grey-15);color:var(--sc-grey-70);text-decoration:line-through}
.status-dot.cancelled{background:var(--sc-grey-70)}

.report-cards.four{grid-template-columns:repeat(4,minmax(0,1fr))}
.report-side{display:grid;gap:var(--gutter);min-width:0}
.group-title{margin:4px 0 12px;font-size:var(--fs-sm);font-weight:600}
@media(max-width:1200px){.report-cards.four{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.report-cards.four{grid-template-columns:minmax(0,1fr)}}

.status.partial{background:var(--sc-blue-20);color:var(--sc-solid)}
.status-dot.partial{background:var(--sc-blue-70)}
.view-grid{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:var(--gutter);align-items:start}
.view-grid .print-document{max-width:none}
.print-document{position:relative}
.paid-stamp{flex:none;padding:6px 14px;border:3px double currentColor;border-radius:8px;font-size:20px;font-weight:800;letter-spacing:.12em;transform:rotate(-8deg);pointer-events:none}
.paid-stamp.paid{color:#23a249}
.paid-stamp.partial{color:var(--sc-blue)}
.total h3.balance{border-top:1px dashed var(--line);font-size:16px;color:var(--sc-solid)}
.payments-card{position:sticky;top:calc(var(--topbar-h) + var(--gutter) * 2)}
.payments-card .card-head{margin-bottom:10px}
.pay-summary{margin:0}
.pay-summary>div{display:flex;justify-content:space-between;padding:7px 0;border-bottom:1px solid var(--line);font-size:var(--fs-sm)}
.pay-summary dt{color:var(--muted)}
.pay-summary dd{margin:0;font-weight:600;font-variant-numeric:tabular-nums}
.pay-summary .due{border:0}
.pay-summary .due dt{color:var(--ink);font-weight:600}
.pay-summary .due dd{font-size:18px;color:var(--sc-solid)}
.pay-bar{display:block;height:8px;margin-top:6px;border-radius:99px;background:var(--sc-grey-15);overflow:hidden}
.pay-bar>i{display:block;height:100%;border-radius:99px;background:var(--sc-green)}
.pay-form{padding:14px;margin-bottom:16px;border-radius:var(--radius-sm);background:var(--soft)}
.pay-form h3,.log-title{margin:0 0 10px;font-size:var(--fs-sm)}
.pay-form label{margin-bottom:10px}
.pay-form input,.pay-form textarea,.pay-form .ui-field-trigger{background:var(--surface)}
.pay-row{display:grid;grid-template-columns:minmax(0,1fr);gap:0}
.pay-done{display:flex;align-items:center;gap:8px;margin:0 0 16px;padding:10px 12px;border-radius:var(--radius-sm);background:var(--sc-green-20);font-size:var(--fs-sm);font-weight:600}
.pay-log{list-style:none;margin:0;padding:0}
.pay-log li{display:flex;justify-content:space-between;gap:10px;padding:10px 0;border-top:1px solid var(--line)}
.pay-log li b{display:block;font-size:var(--fs-sm);font-variant-numeric:tabular-nums}
.pay-log li small{display:block;color:var(--muted);font-size:var(--fs-xs)}
.pay-log li small.note{margin-top:2px;color:var(--ink)}
.pay-log li.empty{display:block;border:0;padding:6px 0;text-align:left}
.pay-mini{display:grid;grid-template-columns:1fr 1fr;gap:4px 10px;padding:14px 16px;color:var(--ink);text-decoration:none;font-size:var(--fs-xs)}
.pay-mini span{color:var(--muted)}
.pay-mini b{display:block;color:var(--ink);font-size:var(--fs-sm)}
.pay-mini .pay-bar{grid-column:1/-1}
.pay-mini em{grid-column:1/-1;font-style:normal;font-weight:600;color:var(--blue)}
@media(max-width:1200px){.view-grid{grid-template-columns:minmax(0,1fr)}.payments-card{position:static}}

.brand{width:auto}
.brand-logo{display:block;height:36px;width:auto}

.pdf-settings{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--gutter)}
.pdf-block{padding:16px;border-radius:var(--radius-sm);background:var(--soft)}
.pdf-block .group-title{display:flex;align-items:center;gap:8px;margin-top:0}
.pdf-block input{background:var(--surface)}
.password-field{position:relative;display:block}
.password-field input{padding-right:42px}
.pw-toggle{position:absolute;right:6px;top:50%;transform:translateY(-50%);display:grid;place-items:center;width:30px;height:30px;margin-top:3px;border:0;border-radius:50%;background:none;color:var(--muted)}
.pw-toggle:hover{background:var(--soft);color:var(--ink)}
.btn-row{display:flex;gap:8px;align-items:center}
.letterhead-preview{display:flex;align-items:flex-end;gap:10px;margin-bottom:12px}
.letterhead-preview img{display:block;width:96px;height:auto;border-radius:6px;background:#fff;box-shadow:0 0 0 1px var(--line)}
.letterhead-preview small{color:var(--muted);font-size:var(--fs-xs)}
.file-pick input[type=file]{padding:7px 10px;font-size:var(--fs-sm)}
.file-pick input[type=file]::file-selector-button{margin-right:10px;padding:5px 12px;border:0;border-radius:999px;background:var(--sc-solid);color:#fff;font:600 var(--fs-xs) 'Plus Jakarta Sans';cursor:pointer}
@media(max-width:1000px){.brand-logo{height:30px}}
@media(max-width:760px){.pdf-settings{grid-template-columns:minmax(0,1fr)}}

:root{--danger:#d92d20;--danger-hover:#b42318}
.btn-danger{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:var(--control);padding:0 18px;border:0;border-radius:999px;background:var(--danger);color:#fff;font:inherit;font-size:var(--fs-sm);font-weight:600;text-decoration:none;cursor:pointer;transition:background .15s}
.btn-danger:hover{background:var(--danger-hover)}
.btn-danger:focus-visible{box-shadow:0 0 0 3px var(--red-soft);outline:0}
.row-actions button.danger,.line-actions button.danger,.icon-del{display:inline-grid;place-items:center;padding:0;border:0;border-radius:50%;background:var(--danger);color:#fff;cursor:pointer;transition:background .15s}
.row-actions button.danger:hover,.line-actions button.danger:hover,.icon-del:hover{border:0;background:var(--danger-hover);color:#fff}
.icon-del{width:28px;height:28px}
button.pill{border:0;font:inherit;font-size:var(--fs-xs);font-weight:600;cursor:pointer}
.danger-zone .btn-danger{height:36px}

.label-grid{grid-template-columns:repeat(3,minmax(0,1fr));margin-bottom:16px}
@media(max-width:760px){.label-grid{grid-template-columns:minmax(0,1fr)}}

.user-link{display:flex;align-items:center;gap:12px;padding:4px 10px 4px 4px;border-radius:999px;color:var(--ink);text-decoration:none;transition:background .15s}
.user-link:hover{background:var(--soft)}
.user-meta b,.user-meta small{display:block}
.view-side{display:grid;gap:var(--gutter);min-width:0}
.payments-card{position:static}
.email-card .card-head{margin-bottom:12px}
.mail-form label{margin-bottom:10px}
.mail-form textarea{min-height:150px;resize:vertical;font-size:var(--fs-sm);line-height:1.55}
.mail-options{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:4px 0 12px}
.mail-options .choice{margin:0;padding:10px 12px}
.mail-options .choice b{font-size:var(--fs-sm)}
.mail-setup{margin:0}
.mail-log{list-style:none;margin:0 0 12px;padding:0}
.mail-log li{padding:8px 0;border-top:1px solid var(--line)}
.mail-log b{display:block;font-size:var(--fs-sm);font-weight:600;word-break:break-all}
.mail-log small{color:var(--muted);font-size:var(--fs-xs)}
.mail-log li.failed b,.mail-log li.failed small{color:var(--red)}
.email-card .log-title{margin-top:16px}
.revoke{margin-top:4px}
.revoke .btn-danger{width:100%;height:34px;font-size:var(--fs-xs)}
.smtp-grid{grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:16px}
.smtp-grid .wide-2{grid-column:span 2}
.pill.outline{border:1px solid var(--line);background:var(--surface);gap:6px}
.pill.outline:hover{border-color:var(--sc-solid);color:var(--sc-solid)}
.placeholder-chips{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 16px}
.placeholder-chips code{padding:3px 8px;border-radius:6px;background:var(--sc-blue-20);color:var(--sc-solid);font:600 11px ui-monospace,SFMono-Regular,Menlo,monospace}
#email-template textarea{min-height:200px;font-size:var(--fs-sm);line-height:1.55}
@media(max-width:760px){.smtp-grid{grid-template-columns:minmax(0,1fr)}.smtp-grid .wide-2{grid-column:auto}.mail-options{grid-template-columns:minmax(0,1fr)}}
.settings-tabs{display:flex;gap:6px;margin-bottom:var(--gutter);padding:6px;border-radius:var(--radius);background:var(--surface);overflow-x:auto;scrollbar-width:none}
.settings-tabs::-webkit-scrollbar{display:none}
.settings-tabs a{display:inline-flex;flex:1 0 auto;align-items:center;justify-content:center;gap:8px;height:42px;padding:0 18px;border-radius:calc(var(--radius) - 6px);color:var(--muted);font-size:var(--fs-sm);font-weight:600;text-decoration:none;white-space:nowrap;transition:background .15s,color .15s}
.settings-tabs a:hover{background:var(--soft);color:var(--ink)}
.settings-tabs a.active{background:var(--sc-solid);color:#fff}
.settings-stack{display:grid;gap:var(--gutter)}
.settings-cols{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:var(--gutter);align-items:start}
.settings-cols .smtp-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.settings-cols .smtp-grid .wide-2{grid-column:1/-1}
@media(max-width:1100px){.settings-cols{grid-template-columns:minmax(0,1fr)}}
@media(max-width:620px){.settings-tabs a{flex:none;padding:0 14px}.settings-tabs a span{font-size:var(--fs-xs)}}

.ui-field-trigger{height:var(--control);min-height:0;padding-top:0;padding-bottom:0;line-height:20px}
.ui-field-trigger>span{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
.file-pick input[type=file]{height:var(--control);padding:0 10px 0 6px;line-height:calc(var(--control) - 2px)}
.tax-input input{height:var(--control);padding-top:0;padding-bottom:0}
.primary,.btn-danger,.convert,.print-btn,.add-item,.pill.full,.pill.outline,button.pill,.btn-row .pill,.expense-actions .pill,.report-actions .pill,.mail-setup .pill,.top-card .pill,.lines-foot .add-item,.danger-zone .btn-danger,.revoke .btn-danger{height:var(--control);padding:0 18px;border-radius:999px;font-size:var(--fs-sm);font-weight:600;line-height:1}
.pill.full,.primary.full,.revoke .btn-danger{padding:0 18px}
.add-item{margin:0}
.btn-row,.expense-actions,.lines-foot,.report-actions,.editor-links,.document-actions>div{align-items:center}
.row-actions a,.row-actions button,.line-actions button,.icon-del,.round-btn{width:var(--control-sm);height:var(--control-sm)}
.card-head .pill,.panel-head .pill,.editor-links .pill{height:var(--control-sm);padding:0 14px;font-size:var(--fs-xs)}
.app-main{display:flex;flex-direction:column}
.app-main>:last-child{flex-grow:1}
.module-grid,.settings-cols{align-items:stretch}
@media(max-width:1000px){.app-main{display:block}}

.dash{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--gutter);align-content:stretch}
.dash>.card,.dash>.kpi{min-width:0}
.dash .area-income{grid-column:span 3}
.dash .kpi{min-height:164px}
.dash .kpi>strong{display:block;margin-top:14px;font-size:clamp(20px,1.6vw,var(--fs-kpi));font-weight:600;letter-spacing:-.025em;line-height:1.1;white-space:nowrap}
.dash .kpi>small{display:block;margin-top:4px;color:var(--muted);font-size:var(--fs-xs)}
.dash .kpi>small a{color:var(--blue);font-weight:600;text-decoration:none}
.dash-card{transition:transform .25s ease,box-shadow .25s ease}
.dash-card:hover{transform:translateY(-2px);box-shadow:0 14px 30px -18px #2c3a8766}
.dash-intro .dash-card{animation:cardRise .75s cubic-bezier(.2,.8,.2,1) both;animation-delay:calc(var(--i) * 80ms)}
@keyframes cardRise{from{opacity:0;transform:translateY(26px) scale(.97)}to{opacity:1;transform:none}}

.spark-line{fill:none;stroke:var(--green);stroke-width:2.2;vector-effect:non-scaling-stroke;stroke-linejoin:round;stroke-dasharray:1;stroke-dashoffset:0;animation:draw 1.6s .25s cubic-bezier(.4,0,.2,1) both}
.spark-area{animation:fade .8s 1.2s both}
@keyframes draw{from{stroke-dashoffset:1}}
@keyframes fade{from{opacity:0}}

.meter{height:6px;margin-top:auto;border-radius:99px;background:var(--sc-grey-15);overflow:hidden}
.meter i{display:block;height:100%;width:var(--w);border-radius:99px;background:var(--sc-blue);animation:meterGrow 1.2s .35s cubic-bezier(.2,.8,.2,1) both}
.meter.green i{background:var(--sc-green)}
.meter.red i{background:var(--red)}
.meter-label{margin:6px 0 0;color:var(--muted);font-size:var(--fs-xs)}
.meter-label b{color:var(--ink)}
@keyframes meterGrow{from{width:0}}
@keyframes barGrow{from{transform:scaleY(0)}}
.delta{display:inline-block;margin-left:8px;padding:2px 7px;border-radius:99px;font-size:11px;font-style:normal;font-weight:700;vertical-align:1px}
.delta.up{background:var(--sc-green-20);color:var(--ink)}
.delta.down{background:var(--red-soft);color:var(--red)}

.donut-wrap,.gauge-wrap{position:relative;display:grid;place-items:center;margin:4px 0 14px}
.donut{width:min(170px,100%);height:auto;transform:rotate(-90deg)}
.donut circle{fill:none;stroke-width:12}
.donut-track{stroke:var(--sc-grey-15)}
.donut-seg{stroke-dasharray:var(--len) 264;stroke-dashoffset:var(--off);animation:segDraw 1.3s .35s cubic-bezier(.4,0,.2,1) both}
@keyframes segDraw{from{stroke-dasharray:0 264}}
.donut-center,.gauge-center{position:absolute;display:grid;justify-items:center;text-align:center}
.donut-center strong,.gauge-center strong{font-size:24px;font-weight:700;letter-spacing:-.02em;line-height:1}
.donut-center small,.gauge-center small{margin-top:4px;color:var(--muted);font-size:var(--fs-xs)}
.donut-legend{list-style:none;margin:0;padding:0}
.donut-legend li{display:flex;align-items:center;gap:8px;padding:7px 0;border-top:1px solid var(--line);font-size:var(--fs-sm)}
.donut-legend i{width:10px;height:10px;border-radius:3px}
.donut-legend b{margin-left:auto;font-weight:600;font-variant-numeric:tabular-nums}
@keyframes gaugeFill{from{stroke-dasharray:0 100}}
.area-unpaid,.area-donut,.area-docs{display:flex;flex-direction:column}
.area-docs .doc-card:first-of-type{margin-top:0}

@media(max-width:1280px){
  .dash{grid-template-columns:repeat(2,minmax(0,1fr))}
  .dash .area-income{grid-column:1/-1}
}
@media(max-width:760px){
  .dash{grid-template-columns:minmax(0,1fr)}
  .dash .area-income{grid-column:auto}
}
@media(prefers-reduced-motion:reduce){
  .dash,.dash *{animation:none!important;transition:none!important}
}
.doc-list-mini{display:grid;gap:2px}
.doc-row{display:grid;grid-template-columns:32px minmax(0,1fr) auto;align-items:center;gap:10px;padding:9px 8px;margin:0 -8px;border-radius:12px;color:var(--ink);text-decoration:none;transition:background .15s}
.doc-row:hover{background:var(--soft)}
.doc-row .avatar{width:32px;height:32px;font-size:11px}
.doc-row-main{min-width:0}
.doc-row-main b,.doc-row-main small{display:block;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
.doc-row-main b{font-size:var(--fs-sm);font-weight:600}
.doc-row-main small{color:var(--muted);font-size:var(--fs-xs)}
.doc-row-side{display:grid;justify-items:end;gap:3px}
.doc-row-side strong{font-size:var(--fs-sm);font-weight:600;font-variant-numeric:tabular-nums;white-space:nowrap}
.doc-row-side .status{height:18px;padding:0 7px;font-size:10px}
.dash-intro .doc-row{animation:fade .5s both;animation-delay:calc(var(--i) * 80ms + .3s)}
.area-cal{display:flex;flex-direction:column}
@media(min-width:1281px){
  .dash .area-unpaid,.dash .area-docs{height:0;min-height:100%}
  .area-docs .doc-list-mini,.area-unpaid .unpaid-list{flex:1 1 0;min-height:0;overflow-y:auto;scrollbar-width:thin;scrollbar-color:var(--sc-grey-25) transparent}
}
.doc-list-mini{align-content:start}
.doc-list-mini{margin-left:-8px;margin-right:-8px;padding-left:8px;padding-right:8px}
.doc-row{transition:background .18s ease}
.doc-row:hover{background:var(--soft)}
.doc-row:hover .avatar{background:var(--surface)}
.doc-row:hover .doc-row-main b{color:var(--sc-solid)}
.doc-row:focus-visible{outline:2px solid var(--sc-blue);outline-offset:-2px}

.view-side{align-content:start;gap:10px}
.side-panel{padding:0;scroll-margin-top:calc(var(--topbar-h) + var(--gutter) * 2)}
.side-panel summary{display:flex;align-items:center;gap:10px;min-height:60px;padding:10px 14px;border-radius:var(--radius);cursor:pointer;list-style:none;transition:background .15s}
.side-panel summary::-webkit-details-marker{display:none}
.side-panel summary:hover{background:var(--soft)}
.side-panel summary:focus-visible{outline:2px solid var(--sc-blue);outline-offset:-2px}
.side-panel[open] summary{border-radius:var(--radius) var(--radius) 0 0}
.side-ico{display:grid;place-items:center;flex:none;width:32px;height:32px;border-radius:50%;background:var(--sc-blue-20);color:var(--sc-solid)}
.side-title{flex:1;min-width:0}
.side-title b,.side-title small{display:block;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
.side-title b{font-size:var(--fs-base);font-weight:600}
.side-title small{color:var(--muted);font-size:var(--fs-xs)}
.side-chev{display:grid;flex:none;color:var(--muted);transition:transform .2s}
.side-panel[open] .side-chev{transform:rotate(90deg)}
.side-body{padding:6px 16px 16px;animation:sideIn .22s ease}
@keyframes sideIn{from{opacity:0;transform:translateY(-4px)}}
.side-body .pay-log li:first-child,.side-body .mail-log li:first-child{border-top:0}
.side-body .pay-form{margin-bottom:0}
.mail-options .choice{align-items:center;gap:8px;height:var(--control);padding:0 10px}
.mail-options .choice>input{width:16px;height:16px;margin:0}
.mail-options .choice b{font-size:var(--fs-xs);white-space:nowrap}
@media(prefers-reduced-motion:reduce){.side-body{animation:none}.side-chev{transition:none}}
#company .card-head:not(:first-of-type){margin-top:20px}
.mini-tag.off{background:var(--sc-grey-15);color:var(--sc-grey)}
.do-row{grid-column:1/-1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.editor-main .form-grid .do-row .do-choice{grid-column:auto}
@media(max-width:760px){.do-row{grid-template-columns:minmax(0,1fr)}}
.ui-field-trigger>i.calendar-mark{width:16px;height:16px;border:0;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23868788' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 6h16v15H4zM4 10h16M8 3v4M16 3v4'/%3E%3C/svg%3E") center/contain no-repeat}
.calendar-top{gap:4px}
.calendar-top strong{flex:1;font-size:var(--fs-sm);font-weight:600;text-align:center}
.calendar-top button{flex:none;width:30px;height:30px;color:var(--ink);font-size:16px}
.calendar-top button:hover{background:var(--sc-blue-20)}
.calendar-footer{display:flex;justify-content:flex-end;gap:14px}
.calendar-footer [data-clear]{color:var(--muted)}
.document-actions>div{flex-wrap:wrap;justify-content:flex-end}
.doc-meta{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr) minmax(0,1fr);gap:20px;margin:22px 0;padding:16px 18px;border-radius:var(--radius-sm);background:var(--soft)}
.doc-meta small{margin-bottom:4px}
.doc-meta p{color:var(--ink)}
.items-table th:first-child{border-radius:10px 0 0 10px}
.items-table th:last-child{border-radius:0 10px 10px 0}
.doc-foot{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:28px;align-items:start;margin-top:24px}
.doc-foot .total{margin:0;max-width:none}
.doc-foot-side{display:flex;flex-direction:column;align-items:flex-start;gap:20px;min-width:0}
.doc-foot .doc-notes{width:100%;margin:0}
.doc-foot .paid-stamp{margin-left:10px}
@media(max-width:620px){.items-table th:first-child,.items-table td:first-child{padding-left:10px}.items-table th:last-child,.items-table td:last-child{padding-right:10px}}
@media(max-width:760px){.doc-meta{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.doc-meta>div:first-child{grid-column:1/-1}.doc-foot{grid-template-columns:minmax(0,1fr)}.doc-foot .total{grid-row:1}.paid-stamp{font-size:16px}}
.list-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--gutter);margin-bottom:var(--gutter)}
.list-stat{display:flex;align-items:center;gap:14px;min-width:0;padding:16px 18px;border-radius:var(--radius);background:var(--surface)}
.list-stat>i{display:grid;place-items:center;flex:none;width:42px;height:42px;border-radius:50%;background:var(--sc-grey-15);color:var(--sc-grey)}
.list-stat>div{display:grid;gap:1px;min-width:0}
.list-stat span{color:var(--muted);font-size:var(--fs-xs);font-weight:500}
.list-stat strong{overflow:hidden;font-size:var(--fs-lg);font-weight:600;letter-spacing:-.02em;white-space:nowrap;text-overflow:ellipsis;font-variant-numeric:tabular-nums}
.list-stat small{color:var(--muted);font-size:var(--fs-2xs)}
.list-stat.hero{background:var(--sc-gradient);color:#fff}
.list-stat.hero span,.list-stat.hero small{color:#fff}
.list-stat.hero>i{background:#fff;color:var(--navy-deep)}
.list-stat.green>i{background:var(--sc-green-20);color:var(--sc-grey)}
.list-stat.blue>i{background:var(--sc-blue-20);color:var(--navy-deep)}
.list-stat.red>i{background:var(--danger);color:#fff}
.doc-list{padding:0 16px 8px}
.list-toolbar{flex-wrap:wrap;padding:14px 0}
.list-tools{display:flex;align-items:center;gap:10px;margin-left:auto}
.list-tools .search-field{width:290px;max-width:none}
.doc-filter+.list-tools .search-field{width:230px}
.doc-filter{display:flex;gap:4px;min-width:0;overflow-x:auto;scrollbar-width:none}
.doc-filter::-webkit-scrollbar{display:none}
.doc-filter a{display:inline-flex;flex:none;align-items:center;gap:7px;height:var(--control-sm);padding:0 12px;border-radius:999px;color:var(--ink);text-decoration:none;font-size:var(--fs-xs);font-weight:500;transition:background .15s}
.doc-filter a:hover{background:var(--sc-blue-20)}
.doc-filter b{min-width:18px;padding:0 5px;border-radius:99px;background:var(--sc-grey-15);font-size:var(--fs-2xs);font-weight:600;text-align:center}
.doc-filter a.active{background:var(--sc-blue);color:#fff}
.doc-filter a.active b{background:#fff;color:var(--sc-blue)}
.doc-filter a.active .status-dot{background:#fff}
.doc-list thead th:first-child{border-radius:10px 0 0 10px}
.doc-list thead th:last-child{border-radius:0 10px 10px 0}
.doc-list th,.doc-list td{padding-left:14px;padding-right:14px}
.doc-list tbody td{padding-top:12px;padding-bottom:12px;transition:background .15s}
.doc-list tbody tr:first-child td{border-top:0}
.doc-list tbody tr:hover td:not(.empty){background:var(--sc-blue-20)}
.doc-list tbody tr:hover td,.doc-list tbody tr:hover+tr td,.doc-list tr.editing td,.doc-list tr.editing+tr td{border-top-color:transparent}
.doc-list tbody tr:hover td:first-child{border-radius:12px 0 0 12px}
.doc-list tbody tr:hover td:last-child{border-radius:0 12px 12px 0}
.doc-link{display:flex;align-items:center;gap:12px;min-width:0}
.doc-link .avatar{width:36px;height:36px;font-size:11px}
.doc-link-text{display:block;min-width:0}
.doc-link-text small{display:block;margin-top:1px;color:var(--muted);font-size:var(--fs-xs);font-weight:400}
.doc-list tr:hover .avatar{background:#fff}
.amt-bar{display:block;width:96px;height:4px;margin:6px 0 0 auto;border-radius:99px;background:var(--sc-grey-15);overflow:hidden}
.amt-bar i{display:block;height:100%;border-radius:99px;background:var(--sc-green)}
@media(max-width:1200px){.list-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.doc-list{padding:0 14px 8px}.list-tools{flex:1 1 100%;flex-wrap:wrap;margin:0}.list-tools .search-field{flex:1 1 100%;width:auto}.doc-list tbody td{padding:0}.doc-list tr{padding-left:0;padding-right:0}.doc-list tbody tr:hover td{background:none}.doc-list td.num{grid-row:2/span 2}.doc-list .row-actions{grid-row:4}.doc-list td[data-label=Contact],.doc-list td[data-label=Item]{grid-column:1/-1;grid-row:1}.doc-list td[data-label=Email],.doc-list td[data-label=Phone]{grid-column:1;font-size:var(--fs-xs)}.doc-list td:has(>.dim){display:none}.doc-list td[data-label=Billed]{grid-row:2/span 2;align-self:center}.doc-list td[data-label="Unit Price"]{grid-column:2;grid-row:2;align-self:center}.doc-list tr:has(td[data-label=Item]) .row-actions{grid-column:1;grid-row:2;padding-top:0}}
@media(max-width:480px){.list-stat{gap:10px;padding:12px}.list-stat>i{width:34px;height:34px}.list-stat strong{font-size:var(--fs-base)}}
.default-notes-save{margin-top:16px}
.ui-options,.ui-calendar{border:0;border-radius:14px;box-shadow:0 12px 32px rgba(44,58,135,.16),0 2px 6px rgba(44,58,135,.08)}
.is-open>.ui-options,.is-open>.ui-calendar{animation:dropIn .14s ease}
@keyframes dropIn{from{opacity:0;transform:translateY(-4px)}}
.drop-up>.ui-options,.drop-up>.ui-calendar{top:auto;bottom:calc(100% + 6px)}
.ui-options{max-height:288px;scrollbar-width:thin;scrollbar-color:var(--sc-grey-25) transparent}
.ui-options button{height:38px;margin-top:2px;padding:0 34px 0 12px;overflow:hidden;color:var(--ink);font-weight:500;line-height:38px;white-space:nowrap;text-overflow:ellipsis;cursor:pointer;transition:background .12s}
.ui-options button:first-child{margin-top:0}
.ui-options button:hover,.ui-options button:focus-visible{outline:0;background:var(--sc-grey-15);color:var(--ink)}
.ui-options button.selected,.ui-options button.selected:hover,.ui-options button.selected:focus-visible{background:var(--sc-blue-20) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%232c3a87' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m5 12 5 5 9-10'/%3E%3C/svg%3E") right 12px center/15px no-repeat;color:var(--navy-deep);font-weight:600}
.ui-options button:disabled{color:var(--faint);cursor:not-allowed;background:none}
.ui-select .ui-field-trigger>i{width:16px;height:16px;border:0;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23868788' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") center/contain no-repeat;transition:transform .15s}
.ui-select.is-open .ui-field-trigger>i{transform:rotate(180deg)}
@media(prefers-reduced-motion:reduce){.is-open>.ui-options,.is-open>.ui-calendar{animation:none}.ui-select .ui-field-trigger>i{transition:none}}
.doc-list td.num small{display:block;margin-top:1px;color:var(--muted);font-size:var(--fs-xs);font-weight:400}
.doc-list .list-toolbar{min-height:68px}
.list-title{display:flex;align-items:center;gap:8px;font-size:var(--fs-lg);font-weight:600}
.list-title b{min-width:22px;padding:1px 6px;border-radius:99px;background:var(--sc-grey-15);font-size:var(--fs-xs);font-weight:600;text-align:center}
.doc-list a.plain-link{color:var(--ink);text-decoration:none;font-weight:400}
.doc-list a.plain-link:hover{color:var(--sc-blue)}
.dim{color:var(--faint)}
.doc-list tr.editing td{background:var(--sc-blue-20)}
.doc-list tr.editing td:first-child{border-radius:12px 0 0 12px}
.doc-list tr.editing td:last-child{border-radius:0 12px 12px 0}
.doc-list tr.editing .avatar{background:#fff}
.module-grid{align-items:start}
.module-grid>.panel{align-self:stretch}
.module-grid .form-card form a.pill{display:flex;justify-content:center;margin:8px 0 0;color:var(--ink)}
.module-grid .form-card{position:sticky;top:calc(var(--topbar-h) + var(--gutter) * 2)}
@media(max-width:1000px){.module-grid .form-card{position:static}}
.line-unit .ui-select{margin:0}
.line-unit .ui-options{right:auto;min-width:150px}
.unit-chips{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:14px}
.unit-chips span{display:inline-flex;align-items:center;gap:8px;height:var(--control-sm);padding:0 4px 0 12px;border-radius:999px;background:var(--sc-grey-15);font-size:var(--fs-sm);font-weight:500}
.unit-chips button{display:grid;place-items:center;width:24px;height:24px;padding:0;border:0;border-radius:50%;background:var(--danger);color:#fff;cursor:pointer}
.unit-chips button:hover{background:var(--danger-hover)}
.unit-add{display:flex;gap:10px;max-width:420px}
.unit-add input{flex:1;min-width:0;margin:0}
.lines-head{padding:10px 0}
.lines-head>span:not(.num){padding-left:13px}
.lines-head>span:first-child,.lines-head>span:last-child{padding-left:0}
.line-sub{display:grid;grid-template-columns:24px minmax(0,1fr) 76px 112px 112px 112px 112px;gap:10px;align-items:start;margin-top:10px}
.line-sub textarea{grid-column:2/5;width:100%;margin:0}
.line-cost{position:relative;grid-column:5;margin:0}
.line-cost span{position:absolute;left:13px;top:50%;transform:translateY(-50%);color:var(--muted);font-size:var(--fs-xs);font-weight:600;pointer-events:none}
.line-cost input{margin:0;padding-left:42px}
.line-profit{grid-column:6;display:grid;justify-items:end;align-content:center;min-height:var(--control);line-height:1.25;white-space:nowrap}
.line-profit span{color:var(--muted);font-size:var(--fs-2xs)}
.line-profit b{font-size:var(--fs-xs);font-weight:600;font-variant-numeric:tabular-nums}
.totals .profit-row{padding:6px 0;border:0}
.totals .profit-row dd{font-size:var(--fs-sm)}
.profit-margin{margin:6px 0 12px;color:var(--muted);font-size:var(--fs-xs)}
.receipt-log li{align-items:center}
.receipt-log a{min-width:0;color:var(--ink);text-decoration:none}
.receipt-log a b{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
.receipt-log a:hover b{color:var(--sc-blue)}
.receipt-log .icon-del{flex:none}
.receipt-form{margin-top:12px}
.receipt-form .primary{margin-top:8px}
#costs .side-ico{background:var(--sc-green-20);color:var(--sc-grey)}
@media(max-width:760px){.line-sub{grid-template-columns:24px minmax(0,1fr) minmax(0,1fr)}.line-sub textarea{grid-column:2/-1}.line-cost{grid-column:2}.line-profit{grid-column:3}}
.line-title{position:relative}
.item-suggest{position:absolute;z-index:40;left:0;top:calc(100% + 6px);width:max(100%,340px);max-width:calc(100vw - 48px);max-height:264px;padding:6px;overflow:auto;border-radius:14px;background:var(--surface);box-shadow:0 12px 32px rgba(44,58,135,.16),0 2px 6px rgba(44,58,135,.08);scrollbar-width:thin;scrollbar-color:var(--sc-grey-25) transparent;animation:dropIn .14s ease}
.drop-up>.item-suggest{top:auto;bottom:calc(100% + 6px)}
.line-main .item-suggest button{display:flex;align-items:center;justify-content:space-between;gap:14px;width:100%;min-height:42px;margin:2px 0 0;padding:6px 12px;border:0;border-radius:9px;background:none;color:var(--ink);text-align:left;cursor:pointer;transition:background .12s}
.line-main .item-suggest button:first-child{margin-top:0}
.line-main .item-suggest button:hover,.line-main .item-suggest button.active{background:var(--sc-blue-20)}
.line-main .item-suggest span{position:static;width:auto;height:auto;overflow:hidden;clip:auto;font-size:var(--fs-sm);font-weight:500;white-space:nowrap;text-overflow:ellipsis}
.line-main .item-suggest small{flex:none;color:var(--muted);font-size:var(--fs-xs);font-variant-numeric:tabular-nums}
.line-main .item-suggest button.active small,.line-main .item-suggest button:hover small{color:var(--ink)}
@media(prefers-reduced-motion:reduce){.item-suggest{animation:none}}
@media(min-width:1281px){
  .dash{grid-template-columns:repeat(20,minmax(0,1fr))}
  .dash>.kpi{grid-column:span 4}
  .kpi-hero-body{flex-direction:column-reverse;align-items:stretch;gap:6px;margin-top:6px}
  .kpi-hero-body .spark{flex:none;width:100%;height:36px;border-right:0}
  .dash .area-income{grid-column:1/-1}
  .dash .area-cal,.dash .area-donut,.dash .area-unpaid,.dash .area-docs{grid-column:span 5}
  .dash .area-cal{height:auto;min-height:0}
}
@media(max-width:1280px) and (min-width:761px){
  .dash .kpi-hero{grid-column:1/-1}
}
.income-card .income-body{display:grid;grid-template-columns:minmax(240px,.85fr) minmax(0,2.2fr) minmax(230px,.9fr);gap:26px;align-items:stretch}
.income-sum{display:flex;flex-direction:column;gap:12px;min-width:0}
.income-sum .delta{display:table;margin:6px 0 0}
.chart-tools{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px}
.chart-view{padding:3px;border-radius:999px;background:var(--sc-grey-15)}
.chart-view button{height:26px;padding:0 12px;border:0;border-radius:999px;background:none;color:var(--ink);font-size:var(--fs-xs);font-weight:500;cursor:pointer}
.chart-view button.active{background:var(--sc-blue);color:#fff}
.income-insights{display:grid;grid-template-columns:minmax(0,1fr);gap:0;margin:0;align-content:space-between}
.income-insights>div{padding:10px 0;border-bottom:1px solid var(--line)}
.income-insights>div:last-child{border-bottom:0}
.income-insights dt{color:var(--muted);font-size:var(--fs-xs)}
.income-insights dd{margin:2px 0 0;font-size:var(--fs-lg);font-weight:600;letter-spacing:-.02em;font-variant-numeric:tabular-nums}
.income-insights dd.pos{color:#23a249}
.income-insights dd.neg{color:var(--danger)}
.income-insights small{color:var(--muted);font-size:var(--fs-2xs)}
.analytic-notes.three{grid-template-columns:repeat(3,minmax(0,1fr))}
.cal-sum{display:flex;align-items:baseline;justify-content:space-between;gap:8px;margin:0 0 12px;padding:9px 12px;border-radius:12px;background:var(--sc-blue-20)}
.cal-sum b{font-size:var(--fs-base);font-weight:600;font-variant-numeric:tabular-nums}
.cal-sum span{color:var(--ink);font-size:var(--fs-2xs)}
.calendar-card .cal-grid{gap:4px}
.calendar-card .cal-grid b{padding-bottom:2px;color:var(--muted)}
.calendar-card .cal-grid>span,.calendar-card .cal-grid>a{display:grid;place-items:center;aspect-ratio:1;border:0;border-radius:50%;background:none;color:var(--ink);text-decoration:none;font-size:var(--fs-xs)}
.calendar-card .cal-grid>span.out{color:var(--faint);background:none}
.calendar-card .cal-grid>.due{background:var(--sc-green-20);font-weight:600}
.calendar-card .cal-grid>.due.late{background:var(--danger);color:#fff}
.calendar-card .cal-grid>a:hover{box-shadow:inset 0 0 0 2px var(--sc-blue)}
.calendar-card .cal-grid>.today{background:var(--sc-blue);color:#fff;font-weight:700}
.calendar-card .cal-key{margin:10px 0 8px;font-size:var(--fs-2xs)}
.calendar-card .cal-key .dot+.dot,.calendar-card .cal-key .dot:not(:first-child){margin-left:8px}
.calendar-card .due-row{grid-template-columns:36px minmax(0,1fr);padding:5px 8px}
@media(max-width:1280px){.income-card .income-body{grid-template-columns:minmax(0,1fr)}.income-insights{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.income-insights>div{border:0;padding:0}}
@media(max-width:760px){.income-insights{grid-template-columns:repeat(2,minmax(0,1fr))}.analytic-notes.three{grid-template-columns:minmax(0,1fr)}.income-card .income-bars{min-height:180px}.chart-tools{flex-wrap:wrap}.income-avg em{display:none}}
.app-main{position:relative}
.page-tools{position:absolute;z-index:5;top:16px;right:20px;display:flex;align-items:center;gap:10px}
.page-tools label{margin:0;color:var(--muted);font-size:var(--fs-sm);font-weight:500}
.page-tools .ui-select{margin:0;min-width:110px}
@media(max-width:760px){.page-tools{top:14px;right:14px}.page-tools label{display:none}}
.side-nav a>span{flex:1;min-width:0}
.nav-badge{display:grid;place-items:center;min-width:20px;height:20px;padding:0 6px;border-radius:99px;background:var(--sc-blue-20);color:var(--navy-deep);font-size:11px;font-style:normal;font-weight:700}
.nav-badge.warn{background:var(--danger);color:#fff}
.side-nav a.active .nav-badge{background:#fff;color:var(--navy-deep)}
.side-nav a.active .nav-badge.warn{color:var(--danger)}
.side-month{display:grid;gap:2px;margin-top:auto;padding:14px 16px;border-radius:var(--radius-sm);background:var(--sc-blue-20);color:var(--navy-deep);text-decoration:none;transition:background .15s}
.side-month:hover{background:var(--sc-blue-50)}
.side-month span{font-size:var(--fs-xs);font-weight:500}
.side-month strong{font-size:var(--fs-lg);font-weight:600;letter-spacing:-.02em;font-variant-numeric:tabular-nums}
.side-bar{display:block;height:5px;margin:6px 0 4px;border-radius:99px;background:#fff;overflow:hidden}
.side-bar i{display:block;height:100%;border-radius:99px;background:var(--sc-blue)}
.side-month small{font-size:var(--fs-2xs)}
.promo{display:grid;gap:6px;margin-top:10px;padding:0;background:none}
.promo a{height:38px;background:var(--sc-grey-15);color:var(--ink)}
.promo a:hover{background:var(--sc-blue-20)}
.promo a span{background:#fff;color:var(--ink)}
@media(max-height:780px){.side-month{display:none}.promo{margin-top:auto}}
@media screen{
.primary,.cta,.convert,.add-item{background:var(--sc-green);color:#fff}
.primary:hover,.cta:hover,.convert:hover,.add-item:hover{background:var(--sc-green);color:#fff;filter:brightness(.9)}
.cta>span{width:auto;height:auto;background:none;color:#fff}
.primary[name=email_send]{background:var(--sc-blue);color:#fff}
.primary[name=email_send]:hover{background:var(--sc-solid);color:#fff;filter:none}
.print-btn,.file-pick input[type=file]::file-selector-button,.tag.dark{border-color:var(--sc-grey);background:var(--sc-grey);color:#fff}
.print-btn:hover{background:var(--navy-deep);color:#fff}
.print-btn.alt{background:var(--sc-blue);color:#fff}
.print-btn.alt:hover{background:var(--sc-solid);color:#fff}
th,.lines-head{background:var(--sc-blue);color:#fff}
.settings-tabs a.active{background:var(--sc-blue);color:#fff}
.choice:has(input:checked){background:var(--sc-green-20)}
.add-item{border:0}
.choice>input{accent-color:var(--sc-green)}
.kpi-hero .kpi-ico,.report-cards article:first-child .kpi-icon{background:#fff;color:var(--navy-deep)}
.split-a span{color:#fff}
.spark{border-right-color:#fff}
.spark polyline,.spark-line{stroke:#fff}
#payments .side-ico{background:var(--sc-green-20);color:var(--sc-grey)}
#payment-log .side-ico{background:var(--sc-grey-15);color:var(--sc-grey)}
#email-log .side-ico{background:var(--sc-green-20);color:var(--sc-grey)}
.side-panel summary:hover{background:var(--blue-soft)}
.side-panel summary:hover .side-ico,.side-panel summary:hover .status{background:#fff}
.side-panel summary:hover .side-title small,.side-panel summary:hover .side-chev{color:var(--ink)}
}
.mail-cols{grid-template-columns:minmax(0,1fr)!important}
#email-template{order:-1}
.mail-cols .smtp-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.mail-studio{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:24px;align-items:start}
.mail-editor{display:grid;gap:12px;min-width:0}
.placeholder-chips button{padding:3px 8px;border:0;border-radius:6px;background:var(--sc-blue-20);color:var(--navy-deep);font:600 11px ui-monospace,SFMono-Regular,Menlo,monospace;cursor:pointer}
.placeholder-chips button:hover{background:var(--sc-blue-50)}
.mail-test{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:end;padding-top:12px;border-top:1px solid var(--line)}
.mail-test label{margin:0}
.mail-test .pill{gap:6px}
.mail-test .pill:disabled{opacity:.6;cursor:wait}
.mail-result{margin:0;padding:10px 12px;border-radius:10px;font-size:var(--fs-sm)}
.mail-result.ok{background:var(--sc-green-20)}
.mail-result.fail{background:var(--danger);color:#fff}
.mail-preview{min-width:0;padding:12px;border-radius:var(--radius-sm);background:var(--sc-grey-15)}
.mail-preview-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:10px}
.mail-preview-head>div{display:grid;grid-template-columns:auto minmax(0,1fr);gap:2px 10px;min-width:0;font-size:var(--fs-xs)}
.mail-preview-head small{color:var(--muted);font-size:var(--fs-xs)}
.mail-preview-head b{overflow:hidden;font-weight:600;white-space:nowrap;text-overflow:ellipsis}
.mail-preview-head .chart-view{flex:none;background:var(--surface)}
.mail-preview iframe{display:block;width:100%;height:640px;margin:0 auto;border:0;border-radius:12px;background:#f2f3f5;transition:width .2s}
.mail-preview iframe.mobile{width:min(375px,100%)}
@media(max-width:1200px){.mail-studio{grid-template-columns:minmax(0,1fr)}.mail-cols .smtp-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
.mail-texts{border-top:1px solid var(--line)}
.mail-texts summary{display:flex;align-items:center;justify-content:space-between;padding:12px 0;font-size:var(--fs-base);font-weight:600;cursor:pointer;list-style:none}
.mail-texts summary::-webkit-details-marker{display:none}
.mail-texts[open] .side-chev{transform:rotate(90deg)}
.mail-group{margin:12px 0 6px;color:var(--muted);font-size:var(--fs-2xs);font-weight:600;letter-spacing:.06em;text-transform:uppercase}
.mail-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.mail-fields label{margin:0;font-size:var(--fs-xs)}
.mail-states{display:flex;flex-wrap:wrap;gap:4px;margin-bottom:10px}
.mail-states button{height:28px;padding:0 12px;border:0;border-radius:999px;background:var(--surface);color:var(--ink);font-size:var(--fs-xs);font-weight:500;cursor:pointer}
.mail-states button.active{background:var(--sc-blue);color:#fff}
.mail-preview{position:sticky;top:calc(var(--topbar-h) + var(--gutter) * 2)}
.mail-preview iframe{height:720px}
@media(max-width:1200px){.mail-preview{position:static}}
@media(max-width:520px){.mail-fields{grid-template-columns:minmax(0,1fr)}}
.side-nav .nav-settings,.side-nav .nav-reports{display:none}
.nav-group summary{display:flex;align-items:center;gap:10px;padding:9px 14px;border-radius:999px;color:var(--ink);font-size:var(--fs-base);font-weight:500;cursor:pointer;list-style:none}
.nav-group summary::-webkit-details-marker{display:none}
.nav-group summary>span{flex:1}
.nav-group summary:hover{background:var(--soft)}
.nav-group summary.current{color:var(--navy-deep);font-weight:600}
.nav-chev{display:grid;color:var(--muted);transition:transform .18s}
.nav-group[open] .nav-chev{transform:rotate(90deg)}
.nav-sub{display:grid;gap:2px;padding:4px 0 4px 26px;animation:sideIn .18s ease}
.nav-sub a{padding:7px 12px;border-radius:999px;font-size:var(--fs-sm)}
.nav-sub a.active{background:var(--sc-solid);color:#fff}
.sidebar-inner:has(.nav-group[open]) .side-month{display:none}
.sidebar-inner:has(.nav-group[open]) .promo{margin-top:auto}
@media(min-width:1001px){.settings-tabs{display:none}}
@media(max-width:1000px){.nav-group{display:none}.side-nav .nav-settings,.side-nav .nav-reports{display:flex}}
.settings-page .card,.settings-page .form-card{padding:24px}
.settings-page .form-grid{gap:18px}
.settings-page .settings-stack,.settings-page .settings-main{gap:18px}
.topbar{gap:0;padding:0 14px 0 26px}
.topbar .brand{flex:none;width:236px;margin:0}
.search-pill{width:min(360px,100%);height:var(--control);padding:0 6px 0 14px;background:#f4f4f5;color:var(--muted);transition:background .15s,box-shadow .15s}
.search-pill:hover{background:#fff;box-shadow:inset 0 0 0 1px var(--line)}
.search-pill kbd{padding:2px 7px;border-radius:7px;background:#fff;box-shadow:inset 0 0 0 1px var(--line);color:var(--muted);font-size:11px;font-weight:600}
.topbar-right{margin-left:auto;gap:14px}
.cta{gap:8px;padding:0 18px 0 14px;font-size:var(--fs-sm)}
.user-chip{gap:6px;padding-left:14px;border-left:1px solid var(--line)}
.user-link{display:flex;align-items:center;gap:10px;padding:3px 10px 3px 3px;border-radius:999px;color:var(--ink);text-decoration:none;transition:background .15s}
.user-link:hover{background:#f4f4f5}
.user-chip .avatar{width:34px;height:34px;background:var(--navy-deep);color:#fff}
.user-meta{display:grid;gap:0;line-height:1.25}
.user-meta b{font-size:var(--fs-sm);font-weight:600}
.user-meta small{color:var(--muted);font-size:var(--fs-2xs)}
.user-chip .icon-btn{display:grid;place-items:center;width:36px;height:36px;border:0;border-radius:50%;background:none;color:var(--muted);cursor:pointer;transition:background .15s,color .15s}
.user-chip .icon-btn:hover{background:#fdeceb;color:var(--danger)}
@media(max-width:1000px){.topbar{gap:10px;padding:0 10px}.topbar .brand{width:auto}.user-chip{padding-left:0;border:0}.search-pill{width:var(--control);padding:0;justify-content:center;background:var(--soft)}}
@media(max-width:760px){.user-meta{display:none}.user-link{padding:0}.topbar .user-chip .avatar{display:none}.cta{gap:0;font-size:0}}
.mail-options{grid-template-columns:minmax(0,1fr)}
.mail-form .mail-result{margin-top:10px}
.primary.is-loading{cursor:wait;opacity:.85}
.primary.is-loading .icon{display:none}
.primary.is-loading:before{content:'';width:16px;height:16px;border:2px solid #ffffff66;border-top-color:#fff;border-radius:50%;animation:mailSpin .7s linear infinite}
@keyframes mailSpin{to{transform:rotate(360deg)}}
.primary[name=email_send].is-done,.primary[name=email_send].is-done:hover{background:var(--sc-green);cursor:default}
.primary.is-done .icon{display:none}
@media(prefers-reduced-motion:reduce){.primary.is-loading:before{animation-duration:2s}}
.pay-hero{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px;border-radius:16px;background:#eef5fe}
.pay-hero-main{display:grid;gap:1px;min-width:0}
.pay-hero-main span{color:var(--navy-deep);font-size:var(--fs-xs);font-weight:500}
.pay-hero-main strong{color:var(--navy-deep);font-size:24px;font-weight:700;letter-spacing:-.03em;line-height:1.25;font-variant-numeric:tabular-nums}
.pay-hero-main small{color:var(--muted);font-size:var(--fs-2xs)}
.pay-ring{--p:0;display:grid;flex:none;place-items:center;width:62px;height:62px;border-radius:50%;background:conic-gradient(var(--sc-blue) calc(var(--p) * 1%),#fff 0)}
.pay-ring.done{background:var(--sc-green)}
.pay-ring b{display:grid;font-style:normal;place-items:center;width:48px;height:48px;border-radius:50%;background:#eef5fe;color:var(--navy-deep);font-size:var(--fs-xs);font-weight:700}
.pay-form{display:grid;gap:12px;margin:14px 0 0;padding:0;background:none}
.pay-form label{margin:0}
.pay-amount span{display:flex;align-items:center;gap:8px;height:52px;margin-top:6px;padding:0 14px;border-radius:14px;box-shadow:inset 0 0 0 1px var(--line);transition:box-shadow .15s}
.pay-amount span:focus-within{box-shadow:inset 0 0 0 1px var(--sc-blue),0 0 0 3px var(--sc-blue-20)}
.pay-amount em{color:var(--muted);font-size:var(--fs-base);font-style:normal;font-weight:600}
.pay-amount input{height:100%;margin:0;padding:0;border:0;background:none;box-shadow:none!important;font-size:20px;font-weight:600;font-variant-numeric:tabular-nums;-moz-appearance:textfield}
.pay-amount input::-webkit-outer-spin-button,.pay-amount input::-webkit-inner-spin-button{margin:0;-webkit-appearance:none}
.pay-chips{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}
.pay-chips button{height:32px;border:0;border-radius:999px;background:var(--sc-grey-15);color:var(--ink);font-size:var(--fs-xs);font-weight:600;cursor:pointer;transition:background .15s}
.pay-chips button:hover{background:var(--sc-blue-20)}
.pay-chips button.active{background:var(--sc-blue);color:#fff}
.pay-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.pay-row .ui-date,.pay-row .ui-select{margin-top:6px}
.pay-row .ui-field-trigger{gap:6px;padding-left:10px;padding-right:10px;font-size:var(--fs-sm)}
.pay-form .ui-calendar{right:auto;width:290px}
.pay-row label:last-child .ui-options{left:auto;right:0;min-width:200px}
.pay-more{border-radius:12px}
.side-panel .pay-more summary{display:flex;align-items:center;gap:6px;width:max-content;min-height:0;padding:0;border-radius:0;background:none;color:var(--sc-blue);font-size:var(--fs-sm);font-weight:600;cursor:pointer;list-style:none}
.pay-more summary::-webkit-details-marker{display:none}
.pay-more[open] summary .icon{transform:rotate(45deg)}
.pay-more label{margin-top:10px}
.side-body .pay-done{margin:14px 0 0}
@media(max-width:360px){.pay-row{grid-template-columns:minmax(0,1fr)}}
.fx{position:relative;display:flex;flex-direction:column;min-width:0}
.fx-legend{display:flex;flex-wrap:wrap;align-items:center;gap:2px;min-width:0}
.fx-legend button{display:inline-flex;align-items:center;gap:6px;height:28px;padding:0 8px;border:0;border-radius:999px;background:none;color:var(--ink);font-size:var(--fs-xs);cursor:pointer}
.fx-legend button:hover{background:var(--sc-grey-15)}
.fx-legend button i{width:9px;height:9px;border-radius:3px}
.fx-legend button[aria-pressed=false]{color:var(--faint);text-decoration:line-through}
.fx-legend button[aria-pressed=false] i{opacity:.3}
.fx-note{margin-left:6px;color:var(--muted);font-size:var(--fs-2xs)}
.fx-plot{display:flex;flex:1;min-height:290px;min-width:0;padding-bottom:26px}
.fx-frame{position:relative;flex:1;min-width:0;margin:10px 0 0 38px}
.fx-table{flex:1;min-width:0}
.fx-grid{position:absolute;left:0;right:0;height:0;border-top:1px solid #eeeeee}
.fx-grid:first-child{border-top-color:var(--line)}
.fx-grid em{position:absolute;right:calc(100% + 8px);top:-7px;color:var(--muted);font-size:10px;font-style:normal;font-variant-numeric:tabular-nums}
.fx-avg{position:absolute;left:0;right:0;height:0;border-top:1px dashed var(--sc-grey-50)}
.fx-cols{position:absolute;inset:0;display:grid}
.fx-col{position:relative;display:block;min-width:0;padding:0;border:0;border-radius:8px 8px 0 0;background:none;cursor:pointer;transition:background .15s,opacity .15s}
.fx-col:hover,.fx-col:focus-visible,.fx-col.picked{outline:0;background:#0473ea14}
.fx-bars{position:absolute;inset:0 0 0 0;display:flex;align-items:flex-end;justify-content:center;gap:2px;padding:0 14%}
.fx-bar{display:block;flex:1;max-width:16px;border-radius:4px 4px 0 0;transform-origin:bottom;animation:fxGrow .55s cubic-bezier(.2,.8,.2,1) both;animation-delay:var(--d)}
@keyframes fxGrow{from{transform:scaleY(0)}}
.fx-last{position:absolute;left:18%;right:18%;height:0;border-top:2px solid var(--sc-grey-70)}
.fx-x{position:absolute;left:0;right:0;top:calc(100% + 6px);color:var(--muted);font-size:var(--fs-2xs);font-weight:600;text-align:center}
.fx-col.now .fx-x{color:var(--navy-deep)}
.fx-lines{position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none}
.fx-draw{stroke-dasharray:2400;stroke-dashoffset:2400;animation:fxDraw 1s ease-out forwards}
@keyframes fxDraw{to{stroke-dashoffset:0}}
.fx-tip{position:absolute;z-index:8;min-width:210px;padding:10px 12px;border-radius:12px;background:#fff;box-shadow:0 12px 32px rgba(44,58,135,.18),0 2px 6px rgba(44,58,135,.08);pointer-events:none}
.fx-tip b{display:block;margin-bottom:6px;font-size:var(--fs-xs);font-weight:600}
.fx-tip p{display:flex;align-items:center;gap:6px;margin:2px 0;font-size:var(--fs-xs)}
.fx-tip p i{width:8px;height:8px;border-radius:3px}
.fx-tip p span{flex:1;color:var(--muted)}
.fx-tip p strong{font-weight:600;font-variant-numeric:tabular-nums}
.fx-tip small{display:block;margin-top:4px;color:var(--muted);font-size:var(--fs-2xs)}
.fx-table{max-height:330px;overflow:auto}
.fx-table table{width:100%}
.fx-table th{position:sticky;top:0;padding:8px 10px}
.fx-table td{padding:7px 10px;font-size:var(--fs-sm)}
.fx-table .num{text-align:right;white-space:nowrap}
.income-side{min-width:0}
.income-side .income-insights{height:100%}
.income-side [hidden]{display:none}
.fx-detail{display:flex;flex-direction:column;gap:10px;height:100%;animation:sideIn .2s ease}
.fx-detail-head{display:flex;align-items:center;justify-content:space-between}
.fx-detail-head h3{margin:0;font-size:var(--fs-base);font-weight:600}
.fx-close{width:26px;height:26px;border:0;border-radius:50%;background:var(--sc-grey-15);color:var(--ink);font-size:16px;line-height:1;cursor:pointer}
.fx-stats{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:0}
.fx-stats div{padding:8px 10px;border-radius:10px;background:#eef5fe}
.fx-stats dt{color:var(--muted);font-size:var(--fs-2xs)}
.fx-stats dd{margin:0;font-size:var(--fs-sm);font-weight:600;font-variant-numeric:tabular-nums}
.fx-docs{display:grid;align-content:start;gap:2px;flex:1;max-height:230px;overflow:auto;scrollbar-width:thin}
.fx-docs a{display:flex;justify-content:space-between;gap:8px;padding:7px 8px;border-radius:10px;color:var(--ink);text-decoration:none}
.fx-docs a:hover{background:var(--sc-blue-20)}
.fx-docs a>span{min-width:0}
.fx-docs b,.fx-docs small{display:block;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
.fx-docs b{font-size:var(--fs-sm);font-weight:600}
.fx-docs small{color:var(--muted);font-size:var(--fs-2xs)}
.fx-doc-side{display:grid;flex:none;justify-items:end;gap:2px}
.fx-doc-side strong{font-size:var(--fs-xs);font-weight:600}
@media(prefers-reduced-motion:reduce){.fx-bar,.fx-detail{animation:none}.fx-draw{animation:none;stroke-dashoffset:0;stroke-dasharray:none}}
@media(max-width:760px){.fx-plot{min-height:240px}.fx-frame{margin-left:30px}.fx-bars{padding:0 6%}.fx-tip{min-width:180px}.chart-tools{align-items:flex-start;flex-direction:column}.chart-view{display:flex;width:100%}.chart-view button{flex:1;padding:0 4px}.fx-x{font-size:9px}}
.unpaid-sum{display:flex;align-items:baseline;justify-content:space-between;gap:8px;margin:0 0 8px;padding:9px 12px;border-radius:12px;background:#fdeceb}
.unpaid-sum b{font-size:var(--fs-base);font-weight:600;font-variant-numeric:tabular-nums}
.unpaid-sum span{font-size:var(--fs-2xs)}
.unpaid-list{display:grid;align-content:start;gap:2px;margin:0 -8px;padding:0 8px;scrollbar-width:thin}
.unpaid-row{display:flex;justify-content:space-between;gap:8px;padding:8px;border-radius:10px;color:var(--ink);text-decoration:none;transition:background .15s}
.unpaid-row:hover{background:var(--sc-blue-20)}
.unpaid-row>span{display:grid;min-width:0}
.unpaid-row b,.unpaid-row small{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
.unpaid-row b{font-size:var(--fs-sm);font-weight:600}
.unpaid-row small{color:var(--muted);font-size:var(--fs-2xs)}
.unpaid-side{flex:none;justify-items:end}
.unpaid-side strong{font-size:var(--fs-sm);font-weight:600;font-variant-numeric:tabular-nums}
.unpaid-side em{color:var(--muted);font-size:var(--fs-2xs);font-style:normal}
.unpaid-side em.over{color:var(--danger);font-weight:600}
.report-tools{display:flex;align-items:center;gap:8px}
.report-tools .year-pick{display:flex;align-items:center;gap:8px}
.report-tools .pill{gap:6px;height:var(--control);font-size:var(--fs-xs)}
.report-chart{margin-bottom:var(--gutter)}
.income-card .report-body,.report-body{display:grid;grid-template-columns:minmax(0,1fr) 240px;gap:26px}
.income-insights dd.clip{overflow:hidden;font-size:var(--fs-base);white-space:nowrap;text-overflow:ellipsis}
.rep-cols{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--gutter);align-items:start}
.rep-bar{padding:8px 0}
.rep-bar p{display:flex;justify-content:space-between;gap:10px;margin:0 0 5px;font-size:var(--fs-sm)}
.rep-bar b{overflow:hidden;font-weight:600;white-space:nowrap;text-overflow:ellipsis}
.rep-bar span{flex:none;font-weight:600;font-variant-numeric:tabular-nums}
.rep-bar>i,.rep-share>i,.aging i i~i{display:block;height:6px;border-radius:99px;background:var(--sc-grey-15);overflow:hidden}
.rep-bar>i>i,.rep-share>i>i{display:block;height:100%;border-radius:99px;background:var(--sc-blue)}
.rep-bar small{color:var(--muted);font-size:var(--fs-2xs)}
.rep-table{overflow-x:auto}
.rep-table table{width:100%}
.rep-table thead th:first-child{border-radius:10px 0 0 10px}
.rep-table thead th:last-child{border-radius:0 10px 10px 0}
.rep-table th,.rep-table td{padding:10px 12px;font-size:var(--fs-sm)}
.rep-table th{font-size:var(--fs-2xs)}
.rep-table .num{text-align:right;white-space:nowrap}
.rep-table a{color:var(--navy-deep);text-decoration:none}
.rep-table td b{font-weight:600}
.rep-table td small{display:block;color:var(--muted);font-size:var(--fs-2xs)}
.rep-table tfoot td{border-top:2px solid var(--line);font-weight:600}
.rep-share{min-width:130px}
.rep-share small{display:block;margin-top:3px;color:var(--muted);font-size:var(--fs-2xs)}
.aging{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--gutter);margin-bottom:var(--gutter)}
.aging article{display:grid;gap:4px;padding:16px 18px;border-radius:var(--radius);background:var(--surface)}
.aging span{color:var(--muted);font-size:var(--fs-xs)}
.aging strong{font-size:var(--fs-lg);font-weight:600;font-variant-numeric:tabular-nums}
.aging article>i{display:block;height:6px;margin-top:4px;border-radius:99px;background:var(--sc-grey-15);overflow:hidden}
.aging article>i>i{display:block;height:100%;border-radius:99px;background:var(--sc-blue)}
.aging article.amber>i>i{background:var(--sc-grey-70)}
.aging article.red>i>i{background:var(--danger)}
.list-stats.three{grid-template-columns:repeat(3,minmax(0,1fr))}
.rep-due{display:grid;gap:2px;background:var(--sc-gradient);color:#fff}
.rep-due span,.rep-due small{font-size:var(--fs-xs)}
.rep-due strong{font-size:var(--fs-kpi);font-weight:600;letter-spacing:-.02em}
.rep-facts{margin:0}
.rep-facts div{display:flex;justify-content:space-between;gap:12px;padding:9px 0;border-top:1px solid var(--line);font-size:var(--fs-sm)}
.rep-facts div:first-child{border-top:0}
.rep-facts dt{color:var(--muted)}
.rep-facts dd{margin:0;font-weight:600;text-align:right}
@media print{.page-tools,.settings-tabs{display:none!important}}
@media(max-width:1000px){.report-body,.rep-cols,.list-stats.three{grid-template-columns:minmax(0,1fr)}.aging{grid-template-columns:repeat(2,minmax(0,1fr))}.report-tools{position:static;justify-content:flex-end;margin-bottom:var(--gutter)}}
.item-table th:nth-child(2),.item-table th:nth-child(3){padding-right:24px}
.list-tools label.search-field{margin:0}
.item-open{width:100%;padding:0;border:0;background:none;font:inherit;text-align:left;cursor:pointer}
.item-open small{overflow:hidden;max-width:520px;white-space:nowrap;text-overflow:ellipsis}
.item-cell{display:inline-block;width:112px;height:36px;margin:0;padding:0 10px;border:1px solid transparent;border-radius:10px;background:#f4f4f5;font-size:var(--fs-sm);font-weight:600;text-align:right;font-variant-numeric:tabular-nums;-moz-appearance:textfield;transition:background .2s,border-color .15s}
.item-cell::-webkit-outer-spin-button,.item-cell::-webkit-inner-spin-button{margin:0;-webkit-appearance:none}
.item-cell:hover{border-color:var(--line);background:#fff}
.item-cell:focus{border-color:var(--sc-blue);background:#fff}
.item-cell.saved{background:var(--sc-green-20)}
.item-cell.failed{border-color:var(--danger)}
.item-dialog{width:min(480px,calc(100vw - 24px));padding:0;border:0;border-radius:20px;background:#fff;color:var(--ink);box-shadow:0 24px 60px rgba(44,58,135,.25)}
.item-dialog::backdrop{background:#2c3a8766}
.item-dialog form{display:grid;gap:12px;padding:22px}
.item-dialog label{margin:0}
.item-dialog-head{display:flex;align-items:center;justify-content:space-between}
.item-dialog-head h2{margin:0;font-size:var(--fs-lg)}
.item-dialog-nums{display:grid;grid-template-columns:1fr 1fr 1fr;gap:10px;align-items:end}
.item-dialog-nums p{display:grid;height:100%;align-content:end;margin:0;padding:0 2px 6px}
.item-dialog-nums p span{color:var(--muted);font-size:var(--fs-xs)}
.item-dialog-nums p b{font-size:var(--fs-sm);font-weight:600;font-variant-numeric:tabular-nums;white-space:nowrap}
.item-dialog-foot{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:4px}
.item-dialog-foot .primary{flex:1}
@media(max-width:760px){.item-table tr{grid-template-columns:1fr 1fr 1fr!important;gap:8px}.item-table td[data-label=Item]{grid-column:1/-1!important}.item-table td[data-label=Harga],.item-table td[data-label=Kos],.item-table td[data-label=Untung]{grid-row:2!important;grid-column:auto!important;align-self:center}.item-table td[data-label=Untung]{font-size:var(--fs-xs)}.item-table .row-actions{grid-column:1/-1!important;grid-row:3!important;padding-top:0}.item-cell{width:100%;font-size:16px}.item-table td[data-label=Harga]:before,.item-table td[data-label=Kos]:before,.item-table td[data-label=Untung]:before{content:attr(data-label);display:block;margin-bottom:3px;color:var(--muted);font-size:var(--fs-2xs);font-weight:500;text-align:left}.list-tools label.search-field{margin:0}.item-dialog-nums{grid-template-columns:1fr 1fr}.item-dialog-nums p{grid-column:1/-1}}
@media(min-width:1001px){
  .settings-page{display:flex;flex-direction:column;min-height:0}
  .settings-page>*{flex:1 1 auto;width:100%}
  .settings-stack,.settings-main{display:flex;flex-direction:column}
  .settings-stack>:last-child,.settings-main>:last-child{flex:1 1 auto}
  .settings-grid,.report-grid,.rep-cols{align-items:stretch}
  .settings-side,.report-side{align-content:start}
  .report-grid{margin-bottom:0}
  .items-panel{flex:1 0 auto}
}
.dash .kpi:not(.kpi-hero){display:flex;flex-direction:column;padding:18px 20px}
.dash .kpi:not(.kpi-hero)>strong{margin-top:12px;font-size:clamp(20px,1.55vw,23px);font-weight:700}
.dash .kpi:not(.kpi-hero)>small{margin-top:3px;white-space:nowrap}
.dash .kpi:not(.kpi-hero) .meter{height:5px;margin-top:auto}
.dash .kpi:not(.kpi-hero) .meter-label{margin:8px 0 0;color:var(--muted);font-size:var(--fs-xs)}
.dash .kpi:not(.kpi-hero) .meter-label b{color:var(--ink);font-weight:700}
.dash .kpi-head>span{font-size:var(--fs-sm);font-weight:500}
.dash .kpi:not(.kpi-hero) .kpi-ico{width:36px;height:36px;border-radius:12px}
.tone-grey .kpi-ico{background:var(--sc-grey-15);color:var(--sc-grey)}
.tone-green .kpi-ico{background:var(--sc-green-20);color:var(--sc-grey)}
.tone-red .kpi-ico{background:#fdeceb;color:var(--danger)}
.tone-blue .kpi-ico{background:var(--sc-blue-20);color:var(--navy-deep)}
.tone-grey .meter>i{background:var(--sc-grey-70)}
.tone-blue .meter>i{background:var(--sc-blue)}
@media(max-width:760px){.dash .kpi:not(.kpi-hero){padding:14px}.dash .kpi:not(.kpi-hero) .meter{margin-top:12px}.dash .kpi-head>span{font-size:var(--fs-xs)}.dash .kpi:not(.kpi-hero) .kpi-ico{width:30px;height:30px;border-radius:10px}.dash .kpi:not(.kpi-hero)>strong{font-size:17px}}
.command-palette{padding-top:10vh}
.palette-card{display:flex;flex-direction:column;width:min(560px,100%);max-height:min(620px,80vh);padding:0;overflow:hidden;border:0;box-shadow:0 24px 60px rgba(44,58,135,.25)}
.cmd-search{display:flex;flex:none;align-items:center;gap:10px;padding:10px 12px 10px 18px;border-bottom:1px solid var(--line);color:var(--muted)}
.cmd-search input{flex:1;min-width:0;height:40px;margin:0;padding:0;border:0;background:none;box-shadow:none!important;font-size:var(--fs-lg)}
.cmd-search input::-webkit-search-cancel-button{display:none}
.palette-card .palette-close{position:static;flex:none;width:30px;height:30px}
.cmd-body{flex:1;min-height:0;padding:6px 10px 12px;overflow-y:auto;scrollbar-width:thin}
.cmd-group[hidden],.cmd-body a[hidden]{display:none}
.cmd-group p{margin:10px 8px 4px;color:var(--muted);font-size:var(--fs-2xs);font-weight:600;letter-spacing:.08em;text-transform:uppercase}
.palette-card .cmd-body a{gap:12px;min-height:42px;padding:6px 10px;border-radius:12px}
.palette-card .cmd-body a>span{flex:1;min-width:0}
.palette-card .cmd-body a.active{background:var(--sc-blue-20);color:var(--navy-deep)}
.palette-card .cmd-body a+a{margin-top:2px}
.cmd-body a b,.cmd-body a small{display:block;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
.cmd-body a b{font-size:var(--fs-sm);font-weight:600}
.cmd-body a small{color:var(--muted);font-size:var(--fs-xs);font-weight:400}
.cmd-body a i{flex:none;min-width:104px;font-size:var(--fs-xs);font-style:normal;font-weight:600;font-variant-numeric:tabular-nums;text-align:right}
.palette-card .cmd-body a.active .status{background:#fff}
.cmd-body a em{display:inline-flex;flex:none;align-items:center;justify-content:center;min-width:58px;text-align:center}
.cmd-empty{margin:0;padding:28px 12px;color:var(--muted);font-size:var(--fs-sm);text-align:center}
body.cmd-open{overflow:hidden}
@media(max-width:760px){
  .command-palette{z-index:70;display:block;padding:0;background:var(--surface)}
  .palette-card{width:100%;height:100dvh;max-height:none;padding:env(safe-area-inset-top) 0 0;border-radius:0;box-shadow:none}
  .cmd-search{padding:10px 12px 10px 16px}
  .cmd-search input{height:44px;font-size:16px}
  .palette-card .palette-close{width:36px;height:36px}
  .cmd-body{padding-bottom:calc(16px + env(safe-area-inset-bottom))}
  .palette-card .cmd-body a{min-height:50px}
}
.palette-card .palette-close,.fx-close{display:grid;place-items:center;padding:0;color:var(--ink);cursor:pointer}
.palette-card .palette-close:hover,.fx-close:hover{background:var(--sc-grey-25)}
@media(max-width:760px){
  .topbar{gap:6px;height:58px;padding:0 10px 0 14px}
  .topbar .brand{flex:1 1 auto;min-width:0}
  .topbar .brand-logo{height:28px}
  .topbar .search-pill,.topbar .cta,.user-chip .icon-btn{flex:none;width:38px;height:38px;padding:0;border-radius:12px}
  .topbar .search-pill{justify-content:center;background:var(--sc-grey-15);color:var(--ink)}
  .topbar .cta>span{display:grid;place-items:center}
  .topbar-right{gap:6px;margin-left:0}
  .user-chip{gap:0;padding:0;border:0}
  .user-link{display:none}
  .user-chip .icon-btn{background:var(--sc-grey-15);color:var(--ink)}
  .page-head:has(+*) .page-heading,.page-head .page-heading{overflow:hidden;max-width:calc(100% - 96px);white-space:nowrap;text-overflow:ellipsis}
}
@media(min-width:1201px){
  .doc-editor{display:flex;flex:1 0 auto;flex-direction:column}
  .app-main>.doc-editor~*{flex:none}
  .editor-grid{flex:1 1 auto;align-items:stretch}
  .editor-main,.editor-side,.view-side,.settings-side,.report-side{display:flex;flex-direction:column}
  .editor-main>:last-child,.editor-side>:last-child,.view-side>:last-child,.settings-side>:last-child,.report-side>:last-child{flex:1 1 auto}
  .editor-side{position:static}
  .summary-stick{position:sticky;top:calc(var(--topbar-h) + var(--gutter) * 2 + 20px)}
  .view-grid{align-items:stretch}
}
.nav-more{display:none}
@media(max-width:1000px){
  .side-month,.promo{display:none}
}
@media(max-width:760px){
  :root{--control:44px;--control-sm:36px;--gutter:10px;--radius:16px}
  body.eac-app{padding-bottom:calc(78px + env(safe-area-inset-bottom))}
  input:not([type=checkbox]),select,textarea,.ui-field-trigger{font-size:16px!important}
  .topbar{height:56px;gap:8px}
  .topbar-right{margin-left:auto}
  .cta{justify-content:center;width:var(--control);padding:0;background:var(--sc-green)}
  .cta>span{width:100%;height:100%;background:none;color:#fff}
  .sidebar{position:fixed;z-index:50;left:0;right:0;bottom:0;margin:0;padding:6px 8px calc(6px + env(safe-area-inset-bottom));border-radius:18px 18px 0 0;box-shadow:0 -6px 20px rgba(44,58,135,.12)}
  .side-nav{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:2px;overflow:visible}
  .side-nav a,.nav-more{position:relative;display:flex;flex-direction:column;align-items:center;gap:3px;min-height:52px;padding:7px 2px 5px;border:0;border-radius:14px;background:none;color:var(--ink);font:inherit;font-size:var(--fs-2xs);font-weight:500;cursor:pointer}
  .side-nav a>span,.nav-more>span{flex:none}
  .side-nav a.active,.nav-more.active{background:var(--sc-blue-20);color:var(--navy-deep);font-weight:600}
  .side-nav a.nav-items,.side-nav a.nav-reports,.side-nav a.nav-settings{display:none}
  .nav-badge{position:absolute;top:2px;left:calc(50% + 6px);min-width:17px;height:17px;padding:0 4px;font-size:10px}
  .side-nav a.active .nav-badge{background:var(--navy-deep);color:#fff}
  .side-nav a.active .nav-badge.warn{background:var(--danger);color:#fff}
  .crumbs{display:none}
  .page-head{display:flex;align-items:center;min-height:56px;padding:6px 14px}
  .page-heading{margin:0;font-size:17px}
  .page-tools{top:6px;right:8px}
  .page-tools .ui-select{min-width:96px}
  .dash{grid-template-columns:repeat(2,minmax(0,1fr))}
  .dash>.card,.dash .kpi-hero{grid-column:1/-1}
  .dash .kpi{min-height:0;padding:14px}
  .dash .kpi>strong{margin-top:8px;font-size:18px}
  .dash .kpi>small{display:none}
  .dash .meter{margin-top:10px}
  .kpi-hero-body{flex-direction:column-reverse;align-items:stretch;gap:8px;margin-top:6px}
  .kpi-hero-body .spark{flex:none;width:100%;height:44px;border-right:0}
  .dash .kpi-hero strong{font-size:24px}
  .income-card .card-head{flex-wrap:wrap}
  .card,.form-card.compact,.form-card{padding:16px}
  .doc-list{padding:0 12px 6px}
  .print-document{padding:16px}
  .items-table th,.items-table td{padding-left:5px;padding-right:5px;letter-spacing:.02em}
  .items-table th:first-child,.items-table td:first-child{padding-left:8px}
  .items-table th:last-child,.items-table td:last-child{padding-right:8px}
  .doc-meta{padding:12px 14px}
  .document-actions{padding:8px 10px}
  .document-actions>div{gap:6px}
  .primary,.print-btn,.convert{width:auto}
  .settings-tabs{overflow-x:auto;scrollbar-width:none}
  .settings-tabs a{flex:none}
}
@media(max-width:360px){
  .items-table th:nth-child(3),.items-table td:nth-child(3){display:none}
  .ui-date .ui-field-trigger>i.calendar-mark{display:none}
}
.flash.error{display:flex;align-items:center;gap:10px;margin:0 0 18px}
.flash.error .icon{flex:none}
