/* Taxgrid app design system — warm paper, ink navy, cobalt, lime. */
:root{
  --paper:#f4f2ec;--surface:#fff;--surface-2:#faf9f5;--ink:#10162a;--ink-2:#2a3150;--muted:#646b7d;--line:#e4e0d5;--line-2:#eeebe2;
  --cobalt:#2b4bff;--cobalt-ink:#1a2fc2;--cobalt-soft:#e8ecff;--lime:#d4f25a;--lime-ink:#3f5a00;
  --green:#0f9d6b;--green-soft:#dcf5ea;--red:#e5484d;--red-soft:#fde8e8;--amber:#c47a00;--amber-soft:#fdf0d2;--sky:#2a7fff;--sky-soft:#e0eeff;
  --side:#0d1324;--side-2:#161d36;--side-ink:#c6cbe0;
  --r:12px;--r-lg:18px;--shadow:0 1px 0 rgba(16,22,42,.04),0 8px 24px -12px rgba(16,22,42,.14);--shadow-hard:4px 4px 0 var(--ink);
  --ease:cubic-bezier(.2,.8,.2,1);--spring:cubic-bezier(.34,1.56,.64,1);
  --f-head:"Bricolage Grotesque",system-ui,sans-serif;--f-body:"Instrument Sans",system-ui,-apple-system,"Segoe UI",sans-serif;--f-num:"JetBrains Mono",ui-monospace,monospace;
}
:root[data-theme=dark]{--paper:#0b0f1e;--surface:#131a30;--surface-2:#182039;--ink:#eef0f7;--ink-2:#c9cee2;--muted:#8d95ad;--line:#242d4a;--line-2:#1c2440;--cobalt:#5b78ff;--cobalt-ink:#8ea0ff;--cobalt-soft:#1c2650;
  --green:#3ddc9c;--green-soft:#0f2f28;--red:#ff7a7f;--red-soft:#3a1a20;--amber:#f5b73c;--amber-soft:#3a2e12;--sky:#63a4ff;--sky-soft:#13284d;--side:#080c19;--shadow:0 1px 0 rgba(0,0,0,.3),0 10px 30px -14px rgba(0,0,0,.7);--shadow-hard:4px 4px 0 var(--cobalt);--lime-ink:#1a2600}
@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--paper:#0b0f1e;--surface:#131a30;--surface-2:#182039;--ink:#eef0f7;--ink-2:#c9cee2;--muted:#8d95ad;--line:#242d4a;--line-2:#1c2440;--cobalt:#5b78ff;--cobalt-ink:#8ea0ff;--cobalt-soft:#1c2650;--green:#3ddc9c;--green-soft:#0f2f28;--red:#ff7a7f;--red-soft:#3a1a20;--amber:#f5b73c;--amber-soft:#3a2e12;--sky:#63a4ff;--sky-soft:#13284d;--side:#080c19;--shadow:0 1px 0 rgba(0,0,0,.3),0 10px 30px -14px rgba(0,0,0,.7);--shadow-hard:4px 4px 0 var(--cobalt);--lime-ink:#1a2600}}
*{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;font:15px/1.5 var(--f-body);background:var(--paper);color:var(--ink);-webkit-font-smoothing:antialiased;font-feature-settings:"ss01","cv11"}
body:before{content:"";position:fixed;inset:0;pointer-events:none;opacity:.5;background-image:radial-gradient(var(--line) 1px,transparent 1px);background-size:22px 22px;mask-image:linear-gradient(180deg,#000 0,transparent 320px);-webkit-mask-image:linear-gradient(180deg,#000 0,transparent 320px);z-index:0}
a{color:var(--cobalt);text-decoration:none}a:hover{text-decoration:underline;text-underline-offset:3px}
h1,h2,h3,h4{font-family:var(--f-head);letter-spacing:-.025em;line-height:1.15;margin:0 0 .5em;font-weight:700}
h1{font-size:2rem}h2{font-size:1.2rem}h3{font-size:1rem}
.muted{color:var(--muted)}.small{font-size:.84rem}.right{text-align:right}.nowrap{white-space:nowrap}.mt{margin-top:1rem}.mb{margin-bottom:1rem}.mt2{margin-top:1.6rem}
.num,.mono{font-variant-numeric:tabular-nums}.mono{font-family:var(--f-num);font-size:.92em}
.i{width:1.15em;height:1.15em;stroke:currentColor;fill:none;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round;flex:none;vertical-align:-.2em}
:focus-visible{outline:2px solid var(--cobalt);outline-offset:2px;border-radius:6px}
::selection{background:var(--lime);color:var(--ink)}
/* ---- shell ---- */
.shell{display:grid;grid-template-columns:252px 1fr;min-height:100vh;position:relative;z-index:1}
.side{background:var(--side);color:var(--side-ink);padding:1.1rem .8rem 1rem;position:sticky;top:0;height:100vh;overflow:auto;display:flex;flex-direction:column;scrollbar-width:thin}
.brand{display:flex;align-items:center;gap:.65rem;font:800 1.3rem var(--f-head);letter-spacing:-.03em;color:#fff;padding:.3rem .6rem 1.3rem}.brand:hover{text-decoration:none}
.brand img{width:30px;height:30px}
.nav{position:relative;flex:1}
.nav-ind{position:absolute;left:0;right:0;height:38px;border-radius:9px;background:var(--side-2);box-shadow:inset 2px 0 0 var(--lime);transition:transform .35s var(--ease),height .35s var(--ease),opacity .2s;opacity:0;pointer-events:none}
.nav a{position:relative;display:flex;align-items:center;gap:.7rem;padding:.5rem .7rem;border-radius:9px;color:var(--side-ink);font-weight:500;font-size:.94rem;height:38px;transition:color .2s}
.nav a:hover{color:#fff;text-decoration:none}.nav a.on{color:#fff}.nav a .i{opacity:.8;transition:transform .3s var(--spring)}.nav a:hover .i{transform:scale(1.15) rotate(-4deg)}.nav a.on .i{opacity:1;color:var(--lime)}
.nav .sec{font:600 .68rem var(--f-body);text-transform:uppercase;letter-spacing:.12em;color:#6f7897;padding:1rem .7rem .35rem}
.nav .pill{margin-left:auto;background:var(--lime);color:var(--lime-ink);font:700 .68rem var(--f-body);padding:.05rem .45rem;border-radius:99px}
.side-foot{padding:.8rem .7rem 0;font-size:.78rem;color:#6f7897;border-top:1px solid #1f2745;margin-top:1rem}
.main{min-width:0}
.top{display:flex;align-items:center;gap:.8rem;padding:.7rem 1.6rem;position:sticky;top:0;z-index:30;background:color-mix(in srgb,var(--paper) 82%,transparent);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}
.menu-btn{display:none}
.cmdk-btn{display:flex;align-items:center;gap:.6rem;background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:.45rem .8rem;color:var(--muted);min-width:280px;font:inherit;cursor:pointer;transition:border-color .2s,box-shadow .2s}
.cmdk-btn:hover{border-color:var(--cobalt);box-shadow:0 0 0 3px var(--cobalt-soft)}.cmdk-btn kbd{margin-left:auto}
kbd{font:500 .72rem var(--f-num);background:var(--paper);border:1px solid var(--line);border-bottom-width:2px;border-radius:5px;padding:.05rem .4rem;color:var(--muted)}
.top .grow{flex:1}
.icon-btn{position:relative;display:grid;place-items:center;width:38px;height:38px;border-radius:10px;border:1px solid transparent;background:none;color:var(--ink);cursor:pointer;transition:background .2s,transform .2s var(--spring)}.icon-btn:hover{background:var(--surface);border-color:var(--line);transform:translateY(-1px)}
.icon-btn .dot{position:absolute;top:2px;right:2px;background:var(--red);color:#fff;font:700 .62rem var(--f-body);min-width:17px;height:17px;border-radius:9px;display:grid;place-items:center;padding:0 4px;animation:pop .5s var(--spring)}
.menu{position:relative}.menu>summary{list-style:none;cursor:pointer}.menu>summary::-webkit-details-marker{display:none}
.menu .pop{position:absolute;right:0;top:calc(100% + 8px);min-width:230px;background:var(--surface);border:1px solid var(--line);border-radius:14px;box-shadow:0 24px 60px -20px rgba(10,16,40,.35);padding:.35rem;z-index:50;transform-origin:top right;animation:menuin .22s var(--ease)}
.menu .pop a,.menu .pop button.mi{display:flex;align-items:center;gap:.6rem;width:100%;padding:.5rem .65rem;border-radius:8px;color:var(--ink);background:none;border:0;font:inherit;text-align:left;cursor:pointer}
.menu .pop a:hover,.menu .pop button.mi:hover{background:var(--paper);text-decoration:none}
.menu .pop .hd{display:flex;justify-content:space-between;align-items:center;padding:.5rem .65rem;font:700 .8rem var(--f-head);color:var(--muted);text-transform:uppercase;letter-spacing:.06em}
.menu .pop hr{border:0;border-top:1px solid var(--line);margin:.3rem 0}
.notif-pop{width:360px;max-width:92vw;padding:0}.notif-pop a.n{display:block;padding:.7rem 1rem;border-bottom:1px solid var(--line-2);border-radius:0}.notif-pop a.n.unread{background:var(--cobalt-soft)}.notif-pop a.n b{display:block;font-weight:600}
.avatar{width:36px;height:36px;border-radius:50%;background:var(--ink);color:var(--paper);display:grid;place-items:center;font:700 .9rem var(--f-head)}
.content{padding:1.8rem 1.8rem 4rem;max-width:1240px}
/* ---- page + reveal ---- */
.content>*{animation:rise .55s var(--ease) both}.content>*:nth-child(2){animation-delay:.05s}.content>*:nth-child(3){animation-delay:.1s}.content>*:nth-child(4){animation-delay:.15s}.content>*:nth-child(n+5){animation-delay:.2s}
.reveal{opacity:0;transform:translateY(14px);transition:opacity .6s var(--ease),transform .6s var(--ease);transition-delay:calc(var(--d,0)*70ms)}.reveal.in{opacity:1;transform:none}
@keyframes rise{from{opacity:0;transform:translateY(12px)}}@keyframes pop{0%{transform:scale(0)}100%{transform:scale(1)}}@keyframes menuin{from{opacity:0;transform:translateY(-6px) scale(.97)}}@keyframes shake{20%{transform:translateX(-6px)}40%{transform:translateX(5px)}60%{transform:translateX(-3px)}80%{transform:translateX(2px)}}
.page-out .content{opacity:0;transform:translateY(-6px);transition:.18s}
.pagehead{display:flex;justify-content:space-between;align-items:flex-end;gap:1rem;margin-bottom:1.4rem;flex-wrap:wrap}.pagehead h1{margin:0}.pagehead .sub{color:var(--muted);margin-top:.25rem}
.eyebrow{font:600 .72rem var(--f-body);text-transform:uppercase;letter-spacing:.14em;color:var(--muted);margin-bottom:.35rem}
.row{display:flex;gap:.6rem;align-items:center;flex-wrap:wrap}.between{justify-content:space-between}
/* ---- surfaces ---- */
.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);padding:1.3rem;box-shadow:var(--shadow);position:relative}
.card.flush{padding:0;overflow:hidden}.card h2{display:flex;align-items:center;gap:.5rem}
.grid{display:grid;gap:1rem}.g4{grid-template-columns:repeat(4,1fr)}.g3{grid-template-columns:repeat(3,1fr)}.g2{grid-template-columns:repeat(2,1fr)}.g-main{grid-template-columns:minmax(0,1.7fr) minmax(0,1fr)}
.kpi{padding:1.1rem 1.2rem;overflow:hidden;transition:transform .35s var(--ease),box-shadow .35s}.kpi:hover{transform:translateY(-3px);box-shadow:var(--shadow),0 18px 30px -18px rgba(43,75,255,.4)}
.kpi .k{font:600 .72rem var(--f-body);color:var(--muted);text-transform:uppercase;letter-spacing:.1em;display:flex;align-items:center;gap:.4rem}
.kpi .v{font:800 1.9rem var(--f-head);letter-spacing:-.035em;margin:.25rem 0 .1rem;font-variant-numeric:tabular-nums}
.kpi .s{font-size:.82rem;color:var(--muted)}.kpi.hot{background:var(--ink);color:var(--paper);border-color:var(--ink)}.kpi.hot .k,.kpi.hot .s{color:color-mix(in srgb,var(--paper) 65%,transparent)}
.kpi .spark{position:absolute;right:0;bottom:0;width:46%;height:46px;opacity:.9}.kpi .spark path{fill:none;stroke:var(--cobalt);stroke-width:2;stroke-linecap:round;stroke-dasharray:300;stroke-dashoffset:300;animation:draw 1.4s var(--ease) .3s forwards}.kpi.hot .spark path{stroke:var(--lime)}
@keyframes draw{to{stroke-dashoffset:0}}
.tone-green{color:var(--green)}.tone-red{color:var(--red)}
/* ---- buttons ---- */
.btn{position:relative;overflow:hidden;display:inline-flex;align-items:center;justify-content:center;gap:.45rem;padding:.55rem 1rem;border-radius:10px;border:1px solid var(--line);background:var(--surface);color:var(--ink);font:600 .92rem var(--f-body);cursor:pointer;text-decoration:none!important;transition:transform .2s var(--spring),box-shadow .2s,background .2s,border-color .2s}
.btn:hover{border-color:var(--ink);transform:translateY(-1px)}.btn:active{transform:translateY(0) scale(.97)}
.btn.primary{background:var(--cobalt);border-color:var(--cobalt);color:#fff}.btn.primary:hover{background:var(--cobalt-ink);border-color:var(--cobalt-ink);box-shadow:3px 3px 0 var(--ink)}
.btn.dark{background:var(--ink);border-color:var(--ink);color:var(--paper)}.btn.dark:hover{box-shadow:3px 3px 0 var(--cobalt)}
.btn.green{background:var(--green);border-color:var(--green);color:#fff}.btn.green:hover{box-shadow:3px 3px 0 var(--ink)}
.btn.wa{background:#1fa855;border-color:#1fa855;color:#fff}.btn.wa:hover{box-shadow:3px 3px 0 var(--ink)}
.btn.danger{color:var(--red)}.btn.danger:hover{background:var(--red-soft);border-color:var(--red)}
.btn.ghost{background:transparent;border-color:transparent}.btn.ghost:hover{background:var(--surface);border-color:var(--line)}
.btn.sm{padding:.32rem .68rem;font-size:.84rem;border-radius:8px}.btn.block{width:100%}.btn[disabled]{opacity:.5;pointer-events:none}
.ripple{position:absolute;border-radius:50%;background:currentColor;opacity:.22;transform:scale(0);animation:ripple .6s var(--ease);pointer-events:none}@keyframes ripple{to{transform:scale(3.2);opacity:0}}
/* ---- badges ---- */
.badge{display:inline-flex;align-items:center;gap:.35rem;padding:.14rem .6rem .14rem .5rem;border-radius:99px;font:600 .74rem var(--f-body);background:var(--line-2);color:var(--muted);white-space:nowrap}
.badge:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}
.badge.paid,.badge.accepted{background:var(--green-soft);color:var(--green)}.badge.overdue,.badge.declined,.badge.low{background:var(--red-soft);color:var(--red)}
.badge.sent,.badge.viewed,.badge.open{background:var(--sky-soft);color:var(--sky)}.badge.partial{background:var(--amber-soft);color:var(--amber)}
.badge.overdue:before,.badge.low:before{animation:blink 1.4s infinite}@keyframes blink{50%{opacity:.25}}
.tag{display:inline-block;font:600 .7rem var(--f-body);padding:.1rem .5rem;border-radius:6px;background:var(--lime);color:var(--lime-ink)}
/* ---- tables ---- */
.scroll{overflow-x:auto}
.tbl{width:100%;border-collapse:collapse}.tbl th{text-align:left;font:600 .7rem var(--f-body);text-transform:uppercase;letter-spacing:.1em;color:var(--muted);padding:.75rem 1rem;border-bottom:1px solid var(--line);background:var(--surface-2);white-space:nowrap}
.tbl td{padding:.85rem 1rem;border-bottom:1px solid var(--line-2);vertical-align:middle}.tbl tr:last-child td{border-bottom:0}
.tbl tbody tr{position:relative;transition:background .2s;animation:rise .5s var(--ease) both;animation-delay:calc(var(--i,0)*35ms)}.tbl tbody tr:hover{background:var(--surface-2)}
.tbl tbody tr:hover td:first-child{box-shadow:inset 3px 0 0 var(--cobalt)}
.tbl .num,.tbl th.num{text-align:right;font-variant-numeric:tabular-nums}.tbl tfoot td{font-weight:700;background:var(--surface-2);border-top:2px solid var(--ink)}
.tbl td b a{color:var(--ink)}.tbl td b a:hover{color:var(--cobalt)}
.empty{text-align:center;padding:3.2rem 1rem;color:var(--muted)}.empty svg.art{width:120px;height:90px;margin-bottom:.6rem}.empty h3{color:var(--ink)}
/* ---- forms ---- */
label{display:block;font:600 .8rem var(--f-body);margin-bottom:.3rem;color:var(--ink-2)}
input[type=text],input[type=email],input[type=password],input[type=number],input[type=date],input[type=url],input[type=search],input[type=tel],select,textarea{width:100%;padding:.62rem .8rem;border:1px solid var(--line);border-radius:10px;background:var(--surface);color:var(--ink);font:inherit;transition:border-color .2s,box-shadow .2s}
input:hover,select:hover,textarea:hover{border-color:color-mix(in srgb,var(--ink) 30%,var(--line))}
input:focus,select:focus,textarea:focus{outline:0;border-color:var(--cobalt);box-shadow:0 0 0 4px var(--cobalt-soft)}
textarea{resize:vertical;min-height:2.6rem}
input[type=color]{width:64px;height:40px;padding:3px;border:1px solid var(--line);border-radius:10px;background:var(--surface);cursor:pointer}
input[type=checkbox]{appearance:none;width:1.15rem;height:1.15rem;border:1.5px solid var(--muted);border-radius:5px;margin:0 .5rem 0 0;vertical-align:-3px;background:var(--surface);cursor:pointer;transition:.2s var(--spring);display:inline-grid;place-items:center}
input[type=checkbox]:checked{background:var(--cobalt);border-color:var(--cobalt);transform:scale(1.08)}input[type=checkbox]:checked:after{content:"";width:.28rem;height:.55rem;border:solid #fff;border-width:0 2px 2px 0;transform:rotate(45deg) translate(-1px,-1px)}
.field{margin-bottom:1rem}.field .help{font-size:.78rem;color:var(--muted);margin-top:.25rem}.field.chk label{display:flex;align-items:center;font-weight:500;font-size:.92rem;color:var(--ink)}
.errorlist{list-style:none;margin:.3rem 0 0;padding:0;color:var(--red);font-size:.82rem}.errorlist li{animation:shake .4s}
.fgrid{display:grid;grid-template-columns:repeat(2,1fr);gap:0 1rem}.fgrid .full,.fgrid .field:has(textarea){grid-column:1/-1}.f3{grid-template-columns:repeat(3,1fr)}
/* ---- toasts ---- */
.toasts{position:fixed;top:16px;right:16px;z-index:200;display:grid;gap:.6rem;width:min(400px,92vw)}
.toast{position:relative;overflow:hidden;padding:.8rem 2.2rem .8rem 1rem;border-radius:12px;background:var(--ink);color:var(--paper);box-shadow:0 20px 50px -12px rgba(0,0,0,.5);animation:toastin .5s var(--spring);display:flex;gap:.6rem;align-items:flex-start;font-size:.92rem}
.toast .i{margin-top:.15rem;color:var(--lime)}.toast.error .i,.toast.warning .i{color:#ffb4b4}.toast.warning .i{color:#ffd37a}
.toast button{position:absolute;right:.5rem;top:.4rem;border:0;background:none;color:inherit;opacity:.6;cursor:pointer;font-size:1.2rem}.toast button:hover{opacity:1}
.toast:after{content:"";position:absolute;left:0;bottom:0;height:3px;background:var(--lime);width:100%;transform-origin:left;animation:timer 6.5s linear forwards}.toast.error:after{background:var(--red)}
@keyframes toastin{from{opacity:0;transform:translateX(40px) scale(.95)}}@keyframes timer{to{transform:scaleX(0)}}.toast.out{animation:toastout .3s var(--ease) forwards}@keyframes toastout{to{opacity:0;transform:translateX(40px)}}
/* ---- tabs / chips ---- */
.tabs{display:flex;gap:.3rem;flex-wrap:wrap;margin-bottom:1rem;padding:.25rem;background:var(--line-2);border-radius:12px;width:max-content;max-width:100%;overflow-x:auto}
.tabs a{padding:.4rem .85rem;border-radius:9px;color:var(--muted);font:600 .86rem var(--f-body);white-space:nowrap;transition:.2s}.tabs a:hover{color:var(--ink);text-decoration:none}.tabs a.on{background:var(--surface);color:var(--ink);box-shadow:0 1px 3px rgba(16,22,42,.12)}
.banner{display:flex;gap:.8rem;align-items:center;background:var(--lime);color:var(--lime-ink);padding:.8rem 1.1rem;border-radius:14px;margin-bottom:1.2rem;font-weight:500;flex-wrap:wrap}.banner a{color:var(--lime-ink);font-weight:700;text-decoration:underline}
.sharebox{display:flex;gap:.4rem}.sharebox input{font:.8rem var(--f-num)}
/* ---- charts ---- */
.chart{position:relative;height:250px}.chart svg{width:100%;height:100%;overflow:visible}.chart .grid-l{stroke:var(--line);stroke-dasharray:3 4}.chart .ax{fill:var(--muted);font:11px var(--f-body)}
.chart .ln{fill:none;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:var(--len);stroke-dashoffset:var(--len);animation:draw2 1.6s var(--ease) forwards}@keyframes draw2{to{stroke-dashoffset:0}}
.chart .ar{opacity:0;animation:fade .8s ease 1s forwards}@keyframes fade{to{opacity:1}}
.chart .pt{fill:var(--surface);stroke-width:2.5;transition:r .2s}.chart .hover-line{stroke:var(--ink);stroke-dasharray:3 3;opacity:0;transition:.15s}
.tip{position:absolute;pointer-events:none;background:var(--ink);color:var(--paper);padding:.5rem .7rem;border-radius:9px;font-size:.8rem;opacity:0;transform:translateY(4px);transition:.15s;white-space:nowrap;z-index:5}.tip b{font-family:var(--f-head)}
.legend{display:flex;gap:1rem;font-size:.8rem;color:var(--muted)}.legend i{display:inline-block;width:10px;height:10px;border-radius:3px;margin-right:.35rem}
.meter{height:8px;border-radius:99px;background:var(--line-2);overflow:hidden}.meter i{display:block;height:100%;border-radius:99px;background:var(--cobalt);width:0;transition:width 1.2s var(--ease)}
.hbar{display:grid;grid-template-columns:110px 1fr 90px;gap:.7rem;align-items:center;margin:.55rem 0;font-size:.88rem}
/* ---- line items editor ---- */
.lines{width:100%;border-collapse:separate;border-spacing:0 .4rem}.lines th{font:600 .68rem var(--f-body);text-transform:uppercase;letter-spacing:.1em;color:var(--muted);text-align:left;padding:.2rem .3rem}
.lines td{padding:0 .3rem;vertical-align:top}.lines tr.line{animation:rise .35s var(--ease)}.lines .c-a{text-align:right;padding-top:.7rem;font:600 .95rem var(--f-num);white-space:nowrap}
.lines .c-desc{width:34%}.lines .c-h{width:11%}.lines .c-q{width:8%}.lines .c-r{width:13%}.lines .c-t{width:8%}
.lines .stock-hint{font-size:.72rem;color:var(--muted);margin-top:2px}.lines .stock-hint.bad{color:var(--red);font-weight:600}
.totals{margin-left:auto;width:min(360px,100%)}.totals div{display:flex;justify-content:space-between;padding:.3rem 0}.totals .grand{border-top:2px solid var(--ink);font:800 1.4rem var(--f-head);margin-top:.4rem;padding-top:.6rem;letter-spacing:-.02em}.totals .words{font-size:.78rem;color:var(--muted);display:block;text-align:right}
.picker{position:relative}.picker-list{position:absolute;left:0;right:0;top:calc(100% + 4px);background:var(--surface);border:1px solid var(--line);border-radius:12px;box-shadow:0 20px 40px -16px rgba(10,16,40,.4);max-height:260px;overflow:auto;z-index:20;display:none}.picker-list.open{display:block;animation:menuin .18s var(--ease)}
.picker-list button{display:flex;justify-content:space-between;gap:1rem;width:100%;text-align:left;padding:.55rem .8rem;border:0;background:none;font:inherit;color:var(--ink);cursor:pointer}.picker-list button:hover,.picker-list button.act{background:var(--cobalt-soft)}
/* ---- paper (document preview) ---- */
.paper{--pc:var(--cobalt);background:#fff;color:#151a2d;border:1px solid var(--line);border-radius:6px;padding:2.4rem;box-shadow:0 30px 60px -30px rgba(10,16,40,.35);max-width:860px;margin:0 auto;font-size:.92rem;position:relative}
.paper .ph{display:flex;justify-content:space-between;gap:1.5rem;flex-wrap:wrap}.paper .biz img{max-height:70px;max-width:220px;margin-bottom:.5rem;display:block}.paper .biz b{font:700 1.1rem var(--f-head)}
.paper .dt{font:800 2rem var(--f-head);text-align:right;letter-spacing:-.03em;color:var(--pc)}.paper .pm{display:flex;justify-content:space-between;gap:1rem;margin:1.4rem 0;flex-wrap:wrap}
.paper .lb{font:700 .68rem var(--f-body);letter-spacing:.12em;text-transform:uppercase;color:var(--pc)}.paper table{width:100%;border-collapse:collapse;margin:1rem 0}
.paper th{background:var(--pc);color:#fff;text-align:left;padding:.55rem .6rem;font:600 .74rem var(--f-body);letter-spacing:.04em}.paper td{padding:.6rem;border-bottom:1px solid #eceae2;vertical-align:top}.paper td.n,.paper th.n{text-align:right;font-variant-numeric:tabular-nums}
.paper .pre{white-space:pre-line}.paper .tot{margin-left:auto;width:min(330px,100%)}.paper .tot div{display:flex;justify-content:space-between;padding:.25rem 0}.paper .tot .g{font:800 1.1rem var(--f-head);border-top:2px solid var(--pc);margin-top:.3rem;padding-top:.5rem;color:var(--pc)}
.paper .stamp{display:inline-block;border:3px solid;padding:.05rem .7rem;border-radius:6px;font:800 1.05rem var(--f-head);letter-spacing:.12em;transform:rotate(-6deg);margin-top:.4rem;animation:stamp .5s var(--spring) .3s both}@keyframes stamp{from{opacity:0;transform:rotate(-6deg) scale(2.4)}}
.paper h4{margin:1.4rem 0 .3rem;font-size:.9rem;color:var(--pc)}.paper .fine{font-size:.8rem;color:#6b7080}.paper .words{font-size:.8rem;color:#6b7080;margin-top:.5rem}
.paper.t-modern .ph{background:var(--pc);color:#fff;margin:-2.4rem -2.4rem 0;padding:1.6rem 2.4rem;border-radius:6px 6px 0 0}.paper.t-modern .ph .dt,.paper.t-modern .ph .biz b,.paper.t-modern .ph .fine{color:#fff}.paper.t-modern th{background:#151a2d}
.paper.t-minimal{--pc:#151a2d}.paper.t-minimal th{background:none;color:#151a2d;border-bottom:1.5px solid #151a2d}.paper.t-minimal .ph{border-bottom:1.5px solid #151a2d;padding-bottom:1rem}
.paper.t-bold .ph{flex-direction:row-reverse;border-bottom:6px solid #151a2d;padding-bottom:1rem}.paper.t-bold .dt{color:#151a2d;font-size:2.6rem;text-align:left}.paper.t-bold th{background:#151a2d}.paper.t-bold .tot .g{background:var(--pc);color:#fff;padding:.5rem .7rem;border:0}
.paper.t-elegant{font-family:Georgia,"Times New Roman",serif}.paper.t-elegant .ph{flex-direction:column;align-items:center;text-align:center;border-bottom:1px solid #151a2d;box-shadow:0 3px 0 -2px #fff,0 4px 0 -2px #151a2d;padding-bottom:1rem}.paper.t-elegant .dt{text-align:center;font-family:Georgia,serif;font-weight:400;letter-spacing:.2em;font-size:1.5rem}.paper.t-elegant th{background:none;color:#151a2d;border-bottom:1px solid #151a2d;font-family:Georgia,serif}.paper.t-elegant .biz img{margin:0 auto .5rem}
.pubbar{background:var(--surface);border-bottom:1px solid var(--line);padding:.8rem 1.4rem;display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap;position:sticky;top:0;z-index:20}
/* ---- theme picker (settings) ---- */
.themes{display:grid;grid-template-columns:repeat(5,1fr);gap:.7rem}.theme-opt{cursor:pointer}.theme-opt input{position:absolute;opacity:0}
.theme-opt .th{display:block;aspect-ratio:3/4;border:2px solid var(--line);border-radius:10px;background:#fff;padding:8px;position:relative;transition:.3s var(--spring);overflow:hidden}
.theme-opt:hover .th{transform:translateY(-4px) rotate(-1deg)}.theme-opt input:checked+.th{border-color:var(--cobalt);box-shadow:var(--shadow-hard);transform:translateY(-4px)}
.theme-opt .th i{display:block;height:5px;border-radius:2px;background:#dcd9cf;margin:4px 0}.theme-opt .th .hd{height:14px;background:var(--cobalt);border-radius:2px;margin-bottom:6px}
.theme-opt .th.modern .hd{height:22px;margin:-8px -8px 8px}.theme-opt .th.minimal .hd{background:none;border-bottom:2px solid #151a2d;height:8px}.theme-opt .th.bold .hd{background:#151a2d;height:8px;margin-top:2px}.theme-opt .th.elegant .hd{background:none;border-bottom:1px solid #151a2d;height:10px;width:60%;margin:0 auto 8px}
.theme-opt span.nm{display:block;text-align:center;font:600 .82rem var(--f-body);margin-top:.4rem}
.settings-nav{position:sticky;top:76px;display:grid;gap:2px;align-content:start}.settings-nav a{padding:.5rem .8rem;border-radius:9px;color:var(--muted);font-weight:600;font-size:.9rem}.settings-nav a:hover{background:var(--surface);color:var(--ink);text-decoration:none}.settings-nav a.on{background:var(--ink);color:var(--paper)}
.g-set{grid-template-columns:200px minmax(0,1fr);gap:1.6rem}
/* ---- command palette ---- */
.cmdk{position:fixed;inset:0;background:rgba(9,14,32,.55);backdrop-filter:blur(4px);z-index:300;display:none;align-items:flex-start;justify-content:center;padding-top:14vh}.cmdk.open{display:flex;animation:fade2 .15s}
@keyframes fade2{from{opacity:0}}.cmdk-box{width:min(600px,92vw);background:var(--surface);border-radius:18px;border:1px solid var(--line);box-shadow:0 40px 100px -20px rgba(0,0,0,.6);overflow:hidden;animation:menuin .25s var(--ease)}
.cmdk-box input{border:0;border-radius:0;border-bottom:1px solid var(--line);padding:1.1rem 1.3rem;font-size:1.05rem;box-shadow:none!important}
.cmdk-list{max-height:52vh;overflow:auto;padding:.4rem}.cmdk-list .grp{font:600 .68rem var(--f-body);text-transform:uppercase;letter-spacing:.12em;color:var(--muted);padding:.6rem .8rem .2rem}
.cmdk-list a{display:flex;align-items:center;gap:.7rem;padding:.55rem .8rem;border-radius:9px;color:var(--ink)}.cmdk-list a.act{background:var(--cobalt);color:#fff;text-decoration:none}.cmdk-list a .i{opacity:.7}
/* ---- pos ---- */
.pos{display:grid;grid-template-columns:minmax(0,1fr) 380px;gap:1rem;align-items:start}.pos-items{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:.7rem}
.pos-tile{position:relative;text-align:left;background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:.9rem;cursor:pointer;font:inherit;color:var(--ink);transition:transform .25s var(--spring),box-shadow .25s,border-color .2s;min-height:96px;display:flex;flex-direction:column;justify-content:space-between}
.pos-tile:hover{transform:translateY(-3px);border-color:var(--cobalt);box-shadow:var(--shadow-hard)}.pos-tile:active{transform:scale(.96)}.pos-tile b{font:700 .95rem var(--f-head);line-height:1.2}.pos-tile .pr{font:600 .9rem var(--f-num);color:var(--cobalt)}.pos-tile .st{font-size:.72rem;color:var(--muted)}.pos-tile .st.bad{color:var(--red)}
.pos-tile.flash{animation:flash .4s}@keyframes flash{50%{background:var(--lime)}}
.cart{position:sticky;top:78px;display:flex;flex-direction:column;max-height:calc(100vh - 100px)}.cart-lines{overflow:auto;flex:1;min-height:120px}
.cart-line{display:grid;grid-template-columns:1fr auto;gap:.3rem .6rem;padding:.6rem 0;border-bottom:1px dashed var(--line);animation:rise .3s var(--ease)}.cart-line .q{display:flex;align-items:center;gap:.3rem}.cart-line .q button{width:26px;height:26px;border-radius:8px;border:1px solid var(--line);background:var(--surface);cursor:pointer;color:var(--ink);font-weight:700}.cart-line .q button:hover{background:var(--ink);color:var(--paper)}
.cart .total{font:800 2rem var(--f-head);letter-spacing:-.03em}
/* ---- catalogue ---- */
.cat-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:1rem}
.cat-card{background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:1.2rem;display:flex;flex-direction:column;gap:.4rem;transition:transform .3s var(--spring),box-shadow .3s}.cat-card:hover{transform:translateY(-5px) rotate(-.6deg);box-shadow:var(--shadow-hard)}
.cat-card .pr{font:800 1.4rem var(--f-head);letter-spacing:-.02em}
/* ---- auth ---- */
.auth{min-height:100vh;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr)}
.auth-form{display:flex;flex-direction:column;justify-content:center;padding:3rem clamp(1.5rem,6vw,5rem);max-width:640px;width:100%;margin:0 auto}
.auth-form .brand{color:var(--ink);padding:0 0 2.2rem}.auth-art{background:var(--side);color:#fff;position:relative;overflow:hidden;display:grid;place-items:center;padding:3rem}
.auth-art:before{content:"";position:absolute;inset:-20%;background-image:linear-gradient(rgba(255,255,255,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.06) 1px,transparent 1px);background-size:44px 44px;animation:gridmove 24s linear infinite;transform:perspective(600px) rotateX(55deg) translateY(-8%)}
@keyframes gridmove{to{background-position:44px 44px,44px 44px}}
.auth-art .blob{position:absolute;width:420px;height:420px;border-radius:50%;background:radial-gradient(circle,rgba(43,75,255,.55),transparent 65%);top:-120px;right:-100px;filter:blur(20px);animation:float 9s ease-in-out infinite}@keyframes float{50%{transform:translate(-30px,40px)}}
.auth-art .quote{position:relative;max-width:420px}.auth-art h2{font:700 2.4rem var(--f-head);letter-spacing:-.035em;line-height:1.05;color:#fff}.auth-art h2 em{font-style:normal;background:var(--lime);color:var(--lime-ink);padding:0 .25em;border-radius:6px}
.auth-art ul{list-style:none;padding:0;margin:1.4rem 0 0;display:grid;gap:.6rem;color:#c6cbe0}.auth-art li{display:flex;gap:.6rem;align-items:center;animation:rise .6s var(--ease) both;animation-delay:calc(var(--i)*120ms + .3s)}.auth-art li .i{color:var(--lime)}
.mini-inv{position:relative;background:#fff;color:#151a2d;border-radius:12px;padding:1rem 1.1rem;width:260px;margin-top:2rem;transform:rotate(-3deg);box-shadow:8px 8px 0 var(--lime);animation:float 7s ease-in-out infinite}
.mini-inv .l{height:6px;border-radius:3px;background:#e4e0d5;margin:7px 0}.mini-inv b{font:800 .9rem var(--f-head)}.mini-inv .amt{font:800 1.4rem var(--f-head);color:var(--cobalt)}
.legal{font-size:.8rem;color:var(--muted);margin-top:1.6rem}
/* ---- misc ---- */
.split-tag{display:inline-flex;gap:.3rem}.kv{display:grid;grid-template-columns:auto 1fr;gap:.3rem 1rem}.kv dt{color:var(--muted)}.kv dd{margin:0;text-align:right;font-weight:600}
.timeline{list-style:none;margin:0;padding:0}.timeline li{position:relative;padding:.1rem 0 .9rem 1.4rem;border-left:2px solid var(--line);margin-left:.4rem}.timeline li:before{content:"";position:absolute;left:-6px;top:.35rem;width:10px;height:10px;border-radius:50%;background:var(--cobalt);box-shadow:0 0 0 3px var(--surface)}
hr.sep{border:0;border-top:1px solid var(--line);margin:1rem 0}
@media (max-width:1080px){.g4{grid-template-columns:repeat(2,1fr)}.g-main{grid-template-columns:1fr}.pos{grid-template-columns:1fr}.cart{position:static;max-height:none}}
@media (max-width:900px){.shell{grid-template-columns:1fr}.side{position:fixed;left:-270px;width:252px;z-index:90;transition:left .3s var(--ease)}.side.open{left:0;box-shadow:0 0 0 100vmax rgba(9,14,32,.55)}.menu-btn{display:grid}.cmdk-btn{min-width:0}.cmdk-btn span,.cmdk-btn kbd{display:none}
.content{padding:1.1rem 1rem 3rem}.top{padding:.6rem 1rem}.g3,.g2{grid-template-columns:1fr}.fgrid,.f3{grid-template-columns:1fr}.auth{grid-template-columns:1fr}.auth-art{display:none}.g-set{grid-template-columns:1fr}.settings-nav{position:static;display:flex;overflow:auto}.themes{grid-template-columns:repeat(3,1fr)}
.paper{padding:1.2rem}.paper.t-modern .ph{margin:-1.2rem -1.2rem 0;padding:1.2rem}.lines thead{display:none}.lines tr.line{display:grid;grid-template-columns:1fr 1fr 1fr;gap:.3rem;border:1px solid var(--line);border-radius:12px;padding:.6rem;margin-bottom:.5rem;background:var(--surface-2)}.lines td{width:auto!important}.lines .c-desc{grid-column:1/-1}.lines .c-a{text-align:left}}
@media (max-width:520px){.g4{grid-template-columns:1fr}.hbar{grid-template-columns:80px 1fr 70px}h1{font-size:1.6rem}.themes{grid-template-columns:repeat(2,1fr)}}
@media (prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-delay:0s!important;transition-duration:.001ms!important}.reveal{opacity:1;transform:none}.chart .ln{stroke-dashoffset:0}.chart .ar{opacity:1}.kpi .spark path{stroke-dashoffset:0}}
@media print{.side,.top,.pubbar,.noprint,.toasts{display:none!important}.shell{display:block}.paper{border:0;box-shadow:none}body{background:#fff}body:before{display:none}.content>*{animation:none}}
/* ---- super admin control room ---- */
.sa-hero{position:relative;overflow:hidden;background:var(--side);color:#fff;border-radius:22px;padding:2rem 2rem 1.6rem;margin-bottom:1.2rem;isolation:isolate}
.sa-hero:before{content:"";position:absolute;inset:0;z-index:-1;background-image:linear-gradient(rgba(255,255,255,.055) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.055) 1px,transparent 1px);background-size:40px 40px;mask-image:radial-gradient(120% 90% at 80% 0,#000,transparent 75%);-webkit-mask-image:radial-gradient(120% 90% at 80% 0,#000,transparent 75%);animation:gridpan 30s linear infinite}
@keyframes gridpan{to{background-position:40px 40px,40px 40px}}
.sa-hero:after{content:"";position:absolute;width:480px;height:480px;right:-140px;top:-220px;z-index:-1;border-radius:50%;background:radial-gradient(circle,rgba(43,75,255,.65),transparent 65%);filter:blur(10px);animation:float 10s ease-in-out infinite}
.sa-hero h1{color:#fff;margin:0 0 .3rem;font-size:2.3rem}.sa-hero .eyebrow{color:var(--lime)}.sa-hero .sub{color:#aab1cc;max-width:560px}
.sa-hero .live{display:inline-flex;align-items:center;gap:.4rem;font:600 .74rem var(--f-body);color:var(--lime);letter-spacing:.08em;text-transform:uppercase}.sa-hero .live:before{content:"";width:8px;height:8px;border-radius:50%;background:var(--lime);box-shadow:0 0 0 0 rgba(212,242,90,.6);animation:ping 1.8s infinite}@keyframes ping{70%{box-shadow:0 0 0 9px rgba(212,242,90,0)}100%{box-shadow:0 0 0 0 rgba(212,242,90,0)}}
.sa-nav{display:flex;gap:.3rem;margin-top:1.3rem;flex-wrap:wrap}.sa-nav a{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem .95rem;border-radius:99px;color:#c6cbe0;font-weight:600;font-size:.9rem;border:1px solid rgba(255,255,255,.14);transition:.25s var(--ease)}.sa-nav a:hover{background:rgba(255,255,255,.1);color:#fff;text-decoration:none}.sa-nav a.on{background:var(--lime);border-color:var(--lime);color:var(--lime-ink)}
.glass-row{display:grid;grid-template-columns:repeat(5,1fr);gap:.8rem;margin-top:1.6rem}
.glass{background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.12);border-radius:16px;padding:.95rem 1.05rem;backdrop-filter:blur(8px);transition:transform .35s var(--ease),background .3s}.glass:hover{transform:translateY(-3px);background:rgba(255,255,255,.11)}
.glass .k{font:600 .68rem var(--f-body);letter-spacing:.12em;text-transform:uppercase;color:#98a1c2}.glass .v{font:800 1.7rem var(--f-head);letter-spacing:-.03em;margin-top:.15rem;font-variant-numeric:tabular-nums}.glass .s{font-size:.78rem;color:#98a1c2}.glass .v.lime{color:var(--lime)}
.org-av{display:grid;place-items:center;width:38px;height:38px;border-radius:11px;color:#fff;font:800 .9rem var(--f-head);flex:none;letter-spacing:-.02em;background:var(--ink);box-shadow:inset 0 -3px 0 rgba(0,0,0,.18)}.org-av.lg{width:64px;height:64px;border-radius:18px;font-size:1.5rem}
.hp{display:inline-flex;align-items:center;gap:.4rem;padding:.14rem .62rem .14rem .5rem;border-radius:99px;font:600 .74rem var(--f-body);background:var(--line-2);color:var(--muted)}.hp:before{content:"";width:7px;height:7px;border-radius:50%;background:currentColor}
.hp.active{background:var(--green-soft);color:var(--green)}.hp.active:before{animation:blink 2s infinite}.hp.new{background:var(--lime);color:var(--lime-ink)}.hp.dormant{background:var(--amber-soft);color:var(--amber)}.hp.unverified{background:var(--sky-soft);color:var(--sky)}.hp.disabled{background:var(--red-soft);color:var(--red)}
.lead{display:grid;grid-template-columns:auto 1fr auto;gap:.8rem;align-items:center;padding:.6rem 0;border-bottom:1px solid var(--line-2);color:inherit}.lead:last-child{border-bottom:0}.lead:hover{text-decoration:none}.lead .rank{font:800 .8rem var(--f-num);color:var(--muted);width:1.2rem}
.lead:hover .nm{color:var(--cobalt)}.lead .nm{font-weight:600;transition:color .2s}
.feed{list-style:none;margin:0;padding:0}.feed li{display:flex;gap:.8rem;align-items:flex-start;padding:.65rem 0;border-bottom:1px solid var(--line-2);animation:rise .5s var(--ease) both;animation-delay:calc(var(--i,0)*60ms)}.feed li:last-child{border-bottom:0}
.feed .ic{display:grid;place-items:center;width:32px;height:32px;border-radius:9px;background:var(--cobalt-soft);color:var(--cobalt);flex:none}
.exp-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:1rem}
.exp-card{position:relative;background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:1.2rem;display:flex;flex-direction:column;gap:.35rem;overflow:hidden;transition:transform .35s var(--spring),box-shadow .3s,border-color .2s}
.exp-card:before{content:"";position:absolute;inset:auto -30% -60% auto;width:180px;height:180px;border-radius:50%;background:radial-gradient(circle,var(--cobalt-soft),transparent 70%);transition:transform .5s var(--ease)}
.exp-card:hover{transform:translateY(-5px);border-color:var(--cobalt);box-shadow:var(--shadow-hard)}.exp-card:hover:before{transform:scale(1.6)}
.exp-card .n{font:800 2rem var(--f-head);letter-spacing:-.04em;font-variant-numeric:tabular-nums}.exp-card .row{margin-top:auto;padding-top:.6rem;position:relative}
.bundle{background:var(--ink);color:var(--paper);border-radius:22px;padding:1.6rem;display:grid;grid-template-columns:1fr auto;gap:1.2rem;align-items:center;position:relative;overflow:hidden;margin-bottom:1.2rem}
.bundle:after{content:"";position:absolute;right:-60px;top:-60px;width:260px;height:260px;border-radius:50%;background:radial-gradient(circle,rgba(212,242,90,.35),transparent 65%)}.bundle h2{color:var(--paper);font-size:1.5rem;margin:0 0 .3rem}.bundle p{margin:0;color:color-mix(in srgb,var(--paper) 70%,transparent)}.bundle>*{position:relative;z-index:1}
.th-sort{color:inherit;display:inline-flex;align-items:center;gap:.25rem}.th-sort:hover{color:var(--ink);text-decoration:none}.th-sort.on{color:var(--cobalt)}
.orgcell{display:flex;align-items:center;gap:.75rem;min-width:220px}.orgcell b{display:block;line-height:1.2}.orgcell a{color:var(--ink)}.orgcell a:hover{color:var(--cobalt)}
.pager{display:flex;gap:.3rem;align-items:center;justify-content:center;padding:1rem}
.org-head{display:flex;gap:1.2rem;align-items:center;flex-wrap:wrap}.org-head h1{margin:0;color:#fff}
@media (max-width:1080px){.glass-row{grid-template-columns:repeat(2,1fr)}.bundle{grid-template-columns:1fr}}
@media (max-width:520px){.glass-row{grid-template-columns:1fr}.sa-hero{padding:1.3rem}.sa-hero h1{font-size:1.7rem}}

.feed a{color:var(--ink)}.feed a:hover{color:var(--cobalt)}

/* ---- live invoice preview (settings) ---- */
.look-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);gap:1.6rem;align-items:start}.preview-col{position:sticky;top:76px}
.preview-stage{position:relative;overflow:hidden;border-radius:14px;background:var(--line-2);padding:0;border:1px solid var(--line)}
.preview-scale{transform-origin:top left;padding:0;transition:transform .3s var(--ease)}.preview-scale .paper{margin:0;max-width:none;transition:width .4s var(--ease),box-shadow .3s;border-radius:0;box-shadow:none}
.paper.thermal{font-size:.85rem}.paper.thermal .ph{flex-direction:column;align-items:center;text-align:center}.paper.thermal .dt{font-size:1.2rem;text-align:center}.paper.thermal .pm{flex-direction:column}
.paper.thermal th:nth-child(3),.paper.thermal td:nth-child(3),.paper.thermal th:nth-child(6),.paper.thermal td:nth-child(6){display:none}
.theme-opt .th{transition:transform .3s var(--spring),border-color .2s,box-shadow .2s}
@media (max-width:1080px){.look-grid{grid-template-columns:1fr}.preview-col{position:static}}

/* ---- company credit ---- */
.side-foot span{color:#8992b3}.side-foot a{color:#aab3d4;word-break:break-all}.side-foot a:hover{color:#fff}
.app-foot{padding:1rem 1.8rem 2rem;font-size:.8rem;color:var(--muted);border-top:1px solid var(--line);margin-top:2rem;max-width:1240px}.app-foot a{color:var(--muted);text-decoration:underline;text-underline-offset:3px}.app-foot a:hover{color:var(--cobalt)}
.legal b{color:var(--ink-2)}
@media (max-width:900px){.app-foot{padding:1rem 1rem 2rem}}
