body{margin:0;font-family:Inter,system-ui,sans-serif;background:linear-gradient(180deg,#fffaf5 0%,#fff3e6 100%);color:#1f2937}
.shell{max-width:1200px;margin:0 auto;padding:32px 20px 48px}
.shell.narrow{max-width:560px}
.page-header,.submit-bar,.section-heading,.header-actions{display:flex;justify-content:space-between;gap:16px;align-items:flex-start}
.header-actions{align-items:center}
.account-menu{position:relative}
.account-menu summary{list-style:none}
.account-menu summary::-webkit-details-marker{display:none}
.account-menu-panel{position:absolute;right:0;top:calc(100% + 8px);width:min(360px,90vw);padding:16px;background:rgba(255,255,255,.98);border:1px solid #f4d2b8;border-radius:18px;box-shadow:0 18px 40px rgba(120,53,15,.12);z-index:20}
.menu-form{display:grid;gap:12px}
.eyebrow{margin:0 0 8px;text-transform:uppercase;letter-spacing:.08em;font-size:.8rem;color:#c2410c;font-weight:700}
.muted{color:#7c6f64}
.card,.member-card,.submit-bar,.stat-card{background:rgba(255,255,255,.96);border:1px solid #f3d8c2;border-radius:20px;box-shadow:0 18px 40px rgba(120,53,15,.08);padding:28px;animation:fadeUp .45s ease both}
.success-banner{margin:0 0 20px;padding:24px 28px;border:1px solid #bbf7d0;border-radius:20px;background:linear-gradient(135deg,#f0fdf4 0%,#dcfce7 100%);box-shadow:0 18px 40px rgba(22,101,52,.08)}
.success-banner h2{margin:6px 0 8px;font-size:2rem;color:#166534}
.success-banner .muted{color:#166534}
.subsection-title{margin:0 0 18px;font-size:1.08rem;color:#9a3412}
.form-layout{display:grid;gap:20px}
.wizard-page{display:none}
.wizard-page.active{display:block}
.wizard-nav{margin-top:20px}
.page-meta{margin:0 0 10px;font-size:.86rem;font-weight:700;letter-spacing:.03em;text-transform:uppercase;color:#c2410c}
.wizard-steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:0 0 20px}
.wizard-step{display:flex;align-items:center;gap:10px;padding:14px 16px;border-radius:16px;border:1px solid #f3d8c2;background:rgba(255,255,255,.72);color:#9a3412}
.wizard-step span{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:999px;background:#ffedd5;color:#c2410c;font-weight:800}
.wizard-step strong{font-size:.94rem}
.wizard-step.active{border-color:#fb923c;background:linear-gradient(135deg,#fff7ed 0%,#ffedd5 100%);box-shadow:0 10px 24px rgba(251,146,60,.18)}
.sticky-wizard-bar{position:sticky;bottom:16px;display:flex;justify-content:space-between;align-items:center;gap:16px;padding:14px 18px;margin-top:20px;border:1px solid #f3d8c2;border-radius:18px;background:rgba(255,250,245,.94);backdrop-filter:blur(10px);box-shadow:0 18px 36px rgba(120,53,15,.14)}
.sticky-progress{display:grid;gap:8px;flex:1}
.sticky-progress span{font-size:.92rem;font-weight:700;color:#9a3412}
.sticky-progress-track{height:10px;border-radius:999px;background:#fde7d5;overflow:hidden}
.sticky-progress-fill{height:100%;width:25%;border-radius:999px;background:linear-gradient(90deg,#fb923c 0%,#ea580c 100%);transition:width .22s ease}
.sticky-actions{display:flex;gap:10px;align-items:center}
.grid{display:grid;gap:16px;margin-top:16px}
.grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}
.grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}
.grid.four{grid-template-columns:repeat(4,minmax(0,1fr))}
h1{font-size:2.3rem;line-height:1.08;margin:0 0 6px}
h2{font-size:1.55rem;line-height:1.15;margin:0 0 14px}
.card > h2 + .repeat-list,
.card > h2 + .grid,
.card > h2 + .muted,
.card > h3 + .grid,
.card > h3 + .repeat-list{margin-top:10px}
.card > h2:not(:first-child){margin-top:28px}
.member-card .section-heading{margin-bottom:16px}
.member-card .member-title{margin:0}
.person-subtitle{padding-top:4px}
.wizard-page .section-heading{margin-top:18px;margin-bottom:12px}
label{display:grid;gap:8px;font-size:.95rem;font-weight:600}
label span{line-height:1.35}
label.full{grid-column:1/-1}
.field-label{margin:18px 0 10px;font-size:.92rem;font-weight:700;color:#7c2d12}
input,select,button{font:inherit}
input,select{width:100%;box-sizing:border-box;height:52px;min-height:52px;padding:12px 14px;border-radius:14px;border:1px solid #e7c9b0;background:#fff;line-height:1.2;transition:border-color .2s ease,box-shadow .2s ease,transform .2s ease}
select{-webkit-appearance:none;appearance:none;padding-right:44px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20' fill='none'%3E%3Cpath d='M5 7.5L10 12.5L15 7.5' stroke='%239a3412' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;background-size:18px}
input[type=file]{padding:10px 12px}
input[type=checkbox]{width:22px;height:22px;min-height:22px;margin-top:2px;accent-color:#ea580c;flex:0 0 auto}
input[readonly],select[readonly]{background:#fff7ed}
input[type=date],input[type=file]{text-transform:none}
.wizard-form input:not([type=date]):not([type=file]):not([type=checkbox]),.wizard-form select{text-transform:uppercase}
input:focus,select:focus{outline:none;border-color:#f97316;box-shadow:0 0 0 4px rgba(249,115,22,.14);transform:translateY(-1px)}
.primary-button,.secondary-button,.danger-button,.secondary-link{border:0;border-radius:12px;padding:12px 18px;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;transition:transform .18s ease,box-shadow .18s ease,opacity .18s ease}
.primary-button{background:#ea580c;color:#fff}
.secondary-button,.secondary-link{background:#ffedd5;color:#9a3412}
.danger-button{background:#fee2e2;color:#991b1b}
.primary-button:hover,.secondary-button:hover,.danger-button:hover,.secondary-link:hover{transform:translateY(-1px);box-shadow:0 10px 20px rgba(120,53,15,.12)}
.checkbox-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:16px}
.checkbox-row{display:flex;align-items:flex-start;gap:10px;font-weight:500}
.declaration-box{margin-top:14px;padding:18px 20px;border:1px solid #f3d8c2;border-radius:18px;background:#fffaf5;box-shadow:inset 0 1px 0 rgba(255,255,255,.7)}
.declaration-box span{font-size:1rem;line-height:1.6;font-weight:600}
.repeat-list{display:grid;gap:14px;margin-top:16px}
.compact-card{padding:18px}
.nested{margin-top:18px}
.consent-row{margin-top:18px}
.message{padding:14px 16px;border-radius:12px;font-weight:600}
.message.success{background:#dcfce7;color:#166534}
.message.error{background:#fee2e2;color:#991b1b}
.hidden{display:none}.success-modal-overlay{position:fixed;inset:0;z-index:9999;display:flex;align-items:center;justify-content:center;background:rgba(0,0,0,.55);backdrop-filter:blur(4px)}.success-modal-overlay.hidden{display:none}.success-modal-box{background:#fff;border-radius:24px;padding:36px 32px;max-width:400px;width:90%;text-align:center;box-shadow:0 32px 80px rgba(0,0,0,.25);animation:fadeUp .3s ease both}.success-modal-icon{width:64px;height:64px;border-radius:50%;background:#dcfce7;color:#166534;font-size:2rem;line-height:64px;margin:0 auto 16px;font-weight:800}.success-modal-label{margin:0 0 20px;font-size:1rem;font-weight:700;color:#166534;text-transform:uppercase;letter-spacing:.06em}.success-modal-ref-label{margin:0 0 6px;font-size:.85rem;font-weight:600;color:#7c6f64;text-transform:uppercase;letter-spacing:.06em}.success-modal-ref-id{margin:0 0 10px;font-size:2.2rem;font-weight:900;color:#9a3412;letter-spacing:.04em;word-break:break-all}.success-modal-hint{margin:0 0 28px;font-size:.88rem;color:#7c6f64}.success-modal-actions{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}.aadhaar-status-badge,.epic-status-badge{display:block;margin-top:5px;font-size:.78rem;font-weight:600;padding:4px 10px;border-radius:8px}.aadhaar-status-badge.checking,.epic-status-badge.checking{background:#fef9c3;color:#713f12}.aadhaar-status-badge.duplicate,.epic-status-badge.duplicate{background:#fee2e2;color:#991b1b;border:1px solid #fecaca}.aadhaar-status-badge.valid,.epic-status-badge.valid{background:#dcfce7;color:#166534}.epic-status-badge.notfound{background:#fff7ed;color:#9a3412;border:1px solid #fed7aa}.member-age-error{margin:8px 0 4px;padding:10px 14px;border-radius:10px;font-size:.84rem;font-weight:600;background:#fee2e2;color:#991b1b;border:1px solid #fecaca}
.member-card{margin-top:16px;background:#fffaf5;padding-top:34px}
.table-wrap{overflow:auto}
table{width:100%;border-collapse:collapse}
th,td{text-align:left;padding:12px;border-bottom:1px solid #f3e2d3;vertical-align:top}
thead th{font-size:.85rem;text-transform:uppercase;letter-spacing:.04em;color:#7c6f64}
.stack{display:grid;gap:16px}
.stats-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:20px}
.stats-grid.compact{margin-top:16px;margin-bottom:16px}
.stat-card strong{display:block;font-size:2rem;color:#9a3412;line-height:1}
.stat-card span{display:block;margin-top:6px;color:#7c6f64}
.admin-form-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;align-items:end;margin:16px 0}
.admin-actions{display:flex;align-items:end}
.inline-form{display:flex;gap:8px;align-items:center}
.inline-form input{min-width:170px}
.inline-actions{display:flex;gap:8px;flex-wrap:wrap}
.card:hover,.member-card:hover,.stat-card:hover{transform:translateY(-2px);box-shadow:0 24px 52px rgba(120,53,15,.12);transition:transform .2s ease,box-shadow .2s ease}
@keyframes fadeUp{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
@media (max-width:960px){.page-header,.submit-bar,.section-heading,.header-actions,.sticky-wizard-bar{flex-direction:column}.grid.two,.grid.three,.grid.four,.checkbox-grid,.stats-grid,.admin-form-grid,.wizard-steps{grid-template-columns:1fr}.inline-form,.inline-actions,.sticky-actions{flex-direction:column;align-items:stretch}}
