:root{font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#1a2d24;background:#f3f5f1}*{box-sizing:border-box}body{margin:0}header{display:flex;align-items:center;gap:12px;background:#214b3b;color:#fff;padding:15px max(18px,calc((100vw - 1100px)/2));box-shadow:0 2px 12px #0001}header strong{display:block;letter-spacing:.06em}header small{display:block;opacity:.8;font-size:12px}.logo{display:grid;place-items:center;width:42px;height:42px;border:1px solid #ffffff70;border-radius:50%;font-family:Georgia,serif;font-weight:bold}header button{margin-left:auto}main{max-width:1100px;margin:25px auto;padding:0 16px;min-height:72vh}.panel{background:#fff;border-radius:15px;padding:23px;box-shadow:0 3px 22px #1b382b10}.hidden{display:none!important}h1{font-size:1.6rem;margin:0 0 12px}h2{font-size:1.12rem}p{line-height:1.5;color:#506459}form{display:grid;gap:15px;max-width:440px}label{font-weight:600;font-size:.93rem;display:grid;gap:6px}input{width:100%;border:1px solid #c9d3ca;border-radius:9px;padding:12px;font-size:16px}button{cursor:pointer;border:0;border-radius:9px;padding:11px 15px;background:#214b3b;color:#fff;font-weight:650}button:hover{filter:brightness(1.1)}button:disabled{opacity:.5;cursor:wait}.outline{background:transparent;border:1px solid currentColor}.textbutton{background:transparent;color:#214b3b;padding-left:0}.heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.heading p{margin:0 0 12px;font-size:.9rem}nav{display:flex;gap:8px;overflow-x:auto;margin:8px 0 16px;padding-bottom:5px}nav button{flex-shrink:0;background:#e0e9e0;color:#214b3b}nav button.selected{background:#214b3b;color:white}.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(145px,1fr));gap:13px}.stat{background:#eef4ef;border-radius:11px;padding:18px}.stat b{font-size:1.9rem;display:block}.stat span{font-size:.9rem;color:#4b6255}.tablewrap{overflow-x:auto}table{width:100%;border-collapse:collapse;text-align:left;font-size:.92rem}th,td{padding:12px 10px;border-bottom:1px solid #e8ece8;vertical-align:top}th{color:#51665b;font-size:.8rem}td{overflow-wrap:anywhere}.muted{color:#607268;font-size:.87rem}.notice{padding:12px 14px;border-radius:9px;background:#f1f5ec}.error{color:#a52828!important}#message{min-height:20px}footer{text-align:center;color:#68796f;font-size:.75rem;padding:20px}code{overflow-wrap:anywhere}@media(max-width:600px){main{margin:16px auto}.panel{padding:17px}.heading{align-items:flex-start}header{padding:12px 16px}th,td{padding:10px 8px}}

.entry{border:1px solid #dae4dc;border-radius:12px;padding:15px;margin:16px 0}.entry summary{cursor:pointer;margin-bottom:12px}.wideform{max-width:100%;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));align-items:end}.wideform button{height:44px}select{width:100%;border:1px solid #c9d3ca;border-radius:9px;padding:12px;font-size:16px;background:#fff}.filters{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:18px}.filters label{min-width:210px;flex:1}.attendanceForm{max-width:none}.attRow{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:13px 0;border-bottom:1px solid #e3eae4}.choices{display:flex;gap:16px;flex-wrap:wrap}.choices label{display:flex;align-items:center;gap:5px;font-weight:500}.choices input{width:auto;accent-color:#214b3b}@media(max-width:600px){.attRow{align-items:flex-start;flex-direction:column}.choices{gap:22px}header{flex-wrap:wrap}header button{padding:8px}}

.brand-logo{width:210px;height:75px;object-fit:contain;object-position:left center;border-radius:6px}.brand-subtitle{font-size:12px;opacity:.88;margin-right:auto}header button{margin-left:0}@media(max-width:600px){.brand-logo{width:130px;height:53px}.brand-subtitle{display:none}header{gap:7px}header button{padding:8px 9px;font-size:11px}}

/* V3: brand e schermata di accesso */
body{background:linear-gradient(160deg,#f6f7f1 0%,#e9eee8 100%)}
.login-hero{max-width:530px;margin:6vh auto 0;position:relative;overflow:hidden;isolation:isolate;padding:32px;background:rgba(255,255,255,.95)}
.login-hero::before{content:"";position:absolute;inset:0;background:url('logo-originale.jpg') center center / min(86%,410px) auto no-repeat;opacity:.075;z-index:-1;pointer-events:none}
.login-hero h1{font-family:Georgia,serif;font-size:2rem;color:#204738}.login-hero form{max-width:none}.login-hero input{background:#fff}
.panel{border:1px solid #e6eae2}h1,h2{letter-spacing:-.025em}header{background:#173c2d}nav button.selected{background:#173c2d}.actionlink{display:inline-block;margin:8px 0;color:#214b3b;font-weight:700}.subtle{font-size:.85rem;color:#52695b}.filecard{border:1px solid #dce7dd;padding:14px;border-radius:10px;margin:10px 0}.formstatus{margin-top:10px;min-height:20px}.wideform input[type=file]{background:#fff}
@media(min-width:700px){.login-hero{padding:44px}}

/* V7: pulsanti secondari leggibili sulle schede chiare */
.panel button.outline{background:#ffffff;color:#173c2d;border:1.5px solid #173c2d;}
.panel button.outline:hover{background:#e9f1eb;filter:none;}
.panel button.outline:focus-visible{outline:3px solid #9cc9ae;outline-offset:2px;}

/* V8: pulsanti Modifica e Calcola CF ben visibili, anche con stili precedenti in cache */
#content button.edit-student, #content button.calculate-cf {
  display:inline-flex !important; align-items:center !important; justify-content:center !important;
  min-height:42px !important; min-width:100px !important; padding:10px 16px !important;
  background-color:#173c2d !important; color:#ffffff !important;
  border:2px solid #173c2d !important; border-radius:9px !important;
  opacity:1 !important; visibility:visible !important;
  font-size:14px !important; font-weight:700 !important; line-height:1.25 !important;
  text-shadow:none !important; -webkit-text-fill-color:#ffffff !important;
  box-shadow:0 2px 5px rgba(0,0,0,.14) !important; cursor:pointer !important;
}
#content button.edit-student:hover, #content button.calculate-cf:hover {background-color:#285a42 !important;}

/* V9 - registro pagamenti e report */
.sd-matrix{font-size:12px}.sd-matrix th{white-space:nowrap}.sd-cell{min-width:100px!important;padding:8px!important;font-size:12px!important;background:#edf2ee!important;color:#173c2d!important;border:1px solid #a6b5a9!important}.sd-cell small{display:block;font-size:10px;white-space:nowrap}.sd-cell.saldato{background:#d4ebd8!important}.sd-cell.da-saldare,.sd-cell.parziale{background:#f8dfd7!important}.sd-cell.non-dovuto{background:#eee!important;color:#666!important}.sd-focus{background:#fff9df}.sd-report{margin-top:24px;padding:14px;border:1px solid #dce7dd;border-radius:10px}.sdFeeForm input{min-width:90px;max-width:190px;padding:8px}.sdFeeForm input[name=note]{min-width:180px}.sdFeeForm button{padding:8px 12px!important}

/* V10: riepilogo economico discreto, dopo il registro e la scheda allievo */
.sd-summary-bottom{margin-top:24px;padding-top:12px;border-top:1px solid #e4ebe5}
.sd-compact-stats{display:flex;flex-wrap:wrap;gap:8px}
.sd-compact-stats .stat{flex:1 1 160px;background:#f3f6f3;border:1px solid #e7eee8;border-radius:8px;padding:9px 12px}
.sd-compact-stats .stat b{font-size:1rem;line-height:1.4}
.sd-compact-stats .stat span{font-size:.73rem;line-height:1.3}
/* V12 - gestione corsi e lezioni straordinarie */
.sd-course-editor{border:1px solid #b7cdbb;background:#f7faf7;border-radius:12px;padding:16px;margin:16px 0 22px}
.sd-course-editor h3,.sd-course-editor h4{margin:14px 0 9px}
.sd-inline-form{display:flex;flex-wrap:wrap;gap:12px;align-items:end;padding:12px 0;border-bottom:1px solid #dbe6dc}
.sd-inline-form label{flex:1 1 145px;min-width:130px}
.sd-inline-form input,.sd-inline-form select{width:100%}
#sdMoveFields{display:contents}
#sdMoveFields[hidden]{display:none}
.sd-lesson-notice:not(:empty){padding:10px 12px;margin:12px 0;background:#fff4d8;border:1px solid #dec88a;border-radius:8px}

/* V14 — Sentimento Danza · identità nero, oro e verde Gucci */
:root{color-scheme:dark;--sd-black:#080d0b;--sd-green:#063d2d;--sd-green2:#086747;--sd-gold:#d9b46a;--sd-cream:#f6eedb;--sd-muted:#b3b9ad;--sd-line:rgba(218,179,105,.25);font-family:Inter,system-ui,-apple-system,"Segoe UI",sans-serif;color:var(--sd-cream);background:var(--sd-black)}
body{min-height:100vh;color:var(--sd-cream);background:radial-gradient(ellipse at 78% 0%,rgba(0,91,59,.48),transparent 52%),radial-gradient(ellipse at 10% 90%,rgba(123,82,20,.2),transparent 52%),#080d0b;background-attachment:fixed}
body::before{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;background:url('logo-originale.jpg') no-repeat 78% 34%/min(66vw,820px);opacity:.075;filter:blur(11px)}
header{position:relative;z-index:2;min-height:116px;max-width:none;padding:18px clamp(18px,3vw,44px);gap:18px;background:linear-gradient(105deg,#050908,#071a14 65%,#092c20);border-bottom:1px solid var(--sd-line);box-shadow:0 8px 35px #0007}
.brand-logo{width:245px;height:78px;object-fit:contain;object-position:left center;border-radius:0;mix-blend-mode:screen}
.brand-subtitle{color:var(--sd-gold);letter-spacing:.08em;text-transform:uppercase;font-size:11px;opacity:1}
header button{margin-left:0!important;background:#0d261e!important;color:var(--sd-gold)!important;border:1px solid var(--sd-line)!important}
header button:hover{background:var(--sd-green)!important}
body:has(#workspace:not(.hidden)) main{max-width:none;margin:0 0 0 255px;padding:35px clamp(18px,3.2vw,55px) 70px;min-height:calc(100vh - 170px)}
#workspace{position:relative}
#workspace>.heading{margin-bottom:24px;padding:8px 0 13px;border-bottom:1px solid var(--sd-line)}
#workspace>.heading h1{font-family:Georgia,serif;color:var(--sd-gold);font-size:clamp(1.8rem,3vw,2.5rem);letter-spacing:.02em}
#workspace>.heading p{color:var(--sd-muted)}
#tabs{position:fixed;z-index:3;left:0;top:116px;bottom:0;width:255px;display:flex;flex-direction:column;gap:9px;overflow-y:auto;overflow-x:hidden;margin:0;padding:30px 14px 32px;background:linear-gradient(180deg,#06130e,#040806);border-right:1px solid var(--sd-line);box-shadow:7px 0 25px #0003}
#tabs button{flex:0 0 auto;text-align:left;padding:16px 17px;border-radius:11px;background:transparent;color:#e6dfcc;border:1px solid transparent;font-size:15px;font-weight:600;transition:background .15s,border-color .15s}
#tabs button:hover{background:#0c3326;color:#ffe3a4;filter:none}
#tabs button.selected{background:linear-gradient(105deg,#086044,#073326);color:#f9e4b6;border:1px solid rgba(218,179,105,.42);box-shadow:inset 4px 0 var(--sd-gold),0 4px 20px #0004}
.panel{background:linear-gradient(145deg,rgba(15,23,20,.97),rgba(6,13,10,.97));border:1px solid var(--sd-line);border-radius:19px;box-shadow:0 16px 50px #0006;padding:clamp(18px,2.6vw,32px);color:var(--sd-cream)}
h1,h2,h3,h4{color:#f3d38e}h2{font-family:Georgia,serif;font-size:1.35rem}p,.muted,.subtle{color:var(--sd-muted)}
.stats{gap:14px}.stat{background:linear-gradient(145deg,#063c2d,#061c16);border:1px solid var(--sd-line);border-radius:14px;padding:22px;box-shadow:0 8px 25px #0003}.stat:nth-child(even){background:linear-gradient(145deg,#5a421f,#22190e)}.stat b{font-size:2.25rem;color:#f4d38d}.stat span{color:#e6d7b7}
button{background:linear-gradient(110deg,#0c6547,#06422f);color:#fff3d5;border:1px solid rgba(218,179,105,.28);border-radius:10px;font-weight:700}
button:hover{filter:brightness(1.17)}.panel button.outline{background:#111d17;color:#f1ce84;border:1px solid #b39358}.panel button.outline:hover{background:#164532}.textbutton,.actionlink{color:#edc678}
#content button.edit-student,#content button.calculate-cf{background:#086344!important;color:#fff5dd!important;border:2px solid #d9b46a!important;-webkit-text-fill-color:#fff5dd!important}
input,select,textarea{background:#101c16;color:#f7edd6;border:1px solid #61755e;border-radius:10px}input:focus,select:focus,textarea:focus{outline:2px solid #d6b36a;outline-offset:1px}input::placeholder{color:#9ba99d}input[type="date"]{color-scheme:dark}input[type="checkbox"],input[type="radio"]{accent-color:#d9b46a}
label{color:#f1dfba}form{color:#eee5d3}
th,td{border-bottom:1px solid rgba(218,179,105,.18)}th{color:#edc779;background:#11231a}td{color:#f2e8d5}tbody tr:hover{background:rgba(17,95,64,.16)}
.entry,.filecard,.sd-report{border-color:var(--sd-line);background:#101b15}.entry summary{color:#f2d08c}.notice{background:#133a2a;color:#f2e6ce}.sd-course-editor{background:#0d241b;border:1px solid var(--sd-line)}.sd-inline-form{border-bottom-color:var(--sd-line)}.sd-lesson-notice:not(:empty){background:#3e301b;border-color:#987840;color:#fff0c9}
.sd-cell{background:#18372a!important;color:#f2e6d3!important;border:1px solid #6d785d!important}.sd-cell.saldato{background:#15543a!important}.sd-cell.da-saldare,.sd-cell.parziale{background:#62382a!important}.sd-cell.non-dovuto{background:#242b27!important;color:#b9b9b9!important}.sd-focus{background:#45371a!important}.sd-summary-bottom{border-top-color:var(--sd-line)}.sd-compact-stats .stat{background:#15221b;border:1px solid var(--sd-line)}
footer{color:#998e72;border-top:1px solid var(--sd-line);background:#070e0a}
body:not(:has(#workspace:not(.hidden))) main{max-width:640px;margin:6vh auto;padding:0 18px}.login-hero{background:linear-gradient(145deg,#101e17,#080e0b);border:1px solid var(--sd-line)}.login-hero h1{color:var(--sd-gold)}.login-hero input{background:#15241b;color:#fff}
@media(max-width:850px){header{min-height:80px;padding:10px 16px;flex-wrap:wrap}.brand-logo{width:155px;height:55px}.brand-subtitle{display:none}header button{padding:8px 10px;font-size:12px}body:has(#workspace:not(.hidden)) main{margin:0;padding:16px 14px 50px}#tabs{position:relative;left:auto;top:auto;bottom:auto;width:100%;flex-direction:row;overflow-x:auto;overflow-y:hidden;gap:7px;padding:10px 0 14px;background:transparent;border:0;box-shadow:none}#tabs button{padding:11px 13px;font-size:13px;white-space:nowrap;border:1px solid var(--sd-line)}#tabs button.selected{box-shadow:inset 0 -3px var(--sd-gold)}#workspace{display:flex;flex-direction:column}#workspace>.heading{order:0;margin-bottom:6px}#tabs{order:1}#content{order:2}.panel{border-radius:14px}body::before{background-position:center 25%;background-size:110vw;opacity:.045}.stats{grid-template-columns:repeat(2,minmax(0,1fr))}.stat{padding:14px}.stat b{font-size:1.7rem}}
@media(max-width:430px){.stats{gap:8px}.stat{padding:11px}.stat span{font-size:.75rem}.brand-logo{width:135px}.heading{gap:8px}.heading button{padding:9px 11px}}
