/* Colori e base comuni a tutte le pagine (chiaro e scuro) */
:root {
  --bg: #f4f5f7;
  --card: #ffffff;
  --ink: #1b1f24;
  --muted: #5b6470;
  --line: #e2e5ea;
  --accent: #2563eb;
  --accent-ink: #ffffff;
  --on: #15803d;
  --on-soft: #e8f5ec;
  --warn: #b45309;
  --danger: #b91c1c;
  --shadow: 0 1px 2px rgba(16, 24, 40, .06);
}
@media (prefers-color-scheme: dark) {
  :root {
    --bg: #0f1216;
    --card: #171b21;
    --ink: #e8ebef;
    --muted: #9aa3ad;
    --line: #262c35;
    --accent: #60a5fa;
    --accent-ink: #0b1220;
    --on: #4ade80;
    --on-soft: #14281c;
    --warn: #fbbf24;
    --danger: #f87171;
    --shadow: none;
  }
}
* { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }

/* Pagine semplici: login, link di accesso, app non attiva, pagina dell'app in Umbrel */
body.card { margin:0; min-height:100vh; display:grid; place-items:center; background:var(--bg); color:var(--ink); font:16px/1.5 system-ui,-apple-system,"Segoe UI",Roboto,sans-serif; padding:16px; }
body.card main { width:100%; max-width:420px; background:var(--card); border:1px solid var(--line); border-radius:14px; padding:28px 24px; }
body.card h1 { font-size:20px; margin:0 0 8px; }
body.card p { margin:0 0 12px; color:var(--muted); }
body.card .mark { width:40px; height:40px; border-radius:10px; background:var(--accent); opacity:.9; margin-bottom:16px; }
body.card code { font-size:14px; color:var(--ink); }
body.card dl { display:grid; grid-template-columns:auto 1fr; gap:4px 12px; margin:16px 0; }
body.card dt { color:var(--muted); }
body.card dd { margin:0; font-weight:600; }
body.card .phases { list-style:none; padding:0; margin:0; font-size:14px; }
body.card .phases li { padding:3px 0; color:var(--muted); }
body.card .phases li.fatta { color:var(--ink); }
body.card .phases li.in-corso { color:var(--accent); font-weight:600; }
body.card .phases span { font-weight:400; }
body.card label { display:flex; gap:10px; align-items:flex-start; margin:16px 0; color:var(--ink); font-size:15px; }
body.card label input { margin-top:4px; width:18px; height:18px; }
body.card button, body.card .btn { display:block; width:100%; padding:12px 16px; border:0; border-radius:10px; background:var(--accent); color:#fff; font:inherit; font-weight:600; cursor:pointer; text-align:center; text-decoration:none; }
body.card button:disabled { opacity:.6; cursor:default; }
body.card .code { font:700 34px/1.2 ui-monospace,Menlo,Consolas,monospace; letter-spacing:4px; text-align:center; padding:14px; margin:12px 0; border:1px dashed var(--line); border-radius:10px; }
body.card .msg { min-height:1.5em; margin-top:12px; }
body.card .hint { font-size:13px; color:var(--muted); }
body.card .hidden { display:none; }
