:root{--ink:#102d24;--forest:#123c2f;--deep:#08271e;--lime:#b9df76;--paper:#f4f2eb;--line:rgba(16,45,36,.12);--muted:#697a73}*{box-sizing:border-box}body{margin:0;font-family:Inter,Arial,sans-serif;color:var(--ink);background:var(--paper)}a{color:inherit}.admin-auth{min-height:100vh;display:grid;place-items:center;background:radial-gradient(circle at 80% 10%,#dfeaca,transparent 28%),#eef0e8;padding:20px}.auth-card{width:min(430px,100%);background:white;border-radius:24px;padding:38px;box-shadow:0 30px 80px rgba(8,39,30,.12);display:grid;gap:14px}.admin-mark{font-weight:900;letter-spacing:-.05em;font-size:26px}.admin-mark span{color:#4c805f}.auth-card>p{font-size:8px;letter-spacing:.2em;color:var(--muted);margin:15px 0 0}.auth-card h1{font-family:Georgia,serif;font-weight:400;font-size:40px;margin:0 0 10px}.auth-card label,.admin-form label,.cms-form label{display:grid;gap:7px;font-size:9px;font-weight:700;color:#53685f}.auth-card input,.admin-form input,.admin-form select,.admin-form textarea,.cms-form input,.cms-form textarea,.cms-form select,.filters input,.filters select{border:1px solid var(--line);border-radius:10px;padding:12px 13px;font:inherit;font-size:12px;background:#fff;outline:none}.auth-card button,.admin-btn,.filters button{border:0;background:var(--forest);color:white;border-radius:999px;padding:12px 18px;font-weight:800;font-size:11px;text-decoration:none;cursor:pointer}.auth-card>a{font-size:10px;text-align:center;text-decoration:none;color:var(--muted)}.auth-card small{font-size:9px;color:var(--muted);line-height:1.5}.alert,.ok{border-radius:10px;padding:10px 12px;font-size:10px}.alert{background:#fce9e6;color:#932d24}.ok{background:#e8f4e8;color:#22613b}.wide{margin-bottom:18px}.admin-body{display:grid;grid-template-columns:220px 1fr;min-height:100vh}.admin-nav{position:fixed;left:0;top:0;bottom:0;width:220px;background:var(--deep);color:white;padding:28px 20px;display:flex;flex-direction:column}.admin-nav .admin-mark{margin-bottom:45px}.admin-nav nav{display:grid;gap:5px}.admin-nav nav a{font-size:11px;text-decoration:none;color:#aebdb7;padding:11px 12px;border-radius:9px}.admin-nav nav a:hover,.admin-nav nav a.active{background:rgba(255,255,255,.08);color:white}.nav-foot{margin-top:auto;border-top:1px solid rgba(255,255,255,.1);padding-top:15px;display:flex;justify-content:space-between}.nav-foot small,.nav-foot a{font-size:9px;color:#91a39b}.admin-main{grid-column:2;padding:45px;min-width:0}.admin-main>header{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:30px}.admin-main>header p{font-size:8px;letter-spacing:.18em;color:var(--muted);margin:0}.admin-main>header h1{font-family:Georgia,serif;font-size:42px;font-weight:400;margin:5px 0 0}.admin-main>header>span,.admin-main>header>a{font-size:10px;color:var(--muted);text-decoration:none}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:22px}.stats>div{background:white;border-radius:16px;padding:20px;display:grid}.stats small{font-size:8px;letter-spacing:.13em;color:var(--muted)}.stats strong{font-family:Georgia,serif;font-size:35px;font-weight:400;margin:8px 0 2px}.stats span{font-size:9px;color:var(--muted)}.admin-panel{background:white;border-radius:17px;padding:22px;margin-bottom:15px;box-shadow:0 8px 20px rgba(8,39,30,.025)}.admin-panel h2{font-family:Georgia,serif;font-weight:400;font-size:24px;margin:0 0 18px}.panel-head{display:flex;justify-content:space-between;align-items:center}.panel-head a,.panel-head small{font-size:9px;color:var(--muted);text-decoration:none}.admin-table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;min-width:720px}th{text-align:left;font-size:8px;letter-spacing:.1em;color:var(--muted);padding:10px;border-bottom:1px solid var(--line)}td{font-size:10px;padding:13px 10px;border-bottom:1px solid rgba(16,45,36,.07)}td a{font-weight:800;text-decoration:none}td small{display:block;color:var(--muted);margin-top:3px}.status{display:inline-block;border-radius:999px;padding:5px 8px;background:#eee;font-size:8px}.status.paid,.status.demo_confirmed{background:#e2f1e5;color:#28643d}.status.cancelled_checkout,.status.refunded{background:#f7e8e5;color:#91372d}.filters{display:flex;gap:8px;margin-bottom:15px}.filters input{flex:1}.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px}.admin-panel dl{display:grid;grid-template-columns:120px 1fr;margin:0}.admin-panel dt,.admin-panel dd{padding:9px 0;border-bottom:1px solid rgba(16,45,36,.07);font-size:10px}.admin-panel dt{color:var(--muted)}.admin-panel dd{margin:0}.participant-list{display:grid;gap:8px}.participant-list>div{border:1px solid var(--line);border-radius:10px;padding:10px;display:flex;justify-content:space-between;font-size:10px}.participant-list span{color:var(--muted)}.admin-form{display:grid;gap:12px}.cms-form{display:grid}.cms-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px}.cms-form input,.cms-form textarea{width:100%}.switch-admin{margin-top:18px;display:flex!important;grid-template-columns:auto 1fr!important;align-items:center!important;justify-content:start!important}.save-big{justify-self:end;margin-top:10px;margin-bottom:60px;padding:14px 28px}.message-list{display:grid;gap:12px}.message-list .admin-panel p{font-size:11px;color:#53685f}.message-list .admin-panel>a{font-size:10px;color:#357157}.message-list .admin-panel{margin:0}
@media(max-width:850px){.admin-body{display:block}.admin-nav{position:relative;width:auto;height:auto;flex-direction:row;align-items:center;padding:14px 18px;overflow:auto}.admin-nav .admin-mark{margin:0 20px 0 0;white-space:nowrap}.admin-nav nav{display:flex}.admin-nav nav a{white-space:nowrap}.nav-foot{display:none}.admin-main{padding:25px 16px}.stats{grid-template-columns:1fr 1fr}.detail-grid,.cms-grid{grid-template-columns:1fr}.span2{grid-column:auto}.admin-main>header h1{font-size:34px}}
/* CMS 2.0 */
.admin-help{font-size:10px!important;line-height:1.6;color:var(--muted);margin:-10px 0 18px}.panel-kicker{font-size:8px;letter-spacing:.16em;color:var(--muted);font-weight:800;margin:0 0 6px}.publish-panel{display:flex;align-items:center;justify-content:space-between;gap:30px;border:1px solid rgba(18,60,47,.10)}.publish-panel h2{margin-bottom:10px}.publish-switches{min-width:260px;display:grid;gap:4px}.admin-btn.secondary{background:#edf2ed;color:var(--forest);border:1px solid rgba(16,45,36,.10)}.cms-grid.three{grid-template-columns:repeat(3,1fr)}.media-editor{margin-top:20px;padding-top:20px;border-top:1px solid var(--line);display:grid;grid-template-columns:160px 1fr;gap:20px;align-items:center}.media-preview{height:120px;border:1px solid var(--line);border-radius:14px;background:#f8f8f4;display:grid;place-items:center;padding:15px}.media-preview img{max-width:100%;max-height:100%;object-fit:contain}.media-editor>div:last-child{display:grid;gap:10px}.media-editor small{font-size:9px;color:var(--muted)}.partner-admin-list{display:grid;gap:12px}.partner-admin-card{position:relative}.partner-admin-card.is-hidden,.partner-admin-list>.is-hidden{opacity:.63}.partner-edit-form{display:grid;grid-template-columns:150px 1fr;gap:22px}.partner-edit-logo{border-right:1px solid var(--line);padding-right:20px;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:10px}.partner-edit-logo img{max-width:120px;max-height:80px;object-fit:contain}.partner-edit-logo small{font-size:8px;color:var(--muted);text-transform:uppercase;letter-spacing:.12em}.partner-edit-fields{display:grid;gap:12px}.row-actions{display:flex;justify-content:flex-end;align-items:center;gap:15px}.row-actions .switch-admin{margin:0 auto 0 0}.danger-link{border:0;background:none;color:#a23d32;font-size:9px;font-weight:800;cursor:pointer;padding:6px 0}.delete-form{position:absolute;right:22px;top:18px}.repeater-stack{display:grid;gap:12px}.repeater-stack.compact{gap:9px}.repeater-card{border:1px solid var(--line);border-radius:14px;padding:16px;background:#fbfbf8}.repeater-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}.repeater-head strong{font-size:10px}.program-items{display:grid;gap:8px;margin:14px 0}.program-item-editor{display:grid;grid-template-columns:110px 220px 1fr 34px;gap:8px;align-items:end;padding:10px;border:1px solid rgba(16,45,36,.08);border-radius:10px;background:#fff}.program-item-editor label{min-width:0}.program-item-editor .grow{min-width:0}.icon-delete{width:34px;height:34px;border-radius:50%;border:1px solid rgba(162,61,50,.20);background:#fff;color:#a23d32;font-size:19px;cursor:pointer}.value-editor{grid-template-columns:260px 1fr 34px}.legal-editor{margin-top:16px}.legal-row{display:grid;gap:10px}.legal-row textarea{width:100%;border:1px solid var(--line);border-radius:10px;padding:12px 13px;font:inherit;font-size:12px;resize:vertical}.partner-edit-form input[type=file],.admin-form input[type=file],.cms-form input[type=file]{padding:8px}.admin-main .span2{grid-column:span 2}
@media(max-width:1050px){.cms-grid.three{grid-template-columns:1fr 1fr}.partner-edit-form{grid-template-columns:120px 1fr}.program-item-editor{grid-template-columns:90px 170px 1fr 34px}}
@media(max-width:850px){.publish-panel{display:grid}.publish-switches{min-width:0}.cms-grid.three{grid-template-columns:1fr}.media-editor,.partner-edit-form{grid-template-columns:1fr}.partner-edit-logo{border-right:0;border-bottom:1px solid var(--line);padding:0 0 15px}.program-item-editor,.value-editor{grid-template-columns:1fr}.icon-delete{justify-self:end}.delete-form{position:static;text-align:right;margin-top:8px}.admin-main .span2{grid-column:auto}}
.admin-nav nav{overflow-y:auto;min-height:0;padding-right:2px}.dashboard-status{display:grid;grid-template-columns:1fr 1fr auto;gap:20px;align-items:center}.dashboard-status>div{display:grid;gap:5px}.dashboard-status small{font-size:8px;letter-spacing:.13em;color:var(--muted)}.dashboard-status strong{font-size:17px}.dashboard-status span{font-size:9px;color:var(--muted)}.status-actions{display:flex!important;grid-template-columns:none!important;flex-direction:row;gap:8px}.cms-shortcuts{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:22px}.cms-shortcuts a{background:#fff;border-radius:16px;padding:20px;text-decoration:none;display:grid;gap:5px;transition:transform .2s ease,box-shadow .2s ease}.cms-shortcuts a:hover{transform:translateY(-2px);box-shadow:0 12px 26px rgba(8,39,30,.06)}.cms-shortcuts small{font-size:8px;letter-spacing:.13em;color:var(--muted)}.cms-shortcuts strong{font:400 30px Georgia,serif}.cms-shortcuts span{font-size:9px;color:var(--muted)}@media(max-width:1050px){.cms-shortcuts{grid-template-columns:1fr 1fr}.dashboard-status{grid-template-columns:1fr 1fr}.status-actions{grid-column:1/-1}}@media(max-width:600px){.cms-shortcuts,.dashboard-status{grid-template-columns:1fr}}
/* MySQL admin */
.admin-notice{margin:0 0 18px;padding:13px 16px;border-radius:12px;font-size:10px;line-height:1.55;background:#edf4ee;color:#285d3d;border:1px solid rgba(40,93,61,.12)}
.admin-notice.error{background:#fce9e6;color:#8e342b;border-color:rgba(142,52,43,.12)}
.admin-notice.success{background:#e7f4e8;color:#24603b;border-color:rgba(36,96,59,.12)}
.admin-notice a{font-weight:800}
.form-grid{display:grid;grid-template-columns:1fr 140px;gap:12px}
.admin-panel code{font-size:10px;background:#f2f4ef;border-radius:5px;padding:2px 5px}
@media(max-width:700px){.form-grid{grid-template-columns:1fr}.participant-list>div{align-items:flex-start;gap:8px;flex-direction:column}}

/* Stato sito: evidenzia la modalità di standby commerciale */
.publish-switches .switch-admin:nth-child(2){background:#f5f0df;border:1px solid rgba(157,118,24,.16);border-radius:10px;padding:10px 12px}.publish-switches .switch-admin:nth-child(2):has(input:checked){background:#fff3c9;border-color:rgba(157,118,24,.32)}

/* Booking ops + bib desk */
.status.expired,.status.payment_failed{background:#fff0d8;color:#8a5d1f}.ops-pill{display:inline-block;border-radius:999px;padding:5px 8px;font-size:8px;font-weight:800;background:#edf0ec;color:#63736c}.ops-pill.ok{background:#e2f1e5;color:#28643d}.ops-pill.warn{background:#fff0d8;color:#8a5d1f}.payment-confirm-box{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:15px}.payment-confirm-box>div{border:1px solid var(--line);border-radius:12px;padding:14px;display:grid;gap:5px;background:#fff}.payment-confirm-box small{font-size:8px;letter-spacing:.12em;color:var(--muted)}.payment-confirm-box strong{font-size:13px}.payment-confirm-box .ok strong{color:#28643d}.payment-confirm-box .warn strong{color:#8a5d1f}.participant-list .participant-ops{align-items:flex-start;gap:20px}.participant-main{display:grid;gap:5px}.participant-actions{display:grid;gap:5px;text-align:right}.participant-actions a{font-size:9px}.pickup-code{font-family:monospace;font-size:15px;letter-spacing:.12em}.bibdesk-body{min-height:100vh;background:#edf0e8;color:var(--ink);padding:24px}.bibdesk-shell{width:min(980px,100%);margin:0 auto}.bibdesk-shell>header{display:flex;justify-content:space-between;align-items:center;padding:12px 4px 28px}.bibdesk-shell>header>div:last-child{display:grid;text-align:right;gap:4px}.bibdesk-shell>header small{font-size:9px;color:var(--muted)}.bib-search{background:#fff;border-radius:18px;padding:24px;box-shadow:0 12px 30px rgba(8,39,30,.05)}.bib-search label{font-size:8px;letter-spacing:.16em;font-weight:800;color:var(--muted)}.bib-search form>div{display:grid;grid-template-columns:1fr auto;gap:10px;margin-top:9px}.bib-search input{width:100%;border:1px solid var(--line);border-radius:12px;padding:17px 18px;font-size:25px;font-family:monospace;letter-spacing:.16em;text-transform:uppercase}.bib-search button,.bib-deliver-form button{border:0;border-radius:12px;background:var(--forest);color:#fff;font-weight:800;padding:0 24px;cursor:pointer}.bib-message{margin:14px 0;padding:13px 15px;border-radius:12px;font-size:11px}.bib-message.success{background:#e2f1e5;color:#28643d}.bib-message.error{background:#f7e8e5;color:#91372d}.bib-card{background:#fff;border-radius:20px;padding:28px;margin-top:16px;box-shadow:0 12px 30px rgba(8,39,30,.05)}.bib-person small{font-size:8px;letter-spacing:.14em;color:var(--muted)}.bib-person h1{font-family:Georgia,serif;font-weight:400;font-size:42px;margin:5px 0}.bib-person p{font-size:10px;color:var(--muted)}.bib-status-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:24px 0}.bib-status-grid>div{border-radius:14px;padding:17px;display:grid;gap:6px;background:#f2f3f0}.bib-status-grid small{font-size:8px;letter-spacing:.12em;color:var(--muted)}.bib-status-grid strong{font-size:13px}.bib-status-grid span{font-size:9px;color:var(--muted)}.bib-status-grid .ok{background:#e5f2e7}.bib-status-grid .ok strong{color:#28643d}.bib-status-grid .warn{background:#fff0d8}.bib-status-grid .warn strong{color:#8a5d1f}.bib-details{display:flex;gap:18px;flex-wrap:wrap;font-size:10px;border-top:1px solid var(--line);padding-top:16px}.bib-deliver-form{margin-top:24px;border-top:1px solid var(--line);padding-top:22px;display:flex;align-items:center;gap:16px}.bib-deliver-form button{padding:15px 22px}.bib-deliver-form p{margin:0;font-size:9px;color:#8a5d1f;max-width:500px}.bibdesk-auth .auth-card h1{font-size:36px}@media(max-width:760px){.payment-confirm-box,.bib-status-grid{grid-template-columns:1fr}.bib-search form>div{grid-template-columns:1fr}.bib-search button{padding:14px}.bib-card{padding:20px}.bib-person h1{font-size:34px}.bib-deliver-form{display:grid}.participant-list .participant-ops{display:grid}.participant-actions{text-align:left}}

.bib-message.test{background:#fff0d8;color:#80551b;border:1px solid rgba(128,85,27,.14)}

/* Stripe diagnostics */
.stripe-health-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:15px}.stripe-health-card{margin:0!important;display:grid;gap:7px;border:1px solid transparent}.stripe-health-card small{font-size:8px;letter-spacing:.12em;color:var(--muted)}.stripe-health-card strong{font-size:14px}.stripe-health-card span{font-size:9px;color:var(--muted);line-height:1.45}.stripe-health-card.health-ok{border-color:rgba(40,100,61,.16);background:#f7fbf7}.stripe-health-card.health-ok strong{color:#28643d}.stripe-health-card.health-warn{border-color:rgba(138,93,31,.18);background:#fffaf0}.stripe-health-card.health-warn strong{color:#8a5d1f}.stripe-health-card.health-bad{border-color:rgba(145,55,45,.16);background:#fff8f6}.stripe-health-card.health-bad strong{color:#91372d}.stripe-endpoint-list{display:grid;gap:9px}.stripe-endpoint-row{border:1px solid var(--line);border-radius:12px;padding:14px;display:grid;grid-template-columns:1fr auto;gap:8px 18px}.stripe-endpoint-row>div:first-child{display:grid;gap:4px}.stripe-endpoint-row>div:first-child span{font-size:9px;color:var(--muted)}.stripe-endpoint-row>div:nth-child(2){display:flex;align-items:center;gap:7px}.stripe-endpoint-row>div:nth-child(2) small{font-size:8px;color:var(--muted)}.stripe-endpoint-row p{grid-column:1/-1;margin:0;font-size:9px;color:#8a5d1f}.stripe-audit{display:grid;gap:7px}.stripe-audit>div{display:grid;grid-template-columns:145px 220px 1fr;gap:12px;align-items:start;padding:10px 0;border-bottom:1px solid rgba(16,45,36,.07)}.stripe-audit time{font-size:9px;color:var(--muted)}.stripe-audit strong{font-size:9px}.stripe-audit code{white-space:normal;word-break:break-word;font-size:8px}.admin-table-wrap form{margin:0}@media(max-width:1100px){.stripe-health-grid{grid-template-columns:1fr 1fr}.stripe-audit>div{grid-template-columns:120px 180px 1fr}}@media(max-width:760px){.stripe-health-grid{grid-template-columns:1fr}.stripe-audit>div{grid-template-columns:1fr}.stripe-endpoint-row{grid-template-columns:1fr}.stripe-endpoint-row p{grid-column:auto}}
.stripe-repair-form{display:flex;align-items:center;gap:12px;margin-top:16px;padding-top:16px;border-top:1px solid var(--line)}.stripe-repair-form small{font-size:9px;color:var(--muted);line-height:1.45}@media(max-width:700px){.stripe-repair-form{display:grid}}

/* Email & SMTP */
.mail-settings-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.mail-settings-form label{display:flex;flex-direction:column;gap:7px}.mail-settings-form .wide{grid-column:1/-1}.mail-test-form{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.mail-test-form input{min-width:280px;flex:1}.mail-debug-result{margin-top:16px;padding:14px;border-radius:12px;display:flex;gap:12px;align-items:flex-start;flex-wrap:wrap}.mail-debug-result.ok{background:#e9f5ed}.mail-debug-result.bad{background:#fbeaea}.mail-debug-result code{white-space:pre-wrap;overflow-wrap:anywhere;font-size:12px}@media(max-width:800px){.mail-settings-form{grid-template-columns:1fr}.mail-settings-form .wide{grid-column:auto}}

/* Single-admin integrated Sponsor Desk – app kept autonomous inside same-origin frame. */
.admin-mailing-page{padding:36px 26px 26px}
.admin-mailing-page>header{margin-bottom:17px}
.admin-mailing-overview{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:11px;margin-bottom:13px}
.admin-mailing-overview>div{background:#fff;border:1px solid rgba(16,45,36,.08);border-radius:13px;padding:15px;display:grid;gap:5px}
.admin-mailing-overview small,.admin-mailing-shortcut small{font-size:9px;letter-spacing:.12em;color:var(--muted);font-weight:700}
.admin-mailing-overview strong{font:400 26px Georgia,serif}
.admin-mailing-overview strong.campaign-on{font:700 16px Arial,sans-serif;color:#27703e}
.admin-mailing-overview strong.campaign-off{font:700 16px Arial,sans-serif;color:#99552b}
.admin-mailing-overview span{font-size:10px;color:var(--muted)}
.admin-mailing-notice{font-size:11px;line-height:1.65;color:#3c5b4f;margin:0 0 13px;padding:12px 16px;border-radius:12px;background:#e7efe7}
.admin-mailing-frame{width:100%;min-height:900px;height:calc(100vh - 285px);border:1px solid rgba(16,45,36,.10);border-radius:16px;background:#f5f6f1;display:block}
.admin-mailing-shortcut{display:flex;justify-content:space-between;align-items:center;gap:20px}
.admin-mailing-shortcut h2{margin:6px 0 8px}
.admin-mailing-shortcut p{margin:0;font-size:11px;color:var(--muted);line-height:1.5}
.admin-mailing-shortcut>.admin-btn{white-space:nowrap}
@media(max-width:1100px){.admin-mailing-overview{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.admin-mailing-page{padding:24px 13px}.admin-mailing-page>header{display:block}.admin-mailing-page>header>a{display:block;margin-top:12px}.admin-mailing-overview{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-mailing-frame{height:84vh;min-height:620px}.admin-mailing-shortcut{display:grid}}
