:root{--action: #4696a7;--action-hover: #3d8493;--bg: #0f172a;--surface: #1e293b;--text: #f1f5f9;--muted: #94a3b8;--danger: #f87171;--radius: 12px;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif}*,*:before,*:after{box-sizing:border-box}body{margin:0;min-height:100dvh;background:var(--bg);color:var(--text);line-height:1.45}#root{min-height:100dvh}.page{max-width:28rem;margin:0 auto;padding:1.25rem 1rem 2.5rem;padding-top:max(1.25rem,env(safe-area-inset-top));padding-bottom:max(2.5rem,env(safe-area-inset-bottom))}.page-header h1{margin:0 0 .25rem;font-size:1.5rem;color:var(--action)}.subtitle{margin:0 0 1.25rem;color:var(--muted);font-size:.95rem}.card{background:var(--surface);border-radius:var(--radius);padding:1rem 1.1rem;margin-bottom:1rem;border:1px solid #334155}.card h2{margin:0 0 .75rem;font-size:1rem;font-weight:600}.status-row{display:flex;gap:.65rem;align-items:flex-start;margin-bottom:.65rem}.status-dot{width:10px;height:10px;border-radius:50%;margin-top:.35rem;flex-shrink:0;background:#475569}.status-dot.ok{background:#4ade80}.status-detail{font-size:.85rem;color:var(--muted);margin-top:.15rem;word-break:break-word}.meta-list{margin:0}.meta-list>div{margin-bottom:.5rem}.meta-list dt{font-size:.75rem;text-transform:uppercase;letter-spacing:.04em;color:var(--muted)}.meta-list dd{margin:.1rem 0 0;font-size:.9rem}.btn-primary,.btn-secondary{border:none;border-radius:8px;padding:.55rem 1rem;font-size:.95rem;font-weight:600;cursor:pointer;margin-top:.5rem}.btn-primary{background:var(--action);color:#fff}.btn-primary:hover{background:var(--action-hover)}.btn-primary:disabled{opacity:.6;cursor:wait}.btn-secondary{background:transparent;color:var(--text);border:1px solid #64748b}.install-banner{position:sticky;top:0;z-index:10;background:#134e4a;color:#ecfdf5;padding:.75rem 1rem;font-size:.9rem;border-bottom:1px solid #0f766e}.install-actions{display:flex;gap:.5rem;margin-top:.5rem}.install-hint{color:#fecaca;margin:0 0 .5rem;font-size:.85rem}.install-warn{color:#fecaca;margin:0 0 .5rem}.footer-note{font-size:.8rem;color:var(--muted);text-align:center;margin-top:1.5rem}code{font-size:.85em;background:#0f172a;padding:.1em .35em;border-radius:4px}
