:root{color:#f5f5f5;--bg-primary:#0d1117;--bg-secondary:#101826;--bg-card:#101621d9;--accent-rose:#ff5d5d;--accent-amber:#ffb86b;--accent-cyan:#2be4f5;--accent-lime:#9aff76;--text-primary:#f5f7fa;--text-muted:#f5f7fa99;--border-soft:#ffffff14;--shadow-soft:0 24px 60px #00000059;background-color:#0d1117;font-family:IBM Plex Sans,sans-serif}*{box-sizing:border-box}body{background:radial-gradient(circle at top, #27476d73, transparent 48%), radial-gradient(circle at 30% 30%, #ffb86b33, transparent 35%), radial-gradient(circle at 70% 10%, #2be4f533, transparent 40%), var(--bg-primary);min-height:100vh;color:var(--text-primary);margin:0}#root{min-height:100vh}.app-shell{flex-direction:column;gap:28px;padding:32px clamp(20px,4vw,56px) 48px;display:flex}.app-header{z-index:20;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:linear-gradient(#0d1117fa 0%,#0d1117a6 60%,#0000 100%);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:24px;padding:16px 0 12px;display:flex;position:sticky;top:0}.header-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:16px;display:flex}.app-header h1{margin:6px 0 0;font-family:Sora,sans-serif;font-size:clamp(28px,3.2vw,40px)}.eyebrow{text-transform:uppercase;letter-spacing:.24em;color:var(--text-muted);font-size:12px}.filter-bar{background:var(--bg-card);border:1px solid var(--border-soft);box-shadow:var(--shadow-soft);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-radius:16px;gap:16px;padding:16px 20px;display:flex}.auth-panel{background:var(--bg-card);border:1px solid var(--border-soft);min-width:240px;box-shadow:var(--shadow-soft);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-radius:16px;flex-direction:column;gap:12px;padding:16px;display:flex}.auth-header{justify-content:space-between;align-items:center;display:flex}.auth-header h4{margin:0;font-size:14px}.auth-pill{border:1px solid var(--border-soft);border-radius:999px;padding:4px 8px;font-size:11px}.auth-form{gap:8px;display:grid}.auth-input{border:1px solid var(--border-soft);color:var(--text-primary);background:#ffffff0d;border-radius:10px;padding:8px 10px;font-size:12px}.stream-notice{color:var(--text-muted);margin:0;font-size:13px}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.auth-button{border:1px solid var(--border-soft);color:var(--text-primary);cursor:pointer;background:#ffffff14;border-radius:10px;padding:8px 12px;font-weight:600}.auth-button.ghost{background:0 0}.auth-error{color:var(--accent-rose);font-size:12px}.auth-actions{justify-content:space-between;align-items:center;gap:12px;display:flex}.auth-info{color:var(--text-muted);font-size:12px}.filter-group{flex-direction:column;gap:6px;min-width:140px;display:flex}.filter-group label{color:var(--text-muted);font-size:12px}select,button{border:1px solid var(--border-soft);color:var(--text-primary);background:#ffffff0f;border-radius:10px;padding:8px 12px;font-weight:500}select{appearance:none;background-image:linear-gradient(45deg,#0000 50%,#fff9 50%),linear-gradient(135deg,#fff9 50%,#0000 50%);background-position:calc(100% - 16px) calc(50% - 2px),calc(100% - 12px) calc(50% - 2px);background-repeat:no-repeat;background-size:4px 4px,4px 4px;padding-right:28px}select:focus,button:focus,.auth-input:focus{border-color:#2be4f599;outline:none;box-shadow:0 0 0 2px #2be4f533}select option{color:#f5f7fa;background-color:#111827}select option:checked,select option:hover,select option:focus{color:#fff;background-color:#1f2937}.filter-bar{background:linear-gradient(135deg,#161e2df2,#0c1118e6);border:1px solid #ffffff1f}.filter-group label{letter-spacing:.08em;text-transform:uppercase;font-family:Sora,sans-serif}.filter-group select{font-size:13px}button.ghost{cursor:pointer;background:0 0}button{transition:transform .15s,background .2s,border-color .2s,box-shadow .2s}button:hover{background:#ffffff1f;border-color:#fff3;transform:translateY(-1px)}button:active{transform:translateY(0)}.kpi-row{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:18px;display:grid}.kpi-box{background:var(--bg-card);border:1px solid var(--border-soft);border-radius:18px;flex-direction:column;gap:6px;padding:18px 20px;animation:.6s ease-out forwards fadeInUp;display:flex;position:relative;overflow:hidden}.kpi-box:after{content:"";opacity:0;background:linear-gradient(135deg,#0000,#ffffff14);transition:opacity .3s;position:absolute;inset:0}.kpi-box:hover:after{opacity:1}.kpi-label{color:var(--text-muted);font-size:12px}.kpi-value{font-family:Sora,sans-serif;font-size:28px}.kpi-hint{color:var(--text-muted);font-size:12px}.kpi-rose{border-left:3px solid var(--accent-rose)}.kpi-amber{border-left:3px solid var(--accent-amber)}.kpi-cyan{border-left:3px solid var(--accent-cyan)}.main-grid{grid-template-columns:minmax(0,2.2fr) minmax(260px,1fr);gap:24px;display:grid}.left-column,.right-column{flex-direction:column;gap:20px;display:flex}.chart-card,.detail-panel,.alert-feed{background:var(--bg-card);border:1px solid var(--border-soft);box-shadow:var(--shadow-soft);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-radius:20px;padding:20px;position:relative}.chart-header{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.chart-header h3{margin:0;font-size:16px}.chip{color:var(--accent-cyan);background:#2be4f533;border-radius:999px;padding:4px 10px;font-size:11px}.chart-line{fill:none;stroke:url(#lineGradient);stroke-width:2.5px}.chart-point{fill:#fff9;stroke:#ffffff4d}.chart-point.anomaly{fill:var(--accent-rose);stroke:#fff9}.axis text{fill:var(--text-muted)}.axis path,.axis line{stroke:#ffffff1a}.chart-tooltip{opacity:0;pointer-events:none;border:1px solid var(--border-soft);color:var(--text-primary);z-index:10;background:#101621f2;border-radius:12px;padding:10px 12px;font-size:12px;transition:opacity .2s,transform .2s;position:absolute;top:0;left:0;transform:translateY(6px)}.chart-tooltip strong{color:var(--accent-cyan);font-size:14px}.chart-tooltip span{color:var(--accent-amber)}.alert-feed{height:100%}.feed-header{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.feed-header h3{margin:0;font-size:16px}.badge{color:var(--accent-rose);background:#ff5d5d2e;border-radius:999px;padding:4px 10px;font-size:11px}.badge-simulated{color:var(--accent-amber);background:#ffb86b29;margin-left:8px}.feed-list{flex-direction:column;gap:12px;max-height:420px;padding-right:4px;display:flex;overflow:auto}.feed-empty{color:var(--text-muted)}.alert-item{background:#ffffff0a;border:1px solid #ffffff0d;border-radius:14px;flex-direction:column;gap:8px;padding:12px;animation:.4s ease-out fadeInUp;display:flex}.alert-item div{justify-content:space-between;align-items:center;display:flex}.alert-item strong{font-size:14px}.alert-item span{color:var(--text-muted);font-size:12px}.score{color:var(--accent-rose);font-weight:600}.value{color:var(--accent-amber);font-weight:600}.detail-panel h3{margin:0 0 8px}.detail-grid{grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:12px;margin-top:16px;display:grid}.detail-grid span{color:var(--text-muted);font-size:12px}.detail-grid strong{margin-top:4px;font-size:14px;display:block}.ok{color:var(--accent-lime)}.warn{color:var(--accent-amber)}@keyframes fadeInUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@media (width<=900px){.main-grid{grid-template-columns:1fr}.filter-bar{flex-wrap:wrap;width:100%}.header-actions{justify-content:space-between;width:100%}.app-header{padding-top:0;position:static}}.project-nav{flex-wrap:wrap;gap:4px 16px;margin-top:8px;font-size:13px;display:flex}.project-nav a,.ms-footer a{min-height:44px;color:var(--text-primary);text-underline-offset:3px;align-items:center;text-decoration:underline;display:inline-flex}.project-nav a:focus-visible,.ms-footer a:focus-visible{outline:2px solid var(--accent-cyan);outline-offset:2px;border-radius:4px}.ms-footer{border-top:1px solid var(--border-soft);color:var(--text-muted);padding-top:12px;font-size:13px}.ms-footer__inner{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:4px 24px;display:flex}.ms-footer__signature,.ms-footer__meta{flex-wrap:wrap;align-items:center;gap:0 8px;margin:0;display:flex}.ms-footer__links{flex-wrap:wrap;gap:0 16px;display:flex}.ms-sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}
