:root{--navy:#071b35;--blue:#0f5ec7;--sky:#eaf4ff;--bg:#f5f7fb;--card:#fff;--text:#152238;--muted:#65738a;--line:#dfe5ee;--green:#14804a;--amber:#9a6700;--red:#c62828;--radius:18px}*{box-sizing:border-box}html,body{background:var(--bg);min-height:100%;color:var(--text);margin:0;font-family:Arial,Helvetica,sans-serif}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{cursor:pointer}.shell{grid-template-columns:250px minmax(0,1fr);min-height:100vh;display:grid}.sidebar{background:var(--navy);color:#fff;padding:24px 18px}.brand{text-align:center;min-height:68px;margin-bottom:28px;padding:17px 0 0;font-size:21px;font-weight:800;line-height:1.05}.brand span{color:#8fc5ff;letter-spacing:.04em;margin-top:5px;font-size:13px;display:block}.nav{gap:8px;display:grid}.nav a{color:#dbe8f8;border-radius:10px;padding:11px 12px}.nav a:hover{color:#fff;background:#12345f}.content{min-width:0}.topbar{border-bottom:1px solid var(--line);z-index:5;background:#fff;justify-content:space-between;align-items:center;gap:20px;padding:17px clamp(18px,3vw,38px);display:flex;position:sticky;top:0}.main{max-width:1500px;margin:0 auto;padding:28px clamp(18px,3vw,38px) 50px}.eyebrow{color:var(--blue);text-transform:uppercase;letter-spacing:.08em;font-size:12px;font-weight:800}h1{margin:4px 0 8px;font-size:clamp(27px,4vw,40px)}h2{margin:0 0 15px;font-size:21px}p{line-height:1.5}.muted{color:var(--muted)}.grid{grid-template-columns:repeat(12,minmax(0,1fr));gap:16px;display:grid}.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:20px;box-shadow:0 7px 24px #12253f0a}.metric{grid-column:span 3}.metric strong{margin-top:9px;font-size:28px;display:block}.module{flex-direction:column;grid-column:span 3;justify-content:space-between;min-height:125px;transition:transform .15s,box-shadow .15s;display:flex}.module:hover{transform:translateY(-2px);box-shadow:0 13px 35px #12253f17}.module .arrow{color:var(--blue);align-self:flex-end;font-size:22px}.agenda{grid-column:span 8}.alerts{grid-column:span 4}.dashboard-operational-stack{gap:18px;margin-top:18px;display:grid}.row{border-top:1px solid var(--line);align-items:center;gap:12px;padding:11px 0;display:flex}.row:first-of-type{border-top:0}.time{min-width:55px;font-weight:800}.badge{background:var(--sky);color:var(--blue);border-radius:999px;padding:4px 8px;font-size:12px;font-weight:800;display:inline-flex}.badge.green{color:var(--green);background:#e5f7ee}.badge.amber{color:var(--amber);background:#fff3d6}.badge.red{color:var(--red);background:#ffebeb}.actions{flex-wrap:wrap;gap:10px;display:flex}.btn{background:var(--blue);color:#fff;border:0;border-radius:10px;padding:11px 15px;font-weight:800}.btn.secondary{color:var(--text);border:1px solid var(--line);background:#fff}.btn.success{background:var(--green)}.btn.danger{background:var(--red)}.camp-attendance-card form:has(input[name=present][value=true]) .btn.secondary{background:var(--green);border-color:var(--green);color:#fff}.camp-attendance-card form:has(input[name=present][value=false]) .btn.secondary{background:var(--red);border-color:var(--red);color:#fff}.table-wrap{border:1px solid var(--line);border-radius:var(--radius);background:#fff;overflow:auto}table{border-collapse:collapse;width:100%;min-width:800px}th,td{text-align:left;border-bottom:1px solid var(--line);padding:12px 14px;font-size:14px}th{color:#506078;text-transform:uppercase;letter-spacing:.04em;background:#f9fbfd;font-size:12px}.form-card{max-width:560px;margin:7vh auto}label{gap:6px;margin:14px 0;font-size:14px;font-weight:700;display:grid}input,select,textarea{background:#fff;border:1px solid #ccd5e1;border-radius:10px;width:100%;padding:11px 12px}.public-header{background:var(--navy);color:#fff;justify-content:space-between;align-items:center;padding:18px clamp(18px,4vw,60px) 18px 120px;display:flex}.public-main{max-width:1100px;margin:0 auto;padding:40px 20px}.hero{padding:44px 0 24px}.hero h1{max-width:760px;font-size:clamp(34px,6vw,62px);line-height:1.02}.week-navigation{text-align:center;grid-template-columns:1fr auto 1fr;align-items:center;gap:14px;margin-bottom:22px;display:grid}.week-navigation .btn:last-child{justify-self:end}.week-navigation h2{margin:2px 0 0}.public-days{gap:20px;display:grid}.public-program-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;gap:20px;display:grid}.program-controls{margin-bottom:20px}.program-panel .section-heading{margin-bottom:4px}.program-panel .public-game{grid-template-columns:82px minmax(0,1fr)}.public-day h3{text-transform:capitalize;margin:0 0 8px}.public-game{border-top:1px solid var(--line);grid-template-columns:150px 1fr;gap:16px;padding:14px 0;display:grid}.public-game time{color:var(--muted);align-content:start;gap:3px;font-size:13px;display:grid}.public-game time strong{color:var(--text);font-size:18px}.game-title{flex-wrap:wrap;align-items:center;gap:7px;display:flex}.public-game p{margin:5px 0 0}.empty-week{padding:20px 0 6px}.quick{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.quick .card{min-height:145px}.mobile-nav{display:none}.tabs{flex-wrap:wrap;gap:8px;margin:24px 0 14px;display:flex}.tab{border:1px solid var(--line);background:#fff;border-radius:999px;padding:9px 13px;font-size:14px;font-weight:700}.tab.active{background:var(--navy);color:#fff;border-color:var(--navy)}.search{gap:8px;max-width:520px;margin-bottom:18px;display:flex}.search input{flex:1}.admin-grid{align-items:start}.camp-area-switch{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:18px;display:grid}.camp-area-card{border:1px solid var(--line);border-radius:var(--radius);background:#fff;flex-direction:column;justify-content:space-between;align-items:flex-start;min-height:176px;padding:24px;transition:transform .15s,box-shadow .15s;display:flex;box-shadow:0 7px 24px #12253f0a}.camp-area-card:hover{transform:translateY(-2px);box-shadow:0 13px 35px #12253f17}.camp-area-card.active{border:2px solid var(--blue);background:#f8fbff}.camp-area-card h2{color:var(--text);margin:6px 0;font-size:24px}.camp-area-card p{color:var(--muted);margin:0}.camp-area-kicker{color:var(--blue);letter-spacing:.08em;font-size:11px;font-weight:900;display:block}.camp-area-action{color:var(--blue);margin-top:18px;font-weight:800}.camp-subnav{flex-wrap:wrap;gap:8px;margin:22px 0 16px;display:flex}.camp-subnav a{border:1px solid var(--line);background:#fff;border-radius:10px;padding:10px 13px;font-size:14px;font-weight:800}.camp-subnav a.active{background:var(--navy);border-color:var(--navy);color:#fff}.camp-week-bar{border:1px solid var(--line);background:#fff;border-radius:12px;align-items:end;gap:12px;margin:18px 0;padding:14px 16px;display:flex}.camp-week-bar label{flex:1;gap:6px;font-weight:800;display:grid}.camp-week-bar select{min-width:260px}@media (max-width:640px){.camp-week-bar{flex-direction:column;align-items:stretch}.camp-week-bar select{width:100%;min-width:0}}.camp-day-legend{flex-wrap:wrap;gap:10px;margin:0 0 14px;font-size:12px;font-weight:700;display:flex}.camp-day-legend span{border-radius:6px;padding:4px 7px}.camp-day-grid{gap:5px;min-width:148px;display:flex}.camp-day{color:#fff;border-radius:5px;place-items:center;width:25px;height:25px;font-size:12px;font-weight:900;display:grid}.camp-day.present,.camp-day-legend .present{color:#fff;background:#197a4c}.camp-day.absent,.camp-day-legend .absent{color:#fff;background:#b42318}.camp-day.pending,.camp-day-legend .pending{color:#1e1e1e;background:#d18a00}.camp-day.not-booked,.camp-day-legend .not-booked{color:#4a5568;background:#d7dce3}.camp-week-picker,.camp-day-picker{background:var(--sky);border-radius:var(--radius);border:1px solid #cfe3ff;justify-content:space-between;align-items:center;gap:20px;padding:20px 22px;display:flex}.camp-week-picker h2{color:var(--text);margin:5px 0;font-size:24px}.camp-week-picker p{color:var(--muted);margin:0}.camp-day-picker h2{color:var(--text);text-transform:capitalize;margin:5px 0;font-size:24px}.camp-day-picker p{color:var(--muted);margin:0}@media (max-width:760px){.camp-day-picker{flex-direction:column;align-items:stretch}.camp-day-picker .camp-week-form{flex-direction:column;width:100%}}.camp-week-form{gap:8px;width:min(100%,520px);display:flex}.camp-week-form select{min-width:0}.camp-operations-grid{grid-template-columns:minmax(270px,.68fr) minmax(0,1.32fr);align-items:start;gap:16px;margin-top:16px;display:grid}.camp-services{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:16px;display:grid}.camp-services .muted{display:none}.camp-services label:has(input[name=unitCost]){display:none}.camp-payment-periods{width:100%;min-width:260px;margin:0}.camp-payment-periods label{align-items:center;gap:7px;margin:6px 0;font-size:12px;font-weight:600;display:flex}.camp-payment-periods input{width:auto}.camp-payment-periods legend:after{content:" · Kit solo insieme a una settimana o giornata";color:var(--muted);font-size:11px;font-weight:600}.camp-payment-total{background:var(--sky);width:100%;color:var(--text);border-radius:9px;justify-content:space-between;align-items:center;padding:9px 11px;font-size:13px;display:flex}.camp-payment-total strong{color:var(--blue);font-size:16px}.camp-payment-periods .paid-period{color:var(--green);font-weight:800}.camp-payment-periods .paid-period input{accent-color:var(--green)}.camp-week-roster{max-height:720px;overflow:auto}.camp-week-roster .row{align-items:flex-start}.camp-attendance-card h2{margin:6px 0 14px}.camp-day-buttons{grid-template-columns:repeat(auto-fit,minmax(88px,1fr));gap:8px;margin-bottom:16px;display:grid}.camp-day-buttons a{text-align:center;border:1px solid var(--line);text-transform:capitalize;background:#fff;border-radius:10px;gap:3px;padding:10px;font-size:13px;display:grid}.camp-day-buttons a.active{background:var(--navy);border-color:var(--navy);color:#fff}.camp-day-buttons span{font-size:12px}h2:has(+form.search+section .table-wrap tbody:empty){display:none}h2:has(+form.search+section .table-wrap tbody:empty)+form.search{display:none}h2:has(+form.search+section .table-wrap tbody:empty)+form.search+section{display:none}.transport-service-tabs{flex-wrap:wrap;gap:8px;margin:20px 0;display:flex}.transport-metrics{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:0 0 18px;display:grid}.transport-metrics .card{align-content:center;gap:5px;min-height:112px;display:grid}.transport-metrics strong{font-size:28px}.transport-metrics small{color:var(--muted)}.transport-setup-grid{margin-bottom:18px}.transport-routes-card,.transport-requests-card{margin-top:18px}.transport-route-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.transport-route{border:1px solid var(--line);background:#fbfcfe;border-radius:14px;padding:16px}.transport-route-title{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.transport-route-title h3{color:var(--text);margin:0;font-size:18px}.transport-route-title p{margin:5px 0 0}.transport-capacity{border-top:1px solid var(--line);border-bottom:1px solid var(--line);color:var(--muted);justify-content:space-between;gap:10px;margin:12px 0;padding:12px 0;font-size:13px;display:flex}.transport-capacity strong{color:var(--text)}.transport-stops{gap:7px;margin:0 0 13px;padding-left:24px;display:grid}.transport-stops li{justify-content:space-between;gap:10px;font-size:14px;display:flex}.transport-stops small{color:var(--muted)}.transport-stop-form{grid-template-columns:minmax(0,1fr) 110px auto;gap:8px;display:grid}.transport-stop-form input{min-width:0}.transport-filters{grid-template-columns:minmax(180px,1.5fr) repeat(6,minmax(120px,1fr)) auto;gap:8px;margin:16px 0;display:grid}.transport-filters input,.transport-filters select{min-width:0}.transport-request-list{gap:10px;display:grid}.transport-request{border:1px solid var(--line);background:#fff;border-radius:14px;grid-template-columns:minmax(150px,1.1fr) minmax(170px,1.2fr) minmax(110px,.8fr) minmax(100px,.7fr) minmax(155px,.9fr);align-items:center;gap:14px;padding:16px;display:grid}.transport-request-main h3{color:var(--text);margin:8px 0 2px;font-size:17px}.transport-request-main p{color:var(--muted);margin:0;font-size:13px}.transport-request-detail{gap:4px;min-width:0;display:grid}.transport-request-detail span,.transport-request-detail small{color:var(--muted);font-size:12px}.transport-request-detail strong{overflow-wrap:anywhere}.transport-status-action{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:8px;margin:0;display:grid}.transport-status-action label{margin:0;font-size:12px}.transport-status-action select{padding:9px}.form-card-wide{grid-column:span 5}.list-card{grid-column:span 7}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 14px;display:grid}.form-grid label{margin:8px 0}.form-grid .full,.form-grid fieldset{grid-column:1/-1}fieldset{border:1px solid var(--line);border-radius:10px;margin:10px 0;padding:10px}.check-options{flex-wrap:wrap;gap:8px 14px;display:flex}.check-option{white-space:nowrap;align-items:center;gap:5px;display:flex;margin:0!important}.camp-week-choice{border-top:1px solid var(--line);gap:8px;padding:12px 0;display:grid}.camp-week-choice:first-of-type{border-top:0}.camp-week-choice>.checks{gap:8px}.camp-week-choice>.checks>label{min-height:42px;color:var(--navy);cursor:pointer;background:#fff;border:1px solid #b7c9e0;border-radius:999px;padding:10px 15px;font-weight:700;transition:background .15s,border-color .15s,color .15s,transform .15s;position:relative}.camp-week-choice>.checks>label:hover{border-color:var(--blue);transform:translateY(-1px)}.camp-week-choice>.checks>label:has(input:checked){border-color:var(--blue);background:var(--blue);color:#fff;box-shadow:0 4px 12px #0f5ec733}.camp-week-choice>.checks>label input{opacity:0;block-size:1px;inline-size:1px;position:absolute}.camp-week-choice>.checks>label:has(input:focus-visible){outline-offset:2px;outline:3px solid #91c8ff}.camp-summary{background:var(--sky);border-radius:12px;grid-column:1/-1;gap:6px;padding:14px;display:grid}.camp-participant-card fieldset:has(input[name$=_kitRequested]){border:2px solid var(--blue);background:var(--sky);padding:16px}.camp-participant-card fieldset:has(input[name$=_kitRequested]) legend{color:var(--blue);padding:0 6px;font-size:1.3rem;font-weight:800}.camp-participant-card fieldset:has(input[name$=_kitRequested]) .privacy-check{min-height:46px;color:var(--navy);cursor:pointer;background:#fff;border:1px solid #b7c9e0;border-radius:999px;padding:11px 15px;font-size:1.12rem;font-weight:700;transition:background .15s,border-color .15s,color .15s,transform .15s;position:relative}.camp-participant-card fieldset:has(input[name$=_kitRequested]) .privacy-check:hover{border-color:var(--blue);transform:translateY(-1px)}.camp-participant-card fieldset:has(input[name$=_kitRequested]) .privacy-check:has(input:checked){border-color:var(--blue);background:var(--blue);color:#fff;box-shadow:0 4px 12px #0f5ec733}.camp-participant-card fieldset:has(input[name$=_kitRequested]) .privacy-check input{opacity:0;block-size:1px;inline-size:1px;position:absolute}.camp-participant-card fieldset:has(input[name$=_kitRequested]) .privacy-check:has(input:focus-visible){outline-offset:2px;outline:3px solid #91c8ff}.camp-participant-card fieldset:has(input[name$=_kitRequested]) small{font-size:1rem}legend{font-size:14px;font-weight:800}.checks{flex-wrap:wrap;gap:8px 14px;display:flex}.checks label{align-items:center;gap:6px;margin:0;font-weight:500;display:flex}.checks input{width:auto}.transport-days .checks{gap:8px}.transport-day-choice{min-height:42px;color:var(--navy);cursor:pointer;background:#fff;border:1px solid #b7c9e0;border-radius:999px;padding:10px 15px;transition:background .15s,border-color .15s,color .15s,transform .15s;position:relative;font-weight:700!important}.transport-day-choice:hover{border-color:var(--blue);transform:translateY(-1px)}.transport-day-choice.is-selected{border-color:var(--blue);background:var(--blue);color:#fff;box-shadow:0 4px 12px #0f5ec733}.transport-day-choice input{opacity:0;block-size:1px;inline-size:1px;position:absolute}.transport-day-choice:has(input:focus-visible){outline-offset:2px;outline:3px solid #91c8ff}.transport-day-choice.is-unavailable{opacity:.45;cursor:not-allowed}.row-list,.space-list{margin-top:14px}.week-grid{grid-template-columns:repeat(7,minmax(145px,1fr));gap:8px;margin-top:14px;display:grid;overflow:auto}.week-day{border:1px solid var(--line);border-radius:12px;align-content:start;gap:8px;min-height:190px;padding:10px;display:grid}.schedule-item,.occupancy-event{background:var(--sky);border-left:3px solid var(--blue);border-radius:6px;gap:3px;padding:7px;font-size:12px;display:grid}.schedule-item span,.occupancy-event span{font-weight:700}.cancelled{opacity:.55;text-decoration:line-through}.text-link{color:var(--blue);background:0 0;border:0;padding:0;font-size:12px;font-weight:700}.occupancy td{vertical-align:top;min-width:155px}.free-field{color:var(--green);font-size:13px;font-weight:700}.row-list .row,.space-list .row{justify-content:space-between}hr{border:0;border-top:1px solid var(--line);margin:24px 0}h3{color:var(--muted);margin:18px 0 0;font-size:15px}.family-shell{min-height:100vh}.family-header{z-index:20;background:var(--navy);color:#fff;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:24px;padding:14px clamp(16px,3vw,36px);display:grid;position:sticky;top:0;box-shadow:0 8px 24px #071b3524}.family-brand{white-space:nowrap;font-size:18px;font-weight:900}.family-brand span{color:#91c8ff;letter-spacing:.06em;text-transform:uppercase;margin-top:3px;font-size:11px;display:block}.family-nav{justify-content:center;gap:4px;min-width:0;display:flex}.family-nav a{color:#dceafa;white-space:nowrap;border-radius:9px;padding:9px 10px;font-size:13px;font-weight:700}.family-nav a:hover{color:#fff;background:#12345f}.family-account{align-items:center;gap:12px;display:flex}.family-account span{text-align:right;font-size:13px;display:grid}.family-account small{color:#aac6e5}.family-main{max-width:1240px;margin:0 auto;padding:36px clamp(16px,4vw,50px) 64px}.family-hero{justify-content:space-between;align-items:end;min-height:180px;padding:20px 0 30px;display:flex}.family-hero h1{font-size:clamp(34px,5vw,56px)}.compact-hero{padding-top:8px}.family-metrics{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:18px;display:grid}.family-metrics.three{grid-template-columns:repeat(3,minmax(0,1fr));margin-top:22px}.family-metrics .card{align-content:center;gap:7px;min-height:126px;display:grid}.family-metrics strong{font-size:28px;display:block}.family-metrics small{color:var(--muted)}.family-dashboard-grid,.family-booking-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:18px;display:grid}.family-services{margin-top:30px}.family-service-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;display:grid}.family-service-grid h3{color:var(--text);margin:0;font-size:18px}.section-heading{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.family-list-item{border-top:1px solid var(--line);align-items:center;gap:12px;padding:14px 0;display:flex}.family-list-item:first-of-type{border-top:0}.family-list-item time{color:var(--muted);flex:0 0 92px;font-size:12px}.family-list-item span{flex:1;gap:4px;display:grid}.family-list-item small{color:var(--muted)}.family-list-item b{color:var(--blue);font-size:20px}.empty-state{color:var(--muted);background:#f8fafc;border-radius:12px;padding:16px}.booking-card{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:18px;padding:16px 0;display:flex}.booking-card:first-of-type{border-top:0}.booking-card h3{color:var(--text);margin:9px 0 4px;font-size:17px}.booking-card p{margin:4px 0}.compact-form{background:#f8fafc;border-radius:12px;min-width:min(560px,80vw);margin-top:12px;padding:14px}details summary{cursor:pointer;list-style:none;display:inline-block}.optional-panel{border:1px solid var(--line);background:#fff;border-radius:12px;overflow:hidden}.optional-panel summary{box-sizing:border-box;width:100%;color:var(--navy);background:#f7fbff;justify-content:space-between;align-items:center;gap:12px;padding:12px 14px;font-weight:700;display:flex}.optional-panel summary:after{content:"+";background:var(--navy);color:#fff;border-radius:50%;order:3;place-items:center;width:23px;height:23px;font-size:18px;line-height:1;display:grid}.optional-panel[open] summary{border-bottom:1px solid var(--line);background:var(--sky)}.optional-panel[open] summary:after{content:"−"}.optional-panel summary small{color:var(--muted);margin-left:auto;font-weight:600}.optional-panel-content{padding:14px}.payment-manager{border-top:1px dashed var(--line);gap:8px;margin-top:10px;padding-top:10px;display:grid}.payment-manager input,.payment-manager select{width:auto;min-width:120px}.status-danger{color:var(--red);font-weight:700}.public-links{align-items:center;gap:18px;font-size:14px;font-weight:700;display:flex}.public-portal-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;display:grid}.portal-entry{flex-direction:column;justify-content:space-between;min-height:285px;transition:transform .15s,box-shadow .15s;display:flex}.portal-entry:hover{transform:translateY(-3px);box-shadow:0 16px 40px #12253f1a}.portal-entry h2{margin-top:20px;font-size:27px}.portal-entry p{color:var(--muted);min-height:74px}.portal-entry strong{color:var(--blue)}.portal-entry-wide{flex-direction:row;grid-column:1/-1;align-items:center;gap:28px;min-height:178px}.portal-entry-wide .entry-number{flex:none}.portal-entry-wide h2{margin-top:0}.portal-entry-wide p{min-height:0}.portal-entry-centered{text-align:center;justify-content:center;position:relative}.portal-entry-centered .entry-number{position:absolute;left:28px}.games-entry{background:#eef6ff;border-color:#bbd8f4}.entry-number{color:var(--muted);letter-spacing:.08em;font-size:12px;font-weight:900}.primary-entry{background:var(--navy);color:#fff;border-color:var(--navy)}.primary-entry p{color:#c5d8ee}.primary-entry strong{color:#8fc5ff}.protected-entry{border-top:4px solid var(--blue)}.public-enrollments{max-width:1260px}.enrollment-tabs{z-index:10;background:var(--bg);padding:12px 0;position:sticky;top:0}.public-enrollment-sections{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:20px;display:grid}.public-enrollment-sections .card{scroll-margin-top:90px}.public-enrollment-form{margin-top:18px}.form-divider{border-top:1px solid var(--line);color:var(--blue);letter-spacing:.06em;text-transform:uppercase;margin-top:14px;padding-top:14px;font-size:12px;font-weight:900}.privacy-check{grid-template-columns:auto 1fr;align-items:flex-start;gap:9px;font-weight:500;line-height:1.4;display:flex}.privacy-check input{width:auto;margin-top:3px}.honeypot{display:none!important}.success-panel,.error-panel{border-radius:14px;gap:6px;margin:16px 0;padding:18px;display:grid}.success-panel{color:var(--green);background:#e5f7ee;border:1px solid #a9dfc3}.error-panel{color:var(--red);background:#ffebeb;border:1px solid #ffc5c5}.enrollment-admin-filters{flex-wrap:wrap;max-width:none}.enrollment-admin-filters input{min-width:260px}.admin-request-form{gap:8px;min-width:220px;display:grid}.detail-line{color:var(--muted);margin-top:5px;display:block}.public-camp-section{grid-column:1/-1;gap:18px;display:grid}.camp-intro{justify-content:space-between;align-items:center;gap:18px;display:flex}.public-camp-form{gap:18px;display:grid}.camp-participant-card{gap:14px;display:grid}.camp-week-choice>div:first-child{justify-content:space-between;gap:10px;display:flex}.camp-week-choice small{color:var(--muted)}.camp-day-options{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.camp-day-option{border:1px solid var(--line);background:#fff;border-radius:10px;gap:5px;padding:10px;display:grid}.camp-day-option>strong{text-transform:capitalize;font-size:13px}.camp-day-option>label{border:0;border-radius:0;grid-template-columns:auto 1fr;padding:5px 0}.camp-day-options label{border:1px solid var(--line);border-radius:9px;grid-template-columns:auto 1fr auto;align-items:center;gap:7px;margin:0;padding:9px;font-weight:600;display:grid}.camp-day-options input{width:auto}.camp-day-options small{font-size:11px}.camp-day-options label{min-height:42px;color:var(--navy);cursor:pointer;background:#fff;border-color:#b7c9e0;grid-template-columns:1fr;padding:10px 12px;transition:background .15s,border-color .15s,color .15s,transform .15s;position:relative}.camp-day-options label:hover{border-color:var(--blue);transform:translateY(-1px)}.camp-day-options label.is-selected{border-color:var(--blue);background:var(--blue);color:#fff;box-shadow:0 4px 12px #0f5ec72e}.camp-day-options label input{opacity:0;block-size:1px;inline-size:1px;position:absolute}.camp-day-options label:has(input:focus-visible){outline-offset:2px;outline:3px solid #91c8ff}.add-sibling{justify-self:start}.camp-confirmation{justify-content:space-between;align-items:center;gap:22px;display:flex}.camp-confirmation>div{gap:4px;display:grid}.camp-confirmation>div strong{font-size:28px}.camp-confirmation .privacy-check{max-width:460px}.practice-status{background:var(--sky);color:var(--blue);border-radius:12px;justify-content:space-between;gap:16px;margin:16px 0;padding:13px 16px;display:flex}.admin-camp-participant{border-bottom:1px solid var(--line);gap:3px;min-width:260px;padding:7px 0;display:grid}.admin-camp-participant:last-child{border-bottom:0}.printable-receipt{margin-bottom:20px}.receipt-heading,.receipt-reference{justify-content:space-between;align-items:flex-start;gap:18px;display:flex}.receipt-reference{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:14px 0}.receipt-reference span{gap:4px;display:grid}.receipt-participant{border-top:1px solid var(--line);margin-top:18px;padding-top:14px}.receipt-participant h2{margin-bottom:6px}.receipt-secret{border:1px solid var(--line);background:#f8fafc;border-radius:10px;margin-top:20px;padding:14px}.receipt-note{color:var(--muted);margin-top:18px;font-size:13px}@media print{@page{size:A4 portrait;margin:16mm}.no-print{display:none!important}html,body{background:#fff}.public-main{max-width:none;padding:0}.printable-receipt{box-shadow:none;border:0;padding:0}.receipt-heading h1{font-size:28px}.receipt-secret{background:#fff}.receipt-participant{break-inside:avoid}}@media (max-width:1050px){.metric,.module{grid-column:span 6}.agenda,.alerts{grid-column:span 12}.transport-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.transport-route-grid{grid-template-columns:1fr}.transport-filters{grid-template-columns:repeat(3,minmax(0,1fr))}.transport-request{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:1100px){.family-header{grid-template-columns:auto auto}.family-nav{grid-area:2/1/auto/-1;justify-content:flex-start;padding-bottom:2px;overflow-x:auto}.family-account{justify-self:end}.family-service-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:900px){.public-portal-grid{grid-template-columns:1fr}.portal-entry,.portal-entry-wide{flex-direction:column;align-items:flex-start;min-height:210px}.portal-entry p{min-height:0}.public-enrollment-sections{grid-template-columns:1fr}}@media (max-width:760px){.shell{display:block}.sidebar{display:none}.mobile-nav{display:block}.main{padding-top:20px}.metric,.module,.form-card-wide,.list-card{grid-column:span 12}.topbar{position:static}.public-header{gap:16px;padding-left:18px}.public-links{gap:10px;font-size:12px}.quick,.form-grid,.week-navigation,.public-program-grid,.camp-area-switch,.camp-operations-grid,.camp-services{grid-template-columns:1fr}.week-navigation .btn:last-child{justify-self:stretch}.search{max-width:none}.row{flex-direction:column;align-items:flex-start}.public-game,.program-panel .public-game{grid-template-columns:1fr;gap:7px}.table-wrap .row{flex-direction:row}.camp-week-picker,.camp-week-form{flex-direction:column;align-items:stretch}.camp-week-picker{display:flex}.camp-week-form{width:100%}.table-wrap .actions{min-width:138px}.family-header{grid-template-columns:1fr auto;gap:12px;position:static}.family-account span{display:none}.family-nav{margin:0 -16px;padding:5px 16px 7px}.family-main{padding-top:24px}.family-hero{min-height:0;padding-top:6px}.family-metrics,.family-metrics.three,.family-dashboard-grid,.family-booking-grid,.family-service-grid{grid-template-columns:1fr}.family-metrics{gap:10px}.family-metrics .card{min-height:94px}.booking-card{flex-direction:column;align-items:flex-start}.compact-form{width:100%;min-width:0}.family-list-item time{flex-basis:72px}.payment-manager .actions{display:grid}.payment-manager input,.payment-manager select{width:100%}.enrollment-tabs{position:static}.enrollment-admin-filters{display:grid}.enrollment-admin-filters input{min-width:0}.camp-intro,.camp-confirmation{flex-direction:column;align-items:stretch}.camp-day-options{grid-template-columns:1fr}.camp-confirmation .btn{width:100%}.transport-metrics,.transport-route-grid,.transport-filters,.transport-request,.transport-stop-form,.transport-status-action{grid-template-columns:1fr}.transport-status-action .btn{width:100%}}input[name*=fiscalCode i]{text-transform:uppercase}.tabs+details.card,.tabs+details.card+details.card,.hide-registration-code .registration-code-field{display:none}
