/* © 2026 CampettoLive — pannello proprietario, uso riservato. */
:root { --pitch-900:#0F2D22; --pitch-700:#1B4B36; --pitch-500:#2F7A52; --volt:#C4F135; --volt-ink:#1F2E0D; --crimson:#D64550;
  --bg:#F7F6F1; --card:#fff; --sunken:#EDEBE2; --text:#14181A; --muted:#4B5450; --border:#DEDACB; }
@media (prefers-color-scheme: dark) { :root { --bg:#0C1210; --card:#161F1B; --sunken:#1D2823; --text:#EFEFE9; --muted:#A5B0A9; --border:#2A362F; } }
* { box-sizing:border-box; }
body { margin:0; background:var(--bg); color:var(--text); font-family:'Inter',-apple-system,sans-serif; line-height:1.5; }
h1,h2 { font-family:'Oswald',sans-serif; margin:0; letter-spacing:.02em; }
.wrap { max-width:720px; margin:0 auto; padding:0 16px; }
.top { background:repeating-linear-gradient(90deg, rgba(255,255,255,.03) 0 60px, transparent 60px 120px), var(--pitch-900); color:#F7F6F1; padding:calc(20px + env(safe-area-inset-top,0px)) 0 20px; }
.brand { font-family:'Oswald',sans-serif; font-weight:700; font-size:20px; }
.brand span { color:var(--volt); }
.top p { color:#C9D6CE; font-size:13px; margin:4px 0 0; }
main { padding:20px 0 60px; }
.login-box { max-width:340px; margin:60px auto 0; background:var(--card); border:1px solid var(--border); border-radius:16px; padding:24px; }
.login-box label { display:block; font-size:12px; font-weight:600; color:var(--muted); margin-bottom:6px; text-transform:uppercase; }
.login-box input { width:100%; padding:12px; font-size:16px; border-radius:10px; border:1.5px solid var(--border); background:var(--bg); color:var(--text); }
.login-box .err { color:var(--crimson); font-size:13px; min-height:18px; margin-top:8px; }
.btn { font-family:inherit; cursor:pointer; border:none; border-radius:10px; padding:12px 18px; font-size:15px; font-weight:600; }
.btn.primary { background:var(--volt); color:var(--volt-ink); width:100%; margin-top:14px; }
.btn.ghost { background:transparent; border:1px solid var(--border); color:var(--text); }
.topbar-row { display:flex; align-items:center; justify-content:space-between; }
.card { background:var(--card); border:1px solid var(--border); border-radius:16px; padding:16px; margin-bottom:14px; }
.lega-row { display:flex; align-items:center; gap:12px; }
.lega-dot { width:11px; height:11px; border-radius:50%; flex-shrink:0; }
.lega-dot.up { background:var(--pitch-500); box-shadow:0 0 0 3px rgba(47,122,82,.18); }
.lega-dot.down { background:var(--crimson); box-shadow:0 0 0 3px rgba(214,69,80,.18); }
.lega-info { flex:1; min-width:0; }
.lega-nome { font-weight:600; font-size:15px; }
.lega-meta { font-size:12px; color:var(--muted); margin-top:2px; }
.lega-note { font-size:12.5px; color:var(--muted); margin-top:8px; padding-top:8px; border-top:1px dashed var(--border); }
.cred-details { margin-top:10px; padding-top:8px; border-top:1px dashed var(--border); }
.cred-details summary { cursor:pointer; font-size:12.5px; font-weight:600; color:var(--muted); }
.cred-box { margin-top:8px; display:flex; flex-direction:column; gap:6px; }
.cred-row { font-size:13px; background:var(--sunken); border-radius:8px; padding:8px 10px; }
.cred-row code { background:var(--border); border-radius:4px; padding:1px 6px; font-size:12.5px; }
.consigli-details summary { cursor:pointer; list-style:none; }
.consigli-details summary::-webkit-details-marker { display:none; }
.consigli-details summary::before { content:'▸ '; color:var(--muted); }
.consigli-details[open] summary::before { content:'▾ '; }
.shortcut-bar { margin-bottom:24px; }
.shortcut-title { font-size:12px; font-weight:700; text-transform:uppercase; letter-spacing:.04em; color:var(--muted); margin-bottom:8px; }
.shortcut-row { display:flex; gap:10px; flex-wrap:wrap; }
.shortcut-btn { display:flex; align-items:center; gap:8px; background:var(--pitch-900); color:#F7F6F1; text-decoration:none; border-radius:12px; padding:12px 16px; font-size:14px; font-weight:600; flex:1; min-width:140px; justify-content:center; }
.shortcut-btn span { font-size:18px; }
.lega-link { flex-shrink:0; text-decoration:none; background:var(--sunken); color:var(--text); border-radius:8px; padding:8px 12px; font-size:13px; font-weight:600; }
.stato-label { font-size:11px; font-weight:700; text-transform:uppercase; letter-spacing:.03em; }
.stato-label.up { color:var(--pitch-500); }
.stato-label.down { color:var(--crimson); }
.muted { color:var(--muted); font-size:13px; }
.refresh-note { text-align:center; margin-top:10px; }
.foot { text-align:center; color:var(--muted); font-size:12px; padding:30px 0 10px; }
