:root{--brand:#6d5efc;--brand2:#a855f7;--brand3:#ec4899;--grad:linear-gradient(135deg, #6d5efc, #a855f7 55%, #ec4899);--grad-side:linear-gradient(165deg, #6d5efc, #a855f7 70%, #ec4899 130%);--bg:#f6f7fc;--bg2:#eef0fa;--card:#fff;--card2:#fbfbfe;--ink:#171a35;--ink2:#3d4166;--muted:#7b81a3;--line:#e9ebf7;--line2:#dfe2f2;--ok:#16a34a;--ok-soft:#e8f8ee;--warn:#d97706;--warn-soft:#fef4e6;--dang:#dc2626;--dang-soft:#fdeceb;--info:#0ea5e9;--info-soft:#e6f6fe;--wa:#25d366;--wa-dark:#128c7e;--ok-ink:#15803d;--warn-ink:#b45309;--dang-ink:#b91c1c;--info-ink:#0369a1;--done:#4f46e5;--done-ink:#4338ca;--r-sm:10px;--r:14px;--r-lg:20px;--r-xl:26px;--chart-grid:#171a3517;--sh-sm:0 2px 8px -2px #171a351a;--sh:0 12px 28px -18px #171a3566;--sh-lg:0 26px 60px -30px #171a3573;--sh-pop:0 18px 44px -20px #171a3559;--side-w:258px;--bar-h:66px;--ease:cubic-bezier(.32, .72, 0, 1);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}:root[data-theme=dark]{--bg:#0d0f1c;--bg2:#171a2c;--card:#14172a;--card2:#191d33;--ink:#ecedfb;--ink2:#c2c6e4;--muted:#878cb2;--line:#262a45;--line2:#343957;--ok:#34d399;--ok-soft:#123324;--warn:#fbbf24;--warn-soft:#3a2b0c;--dang:#f87171;--dang-soft:#3a1717;--info:#38bdf8;--info-soft:#0c2c3f;--ok-ink:#6ee7b7;--warn-ink:#fcd34d;--dang-ink:#fca5a5;--info-ink:#7dd3fc;--done:#818cf8;--done-ink:#a5b4fc;--chart-grid:#b4baec1c;--sh-sm:0 2px 8px -2px #00000080;--sh:0 12px 28px -18px #000c;--sh-lg:0 26px 60px -30px #000000e6;--sh-pop:0 18px 44px -20px #000000bf;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}@media (prefers-color-scheme:dark){:root:not([data-theme]){--bg:#0d0f1c;--bg2:#171a2c;--card:#14172a;--card2:#191d33;--ink:#ecedfb;--ink2:#c2c6e4;--muted:#878cb2;--line:#262a45;--line2:#343957;--ok:#34d399;--ok-soft:#123324;--warn:#fbbf24;--warn-soft:#3a2b0c;--dang:#f87171;--dang-soft:#3a1717;--info:#38bdf8;--info-soft:#0c2c3f;--ok-ink:#6ee7b7;--warn-ink:#fcd34d;--dang-ink:#fca5a5;--info-ink:#7dd3fc;--done:#818cf8;--done-ink:#a5b4fc;--chart-grid:#b4baec1c;--sh-sm:0 2px 8px -2px #00000080;--sh:0 12px 28px -18px #000c;--sh-lg:0 26px 60px -30px #000000e6;--sh-pop:0 18px 44px -20px #000000bf;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}*{box-sizing:border-box}body,html{margin:0;padding:0}body{background:var(--bg);color:var(--ink);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;font-family:Plus Jakarta Sans,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Inter,Helvetica,Arial,sans-serif;font-size:14px;line-height:1.5}body:before{content:"";pointer-events:none;z-index:0;background:radial-gradient(760px 420px at 12% -8%,color-mix(in srgb,var(--brand) 16%,transparent),transparent 70%),radial-gradient(700px 460px at 96% 4%,color-mix(in srgb,var(--brand3) 13%,transparent),transparent 72%),radial-gradient(800px 520px at 60% 108%,color-mix(in srgb,var(--brand2) 11%,transparent),transparent 70%);position:fixed;inset:0}a{color:inherit;text-decoration:none}.btn i,.chip i,.chk i,.logout i{font-size:.94em}.fu .fsub i,.lfs-sub i,.meta i,.todo .tsub i{text-align:center;opacity:.72;width:13px;margin-right:1px}[v-cloak]{display:none}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-thumb{background:color-mix(in srgb,var(--muted) 32%,transparent);background-clip:content-box;border:3px solid #0000;border-radius:99px}::-webkit-scrollbar-thumb:hover{background:color-mix(in srgb,var(--muted) 55%,transparent);background-clip:content-box}::-webkit-scrollbar-track{background:0 0}:focus-visible{outline:2.5px solid color-mix(in srgb,var(--brand) 55%,transparent);outline-offset:2px;border-radius:6px}.app{z-index:1;max-width:100%;min-height:100vh;position:relative}.app,.brand,.side{display:flex}.side{width:var(--side-w);flex:0 0 var(--side-w);background:color-mix(in srgb,var(--card) 82%,transparent);-webkit-backdrop-filter:blur(18px)saturate(150%);backdrop-filter:blur(18px)saturate(150%);border-right:1px solid var(--line);z-index:40;flex-direction:column;height:100vh;padding:18px 14px 16px;position:sticky;top:0}.brand{align-items:center;gap:12px;padding:6px 8px 18px}.brand .logo{background:var(--grad);width:42px;height:42px;box-shadow:0 10px 22px -10px color-mix(in srgb,var(--brand) 80%,transparent);border-radius:13px;flex:0 0 42px;place-items:center;display:grid}.brand .logo svg,.brand b,.brand small{display:block}.brand b{letter-spacing:-.2px;font-size:16px;font-weight:800;line-height:1.2}.brand small{color:var(--muted);margin-top:2px;font-size:11px;font-weight:600}.nav{flex-direction:column;flex:1;gap:3px;margin:0 -4px;padding:0 4px;display:flex;overflow-y:auto}.nav .nav-lab{letter-spacing:.9px;text-transform:uppercase;color:var(--muted);padding:14px 12px 6px;font-size:10.5px;font-weight:800}.nav button{cursor:pointer;width:100%;color:var(--ink2);border-radius:var(--r);text-align:left;transition:background .16s var(--ease),color .16s var(--ease);background:0 0;border:0;align-items:center;gap:11px;padding:10px 12px;font-family:inherit;font-size:14px;font-weight:600;display:flex;position:relative}.nav button .ic{text-align:center;filter:saturate(1.15);width:22px;font-size:16px}.nav button:hover{background:color-mix(in srgb,var(--brand) 8%,transparent);color:var(--ink)}.nav button.on{background:var(--grad);color:#fff;box-shadow:0 12px 24px -14px color-mix(in srgb,var(--brand) 90%,transparent);font-weight:700}.nav-badge{background:var(--dang);color:#fff;border-radius:99px;place-items:center;min-width:21px;height:21px;margin-left:auto;padding:0 6px;font-size:11px;font-weight:800;display:grid}.nav button.on .nav-badge{background:#ffffff47}.side-foot{border-top:1px solid var(--line);flex-direction:column;gap:6px;margin-top:12px;padding-top:12px;display:flex}.who{border-radius:var(--r);background:var(--bg2);align-items:center;gap:10px;min-width:0;margin-bottom:4px;padding:8px 10px;display:flex}.ava{background:var(--grad);color:#fff;letter-spacing:.3px;border-radius:11px;flex:0 0 34px;place-items:center;width:34px;height:34px;font-size:12.5px;font-weight:800;display:grid}.who b{white-space:nowrap;text-overflow:ellipsis;font-size:13px;font-weight:700;display:block;overflow:hidden}.who small{color:var(--muted);font-size:11px;font-weight:600;display:block}.theme-tog{border:1.5px solid var(--line2);background:var(--card);width:30px;height:30px;color:var(--ink2);cursor:pointer;transition:.16s var(--ease);border-radius:9px;flex:none;place-items:center;font-size:12.5px;display:grid}.theme-tog:hover{border-color:color-mix(in srgb,var(--brand) 45%,var(--line2));color:var(--brand)}.logout{color:var(--muted);border-radius:var(--r-sm);cursor:pointer;transition:.16s var(--ease);background:0 0;border:0;align-items:center;gap:10px;padding:9px 12px;font-family:inherit;font-size:13px;font-weight:600;display:flex}.logout:hover{background:var(--dang-soft);color:var(--dang)}.logout .ic{text-align:center;width:18px;font-size:14px}.side-tog{z-index:2;border:1px solid var(--line2);background:var(--card);width:26px;height:26px;color:var(--muted);cursor:pointer;box-shadow:var(--sh-sm);opacity:0;transition:opacity .16s var(--ease),color .16s var(--ease),border-color .16s var(--ease);border-radius:50%;place-items:center;font-size:10.5px;display:grid;position:absolute;top:30px;right:-13px}.side-mini .side-tog,.side-tog:focus-visible,.side:hover .side-tog{opacity:1}.side-tog:hover{color:var(--brand);border-color:color-mix(in srgb,var(--brand) 45%,var(--line2))}.cr8-mini{display:none}.side{transition:width .2s var(--ease),flex-basis .2s var(--ease),padding .2s var(--ease)}@media (width>=901px){.app.side-mini{--side-w:76px}.side-mini .side{padding-left:10px;padding-right:10px}.side-mini .brand .cr8-mark,.side-mini .brand b,.side-mini .brand small,.side-mini .brand>div:not(.logo),.side-mini .nav-t,.side-mini .sp-dot,.side-mini .who>div{display:none!important}.side-mini .brand{justify-content:center;padding:6px 0 18px}.side-mini .brand.cr8{align-items:center}.side-mini .cr8-mini{border-radius:11px;width:38px;height:38px;display:block}.side-mini .nav{align-items:stretch}.side-mini .nav .nav-lab{background:var(--line);height:1px;margin:10px;padding:0;font-size:0}.side-mini .logout,.side-mini .nav button{justify-content:center;padding-left:0;padding-right:0}.side-mini .nav-badge{min-width:17px;height:17px;margin:0;padding:0 4px;font-size:9.5px;position:absolute;top:3px;right:6px}.side-mini .who{flex-direction:column;gap:8px;padding:8px 0}}.main{flex:1;min-width:0;padding:0 calc(clamp(14px,2.4vw,34px)) 40px;overflow-x:clip}.main.main-fixed{flex-direction:column;height:100vh;display:flex;overflow-y:auto}.topbar{z-index:30;background:linear-gradient(to bottom,color-mix(in srgb,var(--bg) 92%,transparent) 62%,transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);align-items:center;gap:14px;min-height:74px;margin-bottom:16px;margin-left:calc(-1*clamp(14px,2.4vw,34px));margin-right:calc(-1*clamp(14px,2.4vw,34px));padding:14px calc(clamp(14px,2.4vw,34px)) 12px;display:flex;position:sticky;top:0}.topbar h1{letter-spacing:-.5px;margin:0;font-size:calc(clamp(19px,2.3vw,25px));font-weight:800}.topbar p{color:var(--muted);margin:2px 0 0;font-size:13px;font-weight:500}.topbar .sp{margin-left:auto}.menutog{border:1px solid var(--line2);background:var(--card);color:var(--ink);width:42px;height:42px;box-shadow:var(--sh-sm);border-radius:13px;margin-right:12px;font-size:18px;display:none}.btn,.menutog{cursor:pointer}.btn{background:var(--grad);color:#fff;white-space:nowrap;box-shadow:0 12px 24px -16px color-mix(in srgb,var(--brand) 95%,transparent);transition:transform .14s var(--ease),box-shadow .14s var(--ease),filter .14s var(--ease);border:0;border-radius:12px;align-items:center;gap:7px;padding:10px 17px;font-family:inherit;font-size:13.5px;font-weight:700;line-height:1.25;display:inline-flex}.btn:hover:not(:disabled){filter:brightness(1.05);box-shadow:0 16px 30px -16px color-mix(in srgb,var(--brand) 95%,transparent);transform:translateY(-1px)}.btn:active:not(:disabled){transform:translateY(0)}.btn.ghost{background:var(--card);color:var(--ink2);border:1.5px solid var(--line2);box-shadow:var(--sh-sm)}.btn.ghost:hover:not(:disabled){border-color:color-mix(in srgb,var(--brand) 45%,var(--line2));color:var(--brand)}.btn.ghost.on{background:color-mix(in srgb,var(--brand) 12%,var(--card));border-color:color-mix(in srgb,var(--brand) 45%,transparent);color:var(--brand)}.btn.sm{border-radius:10px;padding:7px 13px;font-size:12.5px}.btn:disabled{opacity:.5;cursor:not-allowed;box-shadow:none}.card{background:var(--card);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--sh);padding:20px 22px}.card h3{letter-spacing:-.2px;flex-wrap:wrap;align-items:center;gap:8px;margin:0 0 14px;font-size:15px;font-weight:800;display:flex}.card h3 span{color:var(--muted);font-size:13px;font-weight:600}.grid{gap:16px;display:grid}.g2{grid-template-columns:1.35fr 1fr}.g2b{grid-template-columns:1fr 1fr}.cr8-mark .light{display:block}.auth-foot-logo.dark,.cr8-mark .dark,:root[data-theme=dark] .auth-foot-logo.light,:root[data-theme=dark] .cr8-mark .light{display:none}:root[data-theme=dark] .auth-foot-logo.dark,:root[data-theme=dark] .cr8-mark .dark{display:block}@media (prefers-color-scheme:dark){:root:not([data-theme]) .auth-foot-logo.light,:root:not([data-theme]) .cr8-mark .light{display:none}:root:not([data-theme]) .auth-foot-logo.dark,:root:not([data-theme]) .cr8-mark .dark{display:block}}.brand .logo.cr8-tile{border:1px solid var(--line);background:#fff}.brand .logo.cr8-tile img{width:34px!important;height:34px!important}.brand.cr8{flex-direction:column;align-items:flex-start;gap:6px}.brand.cr8 .cr8-mark img{width:auto;height:30px}.auth{z-index:1;flex-direction:column;justify-content:center;align-items:center;gap:22px;min-height:100dvh;padding:32px 16px;display:flex;position:relative}.auth-card{background:var(--card);border:1px solid var(--line);border-radius:var(--r-xl);width:100%;max-width:940px;box-shadow:var(--sh-lg);grid-template-columns:1fr 1.05fr;display:grid;overflow:hidden}.auth-brand{color:#fff;background:radial-gradient(420px 300px at 110% 110%,#e6101d61,#0000 70%),radial-gradient(360px 260px at -10% -10%,#ffffff14,#0000 70%),linear-gradient(160deg,#0b2a4d,#031c36 60%,#020f1f);flex-direction:column;gap:14px;padding:44px 40px;display:flex;position:relative;overflow:hidden}.auth-brand:after{content:"";opacity:.9;background:linear-gradient(90deg,#031c36 0 66%,#e6101d 0 100%);height:5px;position:absolute;bottom:0;left:0;right:0}.auth-cr8{height:46px;margin-bottom:18px}.auth-client-logo,.auth-cr8{align-self:flex-start;width:auto}.auth-client-logo{-o-object-fit:contain;object-fit:contain;background:#fff;border-radius:12px;max-width:200px;height:52px;margin-bottom:14px;padding:6px 10px}.auth-brand h2{letter-spacing:-.4px;margin:0;font-size:26px;font-weight:800}.auth-brand>p{color:#ffffffb8;max-width:32ch;margin:0;font-size:14.5px;line-height:1.6}.auth-points{gap:12px;margin:auto 0 0;padding:26px 0 0;list-style:none;display:grid}.auth-points li{color:#ffffffdb;align-items:center;gap:12px;font-size:13.5px;font-weight:600;display:flex}.auth-points i{color:#fff;background:#ffffff1a;border-radius:9px;place-items:center;width:30px;height:30px;font-size:13px;display:grid}.auth-main{align-items:center;padding:44px 44px 40px;display:flex}.auth-form-wrap{width:100%}.auth-form{flex-direction:column;gap:16px;display:flex}.auth-form h1{letter-spacing:-.3px;color:var(--ink);margin:0;font-size:24px;font-weight:800}.auth-sub{color:var(--muted);margin:-8px 0 6px;font-size:14px;line-height:1.6}.auth-field{flex-direction:column;gap:7px;display:flex}.auth-field label{color:var(--ink2);font-size:13px;font-weight:700}.auth-lab-row{justify-content:space-between;gap:10px}.auth-input,.auth-lab-row{align-items:center;display:flex}.auth-input{position:relative}.auth-input>i{color:var(--muted);pointer-events:none;font-size:14px;position:absolute;left:14px}.auth-input input{width:100%;color:var(--ink);background:var(--card2);border:1.5px solid var(--line2);transition:border-color .15s var(--ease),box-shadow .15s var(--ease);border-radius:12px;outline:none;padding:12px 44px 12px 40px;font-family:inherit;font-size:15px}.auth-input input:focus{border-color:color-mix(in srgb,var(--brand) 60%,var(--line2));box-shadow:0 0 0 4px color-mix(in srgb,var(--brand) 14%,transparent);background:var(--card)}.auth-input input:disabled{opacity:.7}.auth-eye{color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:9px;width:34px;height:34px;position:absolute;right:6px}.auth-eye:hover{color:var(--ink);background:color-mix(in srgb,var(--muted) 12%,transparent)}.linkish{font:inherit;color:var(--brand);cursor:pointer;background:0 0;border:0;padding:0;font-size:13px;font-weight:700}.linkish:hover{text-decoration:underline}.auth-hint{color:var(--muted);margin:0;font-size:12.5px;line-height:1.5}.auth-err,.auth-hint.bad{color:var(--dang-ink)}.auth-err{background:var(--dang-soft);border-radius:12px;align-items:flex-start;gap:9px;margin:0;padding:11px 13px;font-size:13.5px;font-weight:600;line-height:1.5;display:flex}.auth-err i{margin-top:3px}.auth-go{border-radius:13px;justify-content:center;margin-top:4px;padding:13px 18px;font-size:15px}.auth-go:disabled{opacity:.55;cursor:not-allowed;box-shadow:none}.auth-back{justify-content:center}.auth-wait{text-align:center;color:var(--muted);margin:-6px 0 0;font-size:12.5px}.auth-meter{grid-template-columns:repeat(4,1fr);gap:5px;margin-top:2px;display:grid}.auth-meter span{background:var(--line2);height:5px;transition:background .2s var(--ease);border-radius:99px}.auth-meter[data-score="1"] span.on{background:var(--dang)}.auth-meter[data-score="2"] span.on{background:var(--warn)}.auth-meter[data-score="3"] span.on,.auth-meter[data-score="4"] span.on{background:var(--ok)}.auth-done{align-items:flex-start}.auth-done-ic{background:var(--ok-soft);width:54px;height:54px;color:var(--ok-ink);border-radius:16px;place-items:center;font-size:22px;display:grid}.auth-done-ic.warn{background:var(--warn-soft);color:var(--warn-ink)}.ts-wrap{min-height:65px}.ts-err{color:var(--warn-ink);margin:6px 0 0;font-size:12.5px}.auth-foot{color:var(--muted);align-items:center;gap:8px;font-size:12px;font-weight:600;display:flex}.auth-foot-logo{width:auto;height:16px}@media (width<=760px){.auth{justify-content:flex-start;padding-top:20px}.auth-card{grid-template-columns:1fr;max-width:460px}.auth-brand{padding:26px 24px 30px}.auth-brand h2,.auth-brand>p,.auth-points{display:none}.auth-cr8{height:36px;margin:0}.auth-main{padding:28px 22px 30px}}
