/* Life PWA — Constitutional Agent */
*{margin:0;padding:0;box-sizing:border-box}
:root{--bg:#0a0a0f;--fg:#e0e0e0;--accent:#00bfa5;--dim:#444;--card:#0d1117;--border:#1a2a2a;--err:#ff5252;--warn:#ffd740}
html,body{height:100%}
body{font-family:'SF Mono',Monaco,Consolas,monospace;background:var(--bg);color:var(--fg);display:flex;flex-direction:column;overflow:hidden}
header{background:var(--card);border-bottom:1px solid var(--border);padding:12px 16px;display:flex;justify-content:space-between;align-items:center;flex-shrink:0}
header h1{font-size:16px;color:var(--accent)}
header .status{font-size:11px;padding:2px 8px;border-radius:10px;background:#00bfa520;color:var(--accent);border:1px solid #00bfa540}
header .status.revoked{color:var(--err);border-color:var(--err);background:#ff525220}
main{flex:1;overflow-y:auto;padding:16px}
section{margin-bottom:20px}
section h2{font-size:13px;color:var(--accent);margin-bottom:8px;text-transform:uppercase;letter-spacing:1px}
.card{background:var(--card);border:1px solid var(--border);border-radius:6px;padding:12px;margin-bottom:8px}
.card h3{font-size:13px;margin-bottom:4px}
.card p{font-size:11px;color:var(--dim)}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:8px}
.stat{background:var(--card);border:1px solid var(--border);border-radius:6px;padding:10px;text-align:center}
.stat .val{font-size:20px;color:var(--accent);font-weight:bold}
.stat .lbl{font-size:10px;color:var(--dim);margin-top:2px}
.btn{background:var(--card);color:var(--accent);border:1px solid var(--accent);padding:8px 16px;cursor:pointer;font-family:inherit;font-size:12px;border-radius:4px;width:100%;text-align:left;margin-bottom:4px;transition:all .15s}
.btn:hover{background:var(--accent);color:var(--bg)}
.btn:active{transform:scale(.98)}
.btn.red{color:var(--err);border-color:var(--err)}.btn.red:hover{background:var(--err);color:#fff}
.btn.yellow{color:var(--warn);border-color:var(--warn)}.btn.yellow:hover{background:var(--warn);color:var(--bg)}
.btn:disabled{opacity:.3;cursor:not-allowed}
#log{background:var(--card);border:1px solid var(--border);border-radius:6px;padding:10px;font-size:11px;max-height:200px;overflow-y:auto;white-space:pre-wrap;margin-top:8px}
.ok{color:var(--accent)}.err{color:var(--err)}.warn{color:var(--warn)}.info{color:#82aaff}
.privacy-banner{background:#00bfa510;border:1px solid #00bfa530;border-radius:6px;padding:10px;font-size:11px;margin-bottom:12px;color:var(--accent)}
.privacy-banner strong{display:block;margin-bottom:2px}
