:root{color-scheme:dark;--bg: #10131a;--panel: #1d2027;--panel-hi: #272c35;--border: #3b4354;--text: #e7ebf5;--muted: #b7bfd0;--primary: #4d8eff;--danger: #f87171;--warning: #fbbf24;--success: #34d399}*{box-sizing:border-box}body{margin:0;min-height:100vh;font-family:Inter,PingFang SC,Microsoft YaHei UI,sans-serif;background:radial-gradient(circle at top right,rgba(77,142,255,.15),transparent 50%),var(--bg);color:var(--text)}.app-shell{min-height:100vh;display:grid;place-items:center;padding:24px}.login-shell{width:min(420px,100%)}.login-card{display:grid;gap:12px;border:1px solid rgba(255,255,255,.14);background:#1d2027d1;border-radius:16px;padding:18px}.login-card h1{margin:0;font-size:24px}.login-card p{margin:6px 0 0;color:var(--muted);font-size:13px}.login-card label{display:grid;gap:6px;font-size:13px;color:#dce8ff}.login-card input{height:38px;border-radius:10px;border:1px solid rgba(255,255,255,.16);background:#10131ab3;color:var(--text);padding:0 10px}.login-card button{height:38px;border-radius:10px;border:1px solid rgba(77,142,255,.42);background:#4d8eff3d;color:#dce8ff;cursor:pointer}.login-card button:disabled{opacity:.6;cursor:not-allowed}.login-error{border:1px solid rgba(248,113,113,.45);background:#f8717124;color:#ffd5d5;border-radius:10px;padding:8px 10px;font-size:12px}.todo-workbench{width:min(980px,100%);display:grid;gap:14px;position:relative}.workbench-header{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.header-actions{display:flex;align-items:center;gap:8px}.workbench-header h1{margin:0;font-size:24px}.workbench-header p{margin:6px 0 0;color:var(--muted);font-size:13px}.telemetry-badge{border:1px solid rgba(255,255,255,.14);background:#ffffff14;border-radius:999px;padding:6px 10px;font-size:12px;color:var(--muted)}.logout-btn{border:1px solid rgba(255,255,255,.16);background:#ffffff0d;color:var(--text);border-radius:999px;height:30px;padding:0 10px;font-size:12px;cursor:pointer}.integration-card{border:1px solid rgba(255,255,255,.12);background:#1d2027b8;border-radius:14px;padding:12px}.integration-card-header{display:flex;justify-content:space-between;align-items:center;gap:10px}.integration-card-header h2{margin:0;font-size:14px}.integration-badge{font-size:11px;border-radius:999px;padding:4px 9px;border:1px solid rgba(255,255,255,.18)}.integration-badge.ok{color:#d9ffee;border-color:#34d39980;background:#34d39933}.integration-badge.warn{color:#ffe6c2;border-color:#fbbf2480;background:#fbbf2429}.integration-grid{margin-top:9px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.integration-grid div{border:1px solid rgba(255,255,255,.1);border-radius:9px;padding:8px;background:#10131a80}.integration-grid strong{display:block;font-size:11px;color:#adc6ff}.integration-grid p{margin:4px 0 0;font-size:12px;color:var(--text)}.integration-missing{margin:10px 0 0;font-size:12px;color:#ffd8a8}.integration-actions{margin-top:10px;display:flex;gap:8px}.integration-actions button{height:32px;border-radius:8px;border:1px solid rgba(255,255,255,.16);background:#ffffff0d;color:var(--text);font-size:12px;padding:0 10px;cursor:pointer}.integration-actions button:disabled{opacity:.55;cursor:not-allowed}.mode-banner{display:flex;justify-content:space-between;align-items:center;gap:10px;border:1px solid rgba(77,142,255,.45);background:#4d8eff2e;padding:10px 12px;border-radius:12px}.mode-banner button{border:none;border-radius:999px;padding:5px 10px;background:#4d8eff4d;color:#dce8ff;cursor:pointer}.undo-bar{display:flex;justify-content:space-between;align-items:center;gap:10px;border:1px solid rgba(52,211,153,.45);background:#34d39926;color:#d9ffee;padding:10px 12px;border-radius:12px;font-size:13px}.undo-bar button{border:none;border-radius:999px;padding:5px 10px;background:#34d39947;color:#d9ffee;cursor:pointer}.sync-hint{border:1px solid rgba(173,198,255,.45);background:#adc6ff24;color:#dce8ff;border-radius:10px;padding:8px 10px;font-size:12px}.sync-hint.sync-hint-error{border-color:#f8717173;background:#f8717124;color:#ffd5d5}.todo-hero-card,.todo-panel,.view-container{background:#1d2027b8;border:1px solid rgba(255,255,255,.12);border-radius:16px;padding:14px}.todo-hero-top{display:flex;justify-content:space-between;gap:12px}.hero-kicker{font-size:11px;letter-spacing:.08em;color:#adc6ff;text-transform:uppercase}.todo-hero-top h1{margin:5px 0;font-size:22px}.todo-hero-top p{margin:0;color:var(--muted);font-size:13px}.hero-ring{width:80px;height:80px;border-radius:50%;display:grid;place-items:center;background:conic-gradient(var(--primary) 0 60%,rgba(255,255,255,.12) 60% 100%);box-shadow:inset 0 0 0 10px #10131aeb;flex-shrink:0}.hero-ring strong{font-size:18px;line-height:1}.hero-ring span{font-size:10px;color:var(--muted)}.hero-metrics{margin-top:12px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.hero-metric{border:1px solid rgba(255,255,255,.12);border-radius:10px;padding:8px}.hero-metric strong{display:block;font-size:18px}.hero-metric span{font-size:11px;color:var(--muted)}.hero-progress{margin-top:10px;height:8px;border-radius:999px;overflow:hidden;background:#ffffff17}.hero-progress-fill{height:100%;background:var(--primary)}.quick-lane{display:grid;grid-template-columns:1fr 1fr;gap:8px}.quick-lane button{height:36px;border-radius:10px;border:1px solid rgba(77,142,255,.32);background:#4d8eff29;color:#dce8ff;cursor:pointer}.todo-tabs{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}.todo-tab{height:36px;border-radius:10px;border:1px solid rgba(255,255,255,.14);background:#ffffff0a;color:var(--muted);cursor:pointer}.todo-tab.active{color:#dce8ff;border-color:#4d8eff66;background:#4d8eff38}.panel-header{display:flex;justify-content:space-between;align-items:center;gap:12px}.panel-header h2,.panel-header h3{margin:0;font-size:15px}.panel-header p{margin:4px 0 0;font-size:12px;color:var(--muted)}.panel-header-compact{margin-top:12px}.chip-row{display:flex;gap:8px;overflow-x:auto;margin-top:10px}.chip,.chip-action{height:30px;border-radius:999px;border:1px solid rgba(255,255,255,.16);background:#ffffff0a;color:var(--muted);font-size:12px;padding:0 10px;cursor:pointer;white-space:nowrap}.chip.active{color:#dce8ff;border-color:#4d8eff6b;background:#4d8eff40}.panel-line{margin-top:10px;display:flex;gap:8px;align-items:center}.panel-hint{color:var(--muted);font-size:12px;flex:1}.batch-grid{margin-top:8px;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}.batch-grid button,.template-row button,.todo-card-actions button,.matrix-cell button{border:1px solid rgba(255,255,255,.14);background:#ffffff0a;color:var(--text);border-radius:8px;height:32px;font-size:12px;cursor:pointer}.batch-grid button:disabled{opacity:.45;cursor:not-allowed}.template-row{margin-top:8px;display:flex;gap:8px;overflow-x:auto}.panel-note{margin-top:10px;font-size:12px;color:var(--muted)}.todo-list{display:grid;gap:10px}.todo-card{border-radius:12px;border:1px solid rgba(255,255,255,.1);background:#10131a94;padding:12px}.todo-card:focus-visible{outline:2px solid rgba(173,198,255,.9);outline-offset:2px}.todo-card.selected{border-color:#4d8eff80;box-shadow:0 0 0 1px #4d8eff66}.todo-card.done{opacity:.62}.todo-card.risk-critical{border-left:3px solid var(--danger)}.todo-card.risk-soon{border-left:3px solid var(--warning)}.todo-card.risk-week{border-left:3px solid var(--primary)}.todo-card-header{display:flex;justify-content:space-between;gap:8px}.todo-card-header h3{margin:0;font-size:15px}.priority-pill{font-size:10px;border-radius:999px;padding:3px 8px;border:1px solid rgba(255,255,255,.14);color:var(--muted);align-self:flex-start}.priority-pill.danger{color:var(--danger);border-color:#f8717159}.priority-pill.warning{color:var(--warning);border-color:#fbbf2459}.meta-row{margin-top:8px;display:flex;flex-wrap:wrap;gap:6px}.meta-chip{font-size:11px;padding:3px 7px;border-radius:999px;border:1px solid rgba(255,255,255,.14);color:var(--muted)}.meta-chip.deadline.risk-critical{color:var(--danger)}.meta-chip.deadline.risk-soon{color:var(--warning)}.meta-chip.deadline.risk-week,.meta-chip.countdown{color:#adc6ff}.todo-note{margin:9px 0 0;font-size:12px;line-height:1.45;color:var(--muted)}.secondary-grid{margin-top:10px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.secondary-grid div{border:1px solid rgba(255,255,255,.1);border-radius:8px;padding:6px;background:#ffffff08}.secondary-grid strong{display:block;font-size:10px;color:var(--muted)}.secondary-grid span{display:block;font-size:12px;margin-top:3px}.todo-card-actions{margin-top:10px;display:flex;align-items:center;gap:8px}.todo-card-actions .ghost{color:#ffd5d5}.select-flag{margin-left:auto;font-size:12px;color:#dce8ff}.matrix-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.matrix-cell{border-radius:12px;border:1px solid rgba(255,255,255,.1);padding:10px;background:#10131a80}.matrix-cell.q-0{border-top:2px solid var(--danger)}.matrix-cell.q-1{border-top:2px solid var(--warning)}.matrix-cell.q-2{border-top:2px solid var(--primary)}.matrix-cell h3{margin:0;font-size:14px}.matrix-cell p{margin:4px 0 10px;color:var(--muted);font-size:12px}.matrix-cell ul{margin:0;padding:0;list-style:none;display:grid;gap:8px}.matrix-cell li{border:1px solid rgba(255,255,255,.1);border-radius:8px;padding:8px;display:flex;justify-content:space-between;align-items:center;gap:8px;font-size:12px}.matrix-empty{font-size:12px;color:var(--muted)}.calendar-layout .calendar-topline{border:1px dashed rgba(77,142,255,.45);background:#4d8eff1f;border-radius:10px;padding:8px 10px;font-size:12px;color:#dce8ff}.sparkline{margin-top:10px;display:flex;align-items:flex-end;justify-content:space-between;gap:8px}.spark-item{flex:1;display:flex;flex-direction:column;align-items:center;gap:4px}.spark-bar{width:16px;border-radius:8px;background:linear-gradient(180deg,#adc6fff2,#4d8eff66);position:relative}.spark-bar span{position:absolute;top:-14px;left:50%;transform:translate(-50%);font-size:9px;color:var(--muted)}.spark-label{font-size:10px;color:var(--muted)}.agenda-list{margin-top:12px;display:grid;gap:8px}.agenda-card{border-radius:10px;border:1px solid rgba(255,255,255,.1);padding:9px 10px;background:#10131a94}.agenda-card h3{margin:5px 0 0;font-size:14px}.agenda-card p{margin:4px 0 0;color:var(--muted);font-size:12px}.agenda-time{font-size:11px;color:#adc6ff}.category-list,.deadline-list{display:grid;gap:10px}.category-card,.deadline-card{border-radius:12px;border:1px solid rgba(255,255,255,.1);padding:10px;background:#10131a94}.category-head,.deadline-card header{display:flex;justify-content:space-between;align-items:center;gap:8px}.category-head h3,.deadline-card h3{margin:0;font-size:14px}.load-badge{font-size:11px;border-radius:999px;padding:3px 8px}.load-badge.high{background:#f8717129;color:var(--danger)}.load-badge.medium{background:#fbbf2424;color:var(--warning)}.load-badge.low{background:#34d39924;color:var(--success)}.category-card ul,.deadline-card ul{list-style:none;margin:8px 0 0;padding:0;display:grid;gap:6px}.category-card li,.deadline-card li{font-size:13px;color:var(--muted);border-top:1px solid rgba(255,255,255,.08);padding-top:6px;display:flex;justify-content:space-between;gap:8px}.deadline-card li small{color:#adc6ff}.deadline-empty{margin:8px 0 0;color:var(--muted);font-size:12px}.empty-box{border:1px dashed rgba(255,255,255,.2);border-radius:10px;padding:14px;color:var(--muted);font-size:13px}.todo-fab{position:fixed;right:28px;bottom:24px;width:54px;height:54px;border-radius:50%;border:1px solid rgba(77,142,255,.5);background:linear-gradient(160deg,#4d8effe6,#4d8effa6);color:#fff;font-size:28px;line-height:1;cursor:pointer;box-shadow:0 12px 24px #00000047;z-index:40}.todo-fab.blocked{opacity:.4;pointer-events:none;transform:translateY(10px)}@media (max-width: 880px){.quick-lane,.hero-metrics,.matrix-grid{grid-template-columns:1fr}.batch-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.todo-tabs{grid-template-columns:repeat(3,minmax(0,1fr))}.secondary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.integration-grid{grid-template-columns:1fr}.integration-actions{flex-direction:column}}
