:root{color-scheme:light;--ink: #172033;--muted: #647084;--line: #dfe4ec;--panel: #ffffff;--soft: #f4f7fb;--accent: #245ea8;--accent-dark: #183f72;--warn: #a15c00;--ok: #217045}*{box-sizing:border-box}body{margin:0;color:var(--ink);font-family:Inter,Segoe UI,Arial,sans-serif;background:var(--soft)}button,input,select{font:inherit}.app-shell{min-height:100vh;display:grid;grid-template-columns:280px 1fr}.app-shell.nav-hidden{grid-template-columns:1fr}.app-shell.nav-hidden .sidebar{display:none}.app-shell.nav-hidden .content{padding-top:58px}.app-shell:not(.nav-hidden)>.nav-toggle.floating{display:none}.sidebar{background:#111b2e;color:#fff;padding:22px 16px}.brand{display:flex;gap:12px;align-items:center;margin-bottom:28px}.brand-mark{width:42px;height:42px;border-radius:8px;display:grid;place-items:center;background:var(--accent);font-weight:800}.brand h1{margin:0;font-size:17px}.brand p{margin:3px 0 0;color:#b8c4d8;font-size:13px}nav{display:grid;gap:6px}nav button{border:0;border-radius:8px;color:#dce5f5;background:transparent;display:flex;align-items:center;gap:10px;padding:11px 12px;cursor:pointer;text-align:left}nav button.active,nav button:hover{background:#20314f;color:#fff}.sidebar-link{display:block;margin-top:8px;border:0;background:transparent;color:#fff;padding:0;cursor:pointer;text-decoration:underline}.app-version{margin-top:18px;padding:10px 12px;border-top:1px solid rgba(255,255,255,.14);color:#b8c4d8;font-size:12px}.dense-toggle{display:flex;align-items:center;gap:9px;margin:0 0 14px;padding:10px 12px;border:1px solid rgba(255,255,255,.14);border-radius:8px;color:#dce5f5;font-size:13px}.dense-toggle input{margin:0}.nav-toggle{width:100%;border:1px solid rgba(255,255,255,.18);border-radius:8px;background:#20314f;color:#fff;padding:10px 12px;cursor:pointer;text-align:left;margin:0 0 14px}.nav-toggle.floating{position:fixed;top:12px;right:16px;z-index:40;width:auto;margin:0;border-color:var(--line);background:#fff;color:var(--ink);box-shadow:0 8px 24px #111b2e24}.nav-toggle:hover{filter:brightness(1.03)}.content{padding:28px;min-width:0}.page-header{display:flex;justify-content:space-between;gap:16px;align-items:start;margin-bottom:20px}.page-header h2{margin:0;font-size:28px}.page-header p{margin:5px 0 0;color:var(--muted)}.metrics{display:grid;grid-template-columns:repeat(6,minmax(130px,1fr));gap:12px;margin-bottom:18px}.metric,.panel,.detail,.table-wrap,.summary-card{background:var(--panel);border:1px solid var(--line);border-radius:8px}.metric{padding:15px}.metric span{display:block;color:var(--muted);font-size:13px}.metric strong{display:block;margin-top:7px;font-size:22px}.metric.warn strong{color:var(--warn)}.metric.ok strong{color:var(--ok)}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:16px}.validation-layout{display:grid;grid-template-columns:minmax(260px,360px) 1fr;gap:16px;align-items:start}.summary-button{width:100%;display:flex;justify-content:space-between;gap:12px;border:1px solid var(--line);background:#fff;border-radius:8px;padding:10px 12px;margin-bottom:8px;text-align:left;cursor:pointer}.summary-button.selected{border-color:var(--accent);box-shadow:inset 3px 0 0 var(--accent)}.validation-row{display:grid;grid-template-columns:minmax(160px,1.2fr) repeat(3,minmax(90px,1fr)) auto auto;gap:10px;align-items:end;border-top:1px solid #edf0f5;padding:10px 0}.validation-row:first-of-type{border-top:0}.validation-row>strong{min-width:0;overflow-wrap:anywhere;padding-bottom:9px}.dietary-validation-row{grid-template-columns:minmax(160px,1.2fr) repeat(5,minmax(90px,1fr)) auto auto}.volunteer-row{grid-template-columns:minmax(140px,1.2fr) 90px minmax(110px,1fr) minmax(150px,1.2fr) minmax(120px,1fr) auto auto}.coverage-banner{background:#f5f8fc;border:1px solid var(--line);border-radius:8px;color:#26364f;font-weight:700;margin-bottom:12px;padding:10px 12px}.panel{padding:16px}.panel h3{margin:0 0 12px;font-size:16px}.summary-row{display:flex;justify-content:space-between;gap:16px;padding:8px 0;border-top:1px solid #edf0f5}.summary-row:first-of-type{border-top:0}.summary-row span{color:var(--muted)}.toolbar{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:14px}.search{flex:1;display:flex;align-items:center;gap:8px;background:#fff;border:1px solid var(--line);border-radius:8px;padding:0 12px}.search input,select{border:0;outline:0;background:#fff;padding:11px 8px;min-width:0}select{border:1px solid var(--line);border-radius:8px}.split{display:grid;grid-template-columns:360px 1fr;gap:16px}.clubs-layout{grid-template-columns:minmax(320px,460px) minmax(0,1fr)}.list{display:grid;gap:8px;align-content:start;max-height:calc(100vh - 150px);overflow:auto}.list button{border:1px solid var(--line);background:#fff;border-radius:8px;padding:12px;text-align:left;cursor:pointer}.list button.selected{border-color:var(--accent);box-shadow:inset 3px 0 0 var(--accent)}.list strong,.list span{display:block}.list span{margin-top:4px;color:var(--muted);font-size:13px}.detail{padding:18px}.detail-title{display:flex;justify-content:space-between;align-items:start;margin-bottom:16px}.detail-title h2{margin:0}.detail-title p{margin:5px 0 0;color:var(--muted)}.registration-nav{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:-4px 0 14px;padding:10px 12px;background:#f8fafd;border:1px solid var(--line);border-radius:8px}.registration-nav span{color:var(--muted);font-size:13px;font-weight:700;text-align:center}.registration-nav button:disabled{opacity:.45;cursor:not-allowed}.detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.communications-layout{display:grid;gap:14px}.communications-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.save-status{background:#eaf6ef;color:var(--ok);border:1px solid #bfe3cb;border-radius:8px;padding:10px 12px;margin-bottom:14px;font-weight:700}.edit-field{display:grid;gap:5px;margin-bottom:10px}.edit-field span{color:var(--muted);font-size:12px;font-weight:700}.edit-field input,.edit-field textarea,.editable-item input{width:100%;border:1px solid var(--line);border-radius:7px;padding:9px 10px;background:#fff}.edit-field textarea{min-height:76px;resize:vertical}.inline-fields{display:grid;grid-template-columns:1fr 1fr;gap:10px}.check-field{display:flex;align-items:center;gap:8px;margin:6px 0 10px;color:var(--muted);font-weight:700;font-size:13px}.check-field input{accent-color:var(--accent)}.edit-block{border-top:1px solid #edf0f5;padding-top:12px;margin-top:12px}.edit-block:first-child{border-top:0;padding-top:0;margin-top:0}.save-button{border:0;border-radius:7px;background:var(--accent);color:#fff;padding:9px 12px;cursor:pointer;font-weight:700}.save-button.secondary{background:var(--accent-dark);padding:7px 10px;font-size:13px}.danger-button{border:0;border-radius:7px;background:#a23b3b;color:#fff;padding:9px 12px;cursor:pointer;font-weight:700}.danger-button.compact{padding:7px 10px;font-size:13px;margin-left:8px}.add-block{background:#f8fafd;border:1px solid var(--line);border-radius:8px;padding:12px}.info-banner,.cancel-banner{border-radius:8px;padding:10px 12px;margin-bottom:12px;line-height:1.4}.info-banner{background:#eef5ff;border:1px solid #c4d8f4;color:#244f83}.cancel-banner{background:#fff1f1;border:1px solid #e7baba;color:#8d2929}.editable-item{display:grid;grid-template-columns:1fr;gap:10px;align-items:stretch;border-top:1px solid #edf0f5;padding:10px 0}.editable-item:first-child{border-top:0}.editable-item-name{min-width:0;line-height:1.25;overflow-wrap:anywhere;font-weight:700}.editable-item-controls{display:grid;grid-template-columns:90px 120px minmax(95px,auto) auto;gap:10px;align-items:end;justify-content:start}.editable-item label{display:grid;gap:4px}.editable-item small{color:var(--muted);font-size:11px;font-weight:700}.editable-item-total{white-space:nowrap;padding-bottom:9px}.editable-item-actions{display:flex;gap:8px;justify-content:flex-start;align-items:center;padding-bottom:4px}.editable-item-actions .danger-button.compact{margin-left:0}.editable-table{display:grid;gap:10px}.editable-row{display:grid;gap:10px;align-items:end;background:#fff;border:1px solid var(--line);border-radius:8px;padding:12px}.lodging-row{grid-template-columns:1fr;align-items:stretch}.lodging-row-main,.lodging-row-meta{display:grid;gap:10px;align-items:end}.lodging-row-main{grid-template-columns:130px minmax(220px,1.2fr) minmax(130px,.8fr) minmax(130px,.8fr)}.lodging-row-meta{grid-template-columns:130px 130px 140px minmax(160px,1fr) auto auto}.club-row{grid-template-columns:1fr;align-items:stretch}.club-row-meta{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.club-row-meta .summary-row{border-top:0;background:var(--soft);border-radius:8px;padding:8px 10px}.club-row-actions{display:flex;flex-wrap:wrap;gap:8px}.club-row-actions button:disabled{opacity:.45;cursor:not-allowed}.selected-row{border-color:var(--accent);box-shadow:inset 3px 0 0 var(--accent)}.linked-note{align-self:end;color:var(--muted);font-size:13px;padding-bottom:11px}.club-meal-row{grid-template-columns:1.2fr 1.4fr 80px 100px 1.2fr 100px auto}.recon-row{grid-template-columns:1fr 1.4fr 120px 1fr auto auto}.product-row{grid-template-columns:1fr;align-items:stretch}.product-row-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-bottom:4px;border-bottom:1px solid var(--line)}.product-row-main,.product-row-meta{display:grid;gap:10px;align-items:end}.product-row-main{grid-template-columns:minmax(220px,2fr) 160px minmax(180px,1fr)}.product-row-meta{grid-template-columns:130px 90px auto auto;justify-content:start}.product-new .product-row-main{grid-template-columns:140px minmax(220px,2fr) 160px}.product-new .product-row-meta{grid-template-columns:130px minmax(180px,1fr) 90px auto}.backup-row{grid-template-columns:minmax(0,1fr) auto}.user-row{grid-template-columns:130px 1fr 130px 90px 90px 1fr auto auto}.contact-row{grid-template-columns:repeat(4,minmax(120px,1fr)) minmax(120px,1fr) 90px minmax(150px,1.3fr) repeat(3,auto) auto auto}.truncate-text{overflow-wrap:anywhere;color:var(--muted);font-size:13px}.recon-table{min-width:860px}.wrap-cell{min-width:320px;max-width:720px;white-space:normal;overflow-wrap:anywhere}.table-input{width:100%;min-width:110px;border:1px solid var(--line);border-radius:8px;padding:8px 9px}.table-actions{display:flex;gap:7px;align-items:center}.muted{color:var(--muted)}.save-status.error{color:var(--danger);border-color:#b03a3a59}.login-page{min-height:100vh;display:grid;place-items:center;background:#f3f6fb;padding:24px}.login-card{width:min(420px,100%);background:#fff;border:1px solid var(--line);border-radius:8px;padding:24px;box-shadow:0 16px 45px #111b2e1f}.login-card h1{margin:0 0 6px}.login-card p{margin:0 0 18px;color:var(--muted)}.report-actions{display:flex;gap:10px;margin-top:12px}.report-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.wide-panel{grid-column:1 / -1}.wide-panel .mini-table-wrap{max-height:520px}.report-menu-grid{display:grid;grid-template-columns:repeat(3,minmax(180px,1fr));gap:14px}.report-menu-card{border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--ink);text-align:left;padding:16px;cursor:pointer}.report-menu-card:hover{border-color:var(--accent);box-shadow:inset 4px 0 0 var(--accent)}.report-menu-card strong,.report-menu-card span{display:block}.report-menu-card span{margin-top:8px;color:var(--muted);line-height:1.35}.registrar-metrics{grid-template-columns:repeat(4,minmax(130px,1fr))}.report-group{border-top:1px solid #edf0f5;padding-top:10px;margin-top:10px}.report-group:first-child{border-top:0;padding-top:0;margin-top:0}.report-group h4{margin:0 0 6px}.report-header{display:grid;grid-template-columns:90px 1fr auto;gap:16px;align-items:center;margin-bottom:20px}.report-header img,.report-logo-placeholder{width:82px;height:82px;object-fit:contain;border:1px solid var(--line);border-radius:8px;background:#fff}.report-logo-placeholder{display:grid;place-items:center;color:var(--muted);font-weight:700}.report-header h2{margin:0;font-size:28px}.report-header p{margin:5px 0 0;color:var(--muted)}.logo-upload{display:inline-flex;gap:8px;align-items:center;padding:10px 12px;border:1px solid var(--line);border-radius:8px;cursor:pointer;margin-bottom:12px}.logo-upload input{display:none}.logo-preview{display:block;max-width:220px;max-height:120px;object-fit:contain;border:1px solid var(--line);border-radius:8px;background:#fff;padding:8px;margin:0 0 12px}.registrant-pages{display:grid;gap:18px}.registrant-page{background:#fff;border:1px solid var(--line);border-radius:8px;padding:22px;page-break-after:always;break-after:page}.registrant-page-head{display:grid;grid-template-columns:1fr 180px;gap:18px;align-items:start;border-bottom:2px solid #d9e1ec;padding-bottom:14px;margin-bottom:14px}.registrant-page-head h2{margin:0;font-size:27px}.registrant-page-head p{margin:5px 0 0;color:var(--muted)}.eyebrow{text-transform:uppercase;letter-spacing:.08em;font-size:12px;font-weight:800;color:var(--accent)!important}.status-box{border:1px solid var(--line);border-radius:8px;padding:12px;background:#f8fafd}.status-box span,.status-box small{display:block;color:var(--muted)}.status-box strong{display:block;margin:6px 0;font-size:20px}.page-sections{display:grid;grid-template-columns:1fr 1fr;gap:16px}.page-sections>div{border:1px solid var(--line);border-radius:8px;padding:14px;min-height:120px}.page-sections h3{margin:0 0 10px;font-size:15px;color:#26364f}.cancelled-page{border-color:#d89191}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;background:#fff}th,td{padding:10px 12px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}th{background:#eef3fa;color:#26364f;font-weight:700}.table-textarea{width:100%;min-width:220px;min-height:48px;border:1px solid var(--line);border-radius:7px;padding:8px;resize:vertical}.autosave-state{display:inline-block;min-width:86px;color:var(--muted);font-size:12px;font-weight:700}.autosave-state.error{color:var(--danger)}.print-button{border:0;border-radius:8px;background:var(--accent);color:#fff;padding:10px 14px;display:flex;gap:8px;align-items:center;cursor:pointer}.secondary-print{background:var(--accent-dark)}.action-footer{margin-top:16px}.pdf-controls{display:flex;gap:10px;align-items:center;justify-content:end}.pdf-controls label{display:flex;gap:6px;align-items:center;color:var(--muted);font-size:13px;white-space:nowrap}.pdf-controls input{accent-color:var(--accent)}.print-list{display:grid;gap:14px}.new-person-row{grid-template-columns:130px 1fr 1fr}.new-item-row{grid-template-columns:1fr 90px 120px}.export-buttons{display:flex;flex-wrap:wrap;gap:10px}.restore-upload{margin-left:10px}.global-search{position:relative;margin:12px 0}.global-search label{display:flex;align-items:center;gap:8px;background:#ffffff14;border:1px solid rgba(255,255,255,.18);border-radius:8px;padding:8px 10px}.global-search input{min-width:0;width:100%;border:0;outline:0;background:transparent;color:#fff}.global-search input::placeholder{color:#ffffffb3}.global-search-results{position:absolute;z-index:20;top:calc(100% + 6px);left:0;right:0;max-height:300px;overflow:auto;background:#fff;border:1px solid var(--line);border-radius:8px;box-shadow:0 12px 28px #10233f2e}.global-search-results button,.attention-row{width:100%;border:0;border-bottom:1px solid var(--line);background:#fff;color:var(--text);text-align:left;padding:11px 12px;cursor:pointer}.global-search-results button:hover,.attention-row:hover{background:var(--soft)}.global-search-results span,.attention-row span{display:block;margin-top:3px;color:var(--muted);font-size:13px}.attention-row.high{border-left:5px solid var(--warn)}.attention-row.medium{border-left:5px solid var(--accent)}.mini-table-wrap{max-height:360px;overflow:auto;margin-top:10px}.mini-table th,.mini-table td{padding:7px 8px;font-size:12px}small{color:var(--muted)}.summary-card{padding:16px;break-inside:avoid}.summary-head{display:flex;justify-content:space-between;gap:18px;border-bottom:1px solid var(--line);padding-bottom:8px;margin-bottom:10px}.summary-head h2{margin:0;font-size:18px}.summary-head span{color:var(--warn);font-weight:700}.summary-line{margin:7px 0;line-height:1.45}.loading{padding:30px;color:var(--muted)}.dense-mode .content{padding:16px}.dense-mode .page-header{margin-bottom:12px}.dense-mode .page-header h2{font-size:24px}.dense-mode .metrics{gap:8px;margin-bottom:12px}.dense-mode .metric{padding:10px}.dense-mode .metric strong{margin-top:4px;font-size:18px}.dense-mode .panel{padding:12px}.dense-mode .panel h3{margin-bottom:8px}.dense-mode .detail,.dense-mode .table-wrap,.dense-mode .summary-card{padding:12px}.dense-mode table th,.dense-mode table td{padding:6px 7px}.dense-mode .mini-table th,.dense-mode .mini-table td{padding:5px 6px}.dense-mode input,.dense-mode select,.dense-mode textarea{padding:7px 8px}.dense-mode .editable-row,.dense-mode .editable-item,.dense-mode .validation-row,.dense-mode .dietary-validation-row,.dense-mode .volunteer-row,.dense-mode .contact-row{gap:7px;padding:8px}.dense-mode .product-row-main,.dense-mode .product-row-meta,.dense-mode .toolbar,.dense-mode .pdf-controls,.dense-mode .report-actions,.dense-mode .export-buttons{gap:7px}.dense-mode .report-menu-card{padding:12px}.dense-mode .save-button,.dense-mode .print-button,.dense-mode .danger-button{padding:8px 10px}@media(max-width:1050px){.app-shell{grid-template-columns:1fr}.sidebar{position:static}.metrics,.two-col,.split,.detail-grid,.communications-grid,.report-grid,.report-menu-grid,.registrar-metrics,.page-sections,.registrant-page-head,.report-header{grid-template-columns:1fr}.list{max-height:340px}.validation-layout,.editable-item,.editable-row,.validation-row,.dietary-validation-row,.volunteer-row,.lodging-row,.club-row,.club-meal-row,.product-row,.backup-row,.user-row,.new-person-row,.new-item-row,.contact-row{grid-template-columns:1fr}.product-row-main,.product-row-meta,.lodging-row-main,.lodging-row-meta,.product-new .product-row-main,.product-new .product-row-meta,.editable-item-controls{grid-template-columns:1fr;justify-content:stretch}.editable-item-actions{justify-content:flex-start}.editable-item-total{padding-bottom:0}}@media print{body{background:#fff}.sidebar,.toolbar,.print-button,.pdf-controls,.nav-toggle{display:none!important}.app-shell{display:block}.content{padding:0}.page-header{margin-bottom:10px}.panel,.metric,.table-wrap,.summary-card{border-color:#999}.report-header{grid-template-columns:80px 1fr;border-bottom:2px solid #333;padding-bottom:10px}.report-logo-placeholder{display:none}.registrant-pages{display:block}.registrant-page{min-height:10in;border:0;border-radius:0;padding:0;break-after:page;page-break-after:always}.registrant-page:last-child{break-after:auto;page-break-after:auto}.registrant-page-head{grid-template-columns:1fr 170px}.page-sections{grid-template-columns:1fr 1fr}th{background:#eee!important}}
