:root{color-scheme:dark;--bg:#080d1c;--panel:#101a31;--border:#273855;--white:#f7faff;--muted:#a5b6d3;--blue:#3c8aff;--cyan:#7decfa}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--white);font:16px/1.55 Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}.header{height:88px;position:sticky;top:0;z-index:10;padding:0 max(5vw,22px);display:flex;align-items:center;justify-content:space-between;background:rgba(8,13,28,.96);border-bottom:1px solid var(--border);backdrop-filter:blur(16px)}.logo{display:flex;align-items:center;gap:14px;font-weight:750;letter-spacing:.05em}.logo small{display:block;font-size:9px;letter-spacing:.23em;font-weight:500;color:var(--muted)}.logo-mark{display:flex;align-items:center;justify-content:center;border:1px solid var(--cyan);border-radius:10px;width:53px;height:48px;font-size:20px;color:var(--cyan)}.spark{color:white;font-size:11px;padding:0 2px}.header nav{display:flex;gap:26px;align-items:center}.header nav a{padding:12px 2px;color:#aebfda;font-size:14px}.header nav a:hover,.header nav a.active{color:var(--cyan)}.menu-button{display:none;background:none;color:white;border:0;font-size:27px}.hero{height:345px;position:relative;overflow:hidden;background:radial-gradient(ellipse at 82% 110%,#19468d 0%,transparent 53%),linear-gradient(115deg,#0c1834,#080d1c 70%)}.hero:after{content:"";position:absolute;inset:0;background:repeating-linear-gradient(90deg,transparent 0 139px,rgba(99,155,252,.035) 140px 141px);pointer-events:none}.hero-inner{position:relative;z-index:1;max-width:1160px;margin:auto;padding:49px 25px}.hero h1{font-size:clamp(32px,4.2vw,57px);line-height:1.13;letter-spacing:-.04em;margin:11px 0 12px}.hero h1 em{font-style:normal;background:linear-gradient(90deg,#9ddefc,#4a91ff);-webkit-background-clip:text;color:transparent}.hero-copy{color:#c2d2ee;max-width:570px;margin:0 0 21px}.eyebrow{color:#7bb9ff;text-transform:uppercase;letter-spacing:.19em;font-size:11px;font-weight:800;margin:0}.cta,.submit{display:inline-flex;align-items:center;justify-content:space-between;gap:25px;background:linear-gradient(90deg,#2a67df,#248ce2);color:#fff;border:0;border-radius:9px;padding:12px 18px;font-weight:700;cursor:pointer}.beam{position:absolute;pointer-events:none;transform-origin:top;width:240px;height:640px;top:-135px;filter:blur(3px);clip-path:polygon(49% 0,51% 0,100% 100%,0 100%);opacity:.15}.beam-one{background:linear-gradient(#1ddaff,transparent);right:10%;transform:rotate(23deg)}.beam-two{background:linear-gradient(#7451fd,transparent);right:30%;transform:rotate(-29deg)}main{max-width:1160px;margin:auto;padding:30px 24px 80px}.section-header{display:flex;align-items:end;justify-content:space-between;gap:15px;margin-bottom:22px}.section-header h2{font-size:clamp(25px,3vw,33px);letter-spacing:-.03em;margin:6px 0 0}.section-header>p{font-size:14px;color:var(--muted);max-width:320px}.home-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:20px}.panel{background:linear-gradient(150deg,#131f38,#0d1529);border:1px solid var(--border);border-radius:15px;padding:26px}.panel-heading{display:flex;gap:15px;justify-content:space-between;align-items:start}.panel h3{margin:0 0 6px;font-size:22px}.panel p{color:var(--muted);font-size:14px;margin:4px 0 16px}.preview-chip{font-size:10px;letter-spacing:.12em;border:1px solid #607294;border-radius:25px;color:#b7c9e6;padding:5px 9px}.month-navigation{display:flex;justify-content:space-between;align-items:center;margin:17px 0}.month-navigation h4{font-size:18px;text-transform:capitalize;margin:0}.month-navigation button{background:#1a2a49;border:1px solid #375071;border-radius:8px;color:#fff;width:36px;height:36px;cursor:pointer;font-size:25px}.weekday-row,.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px}.weekday-row span{text-align:center;color:#9bb0cf;font-size:11px;padding:5px}.calendar-day{min-height:62px;border:1px solid #263955;background:#111e35;border-radius:7px;color:white;text-align:left;padding:6px;display:flex;flex-direction:column;justify-content:space-between;cursor:pointer}.calendar-day:hover,.calendar-day:focus-visible{outline:2px solid #62b6ff}.calendar-day .number{font-size:12px}.calendar-day .status{font-size:10px;color:#90e5c7}.calendar-day.busy{background:#332139;border-color:#674366}.calendar-day.busy .status{color:#ffc4d7}.calendar-day.today{border-color:#83b4ff}.calendar-day.selected{outline:2px solid #64d7f6}.calendar-empty{min-height:58px}.legend{display:flex;flex-wrap:wrap;gap:15px;margin-top:17px;font-size:12px;color:var(--muted)}.dot{display:inline-block;border-radius:50%;width:9px;height:9px;margin-right:5px}.dot.free{background:#5cba9e}.dot.busy{background:#e786ad}.dot.today{background:#5e9ef7}.day-detail{min-height:52px;padding:13px;background:#172640;border-radius:8px;margin-top:17px;font-size:13px;color:#d5e5ff}.safety-note{font-size:12px!important;line-height:1.5;color:#aebddd!important;margin-top:18px!important}.form-panel>.eyebrow{margin-bottom:9px}.form-panel h3{font-size:25px}.form-panel form{display:flex;flex-direction:column;gap:9px;margin-top:18px}.form-panel label{font-size:13px;font-weight:650}.form-panel input:not([type=checkbox]),.form-panel textarea{width:100%;border:1px solid #304564;border-radius:8px;background:#0a1326;color:#fff;padding:12px 13px;outline:0}.form-panel textarea{resize:vertical}.form-panel input:focus,.form-panel textarea:focus{border-color:#68b4fc}.form-panel input::placeholder,.form-panel textarea::placeholder{color:#8293ae}.privacy{display:flex;align-items:start;gap:8px;font-weight:400!important;font-size:12px!important;color:#bbcae2}.privacy input{margin-top:4px}.submit{margin-top:5px;padding:14px 18px}.form-note{font-size:11px!important;line-height:1.4}.hidden-field{display:none}.page.secondary{display:none;min-height:390px;padding-top:8px}.page.secondary.active{display:block}.content-panel{max-width:730px;text-align:center;margin:auto;padding:50px 24px}.content-panel h3{margin-top:7px}.doc-icon{font-size:50px;color:#87b9f8}.secondary-cta{margin-top:12px}.secondary-cta[aria-disabled=true]{background:#243753;cursor:default}.muted{color:var(--muted);font-size:13px}.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:15px}.cards .panel h3{font-size:18px}.cards .panel .price{color:#98d8fb;font-size:23px;font-weight:800}footer{border-top:1px solid var(--border);padding:23px max(5vw,22px);display:flex;justify-content:space-between;color:#95a7c6;font-size:12px}@media(max-width:850px){.home-grid{grid-template-columns:1fr}.header nav{gap:12px}.header nav a{font-size:12px}}@media(max-width:650px){.header{height:70px}.menu-button{display:block}.header nav{position:absolute;display:none;top:69px;left:0;right:0;background:#111b30;padding:16px 25px;flex-direction:column;align-items:start;border-bottom:1px solid var(--border)}.header nav.open{display:flex}.header nav a{font-size:15px}.hero{height:350px}.hero-inner{padding-top:42px}.section-header{display:block}.section-header>p{margin-top:5px}.panel{padding:17px}.calendar-day{min-height:54px;padding:5px}.calendar-day .status{font-size:8px}.weekday-row,.calendar-grid{gap:4px}footer{display:block}footer span{display:block;margin-bottom:5px}}

/* Sito web responsive: marchio personale e calendario privacy-first */
.logo-image{width:64px;height:64px;object-fit:contain;background:#fff;border-radius:12px;padding:4px}
.logo{font-size:19px;letter-spacing:.005em}
.logo small{font-size:9px}
.hero{height:225px}
.hero-inner{padding-top:48px}
.hero h1{font-size:clamp(28px,4vw,45px)}
.hero-copy{max-width:800px;font-size:clamp(14px,2vw,18px);color:#e0e8f8}
.calendar-day.free{background:#ffffff;border:1px solid #dbe2eb;color:#26354a}
.calendar-day.free .status{display:none}
.calendar-day.busy{background:#cd3244;border:1px solid #e05b68;color:white}
.calendar-day.busy .status{color:white;display:block;font-size:clamp(8px,1vw,11px);font-weight:800;text-transform:uppercase;text-align:center;align-self:center;margin:auto 0}
.calendar-day .number{font-weight:700}
.dot.free{background:#fff;border:1px solid #ddd}
.dot.busy{background:#cd3244}
@media(max-width:650px){.logo-image{width:48px;height:48px}.logo{font-size:15px}.logo small{font-size:7px}.hero{height:240px}.calendar-day.busy .status{font-size:8px;letter-spacing:-.4px}.calendar-day{min-height:54px;padding:4px 2px}.calendar-day .number{font-size:11px}}

/* In caso di errore o configurazione incompleta nessuna data appare disponibile. */
.calendar-day.unverified{background:#e5e7eb;border-color:#adb5be;color:#4b5563;cursor:default}
.calendar-day.unverified .status{color:#6b7280}
.dot.free{background:#ffffff;border:1px solid #bec6d0}.dot.busy{background:#cd3244}

/* Logo Phil Light: grande a destra dell'intestazione, originale non alterato. */
.hero-inner{display:flex;align-items:center;justify-content:space-between;gap:24px;height:100%;padding-top:16px;padding-bottom:16px}
.hero-text{min-width:0;flex:1 1 auto}
.hero-text h1{white-space:normal}
.hero-logo-frame{z-index:2;flex:0 0 auto;width:clamp(145px,20vw,205px);height:clamp(145px,20vw,205px);padding:8px;border:1px solid rgba(125,236,250,.34);border-radius:22px;background:rgba(255,255,255,.96);box-shadow:0 0 32px rgba(31,111,255,.22);display:flex;align-items:center;justify-content:center}
.hero-logo{width:100%;height:100%;object-fit:contain;border-radius:14px}
@media(max-width:650px){.hero{height:auto;min-height:258px}.hero-inner{gap:12px;padding:27px 18px;align-items:center}.hero-text h1{font-size:clamp(24px,6vw,34px)}.hero-copy{font-size:12px;line-height:1.5}.hero-logo-frame{width:clamp(105px,29vw,150px);height:clamp(105px,29vw,150px);border-radius:15px;padding:4px}}
@media(max-width:380px){.hero-inner{align-items:flex-start;flex-direction:column}.hero-logo-frame{align-self:flex-end;margin-top:-8px}.hero{min-height:340px}}

/* Documenti consultabili; area amministrativa protetta da RLS */
#cvActions{display:flex;justify-content:center;gap:12px;flex-wrap:wrap;margin:14px 0}#cvPreview iframe{width:100%;min-height:480px;border:1px solid var(--border);border-radius:10px;background:white}.cert-viewer{margin-top:18px}.viewer-head{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:14px}.cert-viewer iframe{display:block;width:100%;height:min(75vh,850px);border:0;background:#fff;border-radius:8px}.cert-open{margin-top:10px}.admin-panel{max-width:760px;margin:auto}.admin-panel form{display:grid;gap:14px;margin:15px 0 25px}.admin-panel label{display:grid;gap:6px;color:var(--muted);font-size:14px}.admin-panel input{background:#0a1326;color:#fff;border:1px solid #304564;border-radius:8px;padding:12px}.admin-panel button{justify-self:start}.admin-doc{border-top:1px solid var(--border);padding:12px 0;display:flex;justify-content:space-between;align-items:center;gap:12px}.admin-doc button{background:#702331;color:#fff;border:0;border-radius:7px;padding:8px 12px;cursor:pointer}.admin-panel h3{margin-top:25px}#adminStatus{color:#7decfa}

/* Navigazione a pagine: una sezione alla volta */
.page:not(.active){display:none!important}
.hero[hidden]{display:none!important}
#home .home-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
@media(max-width:850px){#home .home-grid{grid-template-columns:1fr}}
#homeFormHost .form-panel{height:100%}
#contatti .form-panel{max-width:750px;margin:0 auto}
#contatti .section-header{margin-bottom:24px}

[hidden]{display:none!important}
.owner-link{color:#9bcafb;text-decoration:underline;text-underline-offset:3px}
.owner-link:hover,.owner-link:focus-visible{color:#fff}
#cvPreview{margin-top:20px}
#cvPreview iframe{display:block;width:100%;height:min(74vh,780px);border:1px solid #2d4269;border-radius:10px;background:white}
#adminStatus{white-space:pre-wrap;overflow-wrap:anywhere}
