@font-face{font-family:Be Vietnam Pro;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/be-vietnam-pro-vietnamese-400-normal.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/be-vietnam-pro-latin-400-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/be-vietnam-pro-vietnamese-500-normal.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/be-vietnam-pro-latin-500-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/be-vietnam-pro-vietnamese-600-normal.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/be-vietnam-pro-latin-600-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/be-vietnam-pro-vietnamese-700-normal.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/be-vietnam-pro-latin-700-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-weight:800;font-display:swap;src:url(/fonts/be-vietnam-pro-vietnamese-800-normal.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-weight:800;font-display:swap;src:url(/fonts/be-vietnam-pro-latin-800-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--red:#E31E27;--red-deep:#B8141C;--red-dark:#8A0E14;--red-tint:#FDECEC;--red-ink:#B8141C;--gold:#F3BE18;--gold-deep:#C99400;--gold-tint:#FFF6D9;--bg:#FAF6F3;--surface:#FFFFFF;--surface-2:#FBF8F6;--line:#EDE3DE;--line-strong:#DCCFC8;--ink:#2A1A17;--ink-2:#4B3A36;--muted:#77645E;--faint:#A8968F;--ok:#17804A;--ok-tint:#E6F4EC;--warn:#A86A00;--warn-tint:#FFF3D6;--bad:#C2161E;--bad-tint:#FDECEC;--info:#1F5FBF;--info-tint:#E8F0FC;--side-1:#E31E27;--side-2:#B8141C;--side-3:#7E0C12;--on-side:#FFFFFF;--on-side-mute:rgba(255,255,255,.72);--font:"Be Vietnam Pro",system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;--r-sm:8px;--r:12px;--r-lg:18px;--sh-1:0 1px 2px rgba(60,20,10,.06),0 1px 1px rgba(60,20,10,.04);--sh-2:0 6px 18px rgba(60,20,10,.08),0 2px 6px rgba(60,20,10,.05);--sh-3:0 18px 50px rgba(60,20,10,.18);--side-w:272px;--top-h:64px;--bnav-h:68px;color-scheme:light}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#140D0C;--surface:#1E1514;--surface-2:#251A18;--line:#3A2B28;--line-strong:#4D3934;--ink:#F6EDEA;--ink-2:#E3D3CE;--muted:#B9A49E;--faint:#8C7871;--red-tint:#3A1517;--red-ink:#FF8A8F;--gold-tint:#3A2E0B;--ok:#4CC587;--ok-tint:#173325;--warn:#F0B44C;--warn-tint:#3A2C12;--bad:#FF7A80;--bad-tint:#3A1517;--info:#7DB0FF;--info-tint:#16263E;--side-1:#A3141B;--side-2:#7E0C12;--side-3:#4A070B;--sh-1:none;--sh-2:0 6px 18px rgba(0,0,0,.35);--sh-3:0 18px 50px rgba(0,0,0,.55);color-scheme:dark}}:root[data-theme=dark]{--bg:#140D0C;--surface:#1E1514;--surface-2:#251A18;--line:#3A2B28;--line-strong:#4D3934;--ink:#F6EDEA;--ink-2:#E3D3CE;--muted:#B9A49E;--faint:#8C7871;--red-tint:#3A1517;--red-ink:#FF8A8F;--gold-tint:#3A2E0B;--ok:#4CC587;--ok-tint:#173325;--warn:#F0B44C;--warn-tint:#3A2C12;--bad:#FF7A80;--bad-tint:#3A1517;--info:#7DB0FF;--info-tint:#16263E;--side-1:#A3141B;--side-2:#7E0C12;--side-3:#4A070B;--sh-1:none;--sh-2:0 6px 18px rgba(0,0,0,.35);--sh-3:0 18px 50px rgba(0,0,0,.55);color-scheme:dark}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;background:var(--bg);color:var(--ink);font:400 15px/1.55 var(--font);-webkit-font-smoothing:antialiased}a{color:var(--red-ink);text-decoration:none}a:hover{text-decoration:underline}h1,h2,h3,h4{margin:0;line-height:1.25;font-weight:700;letter-spacing:-.01em}h1{font-size:26px}h2{font-size:20px}h3{font-size:16px}p{margin:0}button,input,select,textarea{font:inherit;color:inherit}:focus-visible{outline:3px solid color-mix(in srgb,var(--gold) 70%,transparent);outline-offset:2px;border-radius:6px}.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.muted{color:var(--muted)}.small{font-size:13px}.tiny{font-size:12px}.mono{font-family:ui-monospace,SFMono-Regular,Consolas,monospace}.row{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.col{display:flex;flex-direction:column;gap:12px}.spread{justify-content:space-between}.grow{flex:1;min-width:0}.nowrap{white-space:nowrap}.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))}@media(max-width:900px){.g3,.g4{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:560px){.g2,.g3{grid-template-columns:minmax(0,1fr)}}.shell{min-height:100vh}.side{position:fixed;inset:0 auto 0 0;width:var(--side-w);display:flex;flex-direction:column;color:var(--on-side);background:linear-gradient(170deg,var(--side-1) 0%,var(--side-2) 55%,var(--side-3) 100%);border-right:4px solid var(--gold);z-index:30}.brand{display:flex;gap:12px;align-items:center;padding:20px 18px 18px;border-bottom:1px solid rgba(255,255,255,.14)}.brand img{width:58px;height:auto;flex:none;filter:drop-shadow(0 2px 4px rgba(0,0,0,.25))}.brand b{display:block;font-size:22px;font-weight:800;letter-spacing:.02em;line-height:1.05}.brand b em{font-style:normal;color:var(--gold)}.brand span{display:block;font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--on-side-mute);margin-top:4px;line-height:1.35}.nav{flex:1;overflow:auto;padding:12px 10px 16px}.nav h6{margin:16px 12px 6px;font-size:11px;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:var(--on-side-mute)}.nav a{display:flex;gap:12px;align-items:center;padding:10px 12px;border-radius:10px;color:#fff;font-weight:500;text-decoration:none;position:relative}.nav a svg{width:20px;height:20px;flex:none;opacity:.92}.nav a:hover{background:#ffffff1a}.nav a[aria-current=page]{background:#ffffff29;font-weight:700}.nav a[aria-current=page]:before{content:"";position:absolute;left:-10px;top:8px;bottom:8px;width:4px;border-radius:0 4px 4px 0;background:var(--gold)}.nav a .soon{margin-left:auto;font-size:10px;font-weight:700;letter-spacing:.04em;padding:2px 7px;border-radius:999px;background:#0003;color:var(--on-side-mute)}.side-user{display:flex;gap:10px;align-items:center;padding:14px 16px;border-top:1px solid rgba(255,255,255,.14);background:#0000001f}.side-user .grow b{display:block;font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.side-user .grow span{display:block;font-size:12px;color:var(--on-side-mute);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.side-foot{padding:8px 16px 14px;font-size:11px;color:var(--on-side-mute);line-height:1.5}.icon-btn{display:inline-grid;place-items:center;width:40px;height:40px;border-radius:10px;border:0;background:transparent;color:inherit;cursor:pointer}.icon-btn:hover{background:#7f7f7f24}.icon-btn svg{width:20px;height:20px}.avatar{width:38px;height:38px;flex:none;border-radius:50%;display:grid;place-items:center;font-weight:700;font-size:14px;background:var(--gold);color:#3a2600}.main{margin-left:var(--side-w);min-height:100vh;display:flex;flex-direction:column}.top{position:sticky;top:0;z-index:20;height:var(--top-h);display:flex;align-items:center;gap:12px;padding:0 28px;background:color-mix(in srgb,var(--bg) 88%,transparent);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}.top .crumbs{font-size:13px;color:var(--muted)}.top .crumbs a{color:var(--muted)}.top .clock{font-variant-numeric:tabular-nums;font-weight:600;color:var(--ink-2)}.content{flex:1;width:100%;max-width:1320px;margin:0 auto;padding:24px 28px 40px}.page-head{display:flex;gap:16px;align-items:flex-end;justify-content:space-between;flex-wrap:wrap;margin-bottom:20px}.page-head .eyebrow{font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--red-ink)}.page-head p{color:var(--muted);margin-top:4px}.foot{padding:16px 28px 22px;color:var(--faint);font-size:12px;text-align:center}.mtop,.bnav,.sheet-backdrop{display:none}@media(max-width:1023px){.side{display:none}.main{margin-left:0}.top{display:none}.mtop{display:flex;position:sticky;top:0;z-index:20;align-items:center;gap:10px;padding:10px 14px;padding-top:max(10px,env(safe-area-inset-top));color:#fff;background:linear-gradient(135deg,var(--side-1),var(--side-2));border-bottom:3px solid var(--gold)}.mtop img{width:40px;height:auto}.mtop b{font-size:17px;font-weight:800;letter-spacing:.02em}.mtop span{display:block;font-size:12px;color:var(--on-side-mute);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.content{padding:16px 16px calc(var(--bnav-h) + 24px + env(safe-area-inset-bottom))}.foot{display:none}.bnav{display:grid;grid-auto-flow:column;grid-auto-columns:1fr;position:fixed;left:0;right:0;bottom:0;z-index:25;height:calc(var(--bnav-h) + env(safe-area-inset-bottom));padding-bottom:env(safe-area-inset-bottom);background:var(--surface);border-top:1px solid var(--line);box-shadow:0 -4px 16px #3c140a0f}.bnav a,.bnav button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;font-size:11.5px;font-weight:600;color:var(--muted);text-decoration:none;border:0;background:none;cursor:pointer;min-height:44px}.bnav svg{width:24px;height:24px}.bnav [aria-current=page]{color:var(--red-ink)}.bnav [aria-current=page] svg{filter:drop-shadow(0 2px 0 color-mix(in srgb,var(--gold) 80%,transparent))}h1{font-size:22px}.page-head{margin-bottom:14px}}.sheet-backdrop.open{display:block;position:fixed;inset:0;background:#14080673;z-index:40}.sheet{position:fixed;left:0;right:0;bottom:0;z-index:41;max-height:80vh;overflow:auto;background:var(--surface);border-radius:20px 20px 0 0;padding:10px 12px calc(16px + env(safe-area-inset-bottom));box-shadow:var(--sh-3)}.sheet .grab{width:44px;height:5px;border-radius:9px;background:var(--line-strong);margin:4px auto 10px}.sheet a{display:flex;gap:14px;align-items:center;padding:13px 12px;border-radius:12px;color:var(--ink);font-weight:600;text-decoration:none}.sheet a svg{width:22px;height:22px;color:var(--red-ink)}.sheet a:hover,.sheet a[aria-current=page]{background:var(--red-tint)}.sheet h6{margin:12px 12px 4px;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--sh-1);padding:20px}.card.pad-0{padding:0}.card-head{display:flex;gap:10px;align-items:center;justify-content:space-between;margin-bottom:14px;flex-wrap:wrap}.card-head h3{display:flex;gap:8px;align-items:center}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:42px;padding:0 16px;border-radius:10px;border:1px solid var(--line-strong);background:var(--surface);color:var(--ink);font-weight:600;cursor:pointer;text-decoration:none;white-space:nowrap;transition:background .15s,border-color .15s,transform .05s}.btn:hover{background:var(--surface-2);text-decoration:none}.btn:active{transform:translateY(1px)}.btn svg{width:18px;height:18px}.btn.primary{background:var(--red);border-color:var(--red);color:#fff;box-shadow:0 2px 0 var(--red-dark)}.btn.primary:hover{background:var(--red-deep)}.btn.gold{background:var(--gold);border-color:var(--gold);color:#3a2600}.btn.ghost{background:transparent;border-color:transparent}.btn.danger{color:var(--bad);border-color:color-mix(in srgb,var(--bad) 45%,var(--line))}.btn.danger:hover{background:var(--bad-tint)}.btn.sm{min-height:34px;padding:0 12px;font-size:13.5px;border-radius:8px}.btn.lg{min-height:52px;padding:0 22px;font-size:16px;border-radius:12px}.btn.block{width:100%}.btn[disabled]{opacity:.55;cursor:not-allowed;transform:none}.field{display:flex;flex-direction:column;gap:6px;min-width:0}.field label,.lbl{font-size:13px;font-weight:600;color:var(--ink-2)}.field .hint{font-size:12.5px;color:var(--muted)}.input,select.input,textarea.input{width:100%;min-height:44px;padding:10px 12px;border-radius:10px;border:1px solid var(--line-strong);background:var(--surface);color:var(--ink);font-size:16px}textarea.input{min-height:90px;resize:vertical}.input:focus{outline:none;border-color:var(--red);box-shadow:0 0 0 3px color-mix(in srgb,var(--red) 18%,transparent)}.input.code{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:.14em;text-transform:uppercase}.check{display:flex;gap:10px;align-items:center;cursor:pointer}.check input{width:20px;height:20px;accent-color:var(--red)}.badge{display:inline-flex;align-items:center;gap:6px;padding:3px 10px;border-radius:999px;font-size:12px;font-weight:600;white-space:nowrap;background:var(--surface-2);color:var(--ink-2);border:1px solid var(--line)}.badge.ok{background:var(--ok-tint);color:var(--ok);border-color:transparent}.badge.warn{background:var(--warn-tint);color:var(--warn);border-color:transparent}.badge.bad{background:var(--bad-tint);color:var(--bad);border-color:transparent}.badge.info{background:var(--info-tint);color:var(--info);border-color:transparent}.badge.red{background:var(--red);color:#fff;border-color:transparent}.badge.gold{background:var(--gold-tint);color:var(--gold-deep);border-color:transparent}.dot{width:8px;height:8px;border-radius:50%;background:currentColor;display:inline-block}.alert{display:flex;gap:12px;align-items:flex-start;padding:12px 14px;border-radius:12px;background:var(--warn-tint);color:var(--warn);font-weight:500}.alert svg{width:20px;height:20px;flex:none;margin-top:1px}.alert.bad{background:var(--bad-tint);color:var(--bad)}.alert.ok{background:var(--ok-tint);color:var(--ok)}.alert.info{background:var(--info-tint);color:var(--info)}.stat{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);padding:16px 18px;box-shadow:var(--sh-1);position:relative;overflow:hidden}.stat:before{content:"";position:absolute;left:0;top:0;right:0;height:3px;background:linear-gradient(90deg,var(--red),var(--gold))}.stat b{display:block;font-size:30px;font-weight:800;line-height:1.1;font-variant-numeric:tabular-nums}.stat span{color:var(--muted);font-size:13.5px}.table-wrap{overflow:auto;border-radius:var(--r-lg)}table.t{width:100%;border-collapse:collapse;font-size:14px}table.t th{position:sticky;top:0;background:var(--surface-2);text-align:left;font-size:12px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--muted);padding:10px 14px;border-bottom:1px solid var(--line);white-space:nowrap}table.t td{padding:12px 14px;border-bottom:1px solid var(--line);vertical-align:middle}table.t tr:last-child td{border-bottom:0}table.t tr.click{cursor:pointer}table.t tr.click:hover td{background:var(--surface-2)}.person{display:flex;gap:10px;align-items:center;min-width:0}.person .avatar{width:34px;height:34px;font-size:13px;background:var(--red-tint);color:var(--red-ink)}.person b{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.person span{display:block;font-size:12.5px;color:var(--muted)}.empty{display:flex;flex-direction:column;align-items:center;gap:8px;padding:40px 16px;text-align:center;color:var(--muted)}.empty svg{width:40px;height:40px;color:var(--faint)}.empty b{color:var(--ink)}.tabs{display:flex;gap:4px;border-bottom:1px solid var(--line);margin-bottom:16px;overflow-x:auto}.tabs button{border:0;background:none;padding:10px 14px;font-weight:600;color:var(--muted);cursor:pointer;border-bottom:3px solid transparent;white-space:nowrap}.tabs button[aria-selected=true]{color:var(--red-ink);border-bottom-color:var(--red)}.list{display:flex;flex-direction:column}.list>*{padding:12px 0;border-bottom:1px solid var(--line)}.list>*:last-child{border-bottom:0}.kv{display:grid;grid-template-columns:150px 1fr;gap:8px 16px;font-size:14px}.kv dt{color:var(--muted)}.kv dd{margin:0;font-weight:500;min-width:0;overflow-wrap:anywhere}@media(max-width:560px){.kv{grid-template-columns:1fr}.kv dd{margin-bottom:6px}}.cards{display:none}@media(max-width:760px){.hide-m{display:none}.cards{display:flex;flex-direction:column;gap:10px}}.mcard{display:flex;gap:12px;align-items:center;padding:14px;border-radius:14px;background:var(--surface);border:1px solid var(--line);text-decoration:none;color:inherit;cursor:pointer}.mcard:hover{text-decoration:none;border-color:var(--line-strong)}.modal-bg{position:fixed;inset:0;z-index:60;background:#14080680;display:grid;place-items:center;padding:16px}.modal{width:min(520px,100%);max-height:calc(100vh - 32px);overflow:auto;background:var(--surface);border-radius:20px;box-shadow:var(--sh-3);padding:22px}.modal.wide{width:min(760px,100%)}.modal h3{font-size:18px;margin-bottom:6px}.modal .actions{display:flex;gap:10px;justify-content:flex-end;margin-top:18px;flex-wrap:wrap}.toast{position:fixed;left:50%;bottom:24px;transform:translate(-50%);z-index:70;max-width:min(560px,calc(100vw - 32px));padding:12px 18px;border-radius:12px;background:#2a1a17;color:#fff;font-weight:500;box-shadow:var(--sh-3)}.toast.bad{background:var(--bad)}.toast.ok{background:var(--ok)}@media(max-width:1023px){.toast{bottom:calc(var(--bnav-h) + 16px + env(safe-area-inset-bottom))}}.auth{min-height:100vh;display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr)}.auth-hero{position:relative;overflow:hidden;color:#fff;padding:48px 56px;display:flex;flex-direction:column;justify-content:space-between;background:radial-gradient(1200px 600px at -10% 110%,rgba(243,190,24,.28),transparent 60%),linear-gradient(160deg,var(--side-1) 0%,var(--side-2) 55%,var(--side-3) 100%)}.auth-hero:after{content:"";position:absolute;right:-140px;top:-120px;width:520px;height:520px;border-radius:50%;border:44px solid rgba(243,190,24,.16)}.auth-hero .logo{width:132px;filter:drop-shadow(0 6px 14px rgba(0,0,0,.25))}.auth-hero h1{font-size:54px;font-weight:800;letter-spacing:.01em;margin-top:22px;line-height:1}.auth-hero h1 em{font-style:normal;color:var(--gold)}.auth-hero .tag{font-size:16px;letter-spacing:.14em;text-transform:uppercase;margin-top:12px;color:#ffffffe0;font-weight:600}.auth-hero ul{list-style:none;padding:0;margin:32px 0 0;display:grid;gap:8px;max-width:440px;position:relative;z-index:1}.auth-hero li{display:flex;gap:12px;align-items:center;padding:9px 14px;border-radius:14px;background:#ffffff1a;border:1px solid rgba(255,255,255,.14);font-weight:600}.auth-hero li svg{width:22px;height:22px;color:var(--gold);flex:none}.auth-hero .company{font-size:13px;color:#ffffffbf;position:relative;z-index:1}.auth-panel{display:flex;align-items:center;justify-content:center;padding:40px 24px;background:var(--bg)}.auth-box{width:min(420px,100%)}.auth-box h2{font-size:26px}.auth-box .sub{color:var(--muted);margin:6px 0 24px}.auth-box form{display:flex;flex-direction:column;gap:16px}.auth-links{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-top:6px;font-size:14px}.pw-rules{list-style:none;padding:0;margin:0;display:grid;gap:4px;font-size:13px}.pw-rules li{display:flex;gap:8px;align-items:center;color:var(--muted)}.pw-rules li.ok{color:var(--ok)}.pw-rules svg{width:16px;height:16px}.qr{display:grid;place-items:center;padding:12px;background:#fff;border-radius:14px;border:1px solid var(--line);width:max-content;margin:0 auto}.qr img{width:200px;height:200px;image-rendering:pixelated}.secret{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:14px;letter-spacing:.08em;word-break:break-all;background:var(--surface-2);border:1px dashed var(--line-strong);border-radius:10px;padding:10px 12px;text-align:center}@media(max-width:1023px){.auth{grid-template-columns:1fr}.auth-hero{padding:20px 16px;padding-top:max(20px,env(safe-area-inset-top))}.auth-hero:after{width:300px;height:300px;right:-120px;top:-120px;border-width:28px}.auth-hero .logo{width:58px}.auth-hero h1{font-size:32px;margin-top:8px}.auth-hero .tag{font-size:12.5px;letter-spacing:.1em}.auth-hero .company{display:none}.auth-hero ul{grid-template-columns:1fr 1fr;gap:8px;margin-top:14px;max-width:none}.auth-hero li{padding:9px 10px;border-radius:12px;font-size:12.5px;gap:8px;line-height:1.3}.auth-hero li svg{width:20px;height:20px}.auth-panel{align-items:flex-start;padding:20px 16px 32px}.auth-box .sub{margin-bottom:16px}.auth-box form{gap:12px}}.hello{display:flex;gap:16px;align-items:center;justify-content:space-between;flex-wrap:wrap;padding:22px 24px;border-radius:var(--r-lg);color:#fff;background:radial-gradient(600px 300px at 100% 0%,rgba(243,190,24,.35),transparent 60%),linear-gradient(135deg,var(--side-1),var(--side-2));box-shadow:var(--sh-2)}.hello h1{font-size:24px}.hello p{color:#ffffffd9;margin-top:4px}.hello .big-time{font-size:40px;font-weight:800;font-variant-numeric:tabular-nums;line-height:1}.gate{border:2px solid var(--gold);background:linear-gradient(180deg,var(--gold-tint),var(--surface))}.gate .ico{width:52px;height:52px;border-radius:14px;display:grid;place-items:center;background:var(--gold);color:#3a2600;flex:none}.gate .ico svg{width:28px;height:28px}.module-card{display:flex;gap:14px;align-items:flex-start;padding:18px;border-radius:var(--r-lg);background:var(--surface);border:1px solid var(--line);text-decoration:none;color:inherit;box-shadow:var(--sh-1);position:relative}.module-card:hover{text-decoration:none;border-color:var(--line-strong);box-shadow:var(--sh-2)}.module-card .ico{width:46px;height:46px;border-radius:12px;display:grid;place-items:center;background:var(--red-tint);color:var(--red-ink);flex:none}.module-card .ico svg{width:24px;height:24px}.module-card b{display:block;font-size:15.5px}.module-card span{display:block;font-size:13px;color:var(--muted);margin-top:2px}.slip{border:2px dashed var(--line-strong);border-radius:16px;padding:18px;background:var(--surface)}.slip .code{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:30px;font-weight:700;letter-spacing:.16em;color:var(--red-ink);text-align:center;padding:10px;border-radius:12px;background:var(--red-tint)}.print-only{display:none}@media print{body{background:#fff}.side,.top,.mtop,.bnav,.foot,.no-print,.toast{display:none!important}.main{margin:0}.content{padding:0;max-width:none}.modal-bg{position:static;background:none;padding:0;display:block}.modal{box-shadow:none;width:auto;max-height:none;padding:0}.print-only{display:block}.slips{display:grid;grid-template-columns:1fr 1fr;gap:10mm}.slip{break-inside:avoid}}.sheet a .soon{margin-left:auto;font-size:10px;font-weight:700;padding:2px 7px;border-radius:999px;background:var(--surface-2);color:var(--muted);border:1px solid var(--line)}@media(max-width:560px){.hello{padding:18px}.hello .big-time{display:none}.hello h1{font-size:21px}}.badge.wrap{white-space:normal}.shift .shift-ico{width:52px;height:52px;border-radius:14px;display:grid;place-items:center;background:var(--ok-tint);color:var(--ok);flex:none}.shift.gate .shift-ico{background:var(--gold);color:#3a2600}.shift .shift-ico svg{width:28px;height:28px}table.timesheet th,table.timesheet td{padding:6px 8px;text-align:center;font-size:12px}table.timesheet td:first-child,table.timesheet th:first-child{text-align:left}table.timesheet th.sun{color:var(--bad)}table.timesheet td.cell{min-width:54px;line-height:1.25;font-variant-numeric:tabular-nums}table.timesheet td.c-ok{background:var(--ok-tint)}table.timesheet td.c-warn{background:var(--warn-tint)}table.timesheet td.c-open{background:var(--bad-tint)}.bell{position:relative}.bell .count,.bnav .count{position:absolute;top:2px;right:2px;min-width:18px;height:18px;padding:0 5px;border-radius:999px;background:var(--red);color:#fff;font-size:11px;font-weight:700;display:grid;place-items:center;border:2px solid var(--surface)}.bnav a,.bnav button{position:relative}.bnav .count{top:6px;right:calc(50% - 22px)}.notif{display:flex;gap:12px;align-items:flex-start;padding:14px 16px;border-bottom:1px solid var(--line);cursor:pointer;text-decoration:none;color:inherit}.notif:hover{background:var(--surface-2);text-decoration:none}.notif.unread{background:color-mix(in srgb,var(--gold-tint) 70%,transparent)}.notif .ico{width:38px;height:38px;border-radius:10px;display:grid;place-items:center;background:var(--red-tint);color:var(--red-ink);flex:none}.school-row b{display:block}.chips{display:flex;gap:6px;flex-wrap:wrap}@media(max-width:1023px){html{scroll-padding-bottom:calc(var(--bnav-h) + 20px)}}.progress{height:8px;border-radius:999px;background:var(--surface-2);border:1px solid var(--line);overflow:hidden}.progress span{display:block;height:100%;background:linear-gradient(90deg,var(--red),var(--gold));border-radius:999px;transition:width .3s}.stop-row{display:flex;gap:12px;align-items:flex-start;padding:12px 16px;border-top:1px solid var(--line)}.stop-row.cur{background:var(--gold-tint)}.stop-no{width:28px;height:28px;flex:none;border-radius:50%;display:grid;place-items:center;font-weight:700;font-size:13px;background:var(--surface-2);border:1px solid var(--line-strong);color:var(--ink-2)}.stop-no.started{background:var(--info-tint);color:var(--info);border-color:transparent}.stop-no.done{background:var(--ok);color:#fff;border-color:transparent}.stop-no.failed{background:var(--bad);color:#fff;border-color:transparent}.cur-stop{border:2px solid var(--red);box-shadow:var(--sh-2)}.cur-stop h2{font-size:22px}.items-box{display:flex;gap:10px;align-items:flex-start;margin-top:10px;padding:10px 12px;border-radius:10px;background:var(--gold-tint);color:var(--ink)}.items-box svg{flex:none;color:var(--gold-deep)}.hits{display:flex;flex-direction:column;max-height:260px;overflow:auto}.hit{display:flex;flex-direction:column;align-items:flex-start;gap:2px;padding:10px 14px;border:0;border-bottom:1px solid var(--line);background:none;text-align:left;cursor:pointer;color:var(--ink)}.hit:hover{background:var(--surface-2)}.drivers{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:16px;align-items:start}@media(max-width:560px){.drivers{grid-template-columns:1fr}}.driver{padding:16px}.bstop{display:flex;gap:8px;align-items:center;padding:8px 0;border-top:1px solid var(--line);font-size:14px}.bstop input{width:18px;height:18px;accent-color:var(--red)}.bstop .stop-no{width:24px;height:24px;font-size:12px}.bstop.failed{background:color-mix(in srgb,var(--bad-tint) 60%,transparent)}.linklike{display:flex;flex-direction:column;align-items:flex-start;min-width:0;border:0;background:none;padding:0;text-align:left;cursor:pointer;color:inherit}.linklike b{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.icon-btn.sm{width:30px;height:30px;font-weight:700}.badge.tiny{font-size:10.5px;padding:2px 7px}.photos{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:12px}.photos figure{margin:0}.photos img{width:100%;border-radius:10px;border:1px solid var(--line);aspect-ratio:4/3;object-fit:cover;background:var(--surface-2)}.modal>.row.spread:first-child{flex-wrap:nowrap;align-items:flex-start}.modal>.row.spread:first-child h3{min-width:0;overflow-wrap:anywhere}.modal>.row.spread:first-child .icon-btn{flex:none;margin:-6px -8px 0 0}tr.clickable{cursor:pointer}tr.clickable:hover td{background:var(--surface-2)}tr.sel td{background:var(--gold-tint)}.timeline{list-style:none;margin:0;padding:0 0 0 14px;border-left:2px solid var(--line);display:flex;flex-direction:column;gap:8px}.timeline li{position:relative;font-size:14px}.timeline li:before{content:"";position:absolute;left:-20px;top:6px;width:10px;height:10px;border-radius:50%;background:var(--red);border:2px solid var(--surface)}.posmap{width:100%;height:auto;max-height:380px;display:block}.pm-bg{fill:var(--surface-2)}.pm-trail{fill:none;stroke:var(--info);stroke-width:2.5;stroke-linejoin:round;stroke-linecap:round;opacity:.8}.pm-depot{fill:var(--gold);stroke:var(--gold-deep)}.pm-car{fill:var(--muted);stroke:var(--surface);stroke-width:2}.pm-car.run{fill:var(--red)}.pm-label{font-size:12px;font-weight:700;fill:var(--ink)}.pm-label.muted{fill:var(--muted);font-weight:500}.thumb{position:relative;display:inline-flex;flex-direction:column;align-items:center;gap:2px}.thumb img{width:72px;height:72px;object-fit:cover;border-radius:10px;border:1px solid var(--line);background:var(--surface-2)}.thumb .icon-btn{position:absolute;top:-8px;right:-8px;background:var(--surface);border:1px solid var(--line);border-radius:50%;width:24px;height:24px;min-height:0;padding:0}.thumb .badge{position:absolute;bottom:4px;left:4px}.bad-text{color:var(--bad)}.btn svg{flex:none}.mod-ic{width:36px;height:36px;border-radius:10px;display:grid;place-items:center;background:var(--red-tint, var(--gold-tint));color:var(--red)}.company-block .progress{margin:4px 0 2px}.linkrow{border:0;background:none;padding:10px 0;cursor:pointer;color:inherit;width:100%;text-align:left;gap:10px}.linkrow:hover{background:var(--surface-2)}.trend{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:10px;align-items:end;height:180px}.trend-col{display:flex;flex-direction:column;align-items:center;gap:6px;height:100%}.trend-bar{flex:1;width:100%;max-width:44px;display:flex;flex-direction:column-reverse;border-radius:8px;overflow:hidden;background:var(--surface-2)}.seg.attendance{background:#e31e27}.seg.delivered{background:#f3be18}.seg.trips{background:#2f6fde}.seg.visits{background:#1f8a5b}.seg.tasks{background:#8e5bd6}.dot-lg{width:10px;height:10px;border-radius:3px;display:inline-block}.seg-switch{display:inline-flex;flex-wrap:wrap;gap:4px;padding:4px;border:1px solid var(--line);border-radius:12px;background:var(--surface-2);max-width:100%}.seg-switch button{border:0;background:none;padding:8px 12px;border-radius:8px;font-weight:600;color:var(--muted);cursor:pointer;min-height:36px}.seg-switch button[aria-selected=true]{background:var(--surface);color:var(--ink);box-shadow:0 1px 2px #00000014}.seg-switch button:disabled{opacity:.6;cursor:default}.unit-in{display:flex;align-items:stretch}.unit-in .input{border-top-right-radius:0;border-bottom-right-radius:0;min-width:0;flex:1}.unit-in b{display:flex;align-items:center;padding:0 10px;border:1px solid var(--line-strong);border-left:0;border-radius:0 10px 10px 0;background:var(--surface-2);font-size:13px;color:var(--muted);white-space:nowrap}.input[aria-invalid=true],select[aria-invalid=true],textarea[aria-invalid=true]{border-color:var(--bad);box-shadow:0 0 0 3px var(--bad-tint)}.ok-text{color:var(--ok)}.warn-text{color:var(--warn)}.btn.ok{background:var(--ok);border-color:var(--ok);color:#fff}.btn.warn{background:var(--warn-tint);border-color:var(--warn);color:var(--warn)}.btn.big{min-height:52px;font-size:16px}.cb-batch{display:block;color:inherit;text-decoration:none;border-left:4px solid var(--line-strong)}.cb-batch.IN_PROGRESS{border-left-color:var(--gold)}.cb-batch.PLANNED{border-left-color:var(--info)}.cb-batch.COMPLETED,.cb-batch.RELEASED{border-left-color:var(--ok)}.cb-batch.PENDING_QA{border-left-color:var(--warn)}.cb-batch.ON_HOLD,.cb-batch.REJECTED{border-left-color:var(--bad)}.cb-next{margin:8px 0 6px;padding:8px 10px;border-radius:8px;background:var(--surface-2);font-weight:600;font-size:13.5px}.cb-next.go,.cb-next-card.go{background:var(--red-tint,#FDECEC);color:var(--red-ink)}.cb-next.ok,.cb-next-card.ok{background:var(--ok-tint);color:var(--ok)}.cb-next.warn,.cb-next-card.warn{background:var(--warn-tint);color:var(--warn)}.cb-step{border:1px solid var(--line);border-radius:10px;padding:10px 12px;margin-bottom:8px;background:var(--surface)}.cb-label{display:flex;justify-content:space-between;gap:12px;align-items:center;max-width:420px;border:2px solid #000;border-radius:8px;padding:12px;background:#fff;color:#000}.cb-label .p{font-weight:800;font-size:18px;margin-top:4px}.cb-label .lot{font-family:ui-monospace,monospace;font-weight:700;font-size:16px}.cb-label .qr{width:110px;height:110px;image-rendering:pixelated;flex:none}.tiny .linklike,td .linklike{display:inline-flex;margin-right:8px;color:var(--red-ink)}.seg-switch button.on,.seg-switch button[aria-pressed=true]{background:var(--surface);color:var(--ink);box-shadow:0 1px 2px #00000014}.seg-switch button.on.pass{background:var(--ok-tint);color:var(--ok)}.seg-switch button.on.fail{background:var(--bad-tint);color:var(--bad)}.seg-switch button.on.na{background:var(--surface);color:var(--ink)}.stat-btn{all:unset;display:block;cursor:pointer;width:100%;border-radius:var(--r-lg)}.stat-btn:focus-visible{outline:2px solid var(--red);outline-offset:2px}.stat-btn:hover .stat{border-color:var(--gold)}.fs-row{display:flex;gap:10px;align-items:center;justify-content:space-between;padding:8px 10px;border:1px solid var(--line);border-radius:10px;color:inherit;text-decoration:none;flex-wrap:wrap}.fs-row:hover{border-color:var(--gold);background:var(--surface-2)}.fs-row.big{padding:12px;min-height:52px}.fs-thumbs{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}.fs-thumbs img{width:72px;height:72px;object-fit:cover;border-radius:8px;border:1px solid var(--line)}.fs-crit{display:flex;gap:10px;align-items:flex-start;justify-content:space-between;padding:8px 0;border-bottom:1px dashed var(--line)}.fs-q{display:flex;flex-direction:column;gap:8px;padding:12px;border:1px solid var(--line);border-radius:12px;margin-bottom:8px;background:var(--surface)}.fs-q.fail{border-color:var(--bad);background:var(--bad-tint)}.fs-ph{position:relative;display:inline-block}.fs-ph img{width:64px;height:64px;object-fit:cover;border-radius:8px;border:1px solid var(--line)}.fs-ph button{position:absolute;top:-6px;right:-6px;width:22px;height:22px;border-radius:50%;border:0;background:var(--bad);color:#fff;cursor:pointer;line-height:22px;padding:0}.fs-draftbar{display:flex;gap:8px;align-items:center;padding:10px 12px;border-radius:10px;background:var(--gold-tint);border:1px solid var(--gold);position:sticky;top:64px;z-index:2;font-size:13.5px}.fs-draftbar .dot{width:10px;height:10px;border-radius:50%;background:var(--gold);flex:none}.fs-bars{display:flex;align-items:flex-end;gap:6px;min-height:150px;overflow-x:auto;padding-top:8px}.fs-bar{display:flex;flex-direction:column;align-items:center;gap:2px;min-width:28px;flex:1}.fs-bar .stack{display:flex;flex-direction:column-reverse;width:18px;min-height:2px;border-radius:4px 4px 0 0;overflow:hidden;background:var(--line)}.fs-bar i,.fs-key{display:block}.fs-bar i.critical,.fs-key.critical{background:var(--bad)}.fs-bar i.major,.fs-key.major{background:var(--warn)}.fs-bar i.minor,.fs-key.minor{background:var(--faint)}.fs-key{display:inline-block;width:10px;height:10px;border-radius:2px;margin:0 4px 0 10px;vertical-align:middle}@media print{.fs-draftbar,.tabs,.top,.side,.btn{display:none!important}}.linkish{all:unset;cursor:pointer;color:var(--red);text-decoration:underline;text-underline-offset:2px}.linkish:focus-visible{outline:2px solid var(--red);outline-offset:2px}
