:root{--ink: #101720;--ink-2: #59616f;--muted: #6b7485;--border: #e4e7ec;--border-2: #eff1f4;--ground: #f4f6f8;--surface: #ffffff;--navy: #111a24;--navy-2: #1b2632;--green: #0b7c5a;--green-soft: #e6f3ee;--blue: #2d62e0;--blue-soft: #e8eefc;--amber: #a9660a;--amber-soft: #fbf0df;--rose: #bc3355;--rose-soft: #fbe9ed;--violet: #6146c6;--violet-soft: #ede9fb;--radius: 14px;--radius-sm: 9px;--shadow: 0 1px 2px rgba(16, 23, 32, .04)}*{box-sizing:border-box}body{margin:0;font-family:Plus Jakarta Sans,system-ui,sans-serif;background:var(--ground);color:var(--ink);-webkit-font-smoothing:antialiased}button,input{font-family:inherit}a{color:var(--green)}.num{font-variant-numeric:tabular-nums}.app{display:flex;height:100vh;overflow:hidden}.rail{width:60px;flex-shrink:0;background:var(--navy);display:flex;flex-direction:column;align-items:center;gap:10px;padding:14px 0}.rail-mark{width:34px;height:34px;border-radius:10px;background:var(--green);display:flex;align-items:center;justify-content:center;color:#fff;font-size:13px;font-weight:800;text-decoration:none;letter-spacing:-.02em}.rail-divider{width:22px;height:1px;background:#ffffff24;margin:2px 0}.rail-account{width:32px;height:32px;border-radius:10px;border:0;cursor:pointer;display:flex;align-items:center;justify-content:center;color:#fff;font-size:11px;font-weight:700}.rail-account.is-active{box-shadow:0 0 0 2px var(--navy),0 0 0 4px #ffffff38}.rail-add{width:32px;height:32px;border-radius:10px;background:transparent;border:1px dashed rgba(255,255,255,.28);color:#fff9;display:flex;align-items:center;justify-content:center;cursor:pointer}.sidebar{width:204px;flex-shrink:0;background:var(--navy-2);padding:16px 12px 14px;display:flex;flex-direction:column;gap:2px}.sidebar-head{padding:4px 10px 14px}.sidebar-eyebrow{font-size:11px;letter-spacing:.09em;text-transform:uppercase;color:#ffffff6b;font-weight:700}.sidebar-workspace{display:flex;align-items:center;gap:8px;margin-top:8px;color:#fff;font-size:15px;font-weight:700}.sidebar-sub{color:#ffffff80;font-size:11.5px;margin-top:2px}.nav-item{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:8px;text-decoration:none;color:#ffffffb8;font-size:13.5px;font-weight:500}.nav-item:hover{background:#ffffff0d;color:#fff}.nav-item.is-active{background:#ffffff17;color:#fff;font-weight:600}.sidebar-foot{margin-top:auto;border-top:1px solid rgba(255,255,255,.1);padding-top:12px}.main{flex-grow:1;display:flex;flex-direction:column;min-width:0}.topbar{height:64px;flex-shrink:0;background:var(--surface);border-bottom:1px solid var(--border);display:flex;align-items:center;gap:18px;padding:0 24px}.topbar h1{margin:0;font-size:18px;font-weight:700;letter-spacing:-.015em}.topbar-sub{font-size:12.5px;color:var(--muted);margin-top:2px}.search{display:flex;align-items:center;gap:8px;background:var(--ground);border:1px solid var(--border);border-radius:var(--radius-sm);padding:0 12px;height:36px;width:300px}.search input{border:0;background:transparent;outline:none;font-size:13px;width:100%;color:var(--ink)}.content{flex-grow:1;overflow-y:auto;padding:20px 24px 28px;display:flex;flex-direction:column;gap:16px}.columns{display:flex;gap:16px;align-items:flex-start}.col-main{flex-grow:1;min-width:0;display:flex;flex-direction:column;gap:16px}.col-side{width:372px;flex-shrink:0;display:flex;flex-direction:column;gap:16px}.btn{display:inline-flex;align-items:center;gap:7px;height:36px;padding:0 13px;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--surface);color:var(--ink);font-size:13px;font-weight:600;cursor:pointer}.btn:hover{background:var(--ground)}.btn-primary{border:0;background:var(--green);color:#fff;padding:0 14px}.btn-primary:hover{background:#096347}.btn-icon{width:36px;height:36px;padding:0;justify-content:center}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:18px}.card-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}.card-head h2{margin:0;font-size:14.5px;font-weight:700;letter-spacing:-.01em}.tiles{display:flex;gap:16px}.tile{flex:1 1 0;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:16px 18px}.tile-label{font-size:12px;font-weight:600;color:var(--muted)}.tile-row{display:flex;align-items:baseline;gap:9px;margin-top:8px}.tile-value{font-size:27px;font-weight:700;letter-spacing:-.03em}.tile-foot{font-size:11.5px;color:var(--muted);margin-top:7px}.chip{display:inline-flex;align-items:center;gap:5px;padding:3px 8px;border-radius:6px;font-size:11px;font-weight:600;white-space:nowrap}.delta{display:inline-flex;align-items:center;gap:3px;padding:2px 6px;border-radius:6px;font-size:11.5px;font-weight:700}.avatar{border-radius:50%;color:#fff;display:inline-flex;align-items:center;justify-content:center;font-weight:700;flex-shrink:0}.chart{display:flex;gap:12px}.chart-y{display:flex;flex-direction:column;justify-content:space-between;width:40px;flex-shrink:0;padding-bottom:22px;font-size:10.5px;color:var(--muted);text-align:right}.chart-plot{flex-grow:1;display:flex;align-items:flex-end;gap:10px;border-bottom:1px solid var(--border)}.bar-col{flex:1 1 0;display:flex;flex-direction:column;align-items:center;gap:5px;justify-content:flex-end}.bar{width:34px;border-radius:4px 4px 0 0;background:#8fc4b2;transition:height .3s ease}.bar.is-current{background:var(--green)}.bar-label{font-size:11.5px;color:var(--muted);font-weight:500}.bar-value{font-size:11.5px;font-weight:700}.stage-row{display:flex;align-items:center;gap:12px}.stage-name{width:112px;flex-shrink:0;font-size:12.5px;color:var(--ink-2);font-weight:500}.stage-track{flex-grow:1;height:22px;background:var(--ground);border-radius:5px;overflow:hidden}.stage-fill{height:100%;border-radius:5px;transition:width .3s ease}.stage-total{width:64px;text-align:right;font-size:12.5px;font-weight:700}.stage-count{width:52px;text-align:right;font-size:11.5px;color:var(--muted)}.row{display:flex;align-items:center;gap:11px;padding:10px 0;border-bottom:1px solid var(--border-2);text-decoration:none;color:inherit}.row:last-child{border-bottom:0}.row-title{font-size:13px;font-weight:600;color:var(--ink)}.row-sub{font-size:11.5px;color:var(--muted);margin-top:2px}.icon-badge{width:30px;height:30px;border-radius:9px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.state{padding:28px 0;text-align:center;color:var(--muted);font-size:13px}.skeleton{background:linear-gradient(90deg,var(--border-2) 25%,#f7f8fa 50%,var(--border-2) 75%);background-size:200% 100%;animation:shimmer 1.3s infinite;border-radius:6px}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.login{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--ground);padding:24px}.login-card{width:100%;max-width:380px;background:var(--surface);border:1px solid var(--border);border-radius:16px;padding:32px;box-shadow:0 8px 28px #1017200f;display:flex;flex-direction:column}.login-mark{width:40px;height:40px;border-radius:12px;background:var(--green);color:#fff;display:flex;align-items:center;justify-content:center;font-size:20px;font-weight:800;margin-bottom:18px}.login-card h1{margin:0;font-size:21px;font-weight:700;letter-spacing:-.02em}.login-sub{margin:6px 0 22px;font-size:13px;color:var(--muted)}.field{display:flex;flex-direction:column;gap:6px;margin-bottom:14px}.field span{font-size:12.5px;font-weight:600;color:var(--ink-2)}.field input{height:40px;padding:0 12px;border:1px solid var(--border);border-radius:var(--radius-sm);font-size:14px;color:var(--ink);background:var(--surface);outline:none}.field input:focus{border-color:var(--green);box-shadow:0 0 0 3px var(--green-soft)}.login-error{display:flex;align-items:center;gap:8px;margin-bottom:14px;background:var(--rose-soft);color:var(--rose);border-radius:var(--radius-sm);padding:9px 11px;font-size:12.5px;font-weight:600}.login-submit{width:100%;height:42px;justify-content:center;font-size:14px}.login-submit:disabled{opacity:.6;cursor:default}.login-foot{margin:18px 0 0;font-size:11.5px;color:var(--muted);line-height:1.5}.login-foot code{background:var(--ground);padding:1px 5px;border-radius:4px;font-size:11px}.user-button{display:flex;align-items:center;gap:8px;border:1px solid var(--border);background:var(--surface);border-radius:var(--radius-sm);height:36px;padding:0 6px 0 10px;cursor:pointer}.user-button:hover{background:var(--ground)}.user-name{font-size:12.5px;font-weight:600;color:var(--ink)}
