:root { --navy:#102a43; --navy-2:#1d3f5e; --teal:#0b9b8e; --teal-soft:#e7f7f4; --ink:#172b3a; --muted:#657985; --border:#dce6ea; --canvas:#f5f8f9; --surface:#fff; --warn:#b67712; --danger:#bd4046; --success:#138b68; --shadow:0 10px 26px rgba(20,50,68,.07); }
* { box-sizing:border-box; } [hidden] { display:none !important; } body { margin:0; min-width:320px; color:var(--ink); background:var(--canvas); font:14px/1.45 Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; }
button,input { font:inherit; } button { cursor:pointer; } a { color:var(--teal); text-decoration:none; } a:hover { text-decoration:underline; }
.login-shell { min-height:100vh; display:grid; place-items:center; padding:24px; background:linear-gradient(135deg,#eaf5f4,#f8fbfc 52%,#eef3f7); }.login-card { width:min(420px,100%); padding:36px; background:var(--surface); border:1px solid var(--border); box-shadow:var(--shadow); border-radius:18px; }.login-card h1 { margin:4px 0 12px; font-size:28px; line-height:1.15; }.login-card label { display:block; margin:26px 0 7px; font-weight:650; }.login-card input { width:100%; padding:12px; border:1px solid #bdced4; border-radius:8px; outline:none; }.login-card input:focus { border-color:var(--teal); box-shadow:0 0 0 3px rgba(11,155,142,.14); }.login-card .button { width:100%; margin-top:18px; }.form-message { margin:12px 0 0; color:var(--danger); }
.app-shell { min-height:100vh; display:flex; }.sidebar { position:fixed; inset:0 auto 0 0; width:236px; display:flex; flex-direction:column; padding:24px 14px 18px; color:#dbe8f0; background:var(--navy); }.brand { display:flex; align-items:center; gap:11px; margin:0 10px 34px; color:#fff; font-size:17px; line-height:1.05; text-decoration:none; }.brand:hover { text-decoration:none; }.brand-mark { display:grid; place-items:center; width:35px; height:35px; border-radius:10px; color:#fff; font-weight:800; background:var(--teal); }.navigation { display:grid; gap:5px; }.nav-item { display:flex; align-items:center; gap:12px; padding:11px 13px; border-radius:8px; color:#c7d7e1; font-weight:550; }.nav-item span { width:16px; text-align:center; color:#9fb6c7; font-weight:800; }.nav-item:hover { text-decoration:none; background:rgba(255,255,255,.08); color:#fff; }.nav-item.active { color:#fff; background:rgba(11,155,142,.23); }.nav-item.active span { color:#55dfcf; }.sidebar-bottom { margin-top:auto; padding:14px 10px 0; border-top:1px solid rgba(255,255,255,.14); }.sidebar-status { margin:0 0 10px; color:#a7bdcc; font-size:12px; }.text-button { padding:0; color:#c9d9e3; border:0; background:none; }.text-button:hover { color:#fff; text-decoration:underline; }
.workspace { width:calc(100% - 236px); margin-left:236px; }.topbar { min-height:105px; display:flex; align-items:center; justify-content:space-between; gap:20px; padding:22px 34px; background:rgba(255,255,255,.9); border-bottom:1px solid var(--border); }.topbar h1 { margin:1px 0 0; font-size:25px; line-height:1.15; }.eyebrow { margin:0; color:#718492; font-size:11px; font-weight:750; letter-spacing:.09em; }.top-actions { display:flex; align-items:center; justify-content:flex-end; gap:10px; }.sync-status { max-width:220px; color:var(--muted); font-size:12px; text-align:right; }.button { border:1px solid transparent; border-radius:8px; padding:10px 14px; font-weight:650; transition:background .15s, border-color .15s, opacity .15s; }.button:disabled { cursor:wait; opacity:.6; }.button-primary { color:white; background:var(--teal); }.button-primary:hover { background:#07867b; }.button-secondary { color:var(--navy); background:#fff; border-color:#bdced4; }.button-secondary:hover { background:#f1f6f7; }.global-message { margin:18px 34px 0; padding:11px 13px; color:#704d12; background:#fff7dc; border:1px solid #efdaa6; border-radius:8px; }.global-message.error { color:#982c33; background:#fff0f1; border-color:#f2c2c5; }.page-section { display:none; max-width:1440px; margin:0 auto; padding:30px 34px 46px; }.page-section.active { display:block; }.summary-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:16px; }.summary-card,.panel,.project-card,.cost-card,.rule-card { background:var(--surface); border:1px solid var(--border); border-radius:12px; box-shadow:var(--shadow); }.summary-card { padding:19px; }.summary-card .label { display:block; color:var(--muted); font-size:12px; }.summary-card strong { display:block; margin-top:8px; font-size:25px; line-height:1.05; }.summary-card small { display:block; min-height:18px; margin-top:8px; color:var(--muted); }.dashboard-grid { display:grid; grid-template-columns:1.25fr .75fr; gap:16px; margin-top:16px; }.panel { padding:20px; }.panel-wide { grid-column:span 1; }.panel:last-child { grid-column:1 / -1; }.panel-heading,.section-intro { display:flex; align-items:flex-start; justify-content:space-between; gap:16px; margin-bottom:15px; }.panel-heading h2,.section-intro h2 { margin:3px 0 0; font-size:18px; }.panel-heading a { font-size:12px; font-weight:650; }.section-intro { margin-bottom:20px; }.section-intro h2 { font-size:22px; }.section-intro p { max-width:720px; margin:7px 0 0; color:var(--muted); }.compact-list,.recommendation-list,.event-list { display:grid; }.compact-row { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; gap:18px; padding:13px 0; border-top:1px solid var(--border); }.compact-row:first-child { padding-top:0; border-top:0; }.row-title { display:flex; align-items:center; gap:8px; min-width:0; font-weight:650; }.row-title span:last-child { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }.row-subtitle { margin-top:3px; color:var(--muted); font-size:12px; }.row-side { color:var(--muted); font-size:12px; text-align:right; }.badge { display:inline-flex; align-items:center; max-width:100%; padding:3px 7px; border-radius:999px; color:#48616e; background:#edf2f4; font-size:11px; font-weight:700; white-space:nowrap; }.badge.success { color:#087256; background:#e1f5ee; }.badge.warning { color:#8e5e0a; background:#fff3d8; }.badge.danger { color:#a33238; background:#ffeaeb; }.badge.neutral { color:#526a76; background:#edf2f4; }.recommendation { padding:13px 0; border-top:1px solid var(--border); }.recommendation:first-child { padding-top:0; border-top:0; }.recommendation strong { display:block; margin-top:7px; }.recommendation p { margin:5px 0 0; color:var(--muted); font-size:12px; }.recommendation .evidence { color:#657985; }.card-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; }.project-card,.cost-card { padding:19px; }.project-header { display:flex; justify-content:space-between; align-items:flex-start; gap:10px; }.project-card h3,.cost-card h3 { margin:0; font-size:17px; overflow-wrap:anywhere; }.project-url { display:block; margin-top:5px; overflow:hidden; color:var(--teal); text-overflow:ellipsis; white-space:nowrap; }.project-meta { display:grid; gap:8px; margin:18px 0 0; padding-top:14px; border-top:1px solid var(--border); color:var(--muted); font-size:12px; }.project-history { margin-top:15px; }.history-summary { color:var(--muted); font-size:12px; }.history-list { display:grid; gap:5px; margin-top:8px; }.history-list span { color:var(--muted); font-size:12px; }.resource-table-wrap { overflow:auto; background:var(--surface); border:1px solid var(--border); border-radius:12px; box-shadow:var(--shadow); }.resource-table { width:100%; min-width:850px; border-collapse:collapse; }.resource-table th,.resource-table td { padding:13px 16px; text-align:left; vertical-align:top; border-bottom:1px solid var(--border); }.resource-table th { color:#6c808d; background:#f8fafb; font-size:11px; letter-spacing:.04em; text-transform:uppercase; }.resource-table tr:last-child td { border-bottom:0; }.table-title { font-weight:700; }.table-secondary { display:block; margin-top:2px; color:var(--muted); font-size:12px; }.historical { color:#8b641c; }.costs-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }.cost-amount { margin:15px 0 5px; font-size:28px; font-weight:750; }.cost-card p { margin:9px 0 0; color:var(--muted); }.event-list { gap:12px; }.event { display:grid; grid-template-columns:10px minmax(0,1fr) auto; gap:13px; align-items:start; padding:16px 18px; background:var(--surface); border:1px solid var(--border); border-radius:10px; box-shadow:var(--shadow); }.event-marker { width:8px; height:8px; margin-top:6px; border-radius:50%; background:#95a7b0; }.event-marker.success { background:var(--success); }.event-marker.warning { background:#e2a230; }.event-marker.danger { background:var(--danger); }.event h3 { margin:0; font-size:15px; }.event p { margin:4px 0 0; color:var(--muted); }.event time { color:var(--muted); font-size:12px; white-space:nowrap; }.event-footer { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-top:10px; }.event-footer .button { padding:6px 9px; font-size:12px; }.acknowledged { color:var(--success); font-size:12px; }.rules-layout { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }.rule-card { padding:19px; }.rule-card h3 { margin:0 0 12px; font-size:16px; }.key-value { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:10px; padding:9px 0; border-top:1px solid var(--border); }.key-value:first-of-type { border-top:0; padding-top:0; }.key-value span { color:var(--muted); }.key-value strong { max-width:300px; text-align:right; overflow-wrap:anywhere; }.capability { display:flex; gap:10px; padding:10px 0; border-top:1px solid var(--border); }.capability:first-of-type { border-top:0; padding-top:0; }.capability p { margin:3px 0 0; color:var(--muted); font-size:12px; }.empty-state { display:grid; place-items:start; gap:4px; padding:24px 0; color:var(--muted); }.empty-state strong { color:#526a76; }.empty-state span { font-size:12px; }
@media (max-width:1000px) { .summary-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }.card-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }.dashboard-grid { grid-template-columns:1fr; }.panel:last-child { grid-column:auto; } }
@media (max-width:760px) { .app-shell { display:block; }.sidebar { position:static; width:100%; min-height:0; padding:15px; }.brand { margin:0 4px 14px; }.navigation { display:flex; gap:5px; overflow:auto; }.nav-item { flex:0 0 auto; padding:8px 10px; font-size:12px; }.nav-item span { display:none; }.sidebar-bottom { display:none; }.workspace { width:100%; margin:0; }.topbar { min-height:0; align-items:flex-start; padding:20px; }.top-actions { flex-wrap:wrap; }.sync-status { display:none; }.page-section { padding:22px 20px 36px; }.global-message { margin:15px 20px 0; }.summary-grid,.card-grid,.costs-grid,.rules-layout { grid-template-columns:1fr; }.section-intro { flex-direction:column; }.event { grid-template-columns:8px minmax(0,1fr); }.event time { grid-column:2; }.event-footer { grid-column:2; }.compact-row { grid-template-columns:1fr; gap:5px; }.row-side { text-align:left; } }

.balance-values { display:grid; gap:7px; margin:12px 0; }.proposal-item { border-top:1px solid var(--border); padding:12px 0; }.proposal-item h4 { margin:0 0 6px; }.proposal-item p { margin:5px 0; color:var(--muted); }.proposal-card { border-top:3px solid var(--warn); }.subsection-heading { margin:18px 0; }.subsection-heading h3 { margin:4px 0; }.subsection-heading p { color:var(--muted); }.telemetry-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }.telemetry-card { padding:20px; border:1px solid var(--border); background:white; border-radius:12px; min-width:0; }.telemetry-card.is-stale { border-color:var(--warn); }.telemetry-card-heading { display:flex; justify-content:space-between; align-items:start; gap:12px; }.telemetry-card h3 { margin:4px 0; overflow-wrap:anywhere; }.telemetry-observed,.telemetry-summary,.telemetry-host { color:var(--muted); font-size:12px; }.telemetry-metrics { display:grid; grid-template-columns:repeat(4,1fr); gap:10px; margin:18px 0; }.telemetry-metrics span { display:grid; gap:4px; color:var(--muted); }.telemetry-metrics b { font-size:21px; color:var(--ink); }.telemetry-details { border-top:1px solid var(--border); padding-top:12px; }.telemetry-details summary { cursor:pointer; color:var(--teal); }.telemetry-details-grid { overflow-wrap:anywhere; }.telemetry-details-grid section { margin-top:16px; }.telemetry-details-grid h4 { margin:8px 0; }.telemetry-details-grid ul { padding-left:20px; }.telemetry-details-grid li { margin:7px 0; }.resource-registry { margin-top:25px; }
@media(max-width:1000px){.telemetry-grid{grid-template-columns:1fr}}
@media(max-width:500px){.telemetry-metrics{grid-template-columns:repeat(2,1fr)}.key-value{grid-template-columns:1fr}.key-value strong{text-align:left;max-width:none}}
