/* Ажилсаг design system ------------------------------------------------------------------------------------------
   Inter (variable, self-hosted), cobalt brand, slate neutrals. Light and dark are tuned separately, never inverted. */
@font-face{font-family:"Inter";src:url(/static/fonts/InterVariable.woff2) format("woff2");font-weight:100 900;font-style:normal;font-display:swap}

:root{--fs:1;
  --font:"Inter","Segoe UI Variable Text","Segoe UI",system-ui,-apple-system,Roboto,Arial,sans-serif;
  --bg:#f5f6f8;--panel:#fff;--panel-2:#f8f9fb;--panel-3:#f0f2f5;--line:#e4e7ec;--line-2:#d0d5dd;
  --text:#101828;--text-2:#344054;--muted:#5a6476;--faint:#768092;
  --brand:#2f5bea;--brand-solid:#2f5bea;--brand-2:#2449d1;--brand-soft:#eef2ff;--brand-ink:#1f45c9;--brand-line:#c7d4fe;
  --ok:#0e8a68;--ok-soft:#e7f6f0;--warn:#b26a0b;--warn-soft:#fdf4e3;--bad:#d4293a;--bad-soft:#fdecee;
  --info:#0b6bcb;--info-soft:#e9f2fc;--violet:#7444d4;--violet-soft:#f3eefd;
  --chart-1:#2f5bea;--chart-late:#c27803;--chart-track:#e8ebf0;--chart-grid:#eceef2;
  --radius:12px;--radius-sm:8px;--radius-xs:6px;
  --shadow-xs:0 1px 2px rgba(16,24,40,.05);
  --shadow:0 1px 2px rgba(16,24,40,.04),0 1px 3px rgba(16,24,40,.06);
  --shadow-md:0 6px 16px -4px rgba(16,24,40,.08),0 2px 4px -2px rgba(16,24,40,.04);
  --shadow-lg:0 24px 48px -12px rgba(16,24,40,.22),0 8px 16px -8px rgba(16,24,40,.08);
  --ring:0 0 0 4px color-mix(in srgb,var(--brand) 16%,transparent);
  --side:264px;--top:60px;
  color-scheme:light;
}
:root[data-theme=dark]{
  --bg:#0b0d12;--panel:#12151b;--panel-2:#161a21;--panel-3:#1c2129;--line:#242a35;--line-2:#323a47;
  --text:#eceff4;--text-2:#cdd3dd;--muted:#a0a9b8;--faint:#7f8899;
  --brand:#7591ff;--brand-solid:#4766ea;--brand-2:#5878f2;--brand-soft:#171f3a;--brand-ink:#aabcff;--brand-line:#2c3b6e;
  --ok:#3cc49f;--ok-soft:#0f2922;--warn:#e9a43c;--warn-soft:#2b2112;--bad:#ff6b76;--bad-soft:#331519;
  --info:#56a8f5;--info-soft:#0f2235;--violet:#b48eff;--violet-soft:#231a38;
  --chart-1:#5f7cf0;--chart-late:#b97c12;--chart-track:#212733;--chart-grid:#1e232c;
  --shadow-xs:0 1px 2px rgba(0,0,0,.4);--shadow:0 1px 2px rgba(0,0,0,.45);--shadow-md:0 8px 20px -6px rgba(0,0,0,.6);
  --shadow-lg:0 28px 56px -12px rgba(0,0,0,.75);--ring:0 0 0 4px color-mix(in srgb,var(--brand) 24%,transparent);
  color-scheme:dark;
}
*{box-sizing:border-box}
html,body{margin:0;background:var(--bg);color:var(--text);font:calc(14px*var(--fs))/1.5 var(--font);font-feature-settings:"cv11","ss01","ss03";-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}
a{color:var(--brand-ink);text-decoration:none}a:hover{text-decoration:underline;text-underline-offset:3px}
h1,h2,h3,h4{margin:0;line-height:1.25;letter-spacing:-.018em;color:var(--text)}
h1{font-size:calc(24px*var(--fs));font-weight:650;letter-spacing:-.025em}h2{font-size:calc(15px*var(--fs));font-weight:620}h3{font-size:calc(14px*var(--fs));font-weight:620}
p{line-height:1.6}
small,.muted{color:var(--muted)}.faint{color:var(--faint)}small{font-size:calc(12.5px*var(--fs))}
b,strong{font-weight:620}
button,input,select,textarea{font:inherit;color:inherit;font-feature-settings:inherit}
svg.i{width:18px;height:18px;flex:none;stroke:currentColor;fill:none;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
[hidden]{display:none!important}
::selection{background:color-mix(in srgb,var(--brand) 22%,transparent)}
:focus-visible{outline:none;box-shadow:var(--ring);border-radius:6px}
.num,.tnum{font-variant-numeric:tabular-nums}
kbd{font:600 calc(11px*var(--fs))/1 var(--font);padding:3px 6px;border-radius:5px;border:1px solid var(--line-2);border-bottom-width:2px;background:var(--panel);color:var(--muted)}
::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-thumb{background:var(--line-2);border-radius:99px;border:3px solid transparent;background-clip:content-box}
::-webkit-scrollbar-thumb:hover{background:var(--faint);background-clip:content-box;border:3px solid transparent}::-webkit-scrollbar-track{background:transparent}

/* ---------- controls ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;height:36px;padding:0 14px;border-radius:var(--radius-sm);border:1px solid var(--line-2);background:var(--panel);color:var(--text-2);
  cursor:pointer;font-size:calc(13.5px*var(--fs));font-weight:560;white-space:nowrap;box-shadow:var(--shadow-xs);transition:background .15s,border-color .15s,color .15s,box-shadow .15s,transform .05s;text-decoration:none!important;letter-spacing:-.005em}
.btn svg.i{width:16px;height:16px}
.btn:hover{background:var(--panel-2);border-color:color-mix(in srgb,var(--line-2) 60%,var(--faint));color:var(--text)}
.btn:active{transform:translateY(1px)}
.btn:focus-visible{box-shadow:var(--ring)}
.btn.primary{background:var(--brand-solid);border-color:transparent;color:#fff;box-shadow:inset 0 1px 0 rgba(255,255,255,.14),0 1px 2px rgba(16,24,40,.18),0 0 0 1px color-mix(in srgb,var(--brand-solid) 88%,#000)}
.btn.primary:hover{background:var(--brand-2);color:#fff}
.btn.danger{color:var(--bad);border-color:color-mix(in srgb,var(--bad) 35%,var(--line-2))}
.btn.danger:hover{background:var(--bad-soft);color:var(--bad)}
.btn.ghost{border-color:transparent;background:transparent;box-shadow:none;color:var(--muted)}.btn.ghost:hover{background:var(--panel-3);color:var(--text)}
.btn.sm{height:30px;padding:0 10px;font-size:calc(12.5px*var(--fs));border-radius:7px;gap:6px}.btn.sm svg.i{width:15px;height:15px}
.btn.lg{height:44px;padding:0 20px;font-size:calc(15px*var(--fs));border-radius:10px}
.btn.icon{width:36px;padding:0}.btn.sm.icon{width:30px}
.btn:disabled{opacity:.5;cursor:not-allowed;transform:none}
input,select,textarea{width:100%;height:36px;padding:0 12px;border:1px solid var(--line-2);border-radius:var(--radius-sm);background:var(--panel);outline:none;box-shadow:var(--shadow-xs);
  transition:border-color .15s,box-shadow .15s;font-size:calc(14px*var(--fs));color:var(--text)}
input::placeholder,textarea::placeholder{color:var(--faint)}
select{appearance:none;padding-right:34px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%238b94a5' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center}
select[multiple]{height:auto;padding:6px;background-image:none}
textarea{height:auto;min-height:88px;padding:9px 12px;line-height:1.55;resize:vertical}
input:hover,select:hover,textarea:hover{border-color:color-mix(in srgb,var(--line-2) 50%,var(--faint))}
input:focus,select:focus,textarea:focus{border-color:var(--brand);box-shadow:var(--ring)}
input:disabled,select:disabled,textarea:disabled{background:var(--panel-3);color:var(--muted);box-shadow:none}
input[type=checkbox],input[type=radio]{width:16px;height:16px;accent-color:var(--brand-solid);padding:0;box-shadow:none}
input[type=date]{padding-right:8px}
label.field{display:grid;gap:6px;font-size:calc(12.5px*var(--fs));color:var(--text-2);font-weight:550}
label.field>span.req::after{content:" *";color:var(--bad)}
label.field small{font-weight:400}
label.check{display:flex;align-items:center;gap:10px;cursor:pointer;color:var(--text);font-size:calc(13.5px*var(--fs))}
.form{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:16px;align-items:end}
.form .full{grid-column:1/-1}
.actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.actions.end{justify-content:flex-end}
.seg{display:inline-flex;background:var(--panel-3);border:1px solid var(--line);border-radius:10px;padding:3px;gap:2px}
.seg button{border:0;background:transparent;height:30px;padding:0 12px;border-radius:7px;cursor:pointer;color:var(--muted);font-weight:560;font-size:calc(13px*var(--fs))}
.seg button:hover{color:var(--text)}
.seg button.on{background:var(--panel);color:var(--text);box-shadow:var(--shadow)}
code{font:calc(12px*var(--fs))/1.4 ui-monospace,"Cascadia Code",Consolas,monospace;background:var(--panel-3);border:1px solid var(--line);border-radius:5px;padding:1px 5px}

/* ---------- surfaces ---------- */
.card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-xs)}
.card>.hd{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 18px;border-bottom:1px solid var(--line);min-height:56px}
.card>.hd h2{font-size:calc(15px*var(--fs))}
.card>.hd small{font-size:calc(12.5px*var(--fs))}
.card>.bd{padding:18px}
.card>.bd.flush{padding:0}
.card.pad{padding:18px}
a.card{transition:border-color .15s,box-shadow .15s,transform .15s}
a.card:hover{border-color:var(--brand-line);box-shadow:var(--shadow-md);text-decoration:none}
.grid{display:grid;gap:16px}
.g2{grid-template-columns:repeat(2,minmax(0,1fr))}.g3{grid-template-columns:repeat(3,minmax(0,1fr))}.g4{grid-template-columns:repeat(4,minmax(0,1fr))}
.split{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(0,1fr);gap:16px;align-items:start}
.stack{display:grid;gap:16px;align-content:start}
.row{display:flex;align-items:center;gap:10px}.row.wrap{flex-wrap:wrap}.row.between{justify-content:space-between}
.spacer{flex:1}

/* ---------- badges ---------- */
.badge{display:inline-flex;align-items:center;gap:6px;height:22px;padding:0 8px;border-radius:6px;font-size:calc(12px*var(--fs));font-weight:580;background:var(--panel-3);color:var(--text-2);
  border:1px solid transparent;white-space:nowrap;letter-spacing:-.003em}
.badge svg.i{width:13px;height:13px}
.badge.dot::before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor;flex:none}
.badge.ok{background:var(--ok-soft);color:var(--ok)}
.badge.warn{background:var(--warn-soft);color:var(--warn)}
.badge.bad{background:var(--bad-soft);color:var(--bad)}
.badge.info{background:var(--info-soft);color:var(--info)}
.badge.brand{background:var(--brand-soft);color:var(--brand-ink)}
.badge.violet{background:var(--violet-soft);color:var(--violet)}
.count{min-width:18px;height:18px;padding:0 5px;border-radius:999px;background:var(--bad);color:#fff;font-size:calc(10.5px*var(--fs));font-weight:700;display:inline-grid;place-items:center;font-variant-numeric:tabular-nums}

/* ---------- tables ---------- */
.tbl{width:100%;border-collapse:separate;border-spacing:0;font-size:calc(13.5px*var(--fs))}
.tbl th{position:sticky;top:0;background:var(--panel-2);text-align:left;font-size:calc(12px*var(--fs));font-weight:580;color:var(--muted);padding:10px 16px;border-bottom:1px solid var(--line);white-space:nowrap;z-index:1;letter-spacing:.005em}
.tbl td{padding:12px 16px;border-bottom:1px solid var(--line);vertical-align:middle;color:var(--text-2)}
.tbl td b{color:var(--text)}
.tbl tr:last-child td{border-bottom:0}
.tbl tbody tr{transition:background .1s}
.tbl tbody tr.click{cursor:pointer}.tbl tbody tr.click:hover td{background:var(--panel-2)}
.tbl .num{text-align:right;font-variant-numeric:tabular-nums}
.scroll{overflow:auto;max-width:100%}
.person{display:flex;align-items:center;gap:10px;min-width:0}
.person b{display:block;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.person small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.avatar{width:32px;height:32px;border-radius:50%;display:grid;place-items:center;font-weight:650;font-size:calc(12px*var(--fs));color:#fff;flex:none;background:var(--brand-solid);letter-spacing:.02em;box-shadow:inset 0 0 0 1px rgba(255,255,255,.12)}
.avatar.sm{width:26px;height:26px;font-size:calc(10.5px*var(--fs))}
.empty{padding:44px 20px;text-align:center;color:var(--muted);display:grid;justify-items:center;gap:10px;font-size:calc(13.5px*var(--fs))}
.empty svg.i{width:22px;height:22px;color:var(--muted);box-sizing:content-box;padding:13px;border-radius:14px;background:var(--panel-3);border:1px solid var(--line)}

/* ---------- app shell ---------- */
.shell{display:grid;grid-template-columns:var(--side) minmax(0,1fr);min-height:100vh}
.side{position:sticky;top:0;height:100vh;overflow:auto;background:var(--panel);border-right:1px solid var(--line);display:flex;flex-direction:column;padding:14px 12px 12px}
.logo{display:flex;align-items:center;gap:10px;font-weight:700;font-size:calc(17px*var(--fs));letter-spacing:-.025em;padding:4px 8px 14px;color:var(--text)!important;text-decoration:none!important}
.mark{width:30px;height:30px;border-radius:9px;display:grid;place-items:center;color:#fff;flex:none;
  background:linear-gradient(140deg,#4a74ff 0%,#2f5bea 45%,#2140b8 100%);box-shadow:inset 0 1px 0 rgba(255,255,255,.25),0 1px 2px rgba(16,24,40,.25),0 4px 10px -4px #2f5bea99}
.mark svg{width:19px;height:19px}
.orgcard{display:flex;align-items:center;gap:10px;padding:8px 10px;border:1px solid var(--line);border-radius:10px;margin-bottom:8px;background:var(--panel-2);box-shadow:var(--shadow-xs)}
.orgcard b{font-size:calc(13px*var(--fs));display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.orgcard small{font-size:calc(11.5px*var(--fs))}
.nav{display:grid;gap:1px}
.nav .grp{font-size:calc(11px*var(--fs));font-weight:620;color:var(--faint);text-transform:uppercase;letter-spacing:.07em;padding:16px 10px 6px}
.nav a{display:flex;align-items:center;gap:10px;min-height:34px;padding:5px 10px;line-height:1.25;border-radius:8px;color:var(--text-2);font-weight:540;font-size:calc(13.5px*var(--fs));text-decoration:none!important;position:relative;transition:background .12s,color .12s}
.nav a svg.i{color:var(--faint);width:17px;height:17px;transition:color .12s}
.nav a:hover{background:var(--panel-3);color:var(--text)}.nav a:hover svg.i{color:var(--text-2)}
.nav a.on{background:var(--brand-soft);color:var(--brand-ink);font-weight:600}
.nav a.on svg.i{color:var(--brand)}
.nav a.on::before{content:"";position:absolute;left:-12px;top:8px;bottom:8px;width:3px;border-radius:0 3px 3px 0;background:var(--brand)}
.nav a .count{margin-left:auto}
.side .foot{margin-top:auto;padding:12px 0 0;display:grid;gap:10px}
.trialbox{padding:12px;border-radius:10px;background:var(--brand-soft);border:1px solid var(--brand-line);font-size:calc(12.5px*var(--fs));color:var(--text-2)}
.trialbox b{color:var(--brand-ink)}
.trialbar{height:4px;border-radius:9px;background:color-mix(in srgb,var(--brand) 18%,transparent);margin:8px 0;overflow:hidden}.trialbar i{display:block;height:100%;background:var(--brand);border-radius:9px}
.main{min-width:0;display:flex;flex-direction:column}
.top{position:sticky;top:0;z-index:20;height:var(--top);display:flex;align-items:center;gap:10px;padding:0 28px;background:color-mix(in srgb,var(--bg) 82%,transparent);backdrop-filter:saturate(1.6) blur(12px);border-bottom:1px solid var(--line)}
.top .title{font-weight:600;font-size:calc(14px*var(--fs));display:flex;align-items:center;gap:8px;min-width:0;color:var(--text)}
.crumbs{display:flex;align-items:center;gap:6px;font-size:calc(13.5px*var(--fs));color:var(--muted);min-width:0;white-space:nowrap}
.crumbs .sep{color:var(--line-2)}
.crumbs b{color:var(--text);font-weight:600;overflow:hidden;text-overflow:ellipsis}
.searchbtn{display:flex;align-items:center;gap:8px;height:34px;width:300px;padding:0 8px 0 11px;border:1px solid var(--line);border-radius:9px;background:var(--panel);color:var(--faint);cursor:pointer;box-shadow:var(--shadow-xs);font-size:calc(13px*var(--fs));transition:border-color .15s}
.searchbtn:hover{border-color:var(--line-2);color:var(--muted)}
.searchbtn span{flex:1;text-align:left}
.searchbtn svg.i{width:16px;height:16px}
.content{padding:28px 32px 40px;max-width:1400px;width:100%;margin:0 auto;display:grid;gap:20px;align-content:start}
.pagehead{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;flex-wrap:wrap}
.pagehead p{margin:6px 0 0;color:var(--muted);font-size:calc(13.5px*var(--fs));line-height:1.5}
.pagehead>div>a.muted{display:inline-flex;align-items:center;gap:4px;font-size:calc(13px*var(--fs));font-weight:550}
.pagehead>div>a.muted svg.i{width:15px;height:15px}
.menuwrap{position:relative}
.dropdown{position:absolute;right:0;top:calc(100% + 8px);min-width:260px;background:var(--panel);border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow-lg);padding:6px;z-index:50;animation:pop .14s}
.dropdown a,.dropdown button.item{display:flex;width:100%;align-items:center;gap:10px;padding:8px 10px;border-radius:7px;color:var(--text-2);background:none;border:0;cursor:pointer;text-align:left;text-decoration:none!important;font-size:calc(13.5px*var(--fs))}
.dropdown a:hover,.dropdown button.item:hover{background:var(--panel-3);color:var(--text)}
.dropdown .sepline{height:1px;background:var(--line);margin:6px -6px}
.notif{max-height:440px;overflow:auto;width:360px}
.notif .n{display:block;padding:10px 12px;border-radius:8px;color:var(--text-2);text-decoration:none!important;font-size:calc(13px*var(--fs));position:relative}
.notif .n.unread{background:var(--brand-soft)}
.notif .n.unread::after{content:"";position:absolute;right:12px;top:14px;width:7px;height:7px;border-radius:50%;background:var(--brand)}
.burger{display:none}
.bottomnav{display:none}
.banner{display:flex;align-items:center;gap:12px;padding:12px 16px;border-radius:10px;background:var(--warn-soft);color:var(--text);border:1px solid color-mix(in srgb,var(--warn) 28%,transparent);font-size:calc(13.5px*var(--fs))}
.banner>svg.i{color:var(--warn)}
.banner.bad{background:var(--bad-soft);border-color:color-mix(in srgb,var(--bad) 28%,transparent)}.banner.bad>svg.i{color:var(--bad)}
.banner.info{background:var(--info-soft);border-color:color-mix(in srgb,var(--info) 24%,transparent)}.banner.info>svg.i{color:var(--info)}
.banner.ok{background:var(--ok-soft);border-color:color-mix(in srgb,var(--ok) 26%,transparent)}.banner.ok>svg.i{color:var(--ok)}

/* ---------- command palette ---------- */
.cmdback{position:fixed;inset:0;background:rgba(10,12,18,.42);backdrop-filter:blur(2px);z-index:120;display:flex;justify-content:center;align-items:flex-start;padding:12vh 16px 16px;animation:fade .12s}
.cmd{width:min(620px,100%);background:var(--panel);border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow-lg);overflow:hidden;animation:pop .16s}
.cmd .q{display:flex;align-items:center;gap:10px;padding:0 16px;border-bottom:1px solid var(--line)}
.cmd .q svg.i{color:var(--faint)}
.cmd .q input{border:0;box-shadow:none;height:52px;padding:0;font-size:calc(15px*var(--fs));background:transparent}
.cmd .list{max-height:380px;overflow:auto;padding:6px}
.cmd .grp{font-size:calc(11px*var(--fs));font-weight:620;color:var(--faint);text-transform:uppercase;letter-spacing:.07em;padding:10px 10px 4px}
.cmd .it{display:flex;align-items:center;gap:10px;padding:9px 10px;border-radius:8px;color:var(--text-2);cursor:pointer;font-size:calc(13.5px*var(--fs))}
.cmd .it svg.i{color:var(--faint);width:17px;height:17px}
.cmd .it small{margin-left:auto;color:var(--faint)}
.cmd .it.on{background:var(--brand-soft);color:var(--brand-ink)}.cmd .it.on svg.i{color:var(--brand)}
.cmd .ft{display:flex;gap:14px;padding:9px 14px;border-top:1px solid var(--line);background:var(--panel-2);font-size:calc(12px*var(--fs));color:var(--faint)}

/* ---------- stats & charts ---------- */
.stat{padding:16px 18px;display:grid;gap:4px}
.stat .lbl{display:flex;align-items:center;justify-content:space-between;color:var(--muted);font-size:calc(13px*var(--fs));font-weight:550}
.stat .val{font-size:calc(28px*var(--fs));font-weight:650;letter-spacing:-.03em;margin-top:6px;font-variant-numeric:tabular-nums;color:var(--text);line-height:1.15}
.stat .sub{font-size:calc(12.5px*var(--fs));color:var(--faint)}
.ico{width:32px;height:32px;border-radius:8px;display:grid;place-items:center;background:var(--brand-soft);color:var(--brand);flex:none}
.ico svg.i{width:17px;height:17px}
.ico.ok{background:var(--ok-soft);color:var(--ok)}.ico.warn{background:var(--warn-soft);color:var(--warn)}.ico.bad{background:var(--bad-soft);color:var(--bad)}.ico.violet{background:var(--violet-soft);color:var(--violet)}.ico.info{background:var(--info-soft);color:var(--info)}
.chart{display:flex;align-items:flex-end;gap:6px;height:150px;padding-top:10px}
.chart .col{flex:1;display:flex;flex-direction:column;align-items:center;gap:6px;height:100%;justify-content:flex-end;min-width:0}
.chart .bars{width:100%;max-width:24px;height:100%;display:flex;flex-direction:column;justify-content:flex-end;position:relative;border-radius:4px 4px 0 0;background:var(--chart-track)}
.chart .bar{width:100%;border-radius:4px 4px 0 0;background:var(--chart-1)}
.chart small{font-size:calc(10.5px*var(--fs));color:var(--faint)}
.legend{display:flex;gap:16px;flex-wrap:wrap;font-size:calc(12.5px*var(--fs));color:var(--muted);align-items:center}
.legend i{display:inline-block;width:10px;height:10px;border-radius:3px;margin-right:6px;vertical-align:-1px}
.vchart{position:relative}
.vchart svg{display:block;width:100%;height:auto;overflow:visible}
.vchart .grid-l{stroke:var(--chart-grid);stroke-width:1}
.vchart .axis{fill:var(--faint);font:500 calc(11px*var(--fs)) var(--font)}
.vchart .track{fill:var(--chart-track)}
.vchart .pres{fill:var(--chart-1)}
.vchart .late{fill:var(--chart-late)}
.vchart .hit{fill:transparent;cursor:default}
.vchart .hit:hover+.hl,.vchart g.col:hover .track{fill:color-mix(in srgb,var(--chart-track) 70%,var(--line-2))}
.tip{position:absolute;pointer-events:none;background:var(--panel);border:1px solid var(--line);box-shadow:var(--shadow-md);border-radius:9px;padding:8px 10px;font-size:calc(12px*var(--fs));color:var(--text-2);white-space:nowrap;transform:translate(-50%,calc(-100% - 10px));z-index:5;display:grid;gap:3px}
.tip b{color:var(--text);font-size:calc(12.5px*var(--fs))}
.tip .k{display:flex;align-items:center;gap:6px}.tip .k i{width:8px;height:8px;border-radius:2px;display:inline-block}

/* ---------- check-in ---------- */
.clock{display:grid;place-items:center;text-align:center;padding:28px 18px}
.clock .time{font-size:calc(48px*var(--fs));font-weight:650;letter-spacing:-.04em;font-variant-numeric:tabular-nums;line-height:1}
.punch{width:184px;height:184px;border-radius:50%;border:0;cursor:pointer;margin:22px auto 8px;display:flex;align-items:center;justify-content:center;color:#fff;font-weight:650;font-size:calc(16px*var(--fs));flex-direction:column;gap:4px;
  background:radial-gradient(circle at 30% 25%,#5d82ff,var(--brand-solid) 55%,#1f3fb3);box-shadow:0 0 0 10px color-mix(in srgb,var(--brand) 9%,transparent),0 20px 40px -14px color-mix(in srgb,var(--brand-solid) 80%,transparent),inset 0 -8px 18px rgba(0,0,0,.18),inset 0 2px 0 rgba(255,255,255,.2);transition:transform .15s}
.punch:hover{transform:scale(1.02)}.punch:active{transform:scale(.98)}
.punch.out{background:radial-gradient(circle at 30% 25%,#ff8a7a,#e5484d 55%,#b42232);box-shadow:0 0 0 10px #e5484d17,0 20px 40px -14px #e5484dcc,inset 0 -8px 18px rgba(0,0,0,.18),inset 0 2px 0 rgba(255,255,255,.2)}
.punch.done{background:radial-gradient(circle at 30% 25%,#4fd8b8,#12a587 55%,#0b7a63);box-shadow:0 0 0 10px #12a58717,0 20px 40px -14px #12a587cc,inset 0 -8px 18px rgba(0,0,0,.18);cursor:default}
.punch svg.i{width:38px;height:38px;margin-bottom:6px}
.punch:disabled{opacity:.6;cursor:not-allowed}
.timepair{display:grid;grid-template-columns:1fr 1fr;gap:12px;width:100%;max-width:360px;margin-top:14px}
.timepair div{background:var(--panel-2);border:1px solid var(--line);border-radius:10px;padding:10px}
.timepair b{display:block;font-size:calc(20px*var(--fs));font-variant-numeric:tabular-nums;font-weight:650}
.gps{display:flex;align-items:center;gap:8px;justify-content:center;font-size:calc(13px*var(--fs));color:var(--muted);margin-top:8px}

/* ---------- calendar / register ---------- */
.cal{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px}
.cal .dow{font-size:calc(11px*var(--fs));color:var(--faint);text-align:center;font-weight:600;padding:4px 0;text-transform:uppercase;letter-spacing:.05em}
.cal .d{min-height:74px;border:1px solid var(--line);border-radius:9px;padding:6px 8px;background:var(--panel);font-size:calc(12px*var(--fs));display:flex;flex-direction:column;gap:3px}
.cal .d.today{border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-soft)}
.cal .d.muted{background:transparent;border-style:dashed;opacity:.5}
.cal .d .n{font-weight:620;font-variant-numeric:tabular-nums}
.attsplit{grid-template-columns:minmax(0,1fr) minmax(0,1.45fr)}
.cal .d[data-s=present],.cal .d[data-s=departed]{box-shadow:inset 0 3px 0 var(--ok)}.cal .d[data-s=absent],.cal .d[data-s=missing]{box-shadow:inset 0 3px 0 var(--bad)}
.cal .d[data-s=leave]{box-shadow:inset 0 3px 0 var(--violet)}.cal .d[data-s=holiday]{box-shadow:inset 0 3px 0 var(--info)}.cal .d[data-s=incomplete],.cal .d[data-s=upcoming]{box-shadow:inset 0 3px 0 var(--warn)}
.cal .d.today{box-shadow:0 0 0 3px var(--brand-soft),inset 0 0 0 1px var(--brand)}
.cal .d small{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:calc(11px*var(--fs));line-height:1.3}
.st-present,.st-departed{color:var(--ok)}.st-absent{color:var(--bad)}.st-leave{color:var(--violet)}.st-upcoming{color:var(--warn)}.st-holiday{color:var(--info)}.st-off{color:var(--faint)}
.reg{border-collapse:separate;border-spacing:0;width:100%;table-layout:fixed}
.reg th,.reg td{border-bottom:1px solid var(--line);border-right:1px solid var(--line);padding:3px 1px;text-align:center;font-size:calc(11px*var(--fs))}
.reg th{background:var(--panel-2);position:sticky;top:0;z-index:1;font-weight:600;color:var(--muted)}
.reg th.wk{color:var(--bad)}
.reg .who{width:190px;text-align:left;padding:6px 10px;position:sticky;left:0;background:var(--panel);z-index:2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.reg th.who{z-index:3;background:var(--panel-2)}
.reg .sum{width:120px;background:var(--panel-2)}
.cell{display:grid;place-items:center;height:26px;border-radius:5px;font-weight:650;font-size:calc(12px*var(--fs));cursor:default}
.cell.present,.cell.departed{background:var(--ok-soft);color:var(--ok)}
.cell.absent{background:var(--bad-soft);color:var(--bad)}
.cell.leave{background:var(--violet-soft);color:var(--violet)}
.cell.upcoming{background:var(--warn-soft);color:var(--warn)}
.cell.holiday{background:var(--info-soft);color:var(--info)}
.cell.late{box-shadow:inset 0 -3px 0 var(--warn)}
.cell.click{cursor:pointer}.cell.click:hover{outline:2px solid var(--brand)}
.sched td{padding:2px}
.sched .slot{height:34px;border-radius:7px;display:grid;place-items:center;font-size:calc(10.5px*var(--fs));line-height:1.1;cursor:pointer;border:1px dashed var(--line-2);color:var(--faint)}
.sched .slot.def{border-style:solid;background:var(--panel-2);color:var(--muted)}
.sched .slot.exp{border:0;color:#fff;font-weight:600}
.sched .slot.off{border:0;background:var(--panel-3);color:var(--faint)}
.sched .slot.lock{cursor:not-allowed;opacity:.75}
.sched .slot:hover{outline:2px solid var(--brand)}

/* ---------- kanban ---------- */
.kanban{display:grid;grid-template-columns:repeat(4,minmax(240px,1fr));gap:14px;overflow-x:auto;padding-bottom:6px}
.kcol{background:var(--panel-2);border:1px solid var(--line);border-radius:12px;padding:10px;min-height:200px;display:flex;flex-direction:column;gap:8px}
.kcol.drop{outline:2px dashed var(--brand);outline-offset:-4px}
.kcol .kh{display:flex;align-items:center;justify-content:space-between;padding:4px 6px 6px;font-weight:620;font-size:calc(13px*var(--fs))}
.kcard{background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:11px 12px;cursor:pointer;box-shadow:var(--shadow-xs);display:grid;gap:8px;transition:border-color .15s,box-shadow .15s}
.kcard:hover{border-color:var(--brand-line);box-shadow:var(--shadow-md)}
.kcard .meta{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:calc(12px*var(--fs));color:var(--muted)}
.prio{width:8px;height:8px;border-radius:50%;display:inline-block}
.prio.low{background:var(--faint)}.prio.normal{background:var(--info)}.prio.high{background:var(--warn)}.prio.urgent{background:var(--bad)}
.progress{height:6px;background:var(--panel-3);border-radius:99px;overflow:hidden}.progress i{display:block;height:100%;background:var(--ok);border-radius:99px}

/* ---------- document ---------- */
.flowbar{display:flex;gap:0;flex-wrap:wrap;background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:4px;box-shadow:var(--shadow-xs)}
.flowbar span{flex:1;min-width:84px;text-align:center;font-size:calc(12.5px*var(--fs));font-weight:580;padding:7px 6px;border-radius:7px;color:var(--faint);position:relative}
.flowbar span.done{color:var(--ok)}
.flowbar span.done::before{content:"✓ ";font-weight:700}
.flowbar span.now{background:var(--brand-solid);color:#fff;box-shadow:var(--shadow)}
.timeline{display:grid;gap:0;position:relative}
.timeline .ev{display:grid;grid-template-columns:28px 1fr;gap:12px;padding-bottom:16px;position:relative;font-size:calc(13.5px*var(--fs))}
.timeline .ev::before{content:"";position:absolute;left:13.5px;top:30px;bottom:2px;width:1px;background:var(--line-2)}
.timeline .ev:last-child::before{display:none}
.timeline .dotc{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:var(--panel-2);color:var(--muted);border:1px solid var(--line)}
.timeline .dotc svg.i{width:14px;height:14px}
.filechip{display:inline-flex;align-items:center;gap:8px;padding:7px 12px;border:1px solid var(--line);border-radius:9px;background:var(--panel-2);color:var(--text-2);font-size:calc(13px*var(--fs))}
.filechip:hover{border-color:var(--brand-line);text-decoration:none}
.kv{display:grid;grid-template-columns:150px 1fr;gap:10px 14px;font-size:calc(13.5px*var(--fs))}
.kv dt{color:var(--muted)}.kv dd{margin:0;font-weight:540;color:var(--text)}
.tabs{display:flex;gap:2px;border-bottom:1px solid var(--line);overflow-x:auto;scrollbar-width:none}
.tabs a{display:inline-flex;align-items:center;padding:11px 12px;color:var(--muted);font-weight:560;font-size:calc(13.5px*var(--fs));border-bottom:2px solid transparent;margin-bottom:-1px;white-space:nowrap;text-decoration:none!important;transition:color .12s}
.tabs a:hover{color:var(--text)}
.tabs a.on{color:var(--text);border-color:var(--brand)}
.tabs a .count{margin-left:7px;background:var(--panel-3);color:var(--text-2)}
.tabs a.on .count{background:var(--brand-soft);color:var(--brand-ink)}

/* ---------- overlay ---------- */
.modalback{position:fixed;inset:0;background:rgba(10,12,18,.45);backdrop-filter:blur(3px);display:grid;place-items:center;z-index:100;padding:16px;animation:fade .15s}
.modal{background:var(--panel);border:1px solid var(--line);border-radius:16px;width:min(560px,100%);max-height:92vh;overflow:auto;box-shadow:var(--shadow-lg);animation:pop .18s}
.modal.wide{width:min(880px,100%)}
.modal .mh{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--line);position:sticky;top:0;background:var(--panel);z-index:2}
.modal .mh h2{font-size:calc(16px*var(--fs));font-weight:650}
.modal .mb{padding:20px}
.modal .mf{display:flex;justify-content:flex-end;gap:8px;padding:14px 20px;border-top:1px solid var(--line);background:var(--panel-2);border-radius:0 0 16px 16px;position:sticky;bottom:0}
.toasts{position:fixed;right:20px;bottom:20px;display:grid;gap:8px;z-index:200}
.toast{min-width:280px;max-width:400px;padding:12px 14px;border-radius:11px;background:#141821;color:#eceff4;box-shadow:var(--shadow-lg);display:flex;gap:10px;align-items:flex-start;animation:pop .2s;font-size:calc(13.5px*var(--fs));border:1px solid #262c38}
.toast svg.i{color:#7591ff;margin-top:1px}
.toast.bad svg.i{color:#ff7a84}.toast.ok svg.i{color:#3cc49f}
:root[data-theme=dark] .toast{background:#1c212b;border-color:#2e3542}
@keyframes fade{from{opacity:0}}@keyframes pop{from{opacity:0;transform:translateY(6px) scale(.985)}}
.spin{width:18px;height:18px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:rot .7s linear infinite;display:inline-block}
@keyframes rot{to{transform:rotate(360deg)}}
.skeleton{height:120px;border-radius:12px;background:linear-gradient(90deg,var(--panel-2),var(--panel-3),var(--panel-2));background-size:200% 100%;animation:sk 1.2s infinite}
@keyframes sk{to{background-position:-200% 0}}

/* ---------- public site ---------- */
.pub{min-height:100vh;background:var(--bg);position:relative;overflow-x:hidden}
.pub::before{content:"";position:absolute;inset:0 0 auto 0;height:780px;pointer-events:none;
  background:radial-gradient(900px 420px at 72% -8%,color-mix(in srgb,var(--brand) 16%,transparent),transparent 70%),
             radial-gradient(700px 360px at 8% 0%,color-mix(in srgb,var(--violet) 9%,transparent),transparent 70%)}
.pub::after{content:"";position:absolute;inset:0 0 auto 0;height:780px;pointer-events:none;opacity:.5;
  background-image:linear-gradient(var(--line) 1px,transparent 1px),linear-gradient(90deg,var(--line) 1px,transparent 1px);background-size:56px 56px;
  -webkit-mask-image:radial-gradient(ellipse 70% 60% at 50% 0%,#000 30%,transparent 75%);mask-image:radial-gradient(ellipse 70% 60% at 50% 0%,#000 30%,transparent 75%)}
.pub>*{position:relative;z-index:1}
.pubnav{max-width:1200px;margin:0 auto;display:flex;align-items:center;gap:16px;padding:18px 24px}
.pubnav nav{display:flex;gap:4px;margin-left:auto;align-items:center}
.pubnav nav .btn.ghost{color:var(--text-2)}
.hero{max-width:1200px;margin:0 auto;padding:64px 24px 48px;display:grid;grid-template-columns:1.05fr .95fr;gap:48px;align-items:center}
.hero h1{font-size:calc(54px*var(--fs));line-height:1.04;letter-spacing:-.045em;font-weight:720}
.hero h1 em{font-style:normal;background:linear-gradient(92deg,var(--brand) 10%,#7a5cff 90%);-webkit-background-clip:text;background-clip:text;color:transparent}
.hero p.lead{font-size:calc(18px*var(--fs));line-height:1.6;color:var(--muted);margin:20px 0 28px;max-width:560px}
.eyebrow{display:inline-flex;align-items:center;gap:8px;height:30px;padding:0 12px 0 6px;border-radius:99px;border:1px solid var(--line);background:var(--panel);box-shadow:var(--shadow-xs);font-size:calc(12.5px*var(--fs));font-weight:560;color:var(--text-2)}
.eyebrow b{background:var(--brand-soft);color:var(--brand-ink);border-radius:99px;padding:2px 8px;font-size:calc(11.5px*var(--fs))}
.checks{display:flex;gap:18px;flex-wrap:wrap;margin-top:18px;font-size:calc(13px*var(--fs));color:var(--muted)}
.checks span{display:inline-flex;align-items:center;gap:6px}.checks svg.i{width:15px;height:15px;color:var(--ok)}
.mock{border-radius:16px;border:1px solid var(--line);background:var(--panel);box-shadow:var(--shadow-lg),0 0 0 6px color-mix(in srgb,var(--panel) 55%,transparent);padding:14px;display:grid;gap:12px}
.mockbar{display:flex;align-items:center;gap:6px;padding:0 2px 4px}.mockbar i{width:9px;height:9px;border-radius:50%;background:var(--line-2)}
.mockbar span{margin-left:8px;font-size:calc(12px*var(--fs));color:var(--faint)}
.logos{max-width:1200px;margin:0 auto;padding:8px 24px 24px;text-align:center}
.logos p{font-size:calc(12.5px*var(--fs));color:var(--faint);text-transform:uppercase;letter-spacing:.08em;font-weight:600;margin:0 0 14px}
.logos div{display:flex;justify-content:center;gap:12px 36px;flex-wrap:wrap;color:var(--muted);font-weight:650;font-size:calc(15px*var(--fs));letter-spacing:-.01em}
.logos div span{display:inline-flex;align-items:center;gap:8px;opacity:.75}
.section{max-width:1200px;margin:0 auto;padding:56px 24px}
.section .kicker{display:block;text-align:center;font-size:calc(12.5px*var(--fs));font-weight:650;letter-spacing:.08em;text-transform:uppercase;color:var(--brand-ink);margin-bottom:10px}
.section h2.big{font-size:calc(36px*var(--fs));letter-spacing:-.035em;font-weight:700;text-align:center;line-height:1.15}
.section p.center{text-align:center;color:var(--muted);max-width:640px;margin:12px auto 36px;font-size:calc(16px*var(--fs))}
.feature{padding:22px;display:grid;gap:10px;align-content:start}
.feature h3{font-size:calc(15.5px*var(--fs))}
.feature .ico{width:40px;height:40px;border-radius:10px}.feature .ico svg.i{width:20px;height:20px}
.feature p{font-size:calc(14px*var(--fs))}
.band{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:center}
.band h2{font-size:calc(32px*var(--fs));letter-spacing:-.03em;line-height:1.15;font-weight:700}
.band ul{list-style:none;padding:0;margin:20px 0 0;display:grid;gap:12px}
.band li{display:flex;gap:10px;align-items:flex-start;color:var(--text-2)}
.band li svg.i{color:var(--brand);margin-top:2px}
.paper{background:#fff;color:#111;border-radius:6px;box-shadow:var(--shadow-lg);padding:28px 26px 26px 34px;font:11px/1.55 Arial,sans-serif;position:relative;aspect-ratio:210/250;overflow:hidden}
.paper .lh{text-align:center;color:#10307a;width:52%}.paper .lh b{display:block;font-size:calc(12px*var(--fs))}
.paper .stamp{position:absolute;right:22px;bottom:30px;border:2px solid #10307a;color:#10307a;padding:4px 8px;font-weight:700;font-size:calc(10px*var(--fs));transform:rotate(-6deg);border-radius:4px;opacity:.85}
.paper p{text-indent:24px;margin:0;text-align:justify}
.price{padding:24px;display:grid;gap:14px;position:relative;align-content:start}
.price.hot{border-color:var(--brand);box-shadow:0 0 0 1px var(--brand),var(--shadow-md)}
.price .amt{font-size:calc(32px*var(--fs));font-weight:700;letter-spacing:-.035em}
.price ul{margin:0;padding:0;list-style:none;display:grid;gap:9px;color:var(--text-2);font-size:calc(13.5px*var(--fs))}
.price li{display:flex;gap:8px;align-items:center}
.price li svg.i{color:var(--ok);width:16px;height:16px}
.cta{border-radius:20px;padding:44px;text-align:center;color:#fff;background:radial-gradient(600px 240px at 80% 0%,#5b7dff,transparent),linear-gradient(135deg,#1d3fb8,#2f5bea);box-shadow:var(--shadow-lg)}
.cta h2{color:#fff;font-size:calc(32px*var(--fs));letter-spacing:-.03em}.cta p{color:#dbe4ff;margin:10px 0 24px}
.cta .btn{background:#fff;color:#1d3fb8;border-color:transparent}
.authwrap{min-height:calc(100vh - 80px);display:grid;place-items:center;padding:24px}
.authcard{width:min(440px,100%);padding:30px}
.authcard.wide{width:min(680px,100%)}
.authcard h1{font-size:calc(24px*var(--fs))}
.authsplit{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);min-height:100vh;background:var(--panel)}
.authside{position:relative;overflow:hidden;padding:40px 48px;display:flex;flex-direction:column;color:#e9eeff;
  background:radial-gradient(700px 420px at 100% 0%,#4a6cff55,transparent 70%),radial-gradient(500px 360px at 0% 100%,#7a5cff40,transparent 70%),linear-gradient(160deg,#0f1b4d,#14256a 55%,#1b2f86)}
.authside::after{content:"";position:absolute;inset:0;opacity:.09;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='56' height='56' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='.6'%3E%3Cpath d='M12 3l4 4-4 4-4-4zM7 8l-4 4 4 4 4-4M17 8l4 4-4 4-4-4M12 13l4 4-4 4-4-4z'/%3E%3C/svg%3E");
  -webkit-mask-image:radial-gradient(ellipse 80% 70% at 100% 100%,#000,transparent 70%);mask-image:radial-gradient(ellipse 80% 70% at 100% 100%,#000,transparent 70%)}
.authside>*{position:relative;z-index:1}
.authside .logo{color:#fff!important;padding:0}
.authside h2{color:#fff;font-size:calc(34px*var(--fs));line-height:1.15;letter-spacing:-.035em;font-weight:700;margin-top:auto;max-width:460px}
.authside p{color:#b9c6f5;max-width:440px;font-size:calc(15px*var(--fs))}
.authside ul{list-style:none;padding:0;margin:22px 0 32px;display:grid;gap:12px}
.authside li{display:flex;gap:10px;align-items:center;color:#dbe3ff;font-size:calc(14px*var(--fs))}
.authside li span{width:28px;height:28px;border-radius:8px;display:grid;place-items:center;background:#ffffff14;border:1px solid #ffffff22}
.authside li svg.i{width:15px;height:15px;color:#c3d0ff}
.authside small{color:#8fa0d8}
.authmain{display:grid;place-items:center;padding:32px 24px;background:var(--bg)}
.authform{width:min(400px,100%)}
.authform h1{font-size:calc(26px*var(--fs))}
.authform>p{color:var(--muted);margin:8px 0 24px}
.demo{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}
.divider{display:flex;align-items:center;gap:12px;color:var(--faint);font-size:calc(12px*var(--fs));margin:22px 0 12px}.divider::before,.divider::after{content:"";flex:1;height:1px;background:var(--line)}
.foot{max-width:1200px;margin:0 auto;padding:32px 24px;color:var(--faint);font-size:calc(13px*var(--fs));display:flex;gap:16px;flex-wrap:wrap;justify-content:space-between;border-top:1px solid var(--line)}
.side .foot{border-top:0;max-width:none;margin-top:auto;padding:12px 0 0}

/* ---------- албан хэрэг хөтлөлт ---------- */
.a4wrap{background:repeating-linear-gradient(45deg,var(--panel-3) 0 10px,var(--panel-2) 10px 20px);border-radius:0 0 var(--radius) var(--radius);padding:16px}
.composer{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);gap:16px;align-items:start}
.composer .previewcol{position:sticky;top:calc(var(--top) + 12px)}
.clauses{display:grid;gap:8px;margin-bottom:8px}.clauses .cl{display:grid;grid-template-columns:22px 1fr 32px;gap:8px;align-items:start}
.clauses .cl b{padding-top:9px;color:var(--muted);font-variant-numeric:tabular-nums}
.visa{display:grid;grid-template-columns:160px 1fr 32px;gap:8px}
.chain{display:grid;gap:8px}
.chain .step{display:grid;grid-template-columns:28px 1fr auto;gap:10px;align-items:center;padding:10px 12px;border:1px solid var(--line);border-radius:10px;font-size:calc(13.5px*var(--fs))}
.chain .step.now{border-color:var(--brand-line);background:var(--brand-soft);box-shadow:0 0 0 3px color-mix(in srgb,var(--brand) 8%,transparent)}
.chain .num{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:var(--panel-2);font-weight:650;font-size:calc(12px*var(--fs));border:1px solid var(--line);color:var(--text-2)}
.chain .step.now .num{background:var(--brand-solid);color:#fff;border-color:transparent}
.tplgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:10px}
.tpl{display:block;text-align:left;border:1px solid var(--line);border-radius:10px;padding:13px 14px;background:var(--panel);color:var(--text);font:inherit;cursor:pointer;box-shadow:var(--shadow-xs);transition:border-color .15s,box-shadow .15s}
button.tpl:hover{border-color:var(--brand-line);box-shadow:var(--shadow-md)}
.tpl b{display:block;font-size:calc(13.5px*var(--fs))}.tpl small{display:block;margin-top:4px;font-size:calc(12px*var(--fs));line-height:1.45}
.h3{font-size:calc(11.5px*var(--fs));text-transform:uppercase;letter-spacing:.07em;color:var(--faint);margin:20px 0 8px;font-weight:650}

/* ---------- responsive ---------- */
@media (max-width:1180px){.g4{grid-template-columns:repeat(2,minmax(0,1fr))}.split{grid-template-columns:1fr}.hero,.band{grid-template-columns:1fr}.hero h1{font-size:calc(42px*var(--fs))}.composer{grid-template-columns:1fr}.composer .previewcol{position:static}.searchbtn{width:220px}}
@media (max-width:960px){.authsplit{grid-template-columns:1fr}.authside{display:none}}
@media (max-width:860px){
  .shell{grid-template-columns:1fr}
  .side{position:fixed;inset:0 auto 0 0;width:284px;z-index:60;transform:translateX(-100%);transition:transform .2s;box-shadow:var(--shadow-lg)}
  .side.open{transform:none}
  .burger{display:inline-flex}
  .top{padding:0 12px}
  .searchbtn{width:auto}.searchbtn span,.searchbtn kbd{display:none}
  .crumbs .org,.crumbs .sep{display:none}
  .content{padding:18px 14px 96px;gap:16px}
  h1{font-size:calc(21px*var(--fs))}
  .g2,.g3{grid-template-columns:1fr}
  .kanban{grid-template-columns:repeat(4,minmax(260px,86vw))}
  .bottomnav{display:grid;grid-template-columns:repeat(5,1fr);position:fixed;left:0;right:0;bottom:0;z-index:40;background:color-mix(in srgb,var(--panel) 92%,transparent);backdrop-filter:blur(12px);border-top:1px solid var(--line);padding:6px 4px calc(6px + env(safe-area-inset-bottom))}
  .bottomnav a{display:grid;justify-items:center;gap:2px;font-size:calc(11px*var(--fs));color:var(--muted);padding:4px;text-decoration:none!important;font-weight:550}
  .bottomnav a.on{color:var(--brand)}
  .kv{grid-template-columns:1fr;gap:2px}.kv dd{margin-bottom:8px}
  .hide-m{display:none!important}
  .hero{padding-top:36px}.hero h1{font-size:calc(36px*var(--fs))}
  .section h2.big{font-size:calc(28px*var(--fs))}
  .pubnav nav .btn.ghost{display:none}
  .visa{grid-template-columns:1fr}
}
@media (max-width:520px){.g4{grid-template-columns:1fr 1fr}.stat .val{font-size:calc(22px*var(--fs))}.punch{width:160px;height:160px}.modal .mb{padding:16px}.cta{padding:28px 20px}.hero h1{font-size:calc(32px*var(--fs))}}
@media print{.side,.top,.bottomnav,.actions,.btn{display:none!important}.content{padding:0}.card{box-shadow:none}}

/* disclosure pickers (reports) */
details>summary{list-style:none}details>summary::-webkit-details-marker{display:none}
details.card>summary{display:flex;align-items:center;gap:8px}
details.card>summary::after{content:"";margin-left:auto;width:16px;height:16px;flex:none;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%238b94a5' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") center/16px no-repeat;transition:transform .15s}
details.card[open]>summary::after{transform:rotate(180deg)}
details:not(.card)>summary::before{content:"";display:inline-block;width:6px;height:6px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(-45deg);margin-right:8px;vertical-align:2px;transition:transform .15s}
details[open]:not(.card)>summary::before{transform:rotate(45deg)}

/* onboarding */
.setup .steps{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:8px}
.setup .step{display:flex;align-items:center;gap:10px;padding:10px 12px;border:1px solid var(--line);border-radius:10px;color:var(--text-2);font-size:calc(13.5px*var(--fs));font-weight:540;text-decoration:none!important;transition:border-color .15s,background .15s}
.setup .step:hover{border-color:var(--brand-line);background:var(--brand-soft)}
.setup .step .tick{width:24px;height:24px;border-radius:50%;display:grid;place-items:center;background:var(--panel-3);color:var(--muted);flex:none}
.setup .step .tick svg.i{width:14px;height:14px}
.setup .step.done{color:var(--faint);text-decoration:line-through!important}
.setup .step.done .tick{background:var(--ok-soft);color:var(--ok)}

/* ---------- tasks (ClickUp-style) ---------- */
.tasklayout{display:grid;grid-template-columns:240px minmax(0,1fr);gap:16px;align-items:start}
.tside{padding:8px;position:sticky;top:calc(var(--top) + 12px);max-height:calc(100vh - var(--top) - 24px);overflow:auto}
.tside a{display:flex;align-items:center;gap:9px;height:34px;padding:0 10px;border-radius:8px;color:var(--text-2);font-size:calc(13.5px*var(--fs));font-weight:540;text-decoration:none!important}
.tside a svg.i{width:16px;height:16px;color:var(--faint)}
.tside a:hover{background:var(--panel-3)}.tside a.on{background:var(--brand-soft);color:var(--brand-ink);font-weight:600}.tside a.on svg.i{color:var(--brand)}
.tsgrp{font-size:calc(11px*var(--fs));font-weight:620;color:var(--faint);text-transform:uppercase;letter-spacing:.07em;padding:12px 10px 4px}
.tsgrp.row{padding-right:2px}
.ldot{width:9px;height:9px;border-radius:3px;flex:none}
.tmain{display:grid;gap:14px;min-width:0}
.ttools{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap}
.ttools .seg button{display:inline-flex;align-items:center;gap:6px}.ttools .seg svg.i{width:15px;height:15px}
.urgentbtn{color:var(--bad);border-color:color-mix(in srgb,var(--bad) 35%,var(--line-2))}.urgentbtn:hover{background:var(--bad-soft);color:var(--bad)}
.tlist{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-xs);overflow:hidden}
.thead,.trow{display:grid;grid-template-columns:minmax(0,1fr) 120px 130px 40px;gap:12px;align-items:center;padding:0 16px}
.thead{height:38px;background:var(--panel-2);border-bottom:1px solid var(--line);font-size:calc(12px*var(--fs));font-weight:580;color:var(--muted)}
.tgroup>summary{display:flex;align-items:center;gap:10px;padding:10px 16px;cursor:pointer;background:var(--panel);border-bottom:1px solid var(--line);font-size:calc(13px*var(--fs))}
.trow{min-height:52px;border-bottom:1px solid var(--line);cursor:pointer;transition:background .1s;font-size:calc(13.5px*var(--fs))}
.trow:hover{background:var(--panel-2)}
.trow.sub{grid-template-columns:minmax(0,1fr) 90px 110px}
.trow.isdone b{color:var(--faint);text-decoration:line-through}
.tname{display:flex;align-items:center;gap:12px;min-width:0;padding:8px 0}
.tname b{display:block;font-weight:560;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tmeta{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:3px;font-size:calc(12px*var(--fs))}
.tmeta svg.i{width:13px;height:13px;vertical-align:-2px}
.tmeta .badge{height:20px;font-size:calc(11.5px*var(--fs));padding:0 6px}
.sdot{width:18px;height:18px;border-radius:50%;border:2px solid var(--line-2);background:var(--panel);flex:none;display:grid;place-items:center;cursor:pointer;padding:0;color:#fff;transition:transform .1s}
.sdot:hover{transform:scale(1.12);border-color:var(--brand)}
.sdot.in_progress{border-color:var(--info);background:radial-gradient(circle,var(--info) 0 3.5px,transparent 4px)}
.sdot.review{border-color:var(--violet);background:radial-gradient(circle,var(--violet) 0 3.5px,transparent 4px)}
.sdot.done{border-color:var(--ok);background:var(--ok)}.sdot.done svg.i{width:11px;height:11px;stroke-width:3}
.sdot.cancelled{border-style:dashed}
.quick{display:flex;align-items:center;gap:12px;padding:6px 16px;border-bottom:1px solid var(--line);background:var(--panel-2)}
.quick input{border:0;box-shadow:none;background:transparent;height:38px;padding:0}.quick input:focus{box-shadow:none}
.quick kbd{opacity:.6}
.avstack{display:inline-flex;align-items:center}.avstack>span{margin-left:-7px;border-radius:50%;box-shadow:0 0 0 2px var(--panel)}.avstack>span:first-child{margin-left:0}
.avstack .more{width:26px;height:26px;display:grid;place-items:center;background:var(--panel-3);color:var(--muted);font-size:calc(11px*var(--fs));font-weight:650}
.flag{display:inline-grid;place-items:center}.flag svg.i{width:16px;height:16px}
.flag.low{color:var(--faint)}.flag.normal{color:var(--info)}.flag.high{color:var(--warn)}.flag.urgent{color:var(--bad)}.flag.urgent svg.i{fill:var(--bad)}
.lchip{display:inline-flex;align-items:center;gap:5px;font-size:calc(11.5px*var(--fs));color:var(--muted);font-weight:550}.lchip i{width:7px;height:7px;border-radius:2px}
.tag{display:inline-flex;align-items:center;height:20px;padding:0 7px;border-radius:5px;background:var(--violet-soft);color:var(--violet);font-size:calc(11.5px*var(--fs));font-weight:560}
.plancard .progress i{transition:width .3s}
.tcal{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px}
.tcal .dow{font-size:calc(11px*var(--fs));color:var(--faint);text-align:center;font-weight:600;text-transform:uppercase;letter-spacing:.05em;padding:4px 0}
.tday{min-height:108px;border:1px solid var(--line);border-radius:9px;padding:6px;display:flex;flex-direction:column;gap:3px;background:var(--panel);min-width:0}
.tday.today{border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-soft)}
.tday .n{font-size:calc(12px*var(--fs));font-weight:620;color:var(--muted);font-variant-numeric:tabular-nums}
.tchip{display:block;font-size:calc(11.5px*var(--fs));padding:2px 6px;border-radius:5px;background:var(--brand-soft);color:var(--brand-ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-decoration:none!important;border-left:3px solid var(--brand)}
.tchip.urgent{background:var(--bad-soft);color:var(--bad);border-color:var(--bad)}.tchip.high{background:var(--warn-soft);color:var(--warn);border-color:var(--warn)}
.tchip.isdone{opacity:.55;text-decoration:line-through!important}
.gantt{--cw:30px;min-width:calc(220px + var(--days) * var(--cw));font-size:calc(12px*var(--fs))}
.gr{display:grid;grid-template-columns:220px 1fr;border-bottom:1px solid var(--line);min-height:38px;align-items:center}
.gh{display:grid;grid-template-columns:220px repeat(var(--days),var(--cw));position:sticky;top:0;background:var(--panel-2);border-bottom:1px solid var(--line);height:34px;align-items:center}
.gh span{text-align:center;color:var(--muted);font-variant-numeric:tabular-nums;font-size:calc(11px*var(--fs))}.gh span.wk{color:var(--faint);background:var(--panel-3);align-self:stretch;display:grid;place-items:center}
.gh span.td{color:#fff;background:var(--brand-solid);border-radius:6px;align-self:center;height:22px;display:grid;place-items:center}
.gn{padding:0 12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--text-2);font-weight:540;text-decoration:none!important}
.gl{position:relative;height:38px;background:repeating-linear-gradient(90deg,transparent 0 calc(var(--cw) - 1px),var(--chart-grid) calc(var(--cw) - 1px) var(--cw))}
.gtoday{position:absolute;top:0;bottom:0;width:var(--cw);background:color-mix(in srgb,var(--brand) 8%,transparent)}
.gb{position:absolute;top:7px;height:24px;margin-left:2px;border-radius:6px;background:var(--chart-1);color:#fff;display:flex;align-items:center;gap:6px;padding:0 6px;overflow:hidden;white-space:nowrap;font-size:calc(11.5px*var(--fs));font-weight:560;text-decoration:none!important;box-shadow:var(--shadow-xs)}
.gb .avstack>span{box-shadow:0 0 0 1.5px var(--chart-1)}.gb .avatar.sm{width:18px;height:18px;font-size:calc(8px*var(--fs))}
.gb.urgent{background:var(--bad)}.gb.high{background:var(--chart-late)}.gb.done{opacity:.45}
.taskform{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:20px}
.pp{border:1px solid var(--line-2);border-radius:10px;overflow:hidden;background:var(--panel)}
.pp input[type=search]{border:0;border-bottom:1px solid var(--line);border-radius:0;box-shadow:none}
.pplist{max-height:220px;overflow:auto;padding:4px}
.ppit{display:flex;align-items:center;gap:10px;padding:6px 8px;border-radius:7px;cursor:pointer;color:var(--text);font-weight:400}
.ppit:hover{background:var(--panel-3)}.ppit b{display:block;font-weight:560;font-size:calc(13px*var(--fs))}.ppit small{display:block;font-size:calc(11.5px*var(--fs))}
.ppit:has(input:checked){background:var(--brand-soft)}
.statusgrid{display:grid;grid-template-columns:1fr 1fr;gap:8px}
@media (max-width:1100px){.tasklayout{grid-template-columns:1fr}.tside{position:static;max-height:none;display:flex;flex-wrap:wrap;gap:2px}.tside .tsgrp{width:100%}.taskform{grid-template-columns:1fr}}
@media (max-width:700px){.thead{display:none}.trow{grid-template-columns:minmax(0,1fr) auto;padding:0 12px}.trow>div:nth-child(3),.trow>div:nth-child(4){display:none}.tday{min-height:64px}.tchip{font-size:calc(10px*var(--fs))}}
.tside a{min-width:0}.tside a>span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1;min-width:0}
.tmain>*{min-width:0}

/* ---------- KPI ---------- */
.scorebox{display:grid;justify-items:center;text-align:center;position:relative;padding:22px 18px}
.ring{width:150px;height:150px;transform:rotate(-90deg)}
.ring circle{fill:none;stroke-width:7;stroke-linecap:round}.ring .trk{stroke:var(--panel-3)}.ring .val{transition:stroke-dasharray .4s}
.scoreval{position:absolute;top:58px;left:0;right:0}.scoreval div{font-size:calc(34px*var(--fs));font-weight:680;letter-spacing:-.03em;line-height:1}.scoreval small{font-size:calc(11.5px*var(--fs))}
.kpiedit td{vertical-align:top}.kpiedit input,.kpiedit select{height:34px;font-size:calc(13px*var(--fs))}
/* grid children never widen their track beyond the column (wide tables scroll inside their card) */
.stack>*,.split>*{min-width:0}
.tbl.compact th,.tbl.compact td{padding-left:10px;padding-right:10px}.tbl.compact th:first-child,.tbl.compact td:first-child{padding-left:16px}

/* ---------- display preferences ---------- */
[data-density=compact] .tbl td,[data-density=compact] .tbl th{padding-top:7px;padding-bottom:7px}
[data-density=compact] .card>.hd{padding:10px 16px;min-height:46px}
[data-density=compact] .card>.bd,[data-density=compact] .card.pad{padding:14px}
[data-density=compact] .content{gap:14px;padding-top:20px}
[data-density=compact] .nav a{min-height:31px;padding-top:3px;padding-bottom:3px}
.tbl .num{white-space:nowrap}
.tbl td .actions{flex-wrap:nowrap;gap:2px}
[data-motion=reduced] *,[data-motion=reduced] *::before,[data-motion=reduced] *::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition:none!important;scroll-behavior:auto!important}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition:none!important}}
.dropdown.disp{min-width:330px;padding:12px}
.disp .dhd{font-weight:650;margin-bottom:10px;display:flex;align-items:baseline;gap:8px}
.disp .drow{display:grid;gap:6px;margin-bottom:12px}
.disp .drow:last-child{margin-bottom:0}
.disp .drow>span{font-size:calc(12px*var(--fs));font-weight:600;color:var(--muted)}
.disp .seg{display:flex;width:100%}
.disp .seg button{flex:1;display:inline-flex;align-items:center;justify-content:center;gap:6px;height:auto;min-height:32px;padding:4px 6px}
.disp .seg button svg.i{width:15px;height:15px}
.disp .seg.fs button{flex-direction:column;gap:0;padding:6px 4px;line-height:1.1}
.disp .seg.fs button small{font-size:10.5px;color:var(--faint);font-weight:500}
.nav .fold{display:flex;align-items:center;justify-content:space-between;width:100%;background:none;border:0;cursor:pointer;font-family:inherit;text-align:left;border-radius:6px}
.nav .fold:hover{color:var(--muted)}
.nav .fold svg.i{width:13px;height:13px;transition:transform .15s}
.nav .fold[aria-expanded=true] svg.i{transform:rotate(90deg)}
html.busy::after{content:"";position:fixed;left:0;top:0;height:2px;width:35%;background:var(--brand);z-index:1000;border-radius:0 2px 2px 0;animation:busy 1s ease-in-out infinite}
@keyframes busy{0%{transform:translateX(-100%)}100%{transform:translateX(300%)}}
.content>*{min-width:0}
.orgcard img.orglogo{width:32px;height:32px;border-radius:8px;object-fit:contain;background:#fff;border:1px solid var(--line);flex:none}
.swatches{gap:8px}
.swatch{width:34px;height:34px;border-radius:10px;border:2px solid var(--panel);background:var(--c);box-shadow:0 0 0 1px var(--line);cursor:pointer;color:#fff;font-weight:700;font-size:12px;padding:0;display:grid;place-items:center}
.swatch.on{box-shadow:0 0 0 2px var(--text)}
.swatch.custom{background:conic-gradient(#e5484d,#f5a524,#30a46c,#0b6bcb,#7444d4,#e5484d);position:relative;overflow:hidden}
.swatch.custom input{position:absolute;inset:0;opacity:0;cursor:pointer;width:100%;height:100%}
.logobox{width:150px;height:64px;border:1px dashed var(--line-2);border-radius:10px;display:grid;place-items:center;background:#fff;overflow:hidden}
.logobox img{max-width:140px;max-height:56px;object-fit:contain}
.svc{display:flex;flex-direction:column;justify-content:space-between}
.permgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:14px 22px;margin-top:8px}
.permgrp{font-size:calc(11.5px*var(--fs));font-weight:650;color:var(--muted);text-transform:uppercase;letter-spacing:.06em;margin:4px 0 6px}
.permrow{display:flex;align-items:center;gap:8px;padding:5px 0}
.permrow span:first-of-type{flex:1}
.permrow.off{opacity:.55}
.pf{position:relative;min-width:0}
.pfbtn{width:100%;display:flex;align-items:center;gap:8px;min-height:38px;padding:5px 10px;border:1px solid var(--line-2);border-radius:var(--radius-sm);background:var(--panel);color:var(--text);cursor:pointer;text-align:left;font:inherit}
.pfbtn:focus-visible{outline:0;box-shadow:var(--ring);border-color:var(--brand)}
.pfbtn svg.i{width:14px;height:14px;color:var(--faint);transform:rotate(90deg);flex:none}
.pflabel{flex:1;min-width:0;display:flex;flex-direction:column;line-height:1.25}
.pflabel small,.pfit small{display:block;font-size:calc(12px*var(--fs));white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pfpop{position:absolute;z-index:60;left:0;right:0;top:calc(100% + 4px);min-width:280px;background:var(--panel);border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow-lg);padding:6px}
.pfpop input{width:100%;margin-bottom:6px}
.pflist{max-height:280px;overflow:auto}
.pfgrp{font-size:calc(11px*var(--fs));font-weight:650;color:var(--faint);text-transform:uppercase;letter-spacing:.06em;padding:8px 8px 4px}
.pfit{display:flex;align-items:center;gap:10px;padding:6px 8px;border-radius:8px;cursor:pointer}
.pfit span{min-width:0;display:flex;flex-direction:column;line-height:1.25}
.pfit:hover,.pfit.on{background:var(--panel-3)}
.chips{display:flex;flex-wrap:wrap;gap:6px}
.chip{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border:1px solid var(--line);border-radius:999px;font-size:calc(12.5px*var(--fs));cursor:pointer}
.chip:has(input:checked){background:var(--brand-soft);border-color:var(--brand-line);color:var(--brand-ink)}
.rstep{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.rstep>select{max-width:220px}
.routelist{margin:14px 0 0;padding-left:20px;display:grid;gap:8px}
.nowrap{white-space:nowrap}
.modrow{display:flex;align-items:flex-start;gap:12px;padding:12px 14px;border:1px solid var(--line);border-radius:12px;cursor:pointer}
.modrow input{margin-top:3px}
.modrow span{display:flex;flex-direction:column;gap:2px}
.modrow:has(input:checked){border-color:var(--brand-line);background:color-mix(in srgb,var(--brand-soft) 45%,transparent)}
.modrow.sub{margin-left:28px}
.modrow.sub.off{opacity:.45}
.stars{display:flex;gap:4px}
.stars button{background:none;border:0;font-size:28px;line-height:1;color:var(--line-2);cursor:pointer;padding:0 2px}
.stars button.on{color:#f5a524}
.fbfield{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.qrbox{display:grid;place-items:center;background:#fff;border-radius:12px;padding:12px;border:1px solid var(--line)}
.qrbox img{width:220px;height:220px}
.kv{display:grid;grid-template-columns:max-content 1fr;gap:6px 14px;margin:0}
.kv dt{color:var(--muted)}.kv dd{margin:0}
.vertag{display:block;padding:4px 10px;color:var(--faint);font-size:calc(12px*var(--fs));text-decoration:none!important}
.vertag:hover{color:var(--text-2)}
.releases{display:grid;gap:4px}
.release{padding:14px 0;border-bottom:1px solid var(--line)}.release:last-child{border-bottom:0}
.release .ver{font-size:calc(13px*var(--fs));color:var(--brand)}
.release h3{margin:4px 0 0;font-size:calc(15.5px*var(--fs))}
.release ul{margin:10px 0 0;padding-left:20px;display:grid;gap:5px;color:var(--text-2)}
.updatebar{position:fixed;left:50%;bottom:18px;transform:translateX(-50%);z-index:60;display:flex;align-items:center;gap:12px;max-width:calc(100% - 32px);
  padding:10px 12px 10px 16px;border-radius:12px;background:var(--panel);border:1px solid var(--line);box-shadow:0 10px 30px rgba(0,0,0,.25);font-size:calc(13.5px*var(--fs))}
.updatebar>svg.i{color:var(--brand);flex:none}
@media (max-width:720px){.updatebar{bottom:76px;flex-wrap:wrap}}
