:root{--purple:#ff6a00;--blue:#1f2937;--pink:#ff6a00;--green:#20a45a;--bg:#f7f7f7;--text:#111111;--muted:#6b7280;--border:#e5e7eb;--orange:#ff6a00;--dark:#0b0b0b}*{box-sizing:border-box}body{margin:0;font-family:Inter,Segoe UI,Arial,sans-serif;background:var(--bg);color:var(--text)}a{color:#175bd7;text-decoration:none}.app{display:grid;grid-template-columns:220px 1fr;min-height:100vh}.sidebar{background:#090909;color:#fff;padding:28px 18px;display:flex;flex-direction:column}.brand{margin-bottom:30px;text-align:center}.brand img{width:150px;max-height:90px;object-fit:contain;display:block;margin:0 auto 8px}.brandname{font-size:13px;font-weight:800;letter-spacing:1.6px;text-transform:uppercase;color:#fff}.sidebar nav{display:grid;gap:8px}.sidebar nav a{color:#dbe4ef;padding:12px 14px;border-radius:8px}.sidebar nav a:hover,.sidebar nav a.active{background:linear-gradient(90deg,#ff6a00,#ff8a2a);color:#fff}.adminbox{margin-top:auto;background:#1c1c1c;padding:12px;border-radius:10px}main{padding:28px;max-width:1400px;width:100%}header{display:flex;align-items:center;justify-content:space-between;margin-bottom:22px}h1{margin:0;font-size:30px}h2{margin:0 0 10px;font-size:18px}.muted{color:var(--muted);margin:5px 0}.card{background:#fff;border:1px solid var(--border);border-radius:14px;padding:18px;box-shadow:0 2px 10px rgba(17,24,39,.04)}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:18px}.stat{display:flex;gap:14px;align-items:center}.stat b{display:block;font-size:28px}.stat small{color:var(--muted)}.ico{width:48px;height:48px;border-radius:50%;display:grid;place-items:center}.purplebg{background:#ede9fe}.bluebg{background:#dbeafe}.orangebg{background:#fef3c7}.greenbg{background:#dcfce7}.grid2{display:grid;grid-template-columns:1.35fr 1fr;gap:18px;margin-bottom:18px}.sectionhead{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.row{display:flex;gap:15px;align-items:center;padding:12px 0;border-top:1px solid #edf0f4}.row:first-child{border-top:0}.row>div:first-child{flex:1}.row small{display:block;color:var(--muted);margin-top:3px}.pill,.tag{background:#fff1e8;color:#c95000;padding:6px 10px;border-radius:8px;font-size:12px}.btn{border:0;border-radius:8px;padding:10px 14px;font-weight:700;cursor:pointer;display:inline-block}.purple{background:var(--purple);color:#fff}.green{background:var(--green);color:#fff}.bluebtn{background:var(--blue);color:#fff}.pink{background:var(--pink);color:#fff}.outline{background:#fff;border:1px solid #bfd0f4;color:#175bd7}.big{width:100%;font-size:16px;padding:14px}.qrbox{display:flex;justify-content:space-between;align-items:center}.qr{font-size:60px}.hero{padding:24px;border-radius:14px;color:#fff;margin-bottom:18px}.hero.blue{background:linear-gradient(135deg,#111,#353535);border-left:5px solid var(--orange)}.attendance{margin-bottom:18px}.attrow{display:grid;grid-template-columns:48px 1fr 420px;align-items:center;padding:10px 0;border-top:1px solid #edf0f4}.avatar{width:36px;height:36px;border-radius:50%;background:#eef2ff;display:grid;place-items:center;font-weight:700}.choices{display:flex;gap:8px}.choices label{border:1px solid var(--border);border-radius:8px;padding:8px 10px;font-size:13px}.choices input{accent-color:#ff6a00}.pinkpage{background:#fafafa}.enrollwrap{max-width:760px;margin:28px auto;padding:0 18px}.enrollhero{min-height:190px;padding:28px;border-radius:18px 18px 0 0;background:linear-gradient(135deg,#fff,#fff1e8);display:flex;justify-content:space-between;align-items:center;border-top:5px solid var(--orange)}.pinkbrand{color:#111;font-weight:800;display:flex;align-items:center;gap:14px}.pinkbrand img{width:150px;max-height:72px;object-fit:contain}.pinkbrand span{font-size:20px}.enrollhero h1{font-size:38px;max-width:420px;margin-top:22px}.dancer{font-size:90px}.form{border-radius:0 0 18px 18px}.form h2{margin-top:18px;color:#d95a00}.form label{display:block;font-size:13px;font-weight:700;margin:12px 0}.form input,.form select,.form textarea{width:100%;padding:12px;margin-top:6px;border:1px solid #d8dee9;border-radius:8px;font:inherit}.twocol{display:grid;grid-template-columns:1fr 1fr;gap:14px}.check{display:flex!important;gap:8px;align-items:flex-start;font-weight:500!important}.check input{width:auto;margin-top:2px}.success{background:#dcfce7;color:#166534;border:1px solid #86efac;padding:14px;border-radius:10px;margin:14px 0}.center{text-align:center}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.coursecard .btn{margin-right:6px;margin-top:12px}.progress{height:8px;background:#edf0f4;border-radius:8px;overflow:hidden}.progress i{display:block;height:100%;background:#ff6a00}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:12px;border-bottom:1px solid #edf0f4}th{font-size:12px;color:#6b7280;text-transform:uppercase}code{background:#f3f4f6;padding:6px 8px;border-radius:6px}
@media(max-width:900px){.app{grid-template-columns:1fr}.sidebar{display:none}main{padding:16px}.stats{grid-template-columns:1fr 1fr}.grid2,.cards{grid-template-columns:1fr}.attrow{grid-template-columns:42px 1fr}.choices{grid-column:1/-1;margin-top:8px;flex-wrap:wrap}.twocol{grid-template-columns:1fr}.dancer{display:none}.enrollhero h1{font-size:30px}}

/* New Style Dance branding */
.btn.purple,.btn.pink{background:linear-gradient(135deg,#ff6a00,#ff8a2a);color:#fff}.btn.bluebtn{background:#111;color:#fff}.outline{border-color:#ffb37c;color:#d95a00}.card{box-shadow:0 4px 18px rgba(0,0,0,.05)}a{color:#d95a00}.stat .purplebg,.stat .orangebg{background:#fff1e8}.stat .bluebg{background:#f0f0f0}.qrbox{border-left:4px solid #ff6a00}.sidebar nav a{transition:.2s ease}.sidebar nav a:hover{transform:translateX(2px)}

/* Release 1.1 - sidebar chiara */
.sidebar{background:#fff;color:#111;border-right:1px solid #e5e7eb;box-shadow:4px 0 18px rgba(0,0,0,.03)}
.brand img{width:165px;max-height:105px}.brandname{color:#111}.sidebar nav a{color:#343434}.sidebar nav a:hover,.sidebar nav a.active{background:#fff1e8;color:#d95a00}.adminbox{background:#f7f7f7;color:#111;border:1px solid #e5e7eb}.paybadge{display:inline-block;padding:5px 9px;border-radius:999px;font-size:12px;font-weight:800}.paybadge.paid{background:#dcfce7;color:#166534}.paybadge.partial{background:#fef3c7;color:#92400e}.paybadge.pending{background:#fee2e2;color:#991b1b}

/* Release 1.2 - programma corsi NSD reale */
.daytitle{margin:26px 0 12px;padding-bottom:8px;border-bottom:2px solid #ff6a00}.daytitle h2{font-size:24px;margin:0}.coursegrid{margin-bottom:14px}.coursemeta{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:12px}.yearbadge{font-size:11px;font-weight:800;color:#6b7280;background:#f3f4f6;border-radius:999px;padding:5px 8px}.coursecard h2{min-height:44px}.coursecard p{margin:7px 0}
.pricebox{display:flex;flex-direction:column;gap:5px;padding:16px 18px;border-radius:14px;background:#fff7ed;border:1px solid #fed7aa;margin:10px 0 18px}.pricebox b{font-size:18px}.pricebox span{color:#6b7280;font-size:13px}.plans{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:8px 0 20px}.plan{border:1px solid #e5e7eb;border-radius:14px;padding:15px;display:flex;gap:7px;flex-direction:column;cursor:pointer}.plan input{width:auto}.plan span{color:#6b7280}.detailgrid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-bottom:18px}.money{font-size:30px;font-weight:800;margin:12px 0}.money small{font-size:14px;color:#6b7280;font-weight:500}.payform{margin-top:20px;display:flex;align-items:end;gap:12px}.payform label{flex:1}.emailpreview{padding:14px 0;border-top:1px solid #eee}.emailpreview small{display:block;color:#6b7280;margin:4px 0}.btn.small{padding:8px 10px;font-size:12px}@media(max-width:800px){.plans,.detailgrid{grid-template-columns:1fr}.payform{display:block}.payform .btn{margin-top:10px;width:100%}}

/* Release 1.4 - piani visibili, scadenze e indicatori pagamenti */
.financebar{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:-4px 0 18px}.financebar .mini{display:flex;flex-direction:column;gap:4px}.financebar .mini b{font-size:22px}.financebar .mini span{font-size:12px;color:#6b7280}.planbadge{display:inline-block;margin-top:7px;padding:5px 9px;border-radius:999px;background:#fff1e8;color:#c95000;font-size:11px;font-weight:800}.approvalrow{align-items:flex-start}.approvalrow form{padding-top:4px}@media(max-width:900px){.financebar{grid-template-columns:1fr}}
/* Release 1.5 */
.portalgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.portalcard{display:block;color:#111;transition:.18s ease}.portalcard:hover{transform:translateY(-2px);border-color:#ffb37c}.portalcard b{color:#d95a00}.notice{margin-top:18px;padding:14px 16px;border-radius:12px;background:#fff7ed;border:1px solid #fed7aa;color:#9a4a0a}.loginform{display:flex;gap:12px;align-items:end}.loginform label{flex:1;font-weight:700}.loginform input,.fakecard input{width:100%;padding:12px;margin-top:6px;border:1px solid #d8dee9;border-radius:8px;font:inherit}.spaced{margin-top:18px}.checkout{max-width:620px;margin:0 auto}.payamount{font-size:42px;font-weight:900;margin:20px 0}.fakecard{background:#f8fafc;border:1px solid #e5e7eb;border-radius:14px;padding:16px;margin:18px 0}.fakecard label{display:block;margin-top:12px;font-size:13px;font-weight:700}.teacheravatar{width:52px;height:52px;border-radius:50%;display:grid;place-items:center;background:#fff1e8;color:#d95a00;font-size:22px;font-weight:900;margin-bottom:12px}@media(max-width:900px){.portalgrid{grid-template-columns:1fr}.loginform{display:block}.loginform .btn{margin-top:10px;width:100%}}

/* Release 1.6 */
.loginbox{max-width:520px;margin:5vh auto}.loginbox label{display:block;font-weight:700;margin:16px 0}.loginbox input{width:100%;padding:12px;margin-top:6px;border:1px solid #d8dee9;border-radius:8px;font:inherit}.loginlogo{text-align:center}.loginlogo img{max-width:190px;max-height:110px}.demohelp{margin-top:18px;padding:14px;border-radius:12px;background:#f8fafc;border:1px solid #e5e7eb}.demohelp code{display:block;margin-top:8px}.errorbox{padding:12px;border-radius:10px;background:#fee2e2;color:#991b1b;border:1px solid #fecaca;margin:14px 0}.adminbox a{font-size:12px;color:#d95a00}
