:root{color-scheme:dark;--page:#0a0b12;--surface-1:#121320;--surface-2:#1a1b2b;--border:hsla(0,0%,100%,.07);--border-strong:hsla(0,0%,100%,.14);--text-primary:#f4f5fa;--text-secondary:#9599bd;--text-muted:#6d7299;--series-blue:#6366f1;--status-good:#1fd15a;--status-warning:#fab219;--status-critical:#ff5c5c;--status-unknown:#6d7299;--gridline:hsla(0,0%,100%,.06);--shadow-card:0 1px 2px rgba(0,0,0,.2),0 1px 3px rgba(0,0,0,.25);--font:system-ui,-apple-system,"Segoe UI",sans-serif}*{box-sizing:border-box}body,html{margin:0;padding:0;color:var(--text-primary);font-family:var(--font);overflow:hidden}body{height:100vh;background:radial-gradient(120% 140% at 12% -10%,#171933 0,transparent 55%),radial-gradient(100% 120% at 100% 0,#14152a 0,transparent 50%),var(--page)}.soc-shell{display:flex;flex-direction:column;height:100vh;padding:clamp(10px,1.2vw,18px) clamp(14px,1.8vw,28px);gap:clamp(10px,1.1vw,16px)}.app-header{justify-content:space-between;flex-shrink:0}.app-header,.app-header-left{display:flex;align-items:center}.app-header-left{gap:12px}.header-logo{height:clamp(26px,2.6vw,38px);width:auto}.app-header h1{font-size:clamp(20px,2.1vw,30px);margin:0;font-weight:700;letter-spacing:-.01em}.app-header-right{display:flex;flex-direction:column;align-items:flex-end;gap:6px;text-align:right}.header-right-top{display:flex;align-items:center;gap:20px}.project-rotation{flex-direction:column;align-items:flex-end}.project-dots,.project-rotation{display:flex;gap:6px}.project-dot{width:6px;height:6px;padding:0;border:none;border-radius:50%;background:var(--border-strong);cursor:pointer;transition:background .2s,width .2s}.project-dot:hover{background:var(--text-muted)}.project-dot.active{width:18px;border-radius:3px}.project-dot.active,.project-dot.active:hover{background:var(--series-blue)}.project-progress-track{width:120px;height:3px;border-radius:2px;background:var(--surface-2);overflow:hidden}.project-progress-fill{height:100%;background:var(--series-blue)}.clock{font-size:clamp(16px,1.6vw,22px);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-weight:600}.meta{color:var(--text-muted);font-size:clamp(10px,.82vw,12.5px)}.panel{background:var(--surface-1);border:1px solid var(--border);border-radius:14px;box-shadow:var(--shadow-card);padding:clamp(12px,1.2vw,18px);display:flex;flex-direction:column;min-height:0}.panel-title{font-size:clamp(10px,.78vw,12px);font-weight:700;letter-spacing:.08em;color:var(--text-secondary);margin-bottom:12px;flex-shrink:0;display:flex;align-items:baseline;gap:10px}.panel-title-project{font-weight:700;letter-spacing:.06em;color:var(--series-blue)}.stat-row{display:grid;grid-template-columns:repeat(6,1fr);grid-gap:clamp(8px,1vw,14px);gap:clamp(8px,1vw,14px);flex-shrink:0}.stat-tile{background:var(--surface-1);border:1px solid var(--border);border-radius:12px;box-shadow:var(--shadow-card);padding:clamp(8px,.8vw,12px)}.stat-value{font-size:clamp(18px,1.9vw,26px);font-weight:700;line-height:1;min-height:1em}.stat-value-empty{color:var(--text-muted);font-weight:500}.stat-label{margin-top:5px;font-size:clamp(9px,.72vw,11.5px);color:var(--text-secondary);font-weight:500}.stat-critical .stat-value{color:var(--status-critical)}.stat-warning .stat-value{color:var(--status-warning)}.stat-good .stat-value{color:var(--status-good)}.main-row{flex-shrink:0;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.5fr);align-items:stretch;grid-gap:clamp(10px,1.1vw,16px);gap:clamp(10px,1.1vw,16px);max-height:36vh}.volume-panel{min-height:90px}.volume-chart{width:100%;flex:1 1;min-height:0}.chart-gridline{stroke:var(--gridline);stroke-width:1}.chart-axis-label{fill:var(--text-muted);font-size:9px}.chart-area{fill:var(--series-blue);opacity:.12;stroke:none}.chart-line{fill:none;stroke:var(--series-blue);stroke-width:2;stroke-linejoin:round;stroke-linecap:round}.chart-hit{fill:transparent}.chart-end-marker{fill:var(--series-blue);stroke:var(--surface-1);stroke-width:2}.chart-end-label{fill:var(--text-primary);font-size:11px;font-weight:700}.chart-empty{flex:1 1;display:flex;align-items:center;justify-content:center;color:var(--text-muted);font-size:13px}.feed-row-full{flex:1 1;min-height:260px}.table-panel{min-height:0}.no-scrollbar{scrollbar-width:none;-ms-overflow-style:none}.no-scrollbar::-webkit-scrollbar{width:0;height:0;display:none}.service-grid{max-height:calc(36vh - 56px);overflow-y:auto;display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));grid-auto-rows:min-content;grid-gap:2px 10px;gap:2px 10px;align-content:start}.service-item{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:7px 10px;border-radius:8px;font-size:clamp(11px,.85vw,13.5px)}.service-item.row-critical{background:rgba(255,92,92,.1)}.service-item.row-warning{background:rgba(250,178,25,.08)}.service-name{font-weight:600;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.badge{display:inline-flex;align-items:center;gap:6px;font-size:clamp(9px,.72vw,11px);font-weight:700;letter-spacing:.04em;padding:3px 8px;border-radius:999px;background:var(--surface-2)}.badge-dot{width:7px;height:7px;border-radius:50%}.badge-good{color:var(--status-good);background:rgba(31,209,90,.14)}.badge-good .badge-dot{background:var(--status-good)}.badge-warning{color:var(--status-warning);background:rgba(250,178,25,.14)}.badge-warning .badge-dot{background:var(--status-warning)}.badge-critical{color:var(--status-critical);background:rgba(255,92,92,.16)}.badge-critical .badge-dot{background:var(--status-critical);animation:pulse-critical 1.1s ease-in-out infinite}.badge-unknown{color:var(--text-muted)}.badge-unknown .badge-dot{background:var(--text-muted)}@keyframes pulse-critical{0%,to{opacity:1}50%{opacity:.4}}.feed-panel{height:100%;min-height:0}.feed-list{flex:1 1;overflow-y:auto;min-height:0;display:flex;flex-direction:column;gap:2px}.feed-row{display:flex;gap:8px;padding:8px 4px;border-bottom:1px solid var(--border)}.feed-sev-dot{width:7px;height:7px;border-radius:50%;margin-top:5px;flex-shrink:0;background:var(--status-unknown)}.feed-row.sev-warning .feed-sev-dot{background:var(--status-warning)}.feed-row.sev-critical .feed-sev-dot{background:var(--status-critical)}.feed-row.sev-warning .feed-msg{color:var(--status-warning)}.feed-row.sev-critical .feed-msg{color:var(--status-critical)}.feed-row-synthetic .feed-msg{font-weight:500;font-style:italic;opacity:.85}.feed-row-synthetic .feed-time{font-style:italic}.feed-row-body{min-width:0;flex:1 1}.feed-row-top{display:flex;justify-content:space-between;gap:8px}.feed-svc{font-size:clamp(9px,.7vw,11px);font-weight:500;letter-spacing:.03em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.feed-svc,.feed-time{color:var(--text-muted)}.feed-time{font-size:clamp(10px,.75vw,11.5px);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;flex-shrink:0}.feed-msg{margin-top:3px;font-size:clamp(12px,.95vw,15px);font-weight:600;color:var(--text-primary);line-height:1.35;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.feed-empty{padding:12px 4px;color:var(--text-muted);font-size:clamp(11px,.85vw,13px)}.empty-state,.error-state{flex:1 1;font-size:clamp(14px,1.4vw,20px)}.auth-screen,.empty-state,.error-state{display:flex;align-items:center;justify-content:center;color:var(--text-secondary)}.auth-screen{height:100vh;font-size:16px}.auth-card{display:flex;flex-direction:column;align-items:center;gap:10px;background:var(--surface-1);border:1px solid var(--border);border-radius:16px;box-shadow:var(--shadow-card);padding:clamp(28px,4vw,48px);text-align:center;min-width:320px}.auth-logo{height:44px;width:auto;margin-bottom:6px}.auth-card h1{margin:0;font-size:26px;font-weight:700}.auth-sub{margin:0 0 8px;color:var(--text-secondary);font-size:14px}.auth-button{display:flex;align-items:center;gap:10px;margin-top:10px;padding:12px 24px;border:none;border-radius:10px;background:#fff;color:#3c4043;font-size:15px;font-weight:600;cursor:pointer}.auth-button:hover{filter:brightness(.96)}.auth-error{margin:0;color:var(--status-critical);font-size:13px}