@import url("https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=Sora:wght@600;700;800&display=swap");:root{--n1:#f8fafc;--n2:#eef1f6;--n3:#dfe4ec;--n4:#c3cad8;--n5:#94a0b5;--n6:#64748b;--n7:#475569;--n8:#334155;--n9:#1e293b;--n10:#0f172a;--bg:#f5f6f8;--ink:#111a2e;--ink-2:#33405a;--muted:#697590;--line:#e5e8ee;--line-2:#eef0f4;--brand:#1b2b4b;--brand2:#26406e;--brand3:#345085;--brand-ink:#122341;--accent-soft:#eef1f6;--brass:#26406e;--brass-soft:#eef1f6;--green:#15803d;--amber:#b45309;--red:#b91c1c;--card:#fff;--radius:10px;--radius-sm:8px;--shadow-1:0 1px 2px rgba(17,26,46,.05);--shadow-2:0 6px 18px -10px rgba(17,26,46,.16);--shadow-3:0 18px 44px -22px rgba(17,26,46,.28);--ring:0 0 0 3px rgba(27,43,75,.16)}*{box-sizing:border-box;margin:0;padding:0}body,html{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;color:var(--ink);background:radial-gradient(1200px 620px at 100% -12%,rgba(27,43,75,.04),transparent 60%),var(--bg);background-attachment:fixed;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}.kpi .val,.logo,h1,h2{font-family:Sora,Inter,sans-serif}a{color:inherit;text-decoration:none}::selection{background:rgba(99,102,241,.22)}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-thumb{background:rgba(100,116,139,.35);border-radius:20px;border:2px solid transparent;background-clip:content-box}::-webkit-scrollbar-thumb:hover{background:rgba(100,116,139,.55);background-clip:content-box}.layout{display:flex;min-height:100vh}.sidebar{width:256px;position:fixed;height:100vh;display:flex;flex-direction:column;padding:18px 0;color:#c4cbe6;background:linear-gradient(175deg,#0b1020,#181433 48%,#0a0f1f);border-right:1px solid hsla(0,0%,100%,.06);box-shadow:10px 0 40px -24px rgba(0,0,0,.75);z-index:10}.sidebar:before{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(460px 220px at 15% -4%,rgba(148,175,214,.12),transparent 62%)}.logo{position:relative;padding:2px 22px 18px;font-size:22px;font-weight:800;color:#fff;letter-spacing:.2px;display:flex;align-items:center;gap:11px;border-bottom:1px solid hsla(0,0%,100%,.07);margin-bottom:10px;align-items:flex-start;flex-direction:column;gap:8px}.logo .brand-mark{width:100%;max-width:216px;height:auto;display:block;color:#fff}.logo .brand-sub{font-size:11px;letter-spacing:1.4px;font-weight:700;color:#93b0d6;padding-left:4px}.nav{overflow-y:auto;padding:0 12px}.nav,.nav a{position:relative}.nav a{display:flex;align-items:center;gap:11px;padding:9px 12px;margin:2px 0;color:#b9c0dd;font-size:13.5px;font-weight:500;border-radius:8px;transition:background .16s,color .16s,transform .12s,box-shadow .16s}.nav a .ico{width:16px;text-align:center;opacity:.55;font-size:13px;transition:opacity .16s}.nav a:hover{background:hsla(0,0%,100%,.055);color:#fff;transform:translateX(2px)}.nav a.active{background:hsla(0,0%,100%,.07);color:#fff;box-shadow:inset 0 0 0 1px hsla(0,0%,100%,.1)}.nav a.active:before{content:"";position:absolute;left:-12px;top:8px;bottom:8px;width:3px;border-radius:0 3px 3px 0;background:#d7deec}.nav a.active .ico{opacity:1;color:#e2e8f2}.nav-group{padding:16px 14px 6px;font-size:10px;font-weight:700;letter-spacing:1.4px;text-transform:uppercase;color:#5b6484}.side-foot{margin-top:auto;padding:14px 20px;font-size:11.5px;color:#7a83a6;border-top:1px solid hsla(0,0%,100%,.07)}.side-foot button:hover{background:#241f45!important;color:#fff!important}.acct-row{display:flex;gap:6px;margin-top:10px;margin-left:0;flex-wrap:wrap}.acct-row>*{background:#1e293b;color:#cbd5e1;border:1px solid #334155;border-radius:6px;padding:5px 9px;font-size:11px;line-height:1.4;cursor:pointer;transition:background .15s;white-space:nowrap;text-decoration:none}.acct-row>:hover{background:#241f45;color:#fff}.main{margin-left:256px;flex:1 1;display:flex;flex-direction:column;min-width:0}.topbar{background:linear-gradient(180deg,hsla(0,0%,100%,.82),hsla(0,0%,100%,.62));-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--line);padding:16px 32px;display:flex;align-items:center;justify-content:space-between;position:-webkit-sticky;position:sticky;top:0;z-index:5}.topbar h1{font-size:21px;font-weight:750;letter-spacing:-.3px}.content{padding:28px 32px;flex:1 1;width:100%;max-width:100%}.content>*{animation:rise .45s cubic-bezier(.2,.8,.2,1) both}@keyframes rise{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.banner{background:var(--accent-soft);border:1px solid #d5dbe6;color:var(--brand-ink);font-size:12.5px;font-weight:500;padding:12px 16px;border-radius:10px;margin-bottom:22px}.kpis{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:18px;gap:18px;margin-bottom:26px}.kpi{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:19px 20px;box-shadow:var(--shadow-1);position:relative;overflow:hidden;transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease}.kpi:before{content:"";position:absolute;top:0;left:20px;width:26px;height:3px;border-radius:0 0 3px 3px;background:var(--brand)}.kpi:hover{transform:translateY(-2px);box-shadow:var(--shadow-2);border-color:var(--n3)}.kpi .label{font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.6px;font-weight:700}.kpi .val{font-size:31px;font-weight:750;margin-top:9px;letter-spacing:-.8px;line-height:1;color:var(--ink);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.kpi .sub{font-size:12px;color:var(--muted);margin-top:7px}.grid2{display:grid;grid-template-columns:1.35fr 1fr;grid-gap:20px;gap:20px}.panel{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:20px 22px;margin-bottom:20px;box-shadow:var(--shadow-1)}.panel h2{font-size:15px;font-weight:700;margin-bottom:16px;display:flex;justify-content:space-between;align-items:center;gap:10px;letter-spacing:-.2px}.panel h2:first-child{position:relative}table{width:100%;border-collapse:separate;border-spacing:0;font-size:13px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}th{text-align:left;color:var(--muted);font-weight:700;font-size:10.5px;text-transform:uppercase;letter-spacing:.6px;padding:11px 12px;border-bottom:1px solid var(--line);white-space:nowrap;background:var(--n1);position:-webkit-sticky;position:sticky;top:0;z-index:3}td{padding:12px;border-bottom:1px solid var(--line-2);vertical-align:middle}tbody tr{transition:background .12s,box-shadow .12s}tbody tr:hover td{background:var(--n1)}tbody tr:hover td:first-child{box-shadow:inset 3px 0 0 var(--brand)}tbody tr:last-child td{border-bottom:none}.name-cell{font-weight:650;color:#131a2e}.badge{display:inline-block;padding:3px 11px;border-radius:999px;font-size:11px;font-weight:600;line-height:1.5;border:1px solid transparent}.b-green{background:#e9fbf3;color:#047857;border-color:#a7f3d0}.b-amber{background:#fff7e8;color:#b45309;border-color:#fde3a7}.b-red{background:#fdecec;color:#c0392b;border-color:#f8c9c4}.b-blue{background:#eef1f6;color:#26406e;border-color:#d5dbe6}.b-gray{background:#f1f4f9;color:#475569;border-color:#e2e8f0}.tag{display:inline-block;background:var(--accent-soft);color:var(--brand);border:1px solid #d5dbe6;border-radius:6px;padding:3px 10px;font-size:11px;font-weight:600}.muted{color:var(--muted)}.link{color:var(--brand-ink);font-weight:600;transition:color .12s}.link:hover{color:var(--brand2);text-decoration:underline;text-underline-offset:2px}.fn-card{position:relative;display:flex;align-items:center;gap:11px;padding:12px 14px 12px 18px;background:var(--card);border:1px solid var(--line);border-radius:12px;cursor:pointer;box-shadow:var(--shadow-1);transition:transform .12s,box-shadow .15s,border-color .15s;overflow:hidden}.fn-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-2);border-color:var(--n3)}.fn-card:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--fn-accent,#26406e)}.fn-card .fn-avatar{width:34px;height:34px;border-radius:9px;flex-shrink:0;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:12.5px;color:#fff;letter-spacing:.3px}.fn-card .nm{font-weight:600;color:var(--ink);font-size:13.5px}.fn-card .nm,.fn-card .sub{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.fn-card .sub{font-size:11.5px;color:var(--muted)}.board{display:grid;grid-gap:14px;gap:14px;align-items:stretch;padding-bottom:8px}.col{border:1px solid var(--line);border-radius:12px;padding:0 10px 10px;min-height:150px}.col,.col-head{background:var(--n1)}.col-head{position:-webkit-sticky;position:sticky;top:56px;z-index:2;display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:0 -10px 10px;padding:11px 12px 10px;border-bottom:1px solid var(--line);border-radius:12px 12px 0 0;font-size:12.5px;font-weight:700;color:var(--ink);letter-spacing:-.1px}.col-head .dot{width:8px;height:8px;border-radius:3px;background:var(--stage,var(--brand));flex-shrink:0}.col-head .nm{flex:1 1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.col-head .cnt{background:var(--card);color:var(--ink-2);border:1px solid var(--line);border-radius:999px;padding:1px 9px;font-size:11px;font-weight:800;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.col-head .sum{width:100%;font-size:11px;font-weight:600;color:var(--muted);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.card{background:var(--card);border:1px solid var(--line);border-radius:9px;padding:11px 12px;margin-bottom:9px;cursor:-webkit-grab;cursor:grab;box-shadow:var(--shadow-1);transition:box-shadow .15s,transform .1s,border-color .15s;position:relative;overflow:hidden}.card:hover{box-shadow:var(--shadow-2);transform:translateY(-1px);border-color:var(--n3)}.card:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--stage,var(--brand));opacity:0;transition:opacity .15s}.card:hover:before{opacity:1}.card.drag{opacity:.5;transform:rotate(-1deg);box-shadow:var(--shadow-3)}.card .ttl{font-weight:700;font-size:13px;margin-bottom:5px;color:var(--ink);letter-spacing:-.1px}.card .meta{font-size:11px;color:var(--muted);line-height:1.55}.card .ev{font-weight:800;color:var(--brand-ink);font-size:12px;margin-top:7px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.col.over{outline:2px dashed var(--brand);outline-offset:2px;background:var(--accent-soft)}.prio{height:7px;width:7px;border-radius:50%;display:inline-block;margin-right:6px}.p-high{background:var(--red)}.p-medium{background:var(--amber)}.p-low{background:#94a3b8}.btn{background:var(--brand);color:#fff;border:1px solid transparent;border-radius:8px;padding:9px 17px;font-size:13px;font-weight:650;cursor:pointer;position:relative;box-shadow:0 1px 2px rgba(17,26,46,.2);transition:background .15s,transform .1s,box-shadow .15s}.btn:hover{background:var(--brand-ink);box-shadow:0 4px 12px -5px rgba(17,26,46,.4)}.btn:active{transform:translateY(1px)}.btn:disabled{opacity:.5;cursor:default;box-shadow:none}.btn-sm{padding:7px 13px;font-size:12px;border-radius:7px}.btn-ghost{background:var(--card);color:var(--ink-2);border:1px solid var(--n3);box-shadow:none}.btn-ghost:hover{background:var(--n1);border-color:var(--n4);box-shadow:none}.form-row{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:14px}.form-row label{display:flex;flex-direction:column;font-size:11.5px;color:var(--muted);gap:5px;flex:1 1;min-width:160px;font-weight:600}input,select,textarea{border:1px solid var(--line);border-radius:8px;padding:9px 12px;font-size:13px;font-family:inherit;color:var(--ink);background:#fff;transition:border-color .15s,box-shadow .15s}input:hover,select:hover,textarea:hover{border-color:#cfd6ea}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--brand);box-shadow:var(--ring)}.empty{color:var(--muted);font-size:13px;padding:24px;text-align:center}.error{background:#fdecec;color:#c0392b;border:1px solid #f8c9c4;border-radius:11px}.error,.success{padding:10px 14px;font-size:13px;margin-bottom:14px}.success{background:#e9f8ef;color:#15803d;border:1px solid #b6e6c8;border-radius:11px}.spinner{width:22px;height:22px;border-radius:50%;border:3px solid var(--line);border-top-color:var(--brand);display:inline-block;animation:dc-spin .7s linear infinite}@keyframes dc-spin{to{transform:rotate(1turn)}}html[data-theme=dark] .success{background:rgba(34,197,94,.14);color:#86efac;border-color:rgba(34,197,94,.4)}:focus-visible{outline:2px solid var(--brand);outline-offset:2px;border-radius:6px}html[data-theme=dark]{--bg:#0a1120;--ink:#e8ecf4;--ink-2:#b9c2d6;--muted:#8b97b2;--line:#20293f;--line-2:#182036;--card:#121a2d;--brand:#3a5c93;--brand2:#4a6ea8;--brand3:#5679b4;--brand-ink:#6f92c8;--accent-soft:rgba(90,120,180,.16);--brass:#4a6ea8;--n1:#161f34;--n2:#1a2440;--n3:#28324e;--n4:#3a4667;--n5:#586488;--n6:#8791b0;--n7:#a7b0cc;--n8:#c4cbe0;--n9:#dde2ef;--n10:#eef1f8;--shadow-1:0 1px 2px rgba(0,0,0,.4);--shadow-2:0 12px 30px -16px rgba(0,0,0,.65);--shadow-3:0 26px 60px -24px rgba(0,0,0,.8);--ring:0 0 0 3px rgba(90,120,180,.32)}html[data-theme=dark] body{background:radial-gradient(1200px 620px at 100% -12%,rgba(90,120,180,.1),transparent 60%),var(--bg)}html[data-theme=dark] .topbar{background:linear-gradient(180deg,rgba(18,24,42,.86),rgba(18,24,42,.6));border-bottom-color:var(--line)}html[data-theme=dark] .kpi{background:var(--card)}html[data-theme=dark] .kpi .val{color:var(--ink)}html[data-theme=dark] .kpi:before{background:var(--brand3)}html[data-theme=dark] th{background:#12172a;color:var(--muted)}html[data-theme=dark] .col{background:#0f1428}html[data-theme=dark] .tag{background:rgba(90,120,180,.16)}html[data-theme=dark] .btn-ghost{background:transparent;color:var(--ink);border-color:var(--line)}html[data-theme=dark] .btn-ghost:hover{background:hsla(0,0%,100%,.05);border-color:var(--n5)}html[data-theme=dark] tbody tr:hover td{background:hsla(0,0%,100%,.045)}html[data-theme=dark] .name-cell{color:var(--ink)}html[data-theme=dark] .card{background:#161c31}html[data-theme=dark] .col{background:linear-gradient(180deg,#12172a,#0e1324)}html[data-theme=dark] .col-head{color:var(--ink);background:#12172a;border-bottom-color:var(--line)}html[data-theme=dark] .col-head .cnt{background:#1c2438;color:#c3d0e8;border-color:var(--line)}html[data-theme=dark] input,html[data-theme=dark] select,html[data-theme=dark] textarea{background:#0f1428;border-color:var(--line);color:var(--ink)}html[data-theme=dark] .tag{background:rgba(90,120,180,.18);border-color:rgba(90,120,180,.3);color:#c3d0e8}html[data-theme=dark] .banner{background:var(--accent-soft);color:#c3d0e8;border-color:rgba(90,120,180,.3)}html[data-theme=dark] .b-green{background:rgba(16,185,129,.16);color:#6ee7b7;border-color:rgba(16,185,129,.35)}html[data-theme=dark] .b-amber{background:rgba(245,158,11,.16);color:#fcd34d;border-color:rgba(245,158,11,.35)}html[data-theme=dark] .b-red{background:rgba(239,68,68,.16);color:#fca5a5;border-color:rgba(239,68,68,.35)}html[data-theme=dark] .b-blue{background:rgba(90,120,180,.18);color:#c3d0e8;border-color:rgba(90,120,180,.35)}html[data-theme=dark] .b-gray{background:rgba(148,163,184,.16);color:#cbd5e1;border-color:rgba(148,163,184,.3)}html[data-theme=dark] .error{background:rgba(239,68,68,.14);color:#fca5a5;border-color:rgba(239,68,68,.4)}.theme-toggle{background:#1e293b;color:#cbd5e1;border:1px solid #334155;border-radius:6px;padding:5px 9px;font-size:11px;line-height:1.4;cursor:pointer;transition:background .15s;white-space:nowrap}.theme-toggle:hover{background:#241f45;color:#fff}