:root{color-scheme:light;--brand-violet: #5A2CA0;--brand-violet-dark: #4A2485;--brand-violet-soft: #F3EDFA;--brand-teal: #2ED3C6;--brand-teal-dark: #26B8AD;--brand-teal-soft: #E7FAF7;--brand-green: #70E000;--brand-green-dark: #5AB300;--brand-coral: #FF6B6B;--brand-coral-dark: #E55555;--ink: #1F1A2E;--ink-muted: #4B5563;--ink-faint: #6B7280;--bg: #F7F5FB;--bg-subtle: #F0ECF6;--surface: #FFFFFF;--surface-raised: #FFFFFF;--border: #E5E1EE;--border-strong: #C8C2D6;--accent: var(--brand-violet);--accent-dark: var(--brand-violet-dark);--accent-soft: var(--brand-violet-soft);--accent-on: #FFFFFF;--positive: #2F9E44;--positive-soft: #D3F9D8;--warning: #F59E0B;--warning-soft: #FEF3C7;--danger: #E03131;--danger-soft: #FFE3E3;--info: var(--brand-teal-dark);--info-soft: var(--brand-teal-soft);--font-display: "Source Serif Pro", "Georgia", "Times New Roman", serif;--font-body: "Inter", "Open Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--font-mono: "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, monospace;--radius-sm: 8px;--radius: 12px;--radius-lg: 16px;--radius-pill: 999px;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-8: 32px;--space-10: 40px;--shadow-sm: 0 1px 2px rgba(31, 26, 46, .06);--shadow: 0 1px 3px rgba(31, 26, 46, .08), 0 4px 12px rgba(31, 26, 46, .06);--shadow-lg: 0 8px 32px rgba(31, 26, 46, .12), 0 2px 8px rgba(31, 26, 46, .08);--shadow-focus: 0 0 0 3px rgba(90, 44, 160, .2);--grad-hero: linear-gradient(135deg, #5A2CA0 0%, #4A2485 60%, #2ED3C6 140%);--grad-brand-subtle: linear-gradient(135deg, rgba(90, 44, 160, .06) 0%, rgba(46, 211, 198, .06) 100%);--grad-teal: linear-gradient(135deg, #2ED3C6 0%, #26B8AD 100%);--duration-fast: .14s;--duration-base: .22s;--duration-slow: .36s;--ease-out: cubic-bezier(.16, 1, .3, 1)}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{font-family:var(--font-body);font-size:15px;line-height:1.55;color:var(--ink);background:var(--bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}h1,h2,h3,h4{font-family:var(--font-display);color:var(--ink);letter-spacing:-.015em;margin:0 0 var(--space-3)}h1{font-size:30px;line-height:1.15}h2{font-size:22px;line-height:1.25}h3{font-size:18px;line-height:1.3}a{color:var(--accent);text-decoration:none;font-weight:500}a:hover{text-decoration:underline}button{font:inherit;font-weight:600;padding:10px 16px;border-radius:var(--radius-sm);border:1px solid var(--border-strong);background:var(--surface);color:var(--ink);cursor:pointer;transition:background var(--duration-fast) var(--ease-out),border-color var(--duration-fast) var(--ease-out),transform var(--duration-fast) var(--ease-out),box-shadow var(--duration-fast) var(--ease-out)}button:hover:not(:disabled){border-color:var(--accent);color:var(--accent)}button:active:not(:disabled){transform:translateY(1px)}button:focus-visible{outline:none;box-shadow:var(--shadow-focus)}button:disabled{opacity:.55;cursor:not-allowed}button.primary{background:var(--accent);color:var(--accent-on);border-color:var(--accent);box-shadow:0 2px 6px #5a2ca033}button.primary:hover:not(:disabled){background:var(--accent-dark);color:var(--accent-on);border-color:var(--accent-dark)}button.ghost{background:transparent;border:1px solid transparent;color:var(--ink-muted)}button.ghost:hover:not(:disabled){background:var(--bg-subtle);color:var(--ink);border-color:transparent}button.danger{background:var(--danger);color:#fff;border-color:var(--danger)}button.danger:hover:not(:disabled){background:#b91c1c;border-color:#b91c1c;color:#fff}button.sm{padding:6px 12px;font-size:13px}input,select,textarea{font:inherit;padding:10px 12px;border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--surface);color:var(--ink);width:100%;transition:border-color var(--duration-fast) var(--ease-out),box-shadow var(--duration-fast) var(--ease-out)}input::placeholder,textarea::placeholder{color:var(--ink-faint)}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--accent);box-shadow:var(--shadow-focus)}label{display:block;font-size:13px;font-weight:600;color:var(--ink-muted);margin-bottom:var(--space-1)}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:var(--space-6);box-shadow:var(--shadow-sm);margin-bottom:var(--space-5)}.card h2{margin-top:0}.card.raised{box-shadow:var(--shadow)}.stack{display:flex;flex-direction:column;gap:var(--space-4)}.row{display:flex;gap:var(--space-3);align-items:center}.row>*{flex:1}.spacer{flex:1}.muted{color:var(--ink-faint);font-size:13px}.form-row{display:grid;gap:var(--space-3);grid-template-columns:repeat(auto-fit,minmax(180px,1fr));margin-bottom:var(--space-3)}table{width:100%;border-collapse:separate;border-spacing:0}th,td{text-align:left;padding:12px 14px;border-bottom:1px solid var(--border)}th{font-weight:600;font-size:12px;text-transform:uppercase;letter-spacing:.05em;color:var(--ink-faint);background:var(--bg-subtle);border-bottom:1px solid var(--border)}tbody tr{transition:background var(--duration-fast) var(--ease-out)}tbody tr:hover{background:var(--accent-soft)}.badge{display:inline-flex;align-items:center;gap:6px;padding:3px 10px;border-radius:var(--radius-pill);font-size:12px;font-weight:600;background:var(--accent-soft);color:var(--accent-dark)}.badge.ok{background:var(--positive-soft);color:var(--positive)}.badge.warn{background:var(--warning-soft);color:var(--warning)}.badge.danger{background:var(--danger-soft);color:var(--danger)}.badge.info{background:var(--info-soft);color:var(--info)}.error-banner{background:var(--danger-soft);color:var(--danger);padding:12px 16px;border-radius:var(--radius-sm);border:1px solid rgba(224,49,49,.2);margin-bottom:var(--space-3);font-size:14px}.info-banner{background:var(--info-soft);color:var(--info);padding:12px 16px;border-radius:var(--radius-sm);border:1px solid rgba(38,184,173,.2);margin-bottom:var(--space-3);font-size:14px}.list-empty{text-align:center;color:var(--ink-faint);padding:var(--space-10);background:var(--bg-subtle);border-radius:var(--radius);border:1px dashed var(--border-strong)}.screen-message{display:grid;place-items:center;min-height:60vh;color:var(--ink-faint)}.brand-mark{width:34px;height:34px;border-radius:10px;display:grid;place-items:center;font-weight:800;color:#fff;background:var(--grad-hero);box-shadow:0 2px 8px #5a2ca04d;letter-spacing:-.02em}body{background:radial-gradient(ellipse at top right,rgba(46,211,198,.08),transparent 50%),radial-gradient(ellipse at bottom left,rgba(90,44,160,.06),transparent 50%),var(--bg);min-height:100vh}.parent-shell{display:flex;flex-direction:column;min-height:100vh}.topbar{display:flex;align-items:center;justify-content:space-between;padding:var(--space-4) var(--space-6);background:var(--surface);border-bottom:1px solid var(--border);position:sticky;top:0;z-index:10;-webkit-backdrop-filter:saturate(150%) blur(8px);backdrop-filter:saturate(150%) blur(8px)}.topbar nav{display:flex;gap:var(--space-2);align-items:center}.topbar nav a{color:var(--ink-muted);text-decoration:none;padding:8px 14px;border-radius:var(--radius-sm);font-weight:500;font-size:14px;transition:background var(--duration-fast) var(--ease-out),color var(--duration-fast) var(--ease-out)}.topbar nav a:hover{background:var(--bg-subtle);color:var(--ink)}.topbar nav a.active{background:var(--accent-soft);color:var(--accent-dark);font-weight:600}.topbar .brand{display:flex;align-items:center;gap:var(--space-3);font-family:var(--font-display);font-weight:700;font-size:18px;color:var(--ink)}.content{padding:var(--space-8) var(--space-6);max-width:960px;margin:0 auto;width:100%}.content>h1{font-size:32px;margin-bottom:var(--space-2)}.content>.subtitle{color:var(--ink-faint);margin-bottom:var(--space-6);font-size:15px}.youth-card{display:flex;gap:var(--space-4);align-items:center;padding:var(--space-4);border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);margin-bottom:var(--space-3);transition:border-color var(--duration-fast) var(--ease-out),box-shadow var(--duration-fast) var(--ease-out)}.youth-card:hover{border-color:var(--accent);box-shadow:var(--shadow-sm)}.youth-card .avatar{width:48px;height:48px;border-radius:50%;background:var(--grad-hero);color:#fff;display:grid;place-items:center;font-weight:700;font-size:18px;flex-shrink:0}.youth-card .meta{flex:1;min-width:0}.youth-card .meta .name{font-weight:600;font-size:16px;color:var(--ink)}.youth-card .meta .detail{font-size:13px;color:var(--ink-faint)}.status-pill{display:inline-flex;align-items:center;gap:6px;padding:4px 12px;border-radius:var(--radius-pill);font-weight:600;font-size:12px;text-transform:uppercase;letter-spacing:.04em}.status-pill:before{content:"";width:7px;height:7px;border-radius:50%;background:currentColor;box-shadow:0 0 0 3px #fff6}.status-present{background:var(--positive-soft);color:var(--positive)}.status-away{background:var(--bg-subtle);color:var(--ink-faint)}@media(max-width:700px){.topbar{flex-direction:column;gap:var(--space-2);align-items:flex-start;padding:var(--space-3) var(--space-4)}.topbar nav{flex-wrap:wrap;width:100%}.content{padding:var(--space-5) var(--space-4)}}.register-card{max-width:760px;margin:var(--space-6) auto var(--space-10);padding:var(--space-8)}.register-card h2{margin-top:0}.register-header{margin-bottom:var(--space-5)}.step-progress{list-style:none;padding:0;margin:0 0 var(--space-6);display:flex;justify-content:space-between;align-items:flex-start;gap:var(--space-1);position:relative}.step-progress:before{content:"";position:absolute;top:13px;left:16px;right:16px;height:2px;background:var(--border);z-index:0}.step-progress-item{flex:1;min-width:0;z-index:1}.step-progress-item{display:flex;flex-direction:column;align-items:center;gap:6px;text-align:center}.step-progress-item .step-index{width:26px;height:26px;border-radius:50%;display:grid;place-items:center;font-size:12px;font-weight:700;border:2px solid var(--border-strong);color:var(--ink-faint);background:var(--surface)}.step-progress-item .step-label{font-size:10px;color:var(--ink-faint);text-transform:uppercase;letter-spacing:.04em;font-weight:600;line-height:1.2}.step-progress-item.current .step-index{border-color:var(--accent);color:var(--accent-on);background:var(--accent)}.step-progress-item.current .step-label{color:var(--accent-dark)}.step-progress-item.done .step-index{border-color:var(--positive);background:var(--positive);color:#fff}.step-progress-item.done .step-label{color:var(--ink-muted)}@media(max-width:720px){.step-progress-item .step-label{display:none}.step-progress-item.current .step-label{display:block;font-size:11px}}.field{display:flex;flex-direction:column;gap:4px}.field label{margin:0}.req-dot{color:var(--danger);margin-left:2px}.checkbox-row{display:flex;gap:var(--space-3);align-items:flex-start;padding:10px 12px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);cursor:pointer;font-weight:400;color:var(--ink);line-height:1.4;font-size:14px}.checkbox-row input[type=checkbox]{width:18px;height:18px;margin-top:2px;flex-shrink:0;accent-color:var(--accent)}.checkbox-row:hover{border-color:var(--accent)}.check-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:var(--space-2)}.contact-card{border:1px solid var(--border);border-radius:var(--radius);padding:var(--space-4);background:var(--bg-subtle);display:flex;flex-direction:column;gap:var(--space-3)}.contact-card h4{margin:0;font-family:var(--font-display);font-size:15px}.radio-card{display:flex;gap:var(--space-3);align-items:flex-start;padding:var(--space-4);border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);cursor:pointer;transition:border-color var(--duration-fast) var(--ease-out),background var(--duration-fast) var(--ease-out)}.radio-card input[type=radio]{width:18px;height:18px;margin-top:2px;flex-shrink:0;accent-color:var(--accent)}.radio-card:hover{border-color:var(--accent)}.radio-card.selected{border-color:var(--accent);background:var(--accent-soft)}.radio-title{font-weight:600;color:var(--ink);margin-bottom:2px}.radio-desc{color:var(--ink-muted);font-size:13px;line-height:1.45}.ack-card{display:flex;gap:var(--space-3);padding:var(--space-4);border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);cursor:pointer;align-items:flex-start;transition:border-color var(--duration-fast) var(--ease-out),background var(--duration-fast) var(--ease-out)}.ack-card input[type=checkbox]{width:20px;height:20px;margin-top:2px;flex-shrink:0;accent-color:var(--accent)}.ack-card:hover{border-color:var(--accent)}.ack-card.selected{border-color:var(--accent);background:var(--accent-soft)}.ack-title{font-weight:600;color:var(--ink);margin-bottom:4px;font-size:15px}.ack-body{color:var(--ink-muted);font-size:13px;line-height:1.55}.register-actions{display:flex;align-items:center;gap:var(--space-3);padding-top:var(--space-5);margin-top:var(--space-5);border-top:1px solid var(--border)}.review-group{margin-bottom:var(--space-4)}.review-group h4{font-family:var(--font-display);font-size:14px;text-transform:uppercase;letter-spacing:.06em;color:var(--ink-faint);margin:0 0 var(--space-2)}.review-group dl{display:grid;grid-template-columns:max-content 1fr;gap:6px var(--space-4);margin:0;padding:var(--space-3) var(--space-4);background:var(--bg-subtle);border-radius:var(--radius-sm)}.review-group dt{color:var(--ink-faint);font-size:13px;font-weight:500}.review-group dd{margin:0;color:var(--ink);font-size:13px;font-weight:500;word-break:break-word}.success-badge{display:inline-block;background:var(--positive-soft);color:var(--positive);padding:4px 12px;border-radius:var(--radius-pill);font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;margin-bottom:var(--space-3)}.success-badge.success{background:var(--positive-soft);color:var(--positive)}.info-card{margin-top:var(--space-4);padding:var(--space-4);border:1px solid var(--border);border-left:4px solid var(--accent);border-radius:var(--radius-md);background:var(--bg-subtle)}.info-card h4{margin:0 0 8px;font-size:15px;color:var(--ink)}.info-card p{margin:0;font-size:14px;color:var(--ink-soft, var(--ink));line-height:1.5}.info-card.success{border-left-color:var(--positive)}.info-card.warning{border-left-color:#f59e0b}
