@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{--green:#155455;--dark:#123e40;--gold:#f7cd70;--cream:#f7f4eb;--ink:#183f40;--muted:#637370}*{box-sizing:border-box}body{margin:0;background:var(--cream);color:var(--ink);font-family:'DM Sans',sans-serif;font-size:16px}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}button,a,input,select,textarea{outline-offset:5px}button,.button{cursor:pointer}header{display:flex;align-items:center;gap:35px;padding:24px 5%;background:var(--green);color:var(--cream)}.brand{display:flex;align-items:center;gap:12px;font-size:14px;line-height:1.3}.mark{font-family:Georgia,serif;color:var(--gold);font-size:45px}nav{display:flex;gap:28px;margin-left:auto;font-size:14px}nav a:hover,.textlink:hover{text-decoration:underline}.button{display:inline-flex;align-items:center;justify-content:center;gap:30px;border:1px solid var(--green);background:var(--green);color:var(--cream);border-radius:6px;padding:15px 23px;font-weight:600}.button.small{border-color:#ffffff55;font-size:14px;padding:12px 18px}.button.gold{background:var(--gold);color:var(--dark);border-color:var(--gold)}.hero{min-height:610px;background:var(--green);color:var(--cream);display:grid;grid-template-columns:1.12fr 1fr;padding:55px 7% 60px;overflow:hidden;position:relative}.eyebrow{font-size:11px;letter-spacing:2px;font-weight:700;margin-bottom:27px}h1,h2,h3{font-family:Manrope,sans-serif}h1{font-weight:500;font-size:clamp(48px,6.7vw,94px);letter-spacing:-5px;line-height:1.06;margin:0 0 30px}h1 em{font-style:normal;color:var(--gold)}.intro{line-height:1.8;font-size:18px;opacity:.85}.actions{display:flex;flex-wrap:wrap;gap:24px;align-items:center;margin:30px 0}.textlink{font-size:14px}.hero-note{font-size:12px;opacity:.6;margin-top:45px}.illustration{position:relative;min-height:440px}.orbit{position:absolute;border:1px solid #ffffff22;border-radius:50%;width:430px;height:430px;left:5%;top:0}.o2{transform:scale(.78)}.math{position:absolute;color:var(--gold);font-family:Georgia,serif}.m1{right:0;top:10px;font-size:95px;transform:rotate(12deg)}.m2{left:2%;bottom:0;font-size:70px;transform:rotate(-15deg)}.m3{right:0;bottom:30px;font-size:65px}.star{position:absolute;color:var(--gold);font-size:35px}.s1{left:8%;top:20px}.s2{right:15%;top:50%}.tree{position:absolute;left:31%;top:75px;width:190px;height:290px}.tree div{position:absolute;width:0;height:0;border-left:95px solid transparent;border-right:95px solid transparent;border-bottom:135px solid #f7cd70;left:0}.tree div:nth-child(1){transform:scale(.6);top:0}.tree div:nth-child(2){transform:scale(.8);top:60px}.tree div:nth-child(3){top:130px}.tree:after{content:'';position:absolute;left:80px;bottom:0;width:30px;height:40px;background:#dc745a}.tree span{position:absolute;top:-10px;left:74px;font-size:43px;color:#f7f4eb}.bauble{position:absolute;width:86px;height:86px;border-radius:50%;display:grid;place-items:center;background:#f7f4eb;color:#cf5b50;font-size:56px}.bauble:before{content:'';position:absolute;width:1px;height:75px;background:#f7f4eb88;top:-75px;left:50%}.b1{top:100px;left:0;transform:rotate(-12deg)}.b2{right:3%;top:180px;background:#e37c62;color:var(--cream);font-size:45px}.gift{position:absolute;left:20%;bottom:10px;width:83px;height:78px;background:#df7c60;transform:rotate(-13deg)}.gift:before,.gift:after{content:'';position:absolute;left:34px;width:17px;top:0;height:100%;background:#f7f4eb}.gift:after{width:100%;left:0;top:12px;height:14px}.stamp{position:absolute;right:20%;bottom:-5px;font-size:10px;letter-spacing:2px;line-height:2;transform:rotate(-10deg)}.ticker{padding:21px;background:var(--gold);color:var(--dark);font-size:12px;font-weight:700;letter-spacing:2px;display:flex;justify-content:space-around;gap:20px}.ticker span{font-size:16px}.section-heading{padding:75px 7% 30px;display:grid;grid-template-columns:1fr 1fr;gap:0 60px}.section-heading .eyebrow{grid-column:1/-1}.section-heading h2{font-size:44px;line-height:1.2;font-weight:500;letter-spacing:-2px;margin:0}.section-heading>p:last-child{line-height:1.8;max-width:490px;color:var(--muted)}.three{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin:30px 7% 75px}.card{padding:32px;border:1px solid #183f4025;border-radius:9px;background:#fcfaf5}.card h3{font-size:24px;letter-spacing:-.6px;font-weight:600}.card p{color:var(--muted);line-height:1.7}.card a{font-size:14px;font-weight:600;overflow-wrap:anywhere}.number{font-size:12px;color:var(--muted)}.card.accent{background:#e7eee5}.content{padding:65px 7%;min-height:65vh}.content h1{font-size:65px;letter-spacing:-3px}.content .three{margin:35px 0}.prose{max-width:850px;line-height:1.9}.archive{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:40px}.archive .card{display:flex;flex-direction:column;align-items:flex-start}.archive .card .symbol{font-family:Georgia,serif;font-size:46px;color:var(--green);height:65px}.archive .card h3{margin:10px 0}.archive .card a{margin-top:auto}.record{float:right;border:30px double #224747;border-radius:50%;height:260px;width:260px;background:#163c3f;color:var(--gold);font:80px Georgia;display:grid;place-items:center;margin:0 5% 30px}footer{display:flex;flex-wrap:wrap;align-items:center;gap:25px;background:var(--dark);color:var(--cream);padding:36px 7%;font-size:12px}footer p{opacity:.6;margin-right:auto}footer small{width:100%;opacity:.4}.hidden{display:none!important}.skip{position:absolute;left:10px;top:-100px;z-index:100}.skip:focus{top:10px;background:white;padding:10px}.panel{background:#fffdf7;border:1px solid #183f4025;border-radius:10px;padding:30px;margin:20px 0}.panel h2{margin-top:0}label{display:block;font-size:14px;margin:16px 0 7px}input,textarea,select{width:100%;padding:12px;border:1px solid #a6b8b0;border-radius:5px;color:var(--ink);background:white}textarea{min-height:120px}input[type=radio],input[type=checkbox]{width:auto;margin-right:10px}.tabs{display:flex;flex-wrap:wrap;gap:10px;margin:25px 0}.tabs button{background:transparent;border:1px solid #b5c4be;padding:12px 18px;border-radius:6px;color:var(--ink)}.tabs button.active{background:var(--green);color:white}.badge{display:inline-block;background:#e7eee5;padding:6px 12px;border-radius:30px;font-size:12px}.accountbar{display:flex;align-items:center;gap:20px;flex-wrap:wrap}.accountbar .button{margin-left:auto}form .button{margin-top:20px}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:20px}.quiet{font-size:13px;color:var(--muted);line-height:1.7}.row{padding:20px 0;border-bottom:1px solid #183f4025;display:flex;align-items:center;justify-content:space-between;gap:20px}.row:last-child{border:0}.row select{max-width:170px}.empty{padding:25px;border:1px dashed #b5c4be;border-radius:8px;color:var(--muted)}.pre{white-space:pre-wrap;line-height:1.8}.secondary{background:transparent;color:var(--green)}.danger{color:#9d3b31}table{width:100%;border-collapse:collapse;font-size:14px}td,th{text-align:left;border-bottom:1px solid #ddd;padding:15px 10px}.tablewrap{overflow:auto}.poll-result{background:#e7eee5;border-radius:5px;padding:10px;margin:8px 0}.error{color:#9d3b31}@media(max-width:900px){header{gap:15px;flex-wrap:wrap}nav{order:3;width:100%;justify-content:center;gap:20px;overflow:auto}header>.button{margin-left:auto}.hero{grid-template-columns:1fr 0.8fr;padding:45px 5%}h1{letter-spacing:-3px}.illustration{transform:scale(.8);transform-origin:center center}.three,.archive{grid-template-columns:repeat(2,1fr)}.ticker{font-size:10px;letter-spacing:1px}.section-heading{gap:30px}}@media(max-width:600px){nav{justify-content:flex-start;font-size:12px;gap:18px}.hero{display:block;padding:35px 7%}.hero h1{font-size:59px}.illustration{min-height:300px;height:300px;transform:scale(.68);transform-origin:center top;margin-top:45px;margin-bottom:-60px}.hero-note{margin-top:25px}.intro{font-size:16px}.orbit{left:-10%}.tree{left:26%}.ticker{flex-wrap:wrap;justify-content:center}.section-heading{display:block;padding-top:45px}.section-heading h2{font-size:36px}.three,.archive,.grid2{grid-template-columns:1fr}.content{padding:40px 7%}.content h1{font-size:47px;letter-spacing:-2px}.record{float:none;margin:0 auto 25px}footer{gap:16px}.row{flex-wrap:wrap}.panel{padding:22px}.actions{gap:20px}.hero-copy .actions{align-items:flex-start;flex-direction:column}}
/* Ruoli: etichetta testuale e contrasto leggibile, oltre al colore. */
.stage-chip{display:inline-flex;align-items:center;gap:.45rem;padding:.4rem .7rem;border-radius:.4rem;margin:.25rem;border:1px solid currentColor;font-weight:600}
.stage-chip.cantante{background:#17439a;color:#fff}.stage-chip.corista{background:#a9ddf6;color:#102b40}.stage-chip.attore{background:#a52232;color:#fff}.stage-chip.scrittore{background:#f7d951;color:#282000}.stage-chip.ballerino{background:#70379c;color:#fff}.stage-chip.tesoriere{background:#236c38;color:#fff}.stage-chip.aiuto_scena{background:#383c43;color:#fff}
fieldset{border:1px solid #879894;border-radius:.5rem;padding:1rem;margin:1rem 0}fieldset:disabled{opacity:.55}details{margin:1.2rem 0}summary{cursor:pointer;font-weight:600}form[data-security]{margin:1.5rem 0}
.stage-chip.costumista{background:#e88828;color:#291500}.signal{display:inline-flex;gap:.4rem;align-items:center;padding:.35rem .7rem;border-radius:1rem;font-weight:700}.signal.red{background:#fce3e6;color:#90152a}.signal.yellow{background:#fff0b7;color:#5d4200}.signal.green{background:#d5eedc;color:#15552a}.tag{display:inline-flex;align-items:center;gap:.4rem;padding:.3rem .7rem;border:1px solid #819891;border-radius:1rem;margin:.2rem}.drag-handle{cursor:grab;padding:.5rem;font-size:1.7rem}.drag-handle:active{cursor:grabbing}
/* Notifications */
#notice.toast{position:fixed;right:24px;bottom:24px;z-index:1000;display:flex;align-items:flex-start;gap:16px;max-width:min(430px,calc(100vw - 32px));padding:18px 20px;border-radius:12px;background:#173f40;color:#fff;box-shadow:0 8px 32px #0004;border:1px solid #fff4;margin:0;font-size:14px;line-height:1.6;animation:toast-in .18s ease-out}#notice.toast[hidden]{display:none}#notice.toast.error{background:#852335}#notice.toast.success{background:#235b37}#notice.toast button{border:0;background:transparent;color:inherit;font-size:24px;line-height:1;cursor:pointer;padding:2px 4px}@keyframes toast-in{from{transform:translateY(12px);opacity:0}to{transform:translateY(0);opacity:1}}
.workspace-nav{display:flex;flex-wrap:wrap;align-items:center;gap:20px;margin:28px 0}.tabgroup{display:flex;flex-wrap:wrap;gap:8px}.tabgroup.separated{padding-left:20px;border-left:1px solid #a6b8b0}.workspace-nav button{padding:11px 16px;border:1px solid #b5c4be;border-radius:6px;background:transparent;color:var(--ink)}.workspace-nav button.active{background:var(--green);color:white}.calendar-controls{display:flex;align-items:center;flex-wrap:wrap;gap:12px;justify-content:space-between}.calendar-scroll{overflow-x:auto}.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));min-width:720px;border:1px solid #b5c4be;border-radius:8px;overflow:hidden;background:#fffdf7}.calendar-heading{padding:12px;background:#e7eee5;text-align:center;font-weight:600}.calendar-day{min-height:115px;padding:10px;border-right:1px solid #dae1db;border-top:1px solid #dae1db}.calendar-day time{font-size:13px;font-weight:600}.calendar-day.other-month{background:#f0f1eb;color:#74827c}.calendar-day.today{box-shadow:inset 0 0 0 2px var(--green)}.calendar-event{display:block;width:100%;margin-top:8px;padding:8px 6px;text-align:left;font-size:12px;background:#dcece3;border:0;border-radius:5px;color:var(--ink);cursor:pointer;overflow-wrap:anywhere}.private-event{border:1px dashed #a8762d;background:#fff2d7}.rehearsal-entry{padding:8px 0;border-bottom:1px solid #dae1db}.accountbar .button svg{vertical-align:middle;margin-right:5px}@media(max-width:600px){#notice.toast{right:16px;bottom:16px}.workspace-nav{align-items:stretch;gap:12px}.tabgroup.separated{padding-left:0;border-left:0;padding-top:12px;border-top:1px solid #a6b8b0;width:100%}}@media(prefers-reduced-motion:reduce){#notice.toast{animation:none}}
/* V8: schede compatte e riordino del copione */
.workflow-details>summary{display:flex;align-items:center;gap:12px;flex-wrap:wrap;cursor:pointer;list-style:none;min-height:44px}
.workflow-details>summary::-webkit-details-marker{display:none}
.workflow-details>summary::before{content:'▸';font-size:1.3rem}
.workflow-details[open]>summary::before{content:'▾'}
.workflow-title{font-size:1.15rem;font-weight:700;flex:1;min-width:130px}
.workflow-title small{font-size:.8rem;font-weight:400}

.workflow-body{padding-top:16px}
.script-card{position:relative;scroll-margin:100px}
.script-card.is-dragging{opacity:.45;outline:3px solid #d49a35;outline-offset:3px}
.script-card.drop-before::before,.script-card.drop-after::after{content:'Inserisci qui';position:absolute;left:0;right:0;height:25px;border:2px dashed #d49a35;background:#fff4d7;color:#68470e;font-size:.8rem;font-weight:700;text-align:center;line-height:21px;border-radius:6px;z-index:2;pointer-events:none}
.script-card.drop-before::before{top:-26px}.script-card.drop-after::after{bottom:-26px}
[id^='prop-'],[id$='-editor'],[id^='rehearsal-']{scroll-margin:100px}
/* V9: ricerca, anteprima isolata e interazioni fluide */
[hidden]{display:none!important}
.searchbar{display:flex;gap:16px;align-items:end;flex-wrap:wrap;margin:16px 0}.searchbar label:first-child{flex:1;min-width:210px}.searchbar label{margin:0}
.ui-icon{width:19px;height:19px;flex-shrink:0;vertical-align:middle;margin-right:7px;pointer-events:none}
.drag-preview{position:fixed!important;left:-10000px!important;top:0!important;contain:layout paint!important;isolation:isolate;opacity:1!important;box-shadow:0 12px 30px #0003;border:2px solid #d49a35;background:#fff!important;pointer-events:none;max-height:150px;overflow:hidden}
.drag-preview .drag-handle{color:#d49a35}.drag-handle{user-select:none}.script-card{isolation:isolate}
.button,.workspace-nav button,.tabs button,.stage-chip{transition:background-color .15s,color .15s,box-shadow .18s,transform .18s cubic-bezier(.2,1.6,.4,1)}
.button:active,.workspace-nav button:active,.tabs button:active{transform:scale(.96)}
.workflow-details>summary:focus-visible,.drag-handle:focus-visible{outline:3px solid #d49a35;outline-offset:5px;border-radius:6px}
input:focus,select:focus,textarea:focus{outline:2px solid #d49a35;outline-offset:2px}
@media(hover:hover){.button:hover,.workspace-nav button:hover{transform:translateY(-1px);box-shadow:0 4px 12px #0001}}
@media(pointer:coarse){button,.drag-handle{min-height:44px;min-width:44px}}
@media(prefers-reduced-motion:reduce){.button,.workspace-nav button,.tabs button,.stage-chip{transition:none!important;transform:none!important}.script-card{transform:none!important}}
/* V10: icone coerenti, tema e feedback */
:root{color-scheme:light;--surface:#fffdf7;--surface-soft:#e7eee5;--border:#b5c4be;--hover:#eaf0e8}
:root[data-theme=dark]{color-scheme:dark;--cream:#121e22;--ink:#e4efea;--muted:#acbdb7;--green:#73c4b1;--dark:#101d20;--surface:#1b2c30;--surface-soft:#253c3d;--border:#4b6462;--hover:#2b4545}
.panel,.card,.calendar-grid{background:var(--surface);border-color:var(--border)}.badge,.poll-result,.calendar-heading,.card.accent{background:var(--surface-soft)}input,textarea,select{background:var(--surface);border-color:var(--border);color:var(--ink)}td,th,.row,.calendar-day,.rehearsal-entry{border-color:var(--border)}
.ui-icon,.button svg,.workspace-nav button svg,.tabs button svg,.theme-control svg{display:inline-block;width:18px!important;height:18px!important;min-width:18px!important;max-width:18px!important;min-height:18px!important;max-height:18px!important;flex:0 0 18px!important;margin:0!important;vertical-align:middle;pointer-events:none}
.button,.workspace-nav button,.tabs button{gap:8px}.workspace-nav button,.tabs button{display:inline-flex;align-items:center;justify-content:center}.drag-handle{font-size:20px;line-height:1;padding:8px}.signal>span{font-size:14px;line-height:1}
.theme-control{display:flex;align-items:center;gap:8px;margin:0;flex-shrink:0;color:#f7f4eb}.theme-control select{width:auto;max-width:140px;padding:9px 26px 9px 10px;background:#ffffff12;color:inherit;border-color:#ffffff66;font-size:13px}.theme-control option{background:var(--surface);color:var(--ink)}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
header,.hero{background:#155455;color:#f7f4eb}footer{background:#123e40;color:#f7f4eb}.button{color:#f7f4eb;background:#155455;border-color:#155455}.button.secondary{background:transparent;color:var(--green);border-color:var(--border)}.button.danger{color:#b9383a}.button.gold{background:var(--gold);color:#123e40}.workspace-nav button.active,.tabs button.active{background:#155455;color:#f7f4eb}
[data-theme=dark] .button.danger{color:#ffac9f}[data-theme=dark] .calendar-day.other-month{background:#17272a;color:var(--muted)}[data-theme=dark] .calendar-event{background:#2c4d47;color:var(--ink)}[data-theme=dark] .private-event{background:#3b3423;color:var(--ink)}[data-theme=dark] .drag-preview{background:var(--surface)!important}[data-theme=dark] .skip:focus{background:var(--surface)}
.card,.panel,.calendar-event,.workflow-details>summary,.tag,.stage-chip{transition:background-color .18s,box-shadow .2s,border-color .18s,transform .2s cubic-bezier(.2,1.4,.4,1)}
@media(hover:hover){.card:hover{transform:translateY(-3px);box-shadow:0 8px 22px #0002}.panel:hover{border-color:var(--green);box-shadow:0 3px 14px #0001}.workflow-details>summary:hover,.calendar-event:hover{background:var(--hover);border-radius:6px}.tag:hover,.stage-chip:hover{box-shadow:0 2px 8px #0002;transform:translateY(-1px)}input:hover,select:hover,textarea:hover{border-color:var(--green)}}
button:active,.calendar-event:active,.tag:has(input):active,.stage-chip:has(input):active{transform:scale(.97)}.workflow-details>summary:active{background:var(--hover)}input[type=checkbox],input[type=radio]{accent-color:var(--green)}.tag:has(input:checked){background:var(--surface-soft);border-color:var(--green);box-shadow:0 0 0 1px var(--green)}button:focus-visible,select:focus-visible{outline:2px solid var(--gold);outline-offset:3px}
@media(max-width:600px){header{gap:12px}.theme-control{margin-left:auto}.theme-control select{font-size:12px;padding:9px}.button,.workspace-nav button,.tabs button{gap:7px;padding:11px 13px}.searchbar{gap:10px}.searchbar label:first-child{min-width:0;width:100%;flex-basis:100%}.ui-icon{width:18px!important;height:18px!important}}
@media(prefers-reduced-motion:reduce){.card,.panel,.calendar-event,.workflow-details>summary,.tag,.stage-chip{transition:none!important;transform:none!important}}
.button.gold{border-color:var(--gold)}#notice.toast button{font-size:18px;min-width:32px;min-height:32px}button:disabled{cursor:default;transform:none!important;box-shadow:none!important;opacity:.6}
/* V11: sole/luna e spazio tra etichette e controlli */
.theme-toggle{position:relative;display:inline-flex;align-items:center;justify-content:space-between;flex:0 0 68px;width:68px;height:36px;min-height:36px;border:1px solid #ffffff80;border-radius:24px;padding:0 8px;background:#d9edf4;color:#20556b;overflow:hidden;isolation:isolate;transition:background .25s,box-shadow .2s}
.theme-toggle span{pointer-events:none}.theme-sun,.theme-moon{width:20px;text-align:center;font-size:19px;line-height:1;z-index:2}.theme-thumb{position:absolute;width:28px;height:28px;left:3px;top:3px;border-radius:50%;background:#ffe49c;box-shadow:0 2px 5px #0003;transition:transform .35s cubic-bezier(.2,1.5,.5,1),background .25s;z-index:1}.theme-toggle[aria-checked=true]{background:#243152;color:#f3f5ff}.theme-toggle[aria-checked=true] .theme-thumb{transform:translateX(32px);background:#a9bce7}.theme-toggle:focus-visible{outline:2px solid var(--gold);outline-offset:4px}
label>input:not([type=checkbox]):not([type=radio]),label>select,label>textarea{display:block;margin-top:9px}input:focus,select:focus,textarea:focus{outline:none;box-shadow:inset 0 0 0 1px #d49a35;border-color:#d49a35}select:focus-visible{outline:none;box-shadow:inset 0 0 0 1px #d49a35}.searchbar{align-items:flex-end;row-gap:16px}.searchbar label{line-height:1.6}
@media(hover:hover){.theme-toggle:hover{box-shadow:0 0 0 3px #ffffff22}.workflow-details>summary:hover{box-shadow:inset 3px 0 0 var(--green)}}
@media(pointer:coarse){.theme-toggle{height:44px;min-height:44px}.theme-toggle .theme-thumb{top:7px}}
@media(prefers-reduced-motion:reduce){.theme-toggle,.theme-thumb{transition:none!important}}
/* V12: azioni sondaggi e navigazione mobile */
.poll-actions{display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin-top:18px}.poll-actions .button{margin:0;min-height:44px;line-height:1.4}
.site-header{position:relative;z-index:10}.menu-toggle,.mobile-area{display:none}
footer small{opacity:.8;line-height:1.8}
@media(max-width:1100px){.site-header{flex-wrap:nowrap;gap:12px;padding:16px 5%}.site-header .brand{margin-right:auto}.site-header .desktop-area{display:none}.site-header .theme-toggle{margin:0}.menu-toggle{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;width:44px;height:44px;min-width:44px;padding:9px;border:1px solid #ffffff66;border-radius:7px;background:transparent;color:#f7f4eb}.menu-toggle span{display:block;width:22px;height:2px;background:currentColor;border-radius:2px;transition:transform .2s,opacity .2s;pointer-events:none}.site-header .main-nav{display:none;position:absolute;top:100%;left:0;right:0;width:auto;order:initial;margin:0;padding:14px 5% 20px;flex-direction:column;gap:4px;background:#155455;border-top:1px solid #ffffff30;box-shadow:0 10px 18px #0002;font-size:15px;overflow:visible}.main-nav a{display:block;padding:12px;border-radius:6px;min-height:44px}.main-nav a:hover{background:#ffffff12;text-decoration:none}.main-nav .mobile-area{display:block;border-top:1px solid #ffffff40;margin-top:6px;padding-top:16px;font-weight:700}[data-menu-open=true] .site-header .main-nav{display:flex;animation:menu-appear .2s ease-out}[data-menu-open=true] .menu-toggle span:nth-child(1){transform:translateY(7px) rotate(45deg)}[data-menu-open=true] .menu-toggle span:nth-child(2){opacity:0}[data-menu-open=true] .menu-toggle span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}}
@keyframes menu-appear{from{opacity:.3;translate:0 -6px}to{opacity:1;translate:0 0}}
@media(prefers-reduced-motion:reduce){.menu-toggle span{transition:none}[data-menu-open=true] .site-header .main-nav{animation:none}}
/* V13: navigazione compatta, account e compagnia */
.mobile-section-picker{display:none}.account-summary{display:grid;grid-template-columns:auto auto minmax(0,1fr) 44px;gap:12px;align-items:center}.account-summary>strong,.account-summary>.quiet{overflow-wrap:anywhere}.account-summary .logout-icon{margin:0;width:44px;height:44px;padding:0;min-width:44px;justify-self:end}.admin-star{color:#b97a09;margin-left:8px;font-size:17px}[data-theme=dark] .admin-star{color:#f7cd70}.company-row>div{width:100%;min-width:0}.participation-details{margin:10px 0}.participation-details summary{padding:10px;border:1px solid var(--border);border-radius:6px}.participation-details[open] summary{background:var(--surface-soft)}
/* Il cursore maschera l’icona inattiva: giorno a destra, notte a sinistra. */
.theme-thumb{z-index:3}.theme-sun{order:2}.theme-moon{order:0}.theme-toggle[aria-checked=false] .theme-thumb{background:#edf2f4}.theme-toggle[aria-checked=true] .theme-thumb{background:#a9bce7}
@media(max-width:700px){.workspace-nav{display:none}.mobile-section-picker{display:block;margin:20px 0 14px;font-weight:600}.mobile-section-picker select{width:100%;font-size:16px;min-height:48px}.account-summary{grid-template-columns:minmax(0,1fr) auto 44px;gap:8px}.account-summary>.quiet{grid-column:1/3;grid-row:2;margin:0}.account-summary>.logout-icon{grid-column:3;grid-row:1/3}.account-summary>.badge{font-size:10px;padding:5px 8px}.account-summary>strong{font-size:15px}.subtabs{gap:8px;margin:16px 0}.subtabs button{flex:1;font-size:13px}}
/* V14: una sola scheda, intestazione compatta e hover senza spostamenti */
.panel.workflow-card{padding:0;margin:12px 0;border-radius:10px}
.workflow-card>.workflow-details{margin:0}
.workflow-details>summary{display:grid;grid-template-columns:18px minmax(0,1fr) auto;align-items:center;gap:12px;padding:14px 18px;min-height:68px;border-radius:9px;background:transparent;line-height:1.45}
.workflow-details>summary.has-drag{grid-template-columns:18px 32px minmax(0,1fr) auto}
.workflow-details>summary::before{content:'▸';display:block;width:18px;font-size:17px;text-align:center}
.workflow-details[open]>summary::before{content:'▾'}
.workflow-details[open]>summary{border-radius:9px 9px 0 0;background:var(--surface-soft)}
.workflow-title{min-width:0;font-size:1rem;overflow-wrap:anywhere;font-weight:700}
.scene-number{color:var(--muted);font-variant-numeric:tabular-nums}
.workflow-title .entry-type{display:inline-block;vertical-align:middle;border:1px solid var(--border);border-radius:5px;padding:2px 7px;margin-left:8px;font-size:11px;font-weight:500;color:var(--muted);white-space:nowrap}
.workflow-details>summary .signal{font-size:12px;padding:5px 10px;white-space:nowrap;justify-self:end}
.workflow-details>summary .drag-handle{display:grid;place-items:center;width:32px;min-width:32px;height:36px;min-height:36px;padding:0;font-size:21px;border-radius:5px}
.workflow-card .workflow-body{padding:18px;border-top:1px solid var(--border)}
.workflow-body>p:first-child{margin-top:0}
#workspace details:not(.workflow-details){margin:10px 0}
#workspace details:not(.workflow-details)>summary{display:flex;align-items:center;gap:9px;min-height:44px;padding:10px 12px;border:1px solid var(--border);border-radius:6px;list-style:none;line-height:1.4}
#workspace details:not(.workflow-details)>summary::-webkit-details-marker{display:none}
#workspace details:not(.workflow-details)>summary::before{content:'▸';flex:0 0 14px;font-size:16px}
#workspace details[open]:not(.workflow-details)>summary::before{content:'▾'}
#workspace details[open]:not(.workflow-details)>summary{background:var(--surface-soft)}
@media(hover:hover){.workflow-details>summary:hover{padding:14px 18px;border-radius:9px;background:var(--hover);box-shadow:inset 3px 0 0 var(--green)}#workspace details:not(.workflow-details)>summary:hover{background:var(--hover)}}
@media(max-width:600px){.workflow-details>summary{padding:12px;gap:8px;grid-template-columns:16px minmax(0,1fr) auto}.workflow-details>summary.has-drag{grid-template-columns:16px 28px minmax(0,1fr) auto}.workflow-details>summary .drag-handle{width:28px;min-width:28px}.workflow-title{font-size:14px}.workflow-title .entry-type{display:table;margin:5px 0 0;font-size:10px}.workflow-details>summary .signal{font-size:11px;white-space:normal;max-width:105px;gap:4px;padding:5px 7px}.workflow-card .workflow-body{padding:14px}}
@media(max-width:600px) and (hover:hover){.workflow-details>summary:hover{padding:12px}}
/* V15: controlli compatti e transizioni senza coda vuota */
#account .button,#workspace .button,#workspace .tabs button,#workspace .workspace-nav button{padding:9px 13px;gap:7px;min-height:38px;font-size:13px;line-height:1.4;margin:4px 6px 4px 0;border-radius:6px;vertical-align:middle}
#workspace form>.button{margin-top:14px}#account .logout-icon{margin:0;padding:0;min-height:44px}
#workspace .poll-actions .button{margin:0}#workspace .accountbar .button{margin:4px 0}
.workflow-card .workflow-body{padding:0;border:0}.workflow-inner{padding:18px;border-top:1px solid var(--border);display:flow-root}.workflow-inner>p:first-child{margin-top:0}
.order-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:14px}.order-arrows{display:inline-flex;gap:4px;justify-self:end}
#workspace .order-arrows .button{width:32px;min-width:32px;min-height:34px;padding:4px;margin:0;font-size:18px}
.workflow-details>summary.has-drag{grid-template-columns:18px 32px minmax(0,1fr) auto auto}
.user-editor-row>td{padding:18px;background:var(--surface-soft)}.user-editor-row form{max-width:1100px}.user-editor-row fieldset{background:var(--surface)}
#workspace .user-editor-row [data-rolechoices],#workspace .user-editor-row [data-songchoices],#workspace .user-editor-row [data-scenechoices]{display:block}
@media(max-width:600px){.workflow-inner{padding:14px}.workflow-details>summary.has-drag{grid-template-columns:16px 28px minmax(0,1fr) auto}.workflow-details>summary.has-drag .order-arrows{grid-column:3/5;justify-self:end}.user-editor-row>td{padding:12px}}
@media(pointer:coarse){#account .button,#workspace .button,#workspace .order-arrows .button{min-height:44px}.order-arrows .button{min-width:40px!important}}
/* V16: contenimento vinile, uscita toast e biglietti individuali */
.content{display:flow-root}footer{clear:both;width:100%}
#notice.toast.leaving{animation:toast-out .2s ease-in forwards;pointer-events:none}
@keyframes toast-out{from{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(12px)}}
.ticket-card{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:18px;margin:14px 0;border:1px solid var(--border);border-left:4px solid var(--green);border-radius:8px}.ticket-card h3{margin:0 0 8px}.ticket-card p{margin:6px 0}.ticket-code{display:block;font-size:12px;overflow-wrap:anywhere;user-select:all}.reset-panel{border-color:#ba675b}.show-event{border-left:3px solid #b58a26;background:#fff0c4}.show-badge{background:#fff0c4;color:#644900}[data-theme=dark] .show-event{background:#4a3d24}
@media(max-width:600px){.ticket-card{flex-wrap:wrap;padding:14px}.record{max-width:100%;float:none}}
@media(prefers-reduced-motion:reduce){#notice.toast.leaving{animation:none}}
/* V17 tickets and complete preference grid */
.ticket-fields{display:grid;grid-template-columns:minmax(0,1fr);gap:1rem}.ticket-fields.has-guest{grid-template-columns:repeat(2,minmax(0,1fr))}.ticket-fields>label{grid-column:1/-1;order:2}.ticket-fields>[data-guest-fields]{order:1}.ticket-fields fieldset{min-width:0;margin:0}.ticket-fields [hidden]{display:none}.ticket-qr canvas{max-width:100%;height:auto;border-radius:8px;background:#fff}.ticket-qr{margin-top:.75rem}.ranking-grid{display:grid;gap:.7rem}.ranking-grid label{display:grid;grid-template-columns:minmax(0,1fr) minmax(140px,200px);gap:1rem;align-items:center}.ranking-grid select{margin:0}#ticket-camera{display:block;width:min(100%,480px);margin:1rem 0;border-radius:12px;background:#000}#ticket-camera[hidden]{display:none}#ticket-checkin table code{overflow-wrap:anywhere}form[data-op=book]{min-width:0;flex:1}form[data-op=book]>.button{margin-top:1rem}@media(max-width:700px){.ticket-fields.has-guest{grid-template-columns:1fr}.ranking-grid label{grid-template-columns:1fr;gap:.4rem}}

/* Privacy: readable tables and equal-weight functional choices. */
.privacy-page .prose{max-width:960px}.privacy-page h2{margin-top:2rem}.privacy-table{overflow-x:auto;margin:1.25rem 0}.privacy-table table{width:100%;border-collapse:collapse;font-size:.95rem}.privacy-table th,.privacy-table td{padding:1rem;text-align:left;vertical-align:top;border-bottom:1px solid var(--muted)}.privacy-table th{font-weight:700}.privacy-page .storage-choice{display:flex;align-items:center;gap:.75rem;line-height:1.5}.privacy-page .storage-choice input{width:1.1rem;height:1.1rem;flex:none}.privacy-page .actions{flex-wrap:wrap;gap:.75rem}@media(max-width:600px){.privacy-table th,.privacy-table td{padding:.65rem;min-width:135px}.privacy-page .actions>*{width:100%}}

.retention-warning{padding:1rem;border:2px solid var(--gold);border-radius:12px;font-weight:600}

/* V18-04: headings, authentication and on-demand contact. */
.panel-heading{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;margin-bottom:16px}.panel-heading h2{margin:0}.panel-heading .button{margin:0 0 0 auto;flex-shrink:0}.privacy-page .panel>h2:first-child{margin-top:0}
.auth-card{max-width:520px;margin:24px auto;padding:36px}.auth-card h2{font-size:30px;line-height:1.2;letter-spacing:-.8px;margin-bottom:16px}.auth-card .eyebrow{margin-top:0}.auth-switch{font-size:14px}.text-button,.contact-email-link{font:inherit;color:var(--green);border:0;background:transparent;padding:0;text-decoration:underline;cursor:pointer}.contact-email-link:disabled{opacity:.65;cursor:wait}.password-field{position:relative}.password-field input{padding-right:52px}.password-toggle{position:absolute;right:4px;top:4px;bottom:4px;width:42px;padding:10px;border:0;background:transparent;color:var(--ink);cursor:pointer}.password-toggle svg{width:20px;height:20px}.auth-card form .password-toggle{margin:0}.auth-card .auth-submit,.auth-card .google-login{width:100%;justify-content:center}.auth-card .google-mark{width:18px;height:18px;flex-shrink:0}.auth-card .google-login{display:flex;align-items:center;gap:12px}.auth-divider{display:flex;align-items:center;gap:14px;margin:26px 0;color:var(--muted);font-size:13px}.auth-divider:before,.auth-divider:after{content:'';height:1px;background:#81989155;flex:1}.auth-privacy{margin-top:24px}.auth-card #nickname-help{margin:6px 0 16px}.captcha-dialog{width:min(410px,calc(100vw - 32px));padding:24px;border:1px solid #819891;border-radius:12px;background:var(--cream);color:var(--ink)}.captcha-dialog::backdrop{background:#123e4099}.captcha-dialog h2{margin-top:0;font-size:24px}.captcha-dialog [data-widget]{min-height:65px}
@media(max-width:600px){.auth-card{padding:24px 20px}.auth-card h2{font-size:26px}.panel-heading{align-items:flex-start}.panel-heading .button{margin-left:0;width:100%}}
#account .auth-card .auth-submit{min-height:44px;margin:20px 0 0}#account .auth-card .google-login{min-height:44px;margin:0}#workspace .panel-heading .button{margin:0 0 0 auto}@media(max-width:600px){#workspace .panel-heading .button{margin:0}}

/* Hide Edge's built-in reveal button only where the site provides its own. */
.password-field input::-ms-reveal{display:none}

/* V18-05 public availability */
.public-show{display:flex;align-items:center;justify-content:space-between;gap:24px}.public-show h2{margin:0 0 14px}.ticket-status.available{background:#d5eedc;color:#15552a}.ticket-status.sold_out{background:#fce3e6;color:#90152a}.ticket-status.closed{background:var(--surface-soft);color:var(--ink)}#public-ticket-updated{min-height:1.7em}.main-nav{gap:20px}@media(max-width:600px){.public-show{align-items:flex-start;flex-direction:column}.public-show>.button{width:100%}}

.reauth-dialog{width:min(460px,calc(100vw - 32px));padding:28px;border:1px solid var(--border);border-radius:12px;background:var(--surface);color:var(--ink)}.reauth-dialog::backdrop{background:#123e4099}.reauth-dialog h2{margin:0 0 16px}.reauth-dialog .button{margin:12px 8px 0 0}.reauth-dialog [data-reauth-error]{color:#b9383a}.reauth-dialog p{line-height:1.6}

/* Context details, available on hover, keyboard focus and touch. */
.context-trigger{cursor:help}.context-trigger:focus-visible{outline:2px solid var(--green);outline-offset:3px}#recita-context-tooltip{position:fixed;z-index:1200;max-width:min(360px,calc(100vw - 24px));max-height:min(320px,50vh);overflow:auto;white-space:pre-line;overflow-wrap:anywhere;padding:12px 16px;background:var(--surface);color:var(--ink);border:1px solid var(--border);border-radius:8px;box-shadow:0 6px 24px #0003;font-size:13px;line-height:1.6}#recita-context-tooltip[hidden]{display:none}

.stage-chip.regista{background:#285f65;color:#fff}
.admin-shield{display:inline-flex;vertical-align:middle;margin-left:8px;color:var(--green)}
.appointment-editor{margin:16px 0;padding-top:16px;border-top:1px solid var(--border)}
.appointment-editor .button{margin:4px 8px 4px 0}
.appointment-summary{margin-bottom:16px}

.hall-award{padding:16px 0;border-bottom:1px solid var(--border)}
.hall-award[hidden]{display:none}
[data-hall-edition],[data-hall-award]{margin:16px 0}

.edition-catalog-entry{padding:16px 0;border-bottom:1px solid var(--border)}

[data-prop-retention]{margin:16px 0;padding:12px;border:1px solid var(--border);border-radius:8px}
[data-inventory-row][hidden]{display:none}
[data-inventory-link],[data-inventory-save]{margin:16px 0}

[data-retention-fields][hidden]{display:none}
.bulk-toolbar{margin-top:16px;padding-top:16px;border-top:1px solid var(--border)}
.bulk-select{display:inline-flex;align-items:center;margin-right:8px}
.bulk-select input{margin:0}

.workflow-details>summary.has-bulk{grid-template-columns:18px 24px minmax(0,1fr) auto}
@media(max-width:600px){.workflow-details>summary.has-bulk{grid-template-columns:16px 20px minmax(0,1fr) auto;gap:8px}.workflow-details>summary.has-bulk .workflow-title{min-width:0;overflow-wrap:anywhere}}

.application-show{margin:20px 0;padding:16px 0;border-top:1px solid var(--border)}
.application-person{padding:12px 0}
[data-op=requestSubmit]{min-width:0;flex:1}
[data-student-number][hidden]{display:none}
[data-ticket-filters],[data-ticket-bulk],[data-event-capacity]{margin:16px 0}
.ticket-print-frame{position:fixed;left:-10000px;top:0;width:794px;height:1123px;border:0}

/* V19-05.1: richieste compatte e spiegazioni operative */
.application-request-panel>h2{margin-bottom:10px}
.application-request-panel>h2+p{margin-top:0;margin-bottom:16px}
.application-request-panel .application-show{margin:16px 0 0;padding:14px 0 0}
.application-request-panel .application-show>h3{margin:0 0 8px}
.application-request-panel .application-show>h3+p{margin:0 0 10px}
.application-request-panel [data-op="requestSubmit"]{margin-top:14px;margin-bottom:0}
.application-request-panel .request-required{margin:0 0 10px}
.application-request-panel [data-op="requestSubmit"]>.quiet:not(.request-required){margin:12px 0}
.application-request-panel .request-correction{margin:12px 0 0}
.application-request-panel a[href="#privacy"]{text-decoration:underline;text-underline-offset:3px}
[data-ticket-bulk] .operation-help{margin:8px 0;line-height:1.5}
[data-ticket-bulk] .operation-scope{margin:0 0 12px}
/* V19-06 */
.signal.green_leaf{color:#195733;background:#c6e9b7;border-color:#7cad61}
.calendar-day{position:relative}
.calendar-add{float:right;border:1px solid var(--border);background:transparent;color:inherit;border-radius:5px;padding:2px 8px;line-height:1.3}
.calendar-add:hover,.calendar-add:focus-visible{background:var(--gold);color:var(--dark)}
.calendar-batch-panel [hidden]{display:none}
[data-calendar-preview]:not(:empty){margin-top:16px;padding-top:12px;border-top:1px solid var(--border)}
[data-calendar-preview] ol{padding-left:24px;line-height:1.6}
[data-theme="dark"] .signal.green_leaf{background:#284c32;color:#d5efc7;border-color:#739b62}
/* V19-06.1: un solo modulo, eventi indipendenti */
[data-calendar-row]{margin:0 0 20px;padding:16px;border:1px solid var(--border);border-radius:8px;min-width:0}
[data-calendar-row]>legend{font-weight:700;padding:0 6px}
.calendar-preview-event{margin:12px 0;padding:12px 0;border-top:1px solid var(--border)}
.calendar-preview-event h4{margin:0 0 8px}
.calendar-preview-event p{margin:6px 0}
.calendar-day.selected-day{box-shadow:inset 0 0 0 2px var(--gold)}
@media(max-width:600px){[data-calendar-row]{padding:10px}[data-calendar-row] .accountbar{align-items:stretch;flex-direction:column}}
/* V19-07: gadget e Tesoreria */
.gadget-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:16px}
.gadget-grid>.panel{margin:0}
.gadget-order{margin:16px 0;padding:14px 0;border-top:1px solid var(--border)}
.gadget-order .gadget-order{margin:0;padding:0;border:0}
.gadget-order form{margin:14px 0}
.treasury-totals{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:18px 0}
.treasury-totals>div{padding:16px;border:1px solid var(--border);border-radius:8px}
.treasury-totals span,.treasury-totals strong{display:block}
.treasury-totals strong{margin-top:8px;font-size:1.25rem;overflow-wrap:anywhere}
@media(max-width:600px){.treasury-totals{grid-template-columns:1fr}.gadget-order .panel-heading{align-items:flex-start;flex-wrap:wrap}}
/* V19-07.1 */
.merch-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:20px;margin:24px 0}
.merch-grid>.panel{margin:0}
.merch-image{margin:12px 0;max-width:100%;min-height:40px}
.merch-image img{display:block;width:100%;max-height:340px;object-fit:contain;border-radius:8px;background:var(--surface-soft)}
.merch-image [hidden]{display:none}
.merch-admin-product>.merch-image{max-width:200px}
.cart-item{padding:16px 0;border-top:1px solid var(--border)}
.cart-item input{max-width:140px}
.merch-order-items{padding-left:22px;line-height:1.6}
.merch-order-items li{margin:8px 0}
[data-merch-variant-row]{margin:16px 0;padding:16px;border:1px solid var(--border);border-radius:8px;min-width:0}
[data-product-drag]{cursor:grab;padding:8px;font-size:1.3rem}
.merch-admin-product ul{padding-left:20px}
.merch-admin-product li{margin:14px 0}
@media(max-width:600px){[data-merch-variant-row]{padding:10px}.merch-admin-product>.merch-image{max-width:100%}}

.merch-image img{aspect-ratio:4/3}
.main-nav a[href="#merchandising"]{display:inline-flex;align-items:center;gap:6px}

/* V19-07.2: icone coerenti nella navigazione pubblica */
.main-nav a:not(.mobile-area){display:inline-flex;align-items:center;gap:6px}
.main-nav a>.ui-icon{flex-shrink:0;width:18px;height:18px}
@media(min-width:1101px){.main-nav{gap:14px}}

/* PWA e notifiche */
.pwa-update{position:fixed;bottom:1rem;right:1rem;max-width:26rem;z-index:2000;box-shadow:0 8px 32px #0003}[data-push-devices] form{border-top:1px solid #8885;padding-top:1rem;margin-top:1rem}[data-push-devices] label{display:block;margin:.5rem 0}
