/* visite.css — Calendario visite, stile scuro/arancio coerente col brand. */
:root { --vz-bg:#000; --vz-surf:#101012; --vz-surf2:#17171b; --vz-line:rgba(255,255,255,.10);
  --vz-text:#f5f5f7; --vz-dim:#a1a1a8; --vz-faint:#6e6e73; --vz-acc:#ff6b00; --vz-ok:#34d399; --vz-no:#f87171; --vz-warn:#fbbf24; }
* { box-sizing:border-box; }
body.vz-body { margin:0; background:var(--vz-bg); color:var(--vz-text);
  font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif; -webkit-font-smoothing:antialiased; }
.vz-wrap { max-width:760px; margin:0 auto; padding:24px 18px 64px; }
.vz-top { display:flex; align-items:center; justify-content:space-between; margin-bottom:8px; }
.vz-brand { font-size:21px; font-weight:800; letter-spacing:-.5px; color:#fff; }
.vz-brand b { color:var(--vz-acc); font-weight:800; }
.vz-back { color:var(--vz-dim); text-decoration:none; font-size:14px; font-weight:600; }
.vz-h1 { font-size:30px; font-weight:800; letter-spacing:-.6px; margin:14px 0 4px; }
.vz-sub { color:var(--vz-dim); font-size:15px; margin:0 0 22px; }
.vz-sec-title { font-size:13px; font-weight:800; letter-spacing:1.2px; text-transform:uppercase; color:var(--vz-faint); margin:26px 0 12px; }
.vz-card { background:var(--vz-surf); border:1px solid var(--vz-line); border-radius:16px; padding:16px; margin-bottom:12px; }
.vz-head { display:flex; align-items:flex-start; justify-content:space-between; gap:12px; }
.vz-title { font-size:16px; font-weight:700; }
.vz-when { color:var(--vz-dim); font-size:13px; margin-top:3px; text-transform:capitalize; }
.vz-who { color:var(--vz-faint); font-size:12px; margin-top:8px; }
.vz-badge { flex:none; font-size:11px; font-weight:800; padding:4px 10px; border-radius:999px; white-space:nowrap; }
.vz-req { background:rgba(251,191,36,.14); color:var(--vz-warn); }
.vz-ok  { background:rgba(52,211,153,.14); color:var(--vz-ok); }
.vz-no  { background:rgba(248,113,113,.14); color:var(--vz-no); }
.vz-actions { display:flex; flex-wrap:wrap; gap:8px; margin-top:14px; }
.vz-btn { border:1px solid var(--vz-line); background:var(--vz-surf2); color:var(--vz-text);
  font-size:14px; font-weight:700; padding:9px 16px; border-radius:999px; cursor:pointer; }
.vz-btn:active { transform:scale(.98); }
.vz-confirm { background:var(--vz-acc); border-color:var(--vz-acc); color:#0a0a0a; }
.vz-decline { color:var(--vz-no); }
.vz-cal { color:var(--vz-acc); }
.vz-empty { color:var(--vz-faint); font-size:14px; padding:18px; border:1px dashed var(--vz-line); border-radius:14px; text-align:center; }
.vz-state { padding:60px 18px; text-align:center; color:var(--vz-dim); }
.vz-state a { color:var(--vz-acc); font-weight:700; text-decoration:none; }
.vz-login-btn { display:inline-block; margin-top:14px; background:var(--vz-acc); color:#0a0a0a; font-weight:800;
  padding:12px 22px; border-radius:999px; text-decoration:none; }
.vz-sub-link { display:flex; align-items:center; gap:8px; margin:8px 0 18px; flex-wrap:wrap; }
.vz-sub-link span { color:var(--vz-faint); font-size:13px; }
.vz-sub-link a { color:var(--vz-acc); font-weight:700; font-size:13px; text-decoration:none; }
.pz-prop { font-size:16px; font-weight:700; margin:0 0 4px; }
.pz-label { font-size:13px; font-weight:800; letter-spacing:1px; text-transform:uppercase; color:var(--vz-faint); margin:22px 0 10px; }
.pz-row { display:flex; flex-wrap:wrap; gap:8px; }
.pz-pill { border:1px solid var(--vz-line); background:var(--vz-surf); color:var(--vz-text); font-size:14px; font-weight:700; padding:10px 14px; border-radius:12px; cursor:pointer; text-transform:capitalize; }
.pz-on { background:var(--vz-acc); border-color:var(--vz-acc); color:#0a0a0a; }
.pz-submit { margin-top:26px; width:100%; background:var(--vz-acc); color:#0a0a0a; border:none; font-size:16px; font-weight:800; padding:14px; border-radius:999px; cursor:pointer; }
.pz-submit:disabled { opacity:.4; cursor:default; }

.vz-sub-link.vz-synced span { color:var(--vz-ok); font-weight:700; }

.pz-day-h { font-size:13px; font-weight:700; color:var(--vz-dim); margin:14px 0 6px; text-transform:capitalize; }
