:root{--ink:#132238;--muted:#718096;--paper:#f6f8fb;--card:#fff;--line:#e6ebf1;--accent:#1f7a8c;--accent-soft:#e6f5f4;--warm:#e78b47;--danger:#b64b4b}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}button,input,textarea{font:inherit}button{cursor:pointer}.shell{min-height:100vh}.topbar{justify-content:space-between;padding:24px clamp(20px,5vw,72px);background:#fff;border-bottom:1px solid var(--line)}.brand,.topbar{display:flex;align-items:center}.brand{gap:12px;font-weight:750;letter-spacing:-.03em}.brand-mark{width:34px;height:34px;border-radius:11px;background:var(--ink);color:#fff;display:grid;place-items:center;font-size:17px}.eyebrow{color:var(--accent);font-size:12px;text-transform:uppercase;letter-spacing:.14em;font-weight:800}.top-actions{display:flex;align-items:center;gap:12px}.button{border:1px solid var(--line);border-radius:10px;background:#fff;color:var(--ink);padding:10px 14px;font-weight:650}.button.primary{background:var(--ink);color:#fff;border-color:var(--ink)}.button.ghost{background:transparent}.button:disabled{opacity:.45;cursor:wait}.main{width:min(1180px,calc(100% - 40px));margin:0 auto;padding:42px 0 64px}.hero{display:flex;justify-content:space-between;gap:28px;align-items:flex-end;margin-bottom:28px}.hero h1{font-size:clamp(32px,5vw,54px);line-height:1;letter-spacing:-.065em;margin:10px 0 12px}.hero p{color:var(--muted);margin:0}.date-nav{display:flex;gap:8px;align-items:center}.date-nav input{border:1px solid var(--line);border-radius:10px;padding:10px 12px;background:#fff;color:var(--ink)}.grid{display:grid;grid-template-columns:repeat(12,1fr);grid-gap:16px;gap:16px}.card{background:var(--card);border:1px solid var(--line);border-radius:18px;padding:20px;box-shadow:0 8px 24px rgba(20,35,56,.035)}.span-4{grid-column:span 4}.span-5{grid-column:span 5}.span-7{grid-column:span 7}.span-8{grid-column:span 8}.span-12{grid-column:span 12}.card h2{font-size:17px;margin:0 0 14px;letter-spacing:-.02em}.metric-row{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:10px;gap:10px}.metric{background:var(--paper);border-radius:12px;padding:13px;min-height:78px}.metric .label{color:var(--muted);font-size:12px}.metric .value{font-size:22px;font-weight:760;margin-top:5px;letter-spacing:-.04em}.empty,.muted{color:var(--muted)}.empty{padding:16px 0 2px;font-size:14px}.activity{border-top:1px solid var(--line);padding:14px 0}.activity:first-child{border-top:0;padding-top:0}.activity-head{display:flex;justify-content:space-between;gap:12px}.activity-name{font-weight:730}.activity-type{color:var(--accent);font-size:12px;font-weight:750}.activity-meta{color:var(--muted);font-size:13px;margin-top:5px}.description{white-space:pre-wrap;margin-top:10px;font-size:14px;line-height:1.5;background:#fbf8f3;padding:10px 12px;border-radius:10px}.notes{width:100%;min-height:150px;border:1px solid var(--line);border-radius:12px;resize:vertical;padding:13px;color:var(--ink);background:#fbfcfe}.note-actions{display:flex;justify-content:space-between;align-items:center;margin-top:10px}.status-list{display:grid;grid-gap:10px;gap:10px}.status{justify-content:space-between;gap:12px;padding:12px;background:var(--paper);border-radius:12px}.status,.status-main{display:flex;align-items:center}.status-main{gap:10px}.dot{width:9px;height:9px;border-radius:50%;background:#b7c1cc}.dot.connected{background:#2caa7c}.dot.error{background:var(--danger)}.status small{color:var(--muted)}.error-text{color:var(--danger);font-size:13px;margin-top:12px}.login{min-height:100vh;display:grid;place-items:center;padding:20px}.login-card{max-width:480px;width:100%;background:#fff;border:1px solid var(--line);border-radius:22px;padding:34px;box-shadow:0 20px 50px rgba(20,35,56,.08)}.login-card h1{letter-spacing:-.06em;font-size:42px;margin:12px 0}.login-card p{color:var(--muted);line-height:1.6}.footer-note{color:var(--muted);font-size:12px;margin-top:18px;line-height:1.5}@media (max-width:800px){.hero,.topbar{align-items:flex-start;flex-direction:column}.top-actions{width:100%;justify-content:space-between}.date-nav{width:100%}.date-nav input{flex:1 1}.span-4,.span-5,.span-7,.span-8{grid-column:span 12}.main{width:min(100% - 28px,680px);padding-top:28px}}