@import url("https://fonts.googleapis.com/css2?family=Barlow:wght@400;500;600;700&family=Rajdhani:wght@500;600;700&family=JetBrains+Mono:wght@400;500&display=swap");:root{--surface:#f4f6f8;--card:#ffffff;--card-border:#e2e6ed;--fg:#1a1e26;--muted:#5b6b7a;--muted-soft:#94a3b8;--divider:#f1f5f9;--accent:#006090;--accent-hover:#00507a;--accent-ink:#ffffff;--navy:#0f3554;--deep-navy:#0d2a3f;--error:#b91c1c;--field-border:#cbd5e1;--row-hover:#f0f4f8;--brand-gradient:linear-gradient(135deg,#0d2a3f,#0f3554 55%,#1d4668);--font-head:"Rajdhani",system-ui,sans-serif;--font-body:"Barlow",system-ui,-apple-system,Segoe UI,Roboto,sans-serif;--font-mono:"JetBrains Mono",ui-monospace,SFMono-Regular,Menlo,monospace}*{box-sizing:border-box}body{margin:0;background:var(--surface);color:var(--fg);font-family:var(--font-body)}h1,h2,h3,h4{font-family:var(--font-head);font-weight:600;letter-spacing:.01em;line-height:1.15}.mono,code{font-family:var(--font-mono)}input,select,textarea{font-family:var(--font-body)}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px rgba(0,96,144,.15)}input[type=checkbox],input[type=radio]{accent-color:var(--accent)}.detail-grid{display:grid;grid-template-columns:160px 1fr;grid-gap:.4rem 1rem;gap:.4rem 1rem;margin:1rem 0 0}.detail-grid dt{color:var(--muted);font-size:.88rem}.detail-grid dd{margin:0;font-size:.92rem}@media (max-width:480px){.detail-grid{grid-template-columns:1fr;gap:.1rem}.detail-grid dd{margin:0 0 .6rem}}.portal-card{background:var(--card);border:1px solid var(--card-border);border-top:3px solid var(--accent);border-radius:8px;padding:1.1rem 1.2rem;text-decoration:none;color:inherit;display:block;box-shadow:0 2px 12px rgba(13,42,63,.07);transition:transform .12s ease,box-shadow .12s ease}.portal-card:hover{transform:translateY(-2px);box-shadow:0 6px 18px rgba(0,96,144,.16)}.portal-card h2{color:var(--accent)}.kpi-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));grid-gap:.9rem;gap:.9rem;margin:1rem 0}.kpi{background:var(--card);border:1px solid var(--card-border);border-top:3px solid var(--accent);border-radius:8px;padding:.9rem 1rem}.kpi .n{font-size:2rem;font-weight:700;line-height:1;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;color:var(--fg)}.kpi .l{color:var(--muted);font-size:.82rem;margin-top:.35rem}.kpi .w{display:block;color:var(--muted-soft);font-size:.72rem;margin-top:.1rem}.dash-2{display:grid;grid-template-columns:1.1fr .9fr;grid-gap:1rem;gap:1rem;align-items:start}@media (max-width:720px){.dash-2{grid-template-columns:1fr}}.panel{background:var(--card);border:1px solid var(--card-border);border-radius:12px;padding:1rem 1.1rem}.panel h2{font-size:1.05rem;margin:0 0 .1rem}.panel .sub{color:var(--muted);font-size:.82rem;margin:0 0 .7rem}.feed{display:flex;flex-direction:column}.feed-row{display:flex;align-items:baseline;gap:.6rem;padding:.5rem 0;border-top:1px solid var(--divider)}.feed-row:first-child{border-top:none}.feed-row .dot{width:8px;height:8px;border-radius:8px;background:var(--accent);flex-shrink:0;transform:translateY(-1px)}.feed-row .cp{font-weight:600}.feed-row .site{color:var(--muted);font-size:.82rem}.feed-row .t{margin-left:auto;color:var(--muted-soft);font-size:.8rem;white-space:nowrap;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.feed-row .man{color:#b45309;font-size:.72rem;font-weight:600}.vbars{align-items:flex-end;height:120px;margin-top:.4rem}.vbars,.vbars .col{display:flex;gap:4px}.vbars .col{flex:1 1;flex-direction:column;align-items:center;height:100%;justify-content:flex-end}.vbars .bar{width:100%;min-height:2px;border-radius:3px 3px 0 0;background:linear-gradient(180deg,var(--accent),color-mix(in srgb,var(--accent) 55%,var(--navy)))}.vbars .ml{color:var(--muted-soft);font-size:.66rem}.hbars{display:flex;flex-direction:column;gap:.4rem;margin-top:.4rem}.hbar{font-size:.82rem}.hbar .top{display:flex;justify-content:space-between;gap:.5rem;margin-bottom:2px}.hbar .top .c{color:var(--muted);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.hbar .track{background:var(--ground);overflow:hidden}.hbar .fill,.hbar .track{height:8px;border-radius:6px}.hbar .fill{background:var(--accent)}