:root{color-scheme:light;--font-display: "Fraunces", "Georgia", serif;--font-ui: "Instrument Sans", system-ui, sans-serif;--brand-slate-950: #1e2a35;--brand-slate-800: #2c3d4d;--brand-slate-700: #3d5468;--brand-slate-600: #4c657c;--brand-slate-400: #7a92a8;--brand-orange-700: #b42f1c;--brand-orange-600: #c93420;--brand-orange-500: #db3a24;--brand-orange-400: #e8624f;--brand-orange-soft: color-mix(in srgb, var(--brand-orange-500) 12%, white);--canvas: #f3f0e8;--canvas-subtle: radial-gradient( 120% 80% at 12% -10%, color-mix(in srgb, var(--brand-slate-600) 8%, white) 0%, transparent 55% );--surface: #fffcf7;--surface-muted: color-mix(in srgb, var(--brand-slate-600) 4%, white);--border: color-mix(in srgb, var(--brand-slate-600) 22%, #c9c4b8);--border-strong: color-mix(in srgb, var(--brand-slate-600) 35%, #a8a39a);--text: #1f2b36;--muted: #556575;--link: #2a4a62;--accent: var(--brand-orange-500);--danger: #c23b3b;--success: #2d6b4e;--sidebar-bg: linear-gradient( 165deg, var(--brand-slate-800) 0%, #33475a 48%, var(--brand-slate-700) 100% );--sidebar-text: #f0f4f8;--sidebar-muted: color-mix(in srgb, var(--sidebar-text) 68%, var(--brand-slate-950));--sidebar-hover: color-mix(in srgb, white 9%, transparent);--sidebar-active-bg: color-mix(in srgb, var(--brand-orange-500) 16%, transparent);--sidebar-active-text: #fff8f5;--sidebar-edge: color-mix(in srgb, black 18%, var(--brand-slate-700));--radius-sm: 8px;--radius: 12px;--radius-lg: 16px;--shadow-sm: 0 1px 2px color-mix(in srgb, var(--brand-slate-950) 8%, transparent);--shadow-md: 0 8px 28px color-mix(in srgb, var(--brand-slate-950) 12%, transparent);font-family:var(--font-ui);line-height:1.55;color:var(--text);background-color:var(--canvas);background-image:var(--canvas-subtle);background-attachment:fixed;font-synthesis:none;text-rendering:optimizeLegibility}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}*{box-sizing:border-box}body{margin:0;min-height:100vh}h1,h2,h3{font-family:var(--font-display);font-weight:600;letter-spacing:-.02em;line-height:1.2;color:var(--brand-slate-950)}h1{font-size:clamp(1.55rem,1.2rem + 1.4vw,2rem);margin:0 0 .35rem}h2{font-size:clamp(1.2rem,1.05rem + .55vw,1.45rem);margin:1.25rem 0 .5rem}a{color:var(--link);text-decoration:none}a:hover{text-decoration:underline;text-underline-offset:3px}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,.nav-link:focus-visible{outline:2px solid var(--brand-orange-400);outline-offset:2px}button,input,select{font:inherit}button{cursor:pointer}.skip-link{position:absolute;left:0;top:0;padding:.5rem .9rem;margin:.5rem;border-radius:var(--radius-sm);background:var(--surface);color:var(--text);font-weight:600;font-size:.85rem;box-shadow:var(--shadow-md);clip-path:inset(50%);width:1px;height:1px;overflow:hidden;white-space:nowrap;z-index:100}.skip-link:focus{clip-path:none;width:auto;height:auto;overflow:visible;outline:none;box-shadow:var(--shadow-md),0 0 0 2px var(--surface),0 0 0 5px var(--brand-orange-400)}.layout{display:flex;min-height:100vh;flex-direction:column}@media(min-width:900px){.layout{flex-direction:row;align-items:stretch}}.sidebar{background:var(--sidebar-bg);color:var(--sidebar-text);border-bottom:1px solid var(--sidebar-edge);padding:1rem 1rem .85rem;display:flex;flex-direction:column;gap:.65rem;box-shadow:var(--shadow-sm)}@media(max-width:899px){.sidebar{position:sticky;top:0;z-index:1001}}@media(min-width:900px){.sidebar{width:min(260px,28vw);flex-shrink:0;border-bottom:none;border-right:1px solid var(--sidebar-edge);padding:1.35rem 1.1rem 1.15rem;min-height:100vh;box-shadow:4px 0 24px color-mix(in srgb,var(--brand-slate-950) 14%,transparent);position:relative;z-index:1001}}.sidebar-brand{display:flex;flex-direction:column;gap:.55rem;padding-bottom:.35rem;border-bottom:1px solid color-mix(in srgb,white 12%,transparent)}@media(max-width:899px){.sidebar-brand{flex-direction:row;align-items:center;gap:.85rem;border-bottom:none;padding-bottom:0}}.sidebar-logo{display:block;width:100%;max-width:200px;max-height:48px;object-fit:contain;object-position:left center;filter:drop-shadow(0 2px 6px color-mix(in srgb,black 35%,transparent))}@media(max-width:899px){.sidebar-logo{max-width:min(200px,42vw);max-height:40px}}.sidebar-brand-meta{display:flex;flex-direction:column;gap:.1rem;min-width:0}.sidebar-kicker{font-size:.68rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--sidebar-muted)}.sidebar-title-line{font-family:var(--font-display);font-size:1.15rem;font-weight:700;letter-spacing:-.03em;line-height:1.15;color:var(--sidebar-text)}.sidebar-nav{display:flex;flex-direction:column;gap:.2rem}@media(max-width:899px){.sidebar-nav{flex-direction:row;flex-wrap:nowrap;overflow-x:auto;gap:.35rem;margin:0 -.25rem;padding:.35rem .25rem .15rem;scrollbar-width:thin;scrollbar-color:color-mix(in srgb,white 35%,transparent) transparent;-webkit-mask-image:linear-gradient(to right,transparent,black 12px,black calc(100% - 12px),transparent);mask-image:linear-gradient(to right,transparent,black 12px,black calc(100% - 12px),transparent)}.sidebar-nav::-webkit-scrollbar{height:5px}.sidebar-nav::-webkit-scrollbar-thumb{background:color-mix(in srgb,white 28%,transparent);border-radius:99px}}.nav-section{font-size:.65rem;font-weight:600;text-transform:uppercase;letter-spacing:.12em;color:var(--sidebar-muted);margin:.85rem 0 .35rem;padding:0 .35rem}@media(max-width:899px){.nav-section{display:none}}.nav-link{display:block;padding:.55rem .65rem;border-radius:var(--radius-sm);color:color-mix(in srgb,var(--sidebar-text) 92%,var(--brand-slate-950));text-decoration:none;font-size:.92rem;font-weight:500;border:1px solid transparent;transition:background-color .16s ease-out,color .16s ease-out,border-color .16s ease-out}@media(max-width:899px){.nav-link{white-space:nowrap;flex:0 0 auto;padding:.45rem .75rem;font-size:.88rem}}.nav-link:hover{background:var(--sidebar-hover);text-decoration:none;color:var(--sidebar-text)}.nav-link.active{background:var(--sidebar-active-bg);color:var(--sidebar-active-text);border-color:color-mix(in srgb,var(--brand-orange-400) 45%,transparent);box-shadow:inset 3px 0 0 0 var(--brand-orange-500)}@media(max-width:899px){.nav-link.active{box-shadow:inset 0 -3px 0 0 var(--brand-orange-500)}}.nav-link.disabled{color:var(--sidebar-muted);pointer-events:none;opacity:.55;font-style:italic}.sidebar-spacer{flex:1;min-height:.5rem;pointer-events:none}@media(max-width:899px){.sidebar-spacer{display:none}}.sidebar-footer{margin-top:.5rem;padding-top:.85rem;border-top:1px solid color-mix(in srgb,white 12%,transparent)}@media(max-width:899px){.sidebar-footer{display:flex;flex-direction:row;flex-wrap:wrap;align-items:center;gap:.5rem .75rem;padding-top:.7rem;margin-top:.15rem}.sidebar-user-username{flex:1 1 140px;margin-bottom:0;font-size:.72rem}.sidebar .btn.secondary{width:auto;flex:0 0 auto;padding-left:.85rem;padding-right:.85rem}}.sidebar-user-username{font-size:.78rem;color:var(--sidebar-muted);word-break:break-word;line-height:1.35;margin-bottom:.55rem}.layout>main{flex:1;padding:clamp(1rem,2.5vw,1.75rem);width:100%;margin:0 auto}.page-header{margin-bottom:1.35rem;padding-bottom:1rem;border-bottom:1px solid var(--border)}.page-header-eyebrow{font-size:.72rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);margin:0 0 .35rem}.page-header-lead{margin:.35rem 0 0;max-width:52ch;color:var(--muted);font-size:.98rem}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:clamp(1rem,2vw,1.35rem);margin-bottom:1rem;box-shadow:var(--shadow-sm)}.card h2:first-child,.card h3:first-child{margin-top:0}.stack{display:flex;flex-direction:column;gap:.75rem}.row{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center}.people-add-tabs,.people-tabs{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1rem}.people-add-tabs .btn.secondary.active,.people-tabs .btn.secondary.active{background:var(--brand-slate-700);border-color:var(--brand-slate-700);color:#fffaf8}.people-add-tabs .btn.secondary.active:hover:not(:disabled),.people-tabs .btn.secondary.active:hover:not(:disabled){background:var(--brand-slate-700);color:#fffaf8}.people-add-form{max-width:44rem}.people-filter-card{padding:.85rem}.people-list-filters{display:grid;grid-template-columns:repeat(4,minmax(9rem,1fr)) auto;gap:.65rem;align-items:end}.people-name-search{grid-column:1 / -1}.people-filter-reset{min-height:42px}.people-filter-note{margin:.6rem 0 0}.camper-photo-thumbnail-button{display:block;overflow:hidden;width:3rem;height:3rem;padding:0;cursor:pointer;border:1px solid var(--border);border-radius:50%;background:var(--surface-muted)}.camper-photo-thumbnail{display:block;width:100%;height:100%;object-fit:cover}.camper-photo-dialog{max-width:min(92vw,42rem);max-height:92vh}.camper-photo-full{display:block;width:100%;max-height:70vh;border-radius:var(--radius);object-fit:contain;background:var(--surface-muted)}@media(max-width:820px){.people-list-filters{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:560px){.people-list-filters{grid-template-columns:1fr}}.people-add-button,.people-back-button{display:inline-block;text-decoration:none}.person-edit-dialog{max-width:760px;max-height:92vh}.person-edit-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}.person-edit-grid textarea{min-height:5rem}@media(max-width:640px){.person-edit-grid{grid-template-columns:1fr}}.camper-price-label{justify-content:flex-start;gap:.4rem;margin-bottom:.35rem}.camper-price-label label{display:inline}.camper-price-info{position:relative}.camper-price-info-trigger{align-items:center;background:transparent;border:1px solid var(--border);border-radius:50%;cursor:pointer;display:inline-flex;font-size:.75rem;font-weight:700;height:1.25rem;justify-content:center;padding:0;width:1.25rem}.camper-price-popup{background:var(--surface);border:1px solid var(--border);border-radius:8px;box-shadow:0 8px 24px #0000002e;display:none;gap:.35rem;left:0;min-width:16rem;padding:.75rem;position:absolute;top:calc(100% + .35rem);z-index:10}.camper-price-info:hover .camper-price-popup,.camper-price-info:focus-within .camper-price-popup{display:grid}label{font-size:.82rem;font-weight:500;color:var(--muted)}textarea{font:inherit;padding:.55rem .7rem;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--surface);color:var(--text);transition:border-color .14s ease-out,box-shadow .14s ease-out}textarea:hover{border-color:var(--border-strong)}input:not([type]),input[type=email],input[type=password],input[type=text],input[type=date],input[type=datetime-local],input[type=number],select{width:100%;padding:.55rem .72rem;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--surface);color:var(--text);transition:border-color .14s ease-out,box-shadow .14s ease-out}input:hover,select:hover{border-color:var(--border-strong)}input:focus,select:focus,textarea:focus{border-color:color-mix(in srgb,var(--brand-slate-600) 55%,var(--border));box-shadow:0 0 0 3px var(--brand-orange-soft)}.btn{padding:.55rem 1.1rem;border-radius:var(--radius-sm);border:1px solid color-mix(in srgb,var(--brand-orange-700) 55%,transparent);background:linear-gradient(180deg,color-mix(in srgb,var(--brand-orange-500) 100%,white) 0%,var(--brand-orange-600) 100%);color:#fffaf8;font-weight:600;font-size:.92rem;box-shadow:0 1px color-mix(in srgb,white 22%,transparent) inset,0 1px 2px color-mix(in srgb,var(--brand-orange-700) 35%,transparent);transition:filter .14s ease-out,transform .14s ease-out,box-shadow .14s ease-out}.btn:hover:not(:disabled){filter:brightness(1.04);transform:translateY(-.5px)}.btn:active:not(:disabled){transform:translateY(0);box-shadow:0 1px color-mix(in srgb,black 12%,transparent) inset}.btn.secondary{background:transparent;border-color:var(--border-strong);color:var(--text);box-shadow:none}.btn.secondary:hover:not(:disabled){background:var(--surface-muted);filter:none}.sidebar .btn.secondary{border-color:color-mix(in srgb,white 28%,transparent);color:var(--sidebar-text);width:100%}.sidebar .btn.secondary:hover:not(:disabled){background:var(--sidebar-hover);color:var(--sidebar-text)}.btn.danger{background:linear-gradient(180deg,#d64a4a 0%,var(--danger) 100%);border-color:color-mix(in srgb,var(--danger) 60%,#4a1515);box-shadow:0 1px color-mix(in srgb,white 18%,transparent) inset,0 1px 2px color-mix(in srgb,#6b1f1f 40%,transparent)}.btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.table-wrap{overflow-x:auto;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--surface)}table{width:100%;border-collapse:collapse;font-size:.9rem}th,td{text-align:left;padding:.55rem .65rem;border-bottom:1px solid var(--border)}th{font-size:.72rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);background:var(--surface-muted)}tr:last-child td{border-bottom:none}tbody tr:hover td{background:color-mix(in srgb,var(--brand-slate-600) 4%,white)}.muted{color:var(--muted);font-size:.88rem}.error{color:var(--danger);font-size:.9rem;font-weight:500}.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}.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:1.25rem;background:radial-gradient(ellipse 90% 70% at 10% -20%,color-mix(in srgb,var(--brand-slate-600) 18%,transparent),transparent 55%),radial-gradient(ellipse 70% 50% at 100% 100%,color-mix(in srgb,var(--brand-orange-500) 12%,transparent),transparent 50%),var(--canvas)}.login-card{width:100%;max-width:400px;border-radius:var(--radius-lg);box-shadow:var(--shadow-md)}.login-brand{display:flex;flex-direction:column;align-items:center;text-align:center;gap:.65rem;margin-bottom:.25rem}.login-logo{width:min(280px,100%);max-height:64px;object-fit:contain}.login-card h1{font-size:1.35rem;margin:0}.login-card .muted{text-align:center;margin-top:.15rem}.app-loading-shell{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:2rem;background:var(--canvas)}.app-loading-text{margin:0;font-size:.95rem;font-weight:500;color:var(--muted);letter-spacing:.02em}.app-loading-text .app-loading-dots{display:inline-block;min-width:1.25em;animation:loading-dots-fade 1s ease-in-out infinite}@keyframes loading-dots-fade{0%,to{opacity:.25}50%{opacity:1}}@media(prefers-reduced-motion:reduce){.app-loading-text .app-loading-dots{animation:none;opacity:1}}.assign-bench{display:flex;flex-wrap:wrap;gap:.75rem;align-items:flex-start}.assign-column{flex:1 1 200px;min-width:160px;max-width:280px;padding:.65rem;border:1px dashed var(--border-strong);border-radius:var(--radius-sm);background:var(--surface-muted)}.assign-person-row{display:flex;flex-direction:column;gap:.25rem;margin-top:.5rem}.assign-person{cursor:grab;padding:.25rem 0}.assign-move-select{width:100%;max-width:100%;margin-top:.15rem}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;display:flex;align-items:center;justify-content:center;padding:1rem;background:color-mix(in srgb,var(--brand-slate-950) 58%,transparent);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.modal-card{position:relative;z-index:1;width:100%;max-width:420px;max-height:min(90vh,520px);overflow:auto;margin:0;padding:clamp(1.25rem,3vw,1.65rem);border-radius:var(--radius-lg);border:1px solid var(--border-strong);background-color:var(--surface);box-shadow:var(--shadow-md),0 0 0 1px color-mix(in srgb,var(--brand-slate-950) 6%,transparent);color:var(--text)}.check-in-toolbar{margin-bottom:1rem}.check-in-summary-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(10.5rem,1fr));gap:.75rem;margin-bottom:1.25rem}.check-in-stat{padding:.85rem 1rem;border-radius:var(--radius);border:1px solid var(--border);background:var(--surface)}.check-in-stat-warn{border-color:color-mix(in srgb,var(--danger) 35%,var(--border));background:color-mix(in srgb,var(--danger) 6%,var(--surface))}.check-in-stat-value{display:block;font-family:var(--font-display);font-size:1.35rem;font-weight:600;line-height:1.2}.check-in-stat-label{font-size:.8rem;color:var(--muted)}.random-camper-card{margin-bottom:1.25rem}.random-camper-header{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:.85rem;margin-bottom:1rem}.random-camper-title{margin:0;font-size:1.25rem}.random-camper-counts{display:grid;grid-template-columns:repeat(auto-fit,minmax(10rem,1fr));gap:.75rem;margin-bottom:1rem}.random-camper-counts>div{padding:.75rem .85rem;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-muted)}.random-camper-controls{display:grid;grid-template-columns:repeat(2,minmax(8rem,12rem)) auto;gap:.75rem;align-items:end}.random-camper-draw-button{min-height:42px}.random-camper-results{display:grid;grid-template-columns:repeat(auto-fit,minmax(14rem,1fr));gap:1rem;margin-top:1rem}.random-camper-results h3{margin:0 0 .35rem;font-size:1rem}.random-camper-results ol{margin:0;padding-left:1.35rem}.random-camper-results li+li{margin-top:.35rem}.random-camper-empty{margin:.85rem 0 0}@media(max-width:660px){.random-camper-controls{grid-template-columns:1fr}}.check-in-tabs{display:flex;flex-wrap:wrap;gap:.35rem;margin-bottom:.75rem}.check-in-tab{border:1px solid var(--border);background:var(--surface-muted);color:var(--text);padding:.45rem .9rem;border-radius:var(--radius-sm);font:inherit;cursor:pointer}.check-in-tab.active{border-color:var(--brand-slate-600);background:var(--surface);box-shadow:var(--shadow-sm)}.check-in-search-row{display:flex;flex-wrap:wrap;gap:.5rem;align-items:flex-end}.check-in-search-row .field-control{flex:1 1 12rem;min-width:0}.check-in-result-list{list-style:none;margin:.75rem 0 0;padding:0}.check-in-result-list li+li{margin-top:.35rem}.check-in-result-btn{width:100%;text-align:left;padding:.55rem .65rem;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--surface-muted);font:inherit;cursor:pointer}.check-in-result-btn:hover{border-color:var(--border-strong)}.check-in-detail{margin-top:1rem}.check-in-detail-title{font-family:var(--font-display);margin:0 0 .75rem;font-size:1.35rem}.check-in-dl{margin:0;display:grid;gap:.65rem}.check-in-dl dt{font-size:.75rem;text-transform:uppercase;letter-spacing:.04em;color:var(--muted)}.check-in-dl dd{margin:.15rem 0 0}.check-in-alert{margin-top:.85rem;padding:.75rem;border-radius:var(--radius-sm);border:1px solid color-mix(in srgb,var(--accent) 40%,var(--border));background:color-mix(in srgb,var(--accent) 8%,var(--surface))}.check-in-alert p{margin:.25rem 0 0}.check-in-alert p:first-child{margin-top:0}.check-in-cash-fieldset{margin-top:1rem;border:1px dashed var(--border-strong);border-radius:var(--radius-sm);padding:.65rem .85rem}.check-inline{display:flex;align-items:flex-start;gap:.45rem;margin-top:.45rem;cursor:pointer}.payment-checkbox-button{align-items:center;width:100%;min-height:4rem;gap:.8rem;padding:.9rem 1rem;border:2px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--surface);color:var(--text);font-size:1rem;font-weight:700;line-height:1.35;box-shadow:var(--shadow-sm);transition:background-color .14s ease-out,border-color .14s ease-out,box-shadow .14s ease-out,transform .14s ease-out}.payment-checkbox-button:hover{border-color:var(--brand-orange-500);background:var(--brand-orange-soft);transform:translateY(-1px)}.payment-checkbox-button:has(input:checked){border-color:var(--success);background:color-mix(in srgb,var(--success) 12%,var(--surface));box-shadow:0 0 0 2px color-mix(in srgb,var(--success) 20%,transparent)}.payment-checkbox-button:has(input:focus-visible){outline:3px solid color-mix(in srgb,var(--accent) 35%,transparent);outline-offset:2px}.payment-checkbox-button input[type=checkbox]{flex:0 0 auto;width:1.5rem;height:1.5rem;margin:0;accent-color:var(--success)}.check-in-detail-actions{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1.1rem;justify-content:flex-end}.check-in-done-modal{max-width:28rem}.check-in-modal-title{font-family:var(--font-display);margin:0 0 .75rem;font-size:1.35rem}.check-in-modal-lead{margin:0 0 .65rem;line-height:1.5}.check-in-modal-dorm{margin:0 0 .5rem;font-size:1.05rem}.check-in-family-dorm-list{display:grid;gap:.75rem;margin:0 0 1rem;padding:0;list-style:none}.check-in-family-dorm-list li{display:grid;gap:.2rem;padding:.75rem;border:1px solid var(--border);border-radius:.5rem}.check-in-modal-hint{margin:0 0 1rem;font-size:.9rem}.check-in-modal-actions{display:flex;justify-content:flex-end}.check-in-kiosk-card h2{margin:0 0 .5rem;font-size:1.2rem}.check-in-kiosk-lead{margin:0 0 1rem}.check-in-kiosk-actions{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:.85rem}.check-in-kiosk-body{margin-top:.75rem;padding-top:1rem;border-top:1px solid var(--border)}.check-in-kiosk-url-input{font-family:ui-monospace,monospace;font-size:.85rem}.check-in-kiosk-qr-preview{margin-top:1rem}.check-in-kiosk-canvas{display:block;margin:0 auto}.self-check-in-page{min-height:100vh;padding:clamp(1rem,3vw,2rem);display:flex;align-items:flex-start;justify-content:center}.self-check-in-card{width:min(34rem,100%)}.self-check-in-header{margin-bottom:.85rem}.self-check-in-title{margin:.15rem 0 0}.self-check-in-sub{margin:.15rem 0 0;font-size:.95rem}.self-check-in-lead{margin:0 0 1rem}.self-check-in-search .field-label{margin-bottom:.35rem}.self-check-in-results li{list-style:none}.self-check-in-row{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.75rem}.self-check-in-select-row{justify-content:flex-start;padding:.55rem .65rem;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--surface-muted);color:var(--text)}.self-check-in-select-row input{flex:0 0 auto}.self-check-in-reveal-row{width:100%;cursor:pointer;font:inherit;text-align:left}.self-check-in-reveal-row:hover:not(:disabled){border-color:var(--border-strong);background:var(--surface)}.self-check-in-pinned-row{border-color:color-mix(in srgb,var(--success) 38%,var(--border));background:color-mix(in srgb,var(--success) 7%,var(--surface))}.self-check-in-name{font-weight:600}.self-check-in-badge{display:inline-block;margin-top:.2rem;font-size:.82rem;color:var(--muted);margin-right:.2rem}.self-check-in-badge-done{color:var(--success);font-weight:600}.self-check-in-success-message{font-size:1.08rem;margin:0 0 .75rem}.self-check-in-dorm-list{display:grid;gap:.65rem;margin-bottom:.85rem}.self-check-in-dorm{margin:0;padding:.85rem;border-radius:var(--radius);border:1px solid var(--border);background:var(--surface-muted)}.self-check-in-camper-name{display:block;margin-bottom:.5rem;font-weight:700}.self-check-in-dorm-label{display:block;font-size:.78rem;text-transform:uppercase;letter-spacing:.05em;color:var(--muted)}.self-check-in-dorm-value{display:block;margin-top:.35rem;font-size:1.25rem;font-family:var(--font-display)}.self-check-in-hint{margin:0 0 1rem;font-size:.9rem}.self-check-in-payment{display:grid;gap:.85rem;margin-top:1rem;padding-top:1rem;border-top:1px solid var(--border)}.self-check-in-payment-title{margin:0;font-size:1.05rem}.self-check-in-manual-pay{margin-top:.25rem}.kiosk-print-root{position:fixed;left:-10000px;top:0}.kiosk-print-sheet{max-width:28rem;margin:0 auto}.kiosk-print-logo{display:block;width:min(24rem,100%);height:auto;margin:0 auto 1.5rem}.kiosk-print-title{margin:0;font-size:2.5rem}.kiosk-print-lead{margin:1rem 0 1.25rem;font-size:1rem;line-height:1.5}.kiosk-print-qr-img{display:block;width:14rem;height:auto;margin:0 auto}@media print{body *{visibility:hidden}.kiosk-print-root,.kiosk-print-root *{visibility:visible}.kiosk-print-root{position:absolute;left:0;right:0;top:0;box-sizing:border-box;width:auto;padding:2rem 1rem}.kiosk-print-qr-img{width:min(76vw,18cm);max-height:none;height:auto}.kiosk-print-sheet{width:100%;max-width:none;text-align:center}.kiosk-print-lead{max-width:28rem;margin-left:auto;margin-right:auto}}.reports-toolbar{display:flex;flex-direction:column;gap:.85rem}.reports-tab-row{display:flex;flex-wrap:wrap;gap:.5rem}.reports-tab-row .btn.secondary.active{border-color:var(--brand-orange-500);color:var(--brand-orange-700);background:var(--brand-orange-soft)}.reports-card-title{margin:0 0 .5rem;font-size:1.2rem}.reports-filters{display:grid;gap:.65rem;margin-bottom:.5rem}@media(min-width:640px){.reports-filters{grid-template-columns:repeat(2,minmax(0,1fr))}}.report-print-header{margin-bottom:1rem}.report-print-title{margin:0 0 .35rem;font-size:1.35rem}.report-print-meta{margin:.15rem 0;font-size:.95rem;line-height:1.45}.report-print-muted{color:var(--muted)}.report-table-wrap{overflow-x:auto;margin:.5rem 0 1rem}.report-table{width:100%;border-collapse:collapse;font-size:.9rem}.table-scroll{width:100%;max-width:100%;padding-bottom:2px;overflow-x:auto;overscroll-behavior-inline:contain}.table-scroll>.report-table{min-width:100%}.report-page-title-row,.dorm-print-page-title-row{display:none}.report-table th,.report-table td{border:1px solid var(--border-strong);padding:.45rem .55rem;text-align:left;vertical-align:top}.report-table tbody tr:last-child td{border-bottom:1px solid var(--border-strong)}.report-table th{background:var(--surface-muted);font-weight:600}.dorm-check-in-summary-table{border:1px solid var(--border-strong);border-collapse:separate;border-spacing:0}.dorm-check-in-summary-table th,.dorm-check-in-summary-table td{border-width:0 1px 1px 0}.dorm-check-in-summary-table th:last-child,.dorm-check-in-summary-table td:last-child{border-right-width:0}.dorm-check-in-summary-table tbody tr:last-child td{border-bottom-width:0}.dorm-pizza-report-button{margin-top:.35rem}.pizza-report-modal{width:min(72rem,calc(100vw - 1.5rem));max-width:min(72rem,calc(100vw - 1.5rem));max-height:calc(100dvh - 1.5rem);padding-top:3.6rem}.pizza-report-intro{margin-top:0}.pizza-report-backdrop{z-index:1100;align-items:flex-start;overflow-y:auto}.pizza-report-modal .dorm-dialog-close{position:absolute;top:.8rem;right:.8rem;margin:0}.pizza-report-modal .reports-card-title{padding-right:3rem}.pizza-report-totals{display:grid;grid-template-columns:repeat(auto-fit,minmax(8rem,1fr));gap:.75rem;margin:1rem 0}.pizza-report-totals>div{padding:.75rem .85rem;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-muted)}.pizza-report-table-wrap{border:1px solid var(--border-strong);border-radius:var(--radius-sm);margin-bottom:0;overflow:auto}.pizza-report-table{border-collapse:separate;border-spacing:0}.pizza-report-table th,.pizza-report-table td{border-width:0 1px 1px 0;white-space:nowrap}.pizza-report-table th:last-child,.pizza-report-table td:last-child{border-right-width:0}.pizza-report-table tfoot tr:last-child th,.pizza-report-table tfoot tr:last-child td{border-bottom-width:0}.pizza-report-table tfoot th,.pizza-report-table tfoot td{font-weight:700;background:var(--surface-muted)}.pizza-report-dorm-meta{display:block;margin-top:.15rem;color:var(--muted);font-size:.78rem;font-weight:500;text-transform:none}.pizza-factor-field{display:block;width:5.5rem}.pizza-factor-field input{min-width:0;padding-inline:.45rem}.report-cell-text{max-width:14rem;white-space:pre-wrap;word-break:break-word}.report-summary-block{margin-top:1rem;padding-top:.75rem;border-top:1px solid var(--border)}.report-summary-heading{margin:0 0 .5rem;font-size:1rem}.report-summary-list{margin:0;padding-left:1.2rem}.deferred-reports-list{margin:.5rem 0 0;padding-left:1.2rem}@media print{.print-hidden{display:none!important}.layout>.sidebar{display:none!important}#admin-main{padding:.5rem .75rem!important;max-width:none!important;background:#fff!important}#admin-main:has(.kiosk-print-root){padding:0!important}body{background:#fff!important}.report-print-document{border:none!important;box-shadow:none!important;padding:0!important}.report-table thead{display:table-header-group}.report-page-title-row{display:table-row}.report-page-title-row th{background:#fff!important;border:0!important;padding:0 0 .35rem!important;color:#111!important;font-size:1.15rem;text-align:left}.report-table th{-webkit-print-color-adjust:exact;print-color-adjust:exact;background:#eee!important}.report-table th,.report-table td{border-color:#222!important}.report-cell-text{max-width:none}}.dorm-page-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1.5rem;padding:.25rem 0 .5rem}.dorm-page-header h1{margin:.15rem 0 .3rem;letter-spacing:-.035em}.dorm-page-intro{margin:0;max-width:48rem}.dorm-eyebrow{margin:0;color:var(--accent);font-size:.72rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase}.dorm-add-button{flex:0 0 auto}.dorm-toolbar{display:grid;grid-template-columns:minmax(14rem,1fr) minmax(10rem,auto) minmax(13rem,auto) auto;gap:.65rem;align-items:end;padding:.75rem;border:1px solid var(--border);border-radius:var(--radius);background:color-mix(in srgb,var(--surface) 92%,var(--accent) 8%)}.dorm-search input,.dorm-filter-field select{width:100%}.dorm-year-field{display:grid;gap:.2rem;font-size:.75rem;color:var(--text-muted)}.dorm-card-header,.dorm-capacity{display:flex;align-items:flex-start;justify-content:space-between;gap:.6rem}.dorm-card-header{position:sticky;top:-.8rem;z-index:3;margin:-.8rem -.8rem 0;padding:.85rem .8rem .75rem;border-bottom:1px solid color-mix(in srgb,var(--dorm-color, var(--accent)) 30%,var(--border));background:linear-gradient(135deg,color-mix(in srgb,var(--dorm-color, var(--accent)) 13%,var(--surface)),color-mix(in srgb,var(--dorm-color, var(--accent)) 5%,var(--surface)))}.dorm-card-heading{min-width:0}.dorm-card-title{display:block;overflow:hidden;color:var(--brand-slate-950);font-family:var(--font-display);font-size:1.05rem;font-weight:650;line-height:1.2;text-overflow:ellipsis;white-space:nowrap}.dorm-card-meta{display:flex;flex-wrap:wrap;align-items:center;gap:.35rem;margin-top:.4rem;color:var(--muted);font-size:.68rem;font-weight:600;text-transform:capitalize}.dorm-type-badge{display:inline-flex;align-items:center;min-height:1.35rem;padding:.18rem .48rem;border-radius:999px;background:var(--dorm-color-strong, var(--accent));color:#fff;font-size:.65rem;font-weight:800;letter-spacing:.02em;line-height:1;text-transform:uppercase}.dorm-capacity{align-items:center;margin:.7rem 0 .45rem;color:var(--muted);font-size:.72rem}.dorm-capacity span,.dorm-capacity strong{padding:.22rem .46rem;border:1px solid color-mix(in srgb,var(--dorm-color, var(--accent)) 20%,var(--border));border-radius:999px;background:color-mix(in srgb,var(--dorm-color, var(--accent)) 7%,var(--surface))}.dorm-capacity strong{color:var(--text)}.dorm-card-menu-wrap{position:relative}.dorm-menu-button{min-width:2rem;padding:.2rem .35rem;border:0;border-radius:.4rem;background:transparent;color:var(--text);font-weight:800;letter-spacing:.08em;cursor:pointer}.dorm-menu-button:hover,.dorm-menu-button:focus-visible{background:var(--surface-muted)}.dorm-card-menu{position:absolute;z-index:20;top:calc(100% + .2rem);right:0;min-width:9.5rem;padding:.3rem;border:1px solid var(--border-strong);border-radius:.55rem;background:var(--surface);box-shadow:var(--shadow-md)}.dorm-card-menu button{width:100%;padding:.5rem .6rem;border:0;border-radius:.35rem;background:transparent;color:var(--text);text-align:left;cursor:pointer}.dorm-card-menu button:hover,.dorm-card-menu button:focus-visible{background:var(--surface-muted)}.dorm-dialog-close{position:sticky;z-index:5;top:0;align-self:flex-end;width:2.25rem;height:2.25rem;margin-bottom:-2.25rem;border:1px solid var(--border);border-radius:999px;background:var(--surface);color:var(--text);font-size:1.25rem;cursor:pointer}.assign-column{box-sizing:border-box;width:17rem;min-width:0;max-width:100%;height:22rem;overflow-y:auto;padding:.8rem;border:1px solid var(--border);border-radius:.9rem;background:var(--surface);box-shadow:0 3px 12px color-mix(in srgb,var(--brand-slate-950) 8%,transparent)}.assign-column:has(.dorm-card-header){border-top:4px solid var(--dorm-color, var(--accent))}.dorm-card{background:linear-gradient(180deg,color-mix(in srgb,var(--dorm-color, var(--accent)) 5%,var(--surface)) 0%,var(--surface) 44%);border-color:color-mix(in srgb,var(--dorm-color, var(--accent)) 28%,var(--border));box-shadow:0 5px 16px color-mix(in srgb,var(--dorm-color, var(--brand-slate-950)) 12%,transparent);transition:border-color .16s ease,box-shadow .16s ease,transform .16s ease}.dorm-card:hover{border-color:color-mix(in srgb,var(--dorm-color) 52%,var(--border));box-shadow:0 8px 22px color-mix(in srgb,var(--dorm-color) 17%,transparent);transform:translateY(-1px)}.dorm-card--boys{--dorm-color: #3b82c4;--dorm-color-strong: #28659b}.dorm-card--girls{--dorm-color: #d25f91;--dorm-color-strong: #a63f6c}.dorm-card--worker{--dorm-color: #3b9668;--dorm-color-strong: #287047}.assign-person-row{padding:.5rem .55rem;border:1px solid color-mix(in srgb,var(--dorm-color, var(--brand-slate-600)) 13%,var(--border));border-radius:.62rem;background:color-mix(in srgb,var(--dorm-color, var(--brand-slate-600)) 3%,var(--surface));box-shadow:0 1px 3px color-mix(in srgb,var(--brand-slate-950) 5%,transparent)}.assign-person{padding:0;font-size:.83rem;font-weight:650}.assign-move-select{font-size:.75rem;padding-block:.3rem}.dorm-settings-dialog{width:min(100%,34rem);max-width:34rem}.dorm-roster-panel{width:min(100%,58rem);max-width:58rem}.assign-bench{display:grid;grid-template-columns:minmax(14rem,18rem) minmax(0,1fr);gap:1rem;align-items:stretch}.unassigned-rail{display:flex;flex-direction:column;gap:.75rem;min-width:0;max-height:46rem;overflow-y:auto;padding-right:.25rem}.unassigned-rail .assign-column{width:100%;height:auto;min-height:13rem;max-width:none;flex:1 0 auto;border-style:solid;background:color-mix(in srgb,var(--surface-muted) 88%,var(--accent) 12%)}.dorm-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(17rem,100%),17rem));gap:.85rem;align-content:start}.dorm-empty{margin:.65rem 0;color:var(--text-muted);font-size:.8rem}.dorm-grid-empty{grid-column:1 / -1;padding:2rem;border:1px dashed var(--border-strong);border-radius:var(--radius);text-align:center}.dorm-menu-button,.dorm-card-menu button,.dorm-dialog-close,.dorm-toolbar .btn{min-height:44px;min-width:44px}@media(max-width:980px){.dorm-toolbar{grid-template-columns:minmax(0,1fr) minmax(10rem,auto)}.dorm-year-field{grid-column:1 / 2}}@media(max-width:720px){.dorm-page-header{align-items:stretch;flex-direction:column}.dorm-add-button{width:100%}.assign-column{width:100%;height:20rem}.dorm-toolbar{grid-template-columns:1fr}.dorm-search,.dorm-filter-field,.dorm-year-field{grid-column:1}.assign-bench{grid-template-columns:1fr}.unassigned-rail{max-height:24rem}.dorm-grid{grid-template-columns:1fr}}@media print{.dorm-page-header,.dorm-toolbar{display:none!important}body .modal-backdrop:has(.dorm-print-root),body .dorm-print-root,body .dorm-print-root *{visibility:visible}.modal-backdrop:has(.dorm-print-root){position:static!important;inset:auto!important;display:block;width:auto;min-height:0;padding:0;background:transparent;-webkit-backdrop-filter:none;backdrop-filter:none}.dorm-print-root{position:static;display:block;width:100%;max-width:none;max-height:none;overflow:visible;margin:0;padding:0;border:0;box-shadow:none}.dorm-print-root table thead{display:table-header-group}.dorm-print-page-title-row{display:table-row}.dorm-print-page-title-row th{background:#fff!important;border:0!important;padding:0 0 .35rem!important;color:#111!important;font-size:1.15rem;text-align:left}.dorm-print-root .dorm-dialog-close,.dorm-print-root>label,.dorm-print-root>button{display:none!important}}.dorm-toolbar{grid-template-columns:minmax(13rem,1fr) auto}.dorm-assignment-board{padding:1rem;overflow:hidden}.dorm-assignment-board .assign-bench{grid-template-columns:minmax(16rem,19rem) minmax(0,1fr);min-height:34rem}.assign-panel{min-width:0;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface)}.assign-panel-header{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.assign-panel-header h3,.assign-panel-header .dorm-eyebrow{margin:0}.assign-count{display:grid;min-width:2rem;height:2rem;place-items:center;border-radius:999px;background:var(--surface-muted);color:var(--text-muted);font-size:.78rem;font-weight:800}.dorm-assignment-board .unassigned-rail{max-height:46rem;padding:.9rem;overflow:hidden}.assign-panel-search input,.assign-panel-filter select{width:100%}.assign-panel-filter{display:grid;gap:.2rem;color:var(--text-muted);font-size:.72rem}.people-filter-grid{display:grid;gap:.45rem}.unassigned-people-list{min-height:10rem;overflow-y:auto;padding-right:.2rem}.dorm-grid-panel{padding:.9rem}.dorm-panel-header{align-items:flex-end;margin-bottom:.9rem}.dorm-panel-controls{display:grid;grid-template-columns:minmax(11rem,18rem) minmax(9rem,11rem);gap:.55rem}.dorm-occupant-list{padding-bottom:.25rem}.assign-person-name{line-height:1.25}.assign-person-meta{display:flex;flex-wrap:wrap;align-items:center;gap:.35rem;margin-top:.2rem;color:var(--text-muted);font-size:.7rem;font-weight:500}.person-kind{padding:.12rem .38rem;border-radius:999px;background:color-mix(in srgb,var(--accent) 12%,var(--surface-muted));color:var(--text);font-size:.64rem;font-weight:750;letter-spacing:.02em}.person-kind-worker{background:color-mix(in srgb,#d8a719 18%,var(--surface-muted))}.person-kind-dorm_leader{background:color-mix(in srgb,#2f8f70 18%,var(--surface-muted))}.assign-move-label{font-size:.7rem}@media(max-width:900px){.dorm-assignment-board .assign-bench{grid-template-columns:1fr}.dorm-assignment-board .unassigned-rail{max-height:28rem}}@media(max-width:620px){.dorm-panel-header{align-items:stretch;flex-direction:column}.dorm-panel-controls{grid-template-columns:1fr;width:100%}}.registration-page{display:grid;min-height:100vh;place-items:center;padding:clamp(1rem,4vw,3rem)}.registration-shell{width:min(100%,52rem);padding:clamp(1.25rem,4vw,3rem);border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow-md)}.registration-logo{display:block;width:min(10rem,42vw);height:auto;margin:0 auto 1rem}.registration-heading{text-align:center}.registration-heading>p{margin:.3rem 0;color:var(--muted)}.registration-eyebrow{color:var(--accent)!important;font-size:.78rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.registration-header-copy{margin-top:1.5rem;padding:1rem;border-left:4px solid var(--brand-slate-600);border-radius:var(--radius-sm);background:var(--surface-muted);white-space:pre-wrap}.registration-status{min-height:10rem;margin-top:1.25rem;padding:clamp(1rem,3vw,1.5rem);border:1px solid var(--border);border-radius:var(--radius);text-align:center}.registration-status h2{margin-top:0}.registration-countdown{margin:1rem 0 0;color:var(--brand-slate-800);font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:clamp(1.35rem,5vw,2.35rem);font-weight:800;font-variant-numeric:tabular-nums}.registration-switch{margin-top:1.25rem;text-align:center}.registration-switch a{display:inline-block;min-height:44px;padding:.65rem}.family-registration-form,.worker-registration-form,.leader-registration-form{margin-top:1rem;text-align:left}.registration-guidance{margin:0;padding:.85rem 1rem;border-left:4px solid var(--brand-orange-500);background:var(--surface-muted);color:var(--brand-slate-800);line-height:1.5}.worker-confirmation-next{margin-top:1rem;padding-top:.75rem;border-top:1px solid var(--border)}.worker-confirmation-next h3{margin:0 0 .5rem}.worker-confirmation-next p{margin:.5rem 0}.worker-review-queue{padding:1rem 0;border-block:1px solid var(--border)}.worker-review-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:.75rem}.worker-review-heading h3,.worker-review-heading p{margin:0}.worker-review-heading>strong{display:grid;min-width:2rem;height:2rem;place-items:center;border-radius:999px;background:var(--brand-orange-soft)}.worker-review-detail,.worker-review-match,.worker-review-match span{display:block}.worker-review-detail,.worker-review-match span{margin-top:.15rem;color:var(--muted);font-size:.78rem}.worker-review-match+.worker-review-match{margin-top:.65rem}.worker-review-actions{display:grid;gap:.4rem;min-width:11rem}.registration-type-fieldset{max-width:48rem;margin-inline:auto}.registration-type-intro{margin:0;color:var(--muted)}.registration-type-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.registration-type-option{display:grid;min-height:10rem;align-content:center;gap:.6rem;padding:1.25rem;border:2px solid var(--border);border-radius:var(--radius);background:var(--surface);color:var(--brand-slate-950);text-align:left;cursor:pointer}.registration-type-option:hover,.registration-type-option:focus-visible{border-color:var(--brand-orange-500);background:var(--brand-orange-soft);outline:none}.registration-type-option strong{font-family:var(--font-display);font-size:1.05rem}.registration-type-option span{color:var(--muted);line-height:1.5}.registration-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.5rem;margin:0 0 1.25rem;padding:0;list-style:none}.registration-steps li{display:flex;align-items:center;gap:.4rem;padding:.55rem;border-radius:var(--radius-sm);color:var(--muted);background:var(--surface-muted);font-size:.78rem;font-weight:700}.registration-steps li[aria-current=step]{color:var(--brand-slate-950);background:var(--brand-orange-soft)}.registration-steps span{display:grid;width:1.6rem;height:1.6rem;flex:0 0 auto;place-items:center;border-radius:999px;background:var(--surface)}.registration-fieldset{position:relative;display:grid;min-width:0;gap:1rem;margin:0 0 1rem;padding:clamp(1rem,3vw,1.4rem);border:1px solid var(--border);border-radius:var(--radius)}.registration-fieldset legend{padding:0 .4rem;font-family:var(--font-display);font-size:1.15rem;font-weight:700}.registration-fieldset label{display:grid;gap:.3rem;color:var(--brand-slate-800);font-size:.82rem;font-weight:700}.registration-fieldset input,.registration-fieldset select,.registration-fieldset textarea{width:100%;min-height:44px;padding:.6rem .7rem;border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:#fff;color:var(--text);font:inherit}.registration-fieldset textarea{resize:vertical}.registration-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.85rem}.registration-grid-three{grid-template-columns:repeat(3,minmax(0,1fr))}.registration-grid .span-two{grid-column:span 2}.registration-checkbox{display:flex!important;grid-template-columns:none;align-items:flex-start;gap:.65rem!important;font-weight:600!important;line-height:1.45}.registration-checkbox input{width:1.2rem;min-height:1.2rem;margin-top:.12rem;flex:0 0 auto}.church-combobox{position:relative;display:grid;gap:.3rem}.church-suggestions{position:absolute;z-index:15;top:100%;right:0;left:0;max-height:15rem;margin:.2rem 0 0;padding:.25rem;overflow-y:auto;border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:#fff;box-shadow:var(--shadow-md);list-style:none}.church-suggestions li{min-height:44px;padding:.65rem;border-radius:var(--radius-sm);cursor:pointer}.church-suggestions li[aria-selected=true],.church-suggestions li:hover{background:var(--brand-orange-soft)}.cleanup-candidate,.payment-history{display:grid;gap:.3rem;margin:.6rem 0;padding:.8rem;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-muted)}.inline-actions,.payment-form{display:flex;flex-wrap:wrap;align-items:end;gap:.65rem;margin:.8rem 0}.payment-form label{display:grid;gap:.25rem}.payment-form textarea{min-height:44px}.church-payment-modal{max-width:min(1200px,calc(100vw - 2rem));max-height:calc(100vh - 2rem)}.church-payment-modal-header{justify-content:space-between;align-items:flex-start}.church-payment-modal-header h2{margin:0}.church-payment-modal-header p{margin-bottom:0}.report-table td small,.payment-history span{display:block;color:var(--muted)}.registration-actions{display:flex;justify-content:flex-end;gap:.65rem;margin-top:1rem}.camper-entry{margin-top:1rem}.camper-remove{position:absolute;top:.55rem;right:.75rem}.add-camper{width:100%}.camper-photo-field{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:1rem;align-items:center;margin:1rem 0;padding:.9rem;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-muted)}.camper-photo-field p{margin-top:.25rem}.camper-photo-picker{display:block;margin-top:.65rem}.camper-photo-picker input{display:block;max-width:100%;margin-top:.35rem}.camper-photo-preview{display:grid;gap:.5rem;justify-items:center}.camper-photo-preview img{width:8rem;height:8rem;border:1px solid var(--border);border-radius:var(--radius);object-fit:cover}.agreement-copy{padding:1rem;border-left:4px solid var(--brand-orange-500);background:var(--surface-muted);white-space:pre-wrap}.agreement-copy p:first-child{margin-top:0}.agreement-copy p:last-child{margin-bottom:0}.registration-fine-print{margin:0;color:var(--muted);font-size:.8rem}.registration-success{padding:1rem;border:1px solid color-mix(in srgb,var(--success) 45%,var(--border));border-radius:var(--radius);background:color-mix(in srgb,var(--success) 8%,var(--surface));text-align:left}@media(max-width:720px){.registration-type-options,.registration-grid,.registration-grid-three{grid-template-columns:1fr}.registration-grid .span-two{grid-column:auto}.camper-photo-field,.registration-steps{grid-template-columns:1fr}.registration-actions{align-items:stretch;flex-direction:column-reverse}.registration-actions .btn{width:100%}}.configuration-fieldset{min-width:0;padding:1rem;border:1px solid var(--border);border-radius:var(--radius)}.configuration-fieldset legend{padding:0 .4rem;font-weight:800}.configuration-fieldset textarea{width:100%;resize:vertical}.configuration-toggle{align-items:center;gap:.5rem}.configuration-time-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}.merchandise-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem}.merchandise-card{display:grid;gap:.65rem;padding:1rem;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-muted, #f8fafc)}.merchandise-card h3,.merchandise-card p{margin:0}.registration-receipt{overflow:hidden;border:1px solid var(--border);border-radius:var(--radius);background:#fff}.registration-receipt h3{margin:0;padding:1rem;border-bottom:1px solid var(--border)}.receipt-lines,.receipt-totals{display:grid;gap:0;margin:0}.receipt-line,.receipt-totals>div{display:flex;justify-content:space-between;gap:1rem;padding:.7rem 1rem;border-bottom:1px solid var(--border)}.receipt-line-discount,.receipt-discount{color:#166534}.receipt-totals dt,.receipt-totals dd{margin:0}.receipt-grand-total{font-size:1.1rem;font-weight:800}.registration-total-due{position:sticky;bottom:.75rem;z-index:2;display:flex;justify-content:space-between;gap:1rem;padding:1rem 1.25rem;border:2px solid #1d4ed8;border-radius:var(--radius);background:#eff6ff;color:#1e3a8a;box-shadow:0 6px 20px #0f172a2e;font-size:1.2rem}.payment-choice{display:grid;gap:.8rem}.registration-confirmation-message,.registration-notice{padding:1rem;border-radius:var(--radius);background:#ecfdf5;border:1px solid #86efac}.registration-confirmation-message h3,.registration-confirmation-message p{margin:0 0 .4rem}.cash-due{background:#fff7ed;border-color:#fdba74}@media(max-width:620px){.registration-page{align-items:start;padding:0}.registration-shell{min-height:100vh;border:0;border-radius:0;box-shadow:none}.configuration-time-grid{grid-template-columns:1fr}}.consent-print-root{display:grid;gap:1rem;max-width:58rem;margin:0 auto}.consent-screen-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1.5rem}.consent-screen-header h1,.consent-screen-header p{margin:0}.consent-screen-header h1{margin:.15rem 0 .3rem}.consent-document{padding:clamp(1.25rem,4vw,3rem);color:#111827;background:#fff}.consent-document-header{display:flex;align-items:center;gap:1.25rem;padding-bottom:1.25rem;border-bottom:2px solid #111827}.consent-document-header img{width:9rem;max-height:4.5rem;object-fit:contain}.consent-document-header h2,.consent-document-header p{margin:0}.consent-document-header h2{margin:.15rem 0;font-size:clamp(1.4rem,4vw,2rem)}.consent-document-header p:first-child{color:#9a3412;font-size:.72rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.consent-document-intro{margin:1.5rem 0;font-size:1.05rem;line-height:1.6}.consent-section{margin-top:1.5rem}.consent-section h3{margin:0 0 .75rem;padding-bottom:.35rem;border-bottom:1px solid #cbd5e1;font-size:1rem;letter-spacing:.04em;text-transform:uppercase}.consent-details{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.85rem 1.5rem;margin:0}.consent-details div{min-width:0}.consent-details dt{color:#475569;font-size:.75rem;font-weight:700;letter-spacing:.03em;text-transform:uppercase}.consent-details dd{margin:.15rem 0 0;overflow-wrap:anywhere}.consent-identifier{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.82rem}.consent-covered-campers{margin-top:1rem}.consent-covered-campers ul{margin:.35rem 0 0}.consent-agreement-copy{padding:1rem;border-left:4px solid #f97316;background:#f8fafc;line-height:1.65;white-space:pre-wrap}.consent-signature-block,.consent-contact{break-inside:avoid}.consent-signature-name{display:inline-block;min-width:min(100%,22rem);margin:.25rem 0 1rem;padding:0 .5rem .35rem;border-bottom:1px solid #111827;font-family:Georgia,Times New Roman,serif;font-size:1.55rem;font-style:italic}.consent-contact p{margin:0;line-height:1.55}.consent-document-footer{margin-top:2rem;padding-top:.75rem;border-top:1px solid #cbd5e1;color:#475569;font-size:.78rem}@media(max-width:720px){.consent-screen-header{align-items:stretch;flex-direction:column}.consent-details{grid-template-columns:1fr}.consent-document-header{align-items:flex-start;flex-direction:column}}@media print{.consent-print-root,.consent-print-root *{visibility:visible}.consent-print-root{position:absolute;top:0;left:0;display:block;box-sizing:border-box;width:100%;max-width:none;margin:0}#admin-main:has(.consent-print-root){padding:0!important}.consent-document{padding:0!important;border:0!important;border-radius:0!important;box-shadow:none!important}.consent-document-header img{width:7.5rem}.consent-document-header h2{font-size:1.65rem}.consent-agreement-copy{-webkit-print-color-adjust:exact;print-color-adjust:exact;background:#f3f4f6!important}}
