@import "https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=Quicksand:wght@400;500;600;700&display=swap";:root{--ac-indigo-25:#f5f6ff;--ac-indigo-50:#eef0ff;--ac-indigo-100:#e0e4ff;--ac-indigo-200:#c7cdfe;--ac-indigo-300:#a4adfc;--ac-indigo-400:#8088f7;--ac-indigo-500:#6a71f0;--ac-indigo-600:#444ce7;--ac-indigo-700:#2748f2;--ac-indigo-800:#1a30a1;--ac-indigo-900:#0d1851;--ac-indigo-950:#0a1135;--ac-gray-0:#fff;--ac-gray-25:#fafaf9;--ac-gray-50:#f5f5f4;--ac-gray-100:#e7e5e4;--ac-gray-200:#d7d3d0;--ac-gray-300:#d7d3d0;--ac-gray-400:#a9a29d;--ac-gray-500:#79716b;--ac-gray-600:#79716b;--ac-gray-700:#57534e;--ac-gray-800:#44403c;--ac-gray-900:#44403c;--ac-gray-950:#44403c;--ac-green-50:#edfcf2;--ac-green-100:#aaf0c4;--ac-green-200:#73e2a3;--ac-green-300:#3ccb7f;--ac-green-400:#16b364;--ac-green-500:#16b364;--ac-green-600:#099250;--ac-green-700:#087443;--ac-yellow-50:#fae3c2;--ac-yellow-100:#fedf89;--ac-yellow-200:#fec84b;--ac-yellow-300:#f0af4c;--ac-yellow-400:#ed9a1c;--ac-yellow-500:#ed9a1c;--ac-yellow-600:#d97a0d;--ac-yellow-700:#cc630c;--ac-amber-50:var(--ac-yellow-50);--ac-amber-100:var(--ac-yellow-100);--ac-amber-500:var(--ac-yellow-500);--ac-amber-600:var(--ac-yellow-600);--ac-amber-700:var(--ac-yellow-700);--ac-purple-50:#d9d6fe;--ac-purple-100:#bdb4fe;--ac-purple-200:#9b8afb;--ac-purple-300:#7a5af8;--ac-purple-400:#6938ef;--ac-purple-500:#5925dc;--ac-purple-600:#4a1fb8;--ac-purple-700:#4a1fb8;--ac-red-50:#fef3f2;--ac-red-100:#fee4e2;--ac-red-500:#ff4405;--ac-red-600:#e33232;--ac-red-700:#b42318;--ac-tint-amber:var(--ac-yellow-50);--ac-tint-yellow:var(--ac-yellow-50);--ac-tint-green:var(--ac-green-50);--ac-tint-red:var(--ac-red-50);--ac-tint-indigo:#eef0ff;--ac-tint-violet:var(--ac-purple-50);--ac-tint-purple:var(--ac-purple-50);--ac-tint-pink:#ffe8f3;--color-bg-page:var(--ac-gray-50);--color-bg-surface:var(--ac-gray-0);--color-bg-subtle:var(--ac-gray-25);--color-bg-muted:var(--ac-gray-100);--color-bg-inverse:var(--ac-gray-900);--color-fg-primary:var(--ac-gray-900);--color-fg-secondary:var(--ac-gray-700);--color-fg-tertiary:var(--ac-gray-500);--color-fg-muted:var(--ac-gray-400);--color-fg-on-brand:var(--ac-gray-0);--color-fg-brand:var(--ac-indigo-700);--color-fg-link:var(--ac-indigo-700);--color-border-subtle:var(--ac-gray-100);--color-border-default:var(--ac-gray-200);--color-border-strong:var(--ac-gray-300);--color-border-brand:var(--ac-indigo-600);--color-action:var(--ac-indigo-700);--color-action-hover:var(--ac-indigo-800);--color-success:var(--ac-green-500);--color-warning:var(--ac-amber-500);--color-danger:var(--ac-red-600);--font-sans:"Inter", "Helvetica Neue", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-brand:"Quicksand", "Inter", sans-serif;--font-display:var(--font-brand);--font-mono:ui-monospace, "SF Mono", Menlo, monospace;--font-playful:var(--font-brand);--fw-regular:400;--fw-medium:500;--fw-semibold:600;--fw-bold:700;--fs-display-xl:40px;--fs-display-lg:36px;--fs-display-md:30px;--fs-display-sm:24px;--fs-title-lg:20px;--fs-title-md:18px;--fs-body-lg:16px;--fs-body-md:14px;--fs-body-sm:12px;--fs-micro:11px;--lh-tight:1.2;--lh-snug:1.3;--lh-normal:1.5;--radius-xs:2px;--radius-sm:4px;--radius-md:6px;--radius-lg:8px;--radius-xl:10px;--radius-2xl:12px;--radius-3xl:16px;--radius-pill:9999px;--shadow-xs:0 1px 2px 0 #1018280d;--shadow-sm:0 1px 3px 0 #1018281a, 0 1px 2px 0 #1018280f;--shadow-md:0 4px 8px -2px #1018281a, 0 2px 4px -2px #1018280f;--shadow-lg:0 12px 16px -4px #10182814, 0 4px 6px -2px #10182808;--shadow-xl:0 20px 24px -4px #10182814, 0 8px 8px -4px #10182808;--shadow-focus:0 0 0 4px #444ce740;--shadow-chunky:4px 4px 0 0 #2b2b2b;--space-0:0;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--space-10:40px;--space-12:48px;--space-16:64px}body{font-family:var(--font-sans);font-size:var(--fs-body-lg);line-height:var(--lh-normal);color:var(--color-fg-primary);background:var(--color-bg-page);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility}h1,.ac-h1{font-family:var(--font-sans);font-weight:var(--fw-semibold);font-size:var(--fs-display-sm);line-height:var(--lh-tight);letter-spacing:-.01em;color:var(--color-fg-primary)}h2,.ac-h2{font-weight:var(--fw-semibold);font-size:var(--fs-title-lg);line-height:var(--lh-snug);color:var(--color-fg-primary)}h3,.ac-h3{font-weight:var(--fw-semibold);font-size:var(--fs-title-md);line-height:var(--lh-snug);color:var(--color-fg-primary)}h4,.ac-h4{font-weight:var(--fw-semibold);font-size:var(--fs-body-lg);line-height:var(--lh-snug);color:var(--color-fg-primary)}p,.ac-p{font-size:var(--fs-body-lg);line-height:var(--lh-normal);color:var(--color-fg-secondary)}.ac-body-md,small,.ac-small{font-size:var(--fs-body-md);line-height:var(--lh-normal);color:var(--color-fg-secondary)}.ac-label{font-size:var(--fs-body-sm);font-weight:var(--fw-medium);line-height:var(--lh-snug);color:var(--color-fg-tertiary);letter-spacing:.01em}.ac-eyebrow{font-size:var(--fs-body-sm);font-weight:var(--fw-semibold);letter-spacing:.08em;text-transform:uppercase;color:var(--color-fg-brand)}code,.ac-code{font-family:var(--font-mono);background:var(--ac-gray-50);border-radius:var(--radius-sm);color:var(--color-fg-primary);padding:2px 6px;font-size:.92em}a{color:var(--color-fg-link);text-decoration:none}a:hover{text-decoration:underline}:root{--sidebar-w:232px;--ease-out:cubic-bezier(.22, 1, .36, 1);--z-sticky:10;--z-veil:40;--row-h:44px;--warn-ink:color-mix(in oklch, var(--ac-yellow-700) 72%, black)}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{font-size:var(--fs-body-md)}button,input,select{font:inherit;color:inherit}h1,p{margin:0}h1{text-wrap:balance}:focus-visible{box-shadow:var(--shadow-focus);outline:none}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.shell{grid-template-columns:var(--sidebar-w) 1fr;min-height:100%;display:grid}.sidebar{gap:var(--space-6);height:100vh;padding:var(--space-6) var(--space-4);background:var(--color-bg-surface);border-right:1px solid var(--color-border-subtle);flex-direction:column;display:flex;position:sticky;top:0}.brand{padding:0 var(--space-2);flex-direction:column;gap:6px;display:flex}.brand img{align-self:flex-start;width:auto;height:23px}.brand span{font-size:var(--fs-body-sm);font-weight:var(--fw-medium);color:var(--color-fg-tertiary);padding-left:1px}nav{flex-direction:column;gap:2px;display:flex}.nav-item{align-items:center;gap:var(--space-3);height:38px;padding:0 var(--space-3);border-radius:var(--radius-md);color:var(--color-fg-secondary);font-weight:var(--fw-medium);transition:background-color .1s,color .1s;display:flex}.nav-item:hover{text-decoration:none}.nav-item.is-active{color:var(--ac-indigo-700);background:var(--ac-indigo-25)}.nav-item[aria-disabled]{color:var(--color-fg-muted);cursor:default}.soon{font-size:var(--fs-micro);font-weight:var(--fw-medium);border-radius:var(--radius-pill);background:var(--ac-gray-50);color:var(--color-fg-tertiary);margin-left:auto;padding:1px 8px}.sidebar-foot{gap:var(--space-3);flex-direction:column;margin-top:auto;display:flex}.lock-btn{height:36px;font-weight:var(--fw-medium);justify-content:flex-start}.sidebar-note{padding:0 var(--space-2);font-size:var(--fs-body-sm);color:var(--color-fg-tertiary);line-height:var(--lh-normal)}.main{min-width:0;height:100vh;padding:var(--space-8) var(--space-8) var(--space-12);gap:var(--space-6);flex-direction:column;display:flex;position:relative;overflow-y:auto}.page-head{justify-content:space-between;align-items:flex-end;gap:var(--space-6);flex-wrap:wrap;display:flex}.page-head h1{font-size:var(--fs-display-sm)}.page-head p{margin-top:var(--space-2);font-size:var(--fs-body-md);color:var(--color-fg-secondary);max-width:62ch}.head-actions{align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.saved{font-size:var(--fs-body-sm);color:var(--color-fg-tertiary);margin-right:var(--space-1);align-items:center;gap:6px;display:inline-flex}.saved svg{color:var(--ac-green-600)}.btn{justify-content:center;align-items:center;gap:var(--space-2);height:40px;padding:0 var(--space-4);border-radius:var(--radius-lg);font-weight:var(--fw-semibold);font-size:var(--fs-body-md);cursor:pointer;white-space:nowrap;transition:background-color .15s var(--ease-out), border-color .15s, color .15s;border:1px solid #0000;display:inline-flex}.btn:disabled{cursor:not-allowed;opacity:.45}.btn-primary{background:var(--color-action);color:var(--color-fg-on-brand)}.btn-primary:not(:disabled):hover{background:var(--color-action-hover)}.btn-secondary{background:var(--color-bg-surface);border-color:var(--color-border-default);color:var(--color-fg-primary)}.btn-secondary:not(:disabled):hover{background:var(--ac-gray-25)}.btn-ghost{color:var(--color-fg-secondary);padding:0 var(--space-3);background:0 0}.btn-ghost:hover{background:var(--ac-gray-100)}.icon-btn{border-radius:var(--radius-pill);width:30px;height:30px;color:var(--color-fg-tertiary);cursor:pointer;background:0 0;border:0;flex:none;place-items:center;transition:background-color .12s,color .12s;display:inline-grid}.icon-btn:hover{background:var(--ac-gray-100);color:var(--color-fg-primary)}.icon-btn.danger:hover{background:var(--ac-red-50);color:var(--ac-red-700)}.link{color:var(--color-fg-link);font-weight:var(--fw-medium);cursor:pointer;background:0 0;border:0;padding:0}.link:hover{text-decoration:underline}.toast-slot:empty{display:none}.toast{align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-2) var(--space-2) var(--space-4);border-radius:var(--radius-xl);min-height:48px;font-weight:var(--fw-medium);animation:rise .2s var(--ease-out);border:1px solid #0000;display:flex}.toast>span{flex:1;min-width:0}.toast.is-success{background:var(--ac-green-50);color:var(--ac-green-700)}.toast.is-error{background:var(--ac-red-50);color:var(--ac-red-700);border-color:var(--ac-red-100)}.toast.is-info{background:var(--color-bg-surface);color:var(--color-fg-primary);border-color:var(--color-border-default);box-shadow:var(--shadow-sm)}.toast.is-info>svg{color:var(--color-fg-tertiary)}.toast .icon-btn{color:inherit}.btn-sm{height:32px;padding:0 var(--space-3);font-size:var(--fs-body-sm);border-radius:var(--radius-md)}.drop{align-items:center;gap:var(--space-4);padding:var(--space-3);background:var(--color-bg-surface);border:1px solid var(--color-border-subtle);border-radius:var(--radius-xl);flex-wrap:wrap;display:flex}.drop-target{align-items:center;gap:var(--space-3);text-align:left;padding:var(--space-2) var(--space-4) var(--space-2) var(--space-2);border:1px dashed var(--color-border-default);border-radius:var(--radius-lg);background:var(--ac-gray-25);cursor:pointer;transition:border-color .15s,background-color .15s;display:flex}.drop-target:hover,.is-dragging .drop-target{border-color:var(--ac-indigo-400);background:var(--ac-indigo-25)}.drop-icon{border-radius:var(--radius-lg);background:var(--ac-indigo-50);width:40px;height:40px;color:var(--ac-indigo-700);flex:none;place-items:center;display:grid}.drop-copy{flex-direction:column;gap:2px;display:flex}.drop-copy strong{font-weight:var(--fw-semibold);color:var(--color-fg-primary)}.drop-copy span{font-size:var(--fs-body-sm);color:var(--color-fg-tertiary)}.drop-hero{padding:var(--space-4);align-items:stretch;gap:var(--space-4);flex-direction:column}.drop-hero .drop-target{text-align:center;justify-content:center;gap:var(--space-4);min-height:280px;padding:var(--space-10);flex-direction:column}.drop-hero .drop-icon{border-radius:var(--radius-2xl);width:64px;height:64px}.drop-hero .drop-copy{align-items:center;gap:var(--space-2)}.drop-hero .drop-copy strong{font-size:var(--fs-title-lg)}.drop-hero .drop-copy span{font-size:var(--fs-body-md);color:var(--color-fg-secondary)}.hero-foot{justify-content:space-between;align-items:center;gap:var(--space-4);padding:0 var(--space-2);flex-wrap:wrap;display:flex}.hero-foot p{align-items:center;gap:var(--space-2);font-size:var(--fs-body-sm);color:var(--color-fg-secondary);display:flex}.hero-foot p svg{color:var(--ac-purple-400)}.files{gap:var(--space-2);flex-wrap:wrap;flex:1;min-width:0;margin:0;padding:0;list-style:none;display:flex}.file{align-items:center;gap:var(--space-2);height:36px;padding:0 var(--space-1) 0 var(--space-3);border:1px solid var(--color-border-subtle);border-radius:var(--radius-pill);background:var(--color-bg-surface);max-width:100%;animation:rise .2s var(--ease-out);display:flex}.file-type{color:var(--color-fg-tertiary);flex:none}.file-name{font-weight:var(--fw-medium);color:var(--color-fg-primary);text-overflow:ellipsis;white-space:nowrap;max-width:220px;overflow:hidden}.file-state{font-size:var(--fs-body-sm);color:var(--color-fg-tertiary);min-width:0;padding-right:var(--space-2);align-items:center;gap:4px;display:inline-flex}.file.is-reading{border-color:var(--ac-indigo-100);background:var(--ac-indigo-25)}.file.is-reading .file-state{color:var(--ac-indigo-700)}.file.is-done .file-state{color:var(--ac-green-700)}.file-skipped{color:var(--color-fg-tertiary)}.file.is-error{border-color:var(--ac-red-100);background:var(--ac-red-50)}.file.is-error .file-state{color:var(--ac-red-700);padding-right:0}.file-error{text-overflow:ellipsis;white-space:nowrap;max-width:260px;overflow:hidden}.spin{animation:.9s linear infinite spin}.sheet{background:var(--color-bg-surface);border:1px solid var(--color-border-subtle);border-radius:var(--radius-xl);flex-direction:column;flex:1 0 320px;min-height:320px;display:flex;overflow:hidden}.toolbar{justify-content:space-between;align-items:center;gap:var(--space-4) var(--space-6);padding:var(--space-4) var(--space-5);border-bottom:1px solid var(--color-border-subtle);flex-wrap:wrap;display:flex}.progress{gap:var(--space-2);flex-direction:column;flex:1;min-width:240px;max-width:420px;display:flex}.progress-label{align-items:baseline;gap:var(--space-2);color:var(--color-fg-secondary);flex-wrap:wrap;display:flex}.progress-label strong{color:var(--color-fg-primary);font-weight:var(--fw-semibold);font-variant-numeric:tabular-nums}.progress-issues{color:var(--warn-ink);font-size:var(--fs-body-sm);font-weight:var(--fw-medium)}.progress-issues:before{content:"·";margin-right:var(--space-2);color:var(--color-fg-muted)}.bar{border-radius:var(--radius-pill);background:var(--ac-gray-100);height:6px;overflow:hidden}.bar span{background:var(--ac-green-400);transform-origin:0;height:100%;transition:transform .3s var(--ease-out);display:block}.toolbar-actions{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.segmented{border-radius:var(--radius-lg);background:var(--ac-gray-50);border:1px solid var(--color-border-subtle);margin-right:var(--space-2);padding:3px;display:inline-flex}.segmented button{height:32px;padding:0 var(--space-3);border-radius:var(--radius-md);color:var(--color-fg-secondary);font-weight:var(--fw-medium);cursor:pointer;background:0 0;border:0;align-items:center;gap:6px;transition:background-color .12s,color .12s;display:inline-flex}.segmented button span{font-size:var(--fs-body-sm);color:var(--color-fg-tertiary);font-variant-numeric:tabular-nums}.segmented button[aria-pressed=true]{background:var(--color-bg-surface);color:var(--ac-indigo-700);box-shadow:var(--shadow-sm)}.segmented button[aria-pressed=true] span{color:var(--ac-indigo-600)}.segmented button[aria-pressed=false]:hover{color:var(--color-fg-primary)}.table-wrap{flex:1;min-height:0;overflow:auto}table{border-collapse:separate;border-spacing:0;table-layout:fixed;width:100%;min-width:1100px}.col-dob{width:12.5%}.col-role{width:9%}.col-gender{width:11%}.col-phone{width:15%}.col-email{width:16%}thead th{z-index:var(--z-sticky);background:var(--ac-gray-25);text-align:left;white-space:nowrap;font-size:var(--fs-body-sm);font-weight:var(--fw-semibold);color:var(--color-fg-secondary);padding:0 var(--space-3);border-bottom:1px solid var(--color-border-subtle);position:sticky}thead tr.groups th{height:30px;color:var(--color-fg-tertiary);font-weight:var(--fw-medium);border-bottom:0;top:0}thead tr:not(.groups) th{height:36px;top:30px}th.group-parent,td.cell:nth-child(6){border-left:1px solid var(--color-border-subtle)}tbody tr{animation:rise .22s var(--ease-out)}tbody td{border-bottom:1px solid var(--color-border-subtle);vertical-align:top;height:var(--row-h);padding:0}tbody tr:hover td{background:var(--ac-gray-25)}tbody tr:last-child td{border-bottom:0}td.status{text-align:center;padding-top:12px}.ok{color:var(--ac-green-500)}.issue-count{border-radius:var(--radius-pill);background:var(--ac-yellow-50);min-width:20px;height:20px;color:var(--warn-ink);font-size:var(--fs-micro);font-weight:var(--fw-semibold);font-variant-numeric:tabular-nums;place-items:center;padding:0 5px;display:inline-grid}.cell{position:relative}.cell input,.cell select{width:100%;height:var(--row-h);padding:0 var(--space-3);color:var(--color-fg-primary);font-size:var(--fs-body-md);text-overflow:ellipsis;background:0 0;border:0;border-radius:0;display:block}.cell select{appearance:none;cursor:pointer;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='none' stroke='%2379716B' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m4 6 4 4 4-4'/%3E%3C/svg%3E") right 10px center no-repeat;padding-right:28px}.cell input::placeholder{color:var(--ac-gray-500)}.cell input:hover,.cell select:hover{box-shadow:inset 0 0 0 1px var(--color-border-default)}.cell input:focus,.cell select:focus{background-color:var(--color-bg-surface);box-shadow:inset 0 0 0 2px var(--ac-indigo-600);z-index:1;outline:none;position:relative}.cell.is-missing input,.cell.is-missing select{background-color:color-mix(in oklch, var(--ac-yellow-50) 55%, white)}.cell.is-missing input::placeholder,.cell.is-missing select{color:var(--warn-ink)}.cell.is-invalid input,.cell.is-invalid select{background-color:var(--ac-red-50);color:var(--ac-red-700);padding-bottom:14px}.cell-msg{left:var(--space-3);right:var(--space-2);color:var(--ac-red-700);pointer-events:none;text-overflow:ellipsis;white-space:nowrap;font-size:10.5px;line-height:1.2;position:absolute;bottom:5px;overflow:hidden}.date-cell{display:block;position:relative}.cell input[type=date]{padding-right:var(--space-2);cursor:pointer;font-variant-numeric:tabular-nums}.cell input[type=date]::-webkit-calendar-picker-indicator{opacity:.45;cursor:pointer}.cell input[type=date]:not(:focus):invalid,.cell.is-missing input[type=date]:not(:focus){color:var(--warn-ink)}.phone-cell{height:var(--row-h);align-items:stretch;display:flex}.dial{padding:0 6px 0 var(--space-3);color:var(--color-fg-secondary);font-variant-numeric:tabular-nums;font-size:var(--fs-body-sm);font-weight:var(--fw-medium);flex:none;align-items:center;gap:2px;display:flex;position:relative}.dial:after{content:"";opacity:.6;border:3.5px solid #0000;border-top-color:currentColor;width:0;height:0;margin-left:3px;transform:translateY(2px)}.cell .dial select{opacity:0;cursor:pointer;background:0 0;width:100%;height:100%;padding:0;position:absolute;inset:0}.dial:hover{color:var(--color-fg-primary)}.dial:has(select:focus-visible){box-shadow:inset 0 0 0 2px var(--ac-indigo-600);border-radius:var(--radius-sm)}.phone-cell input{flex:1;min-width:0;padding-left:4px!important}.cell.is-invalid .phone-cell input,.cell.is-invalid .phone-cell{background-color:var(--ac-red-50)}.cell.is-missing .phone-cell{background-color:color-mix(in oklch, var(--ac-yellow-50) 55%, white)}.row-actions{white-space:nowrap;text-align:right;padding:7px var(--space-2) 0!important}.row-actions .icon-btn{opacity:.55}tr:hover .row-actions .icon-btn,.row-actions .icon-btn:focus-visible{opacity:1}.skeleton td{animation:none}.skeleton td span{height:10px;margin:17px var(--space-3);border-radius:var(--radius-pill);background:linear-gradient(90deg, var(--ac-gray-100), var(--ac-gray-50), var(--ac-gray-100));background-size:200% 100%;animation:1.4s linear infinite shimmer;display:block}.table-empty{align-items:center;gap:var(--space-2);padding:var(--space-10);color:var(--ac-green-700);font-weight:var(--fw-medium);flex-wrap:wrap;justify-content:center;display:flex}.drag-veil{inset:0 0 0 var(--sidebar-w);z-index:var(--z-veil);place-content:center;justify-items:center;gap:var(--space-3);background:color-mix(in oklch, var(--ac-indigo-25) 88%, transparent);border:2px dashed var(--ac-indigo-400);border-radius:var(--radius-2xl);margin:var(--space-3);color:var(--ac-indigo-700);font-weight:var(--fw-semibold);font-size:var(--fs-title-md);pointer-events:none;animation:fade .15s var(--ease-out);display:grid;position:fixed}.gate{min-height:100vh;padding:var(--space-6) var(--space-4);background:var(--color-bg-page);place-items:center;display:grid}.gate-card{text-align:center;width:100%;max-width:400px;padding:var(--space-10) var(--space-8) var(--space-8);background:var(--color-bg-surface);border:1px solid var(--color-border-subtle);border-radius:var(--radius-3xl);box-shadow:var(--shadow-xl);animation:rise .25s var(--ease-out);flex-direction:column;align-items:center;display:flex}.gate-logo{width:auto;height:23px;margin-bottom:var(--space-8)}.gate-icon{border-radius:var(--radius-2xl);background:var(--ac-indigo-50);width:48px;height:48px;color:var(--ac-indigo-700);margin-bottom:var(--space-4);place-items:center;display:grid}.gate-card h1{font-size:var(--fs-title-lg)}.gate-card>p{margin-top:var(--space-2);font-size:var(--fs-body-md);color:var(--color-fg-secondary);text-wrap:pretty;max-width:32ch}.gate-code{margin-top:var(--space-6);text-align:center;width:100%;height:60px;font-family:var(--font-mono);font-variant-numeric:tabular-nums;letter-spacing:.45em;text-indent:.45em;border:1px solid var(--color-border-default);border-radius:var(--radius-xl);background:var(--color-bg-surface);color:var(--color-fg-primary);font-size:28px;transition:border-color .15s,box-shadow .15s}.gate-code::placeholder{color:var(--ac-gray-200)}.gate-code:focus{border-color:var(--ac-indigo-600);box-shadow:var(--shadow-focus);outline:none}.gate-code.is-invalid{border-color:var(--ac-red-600);animation:nudge .3s var(--ease-out)}.gate-code:disabled{background:var(--ac-gray-25)}.gate-card .gate-msg{min-height:20px;margin-top:var(--space-2);font-size:var(--fs-body-sm);font-weight:var(--fw-medium);color:var(--ac-red-700)}.gate-btn{width:100%;margin-top:var(--space-2);height:44px}@keyframes nudge{25%{transform:translate(-4px)}75%{transform:translate(4px)}}@keyframes rise{0%{opacity:0;transform:translateY(4px)}}@keyframes fade{0%{opacity:0}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes shimmer{to{background-position:-200% 0}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:1ms!important;animation-duration:1ms!important;animation-iteration-count:1!important}}.sheet-hint{padding:var(--space-2) var(--space-5);border-top:1px solid var(--color-border-subtle);font-size:var(--fs-body-sm);color:var(--color-fg-tertiary);background:var(--ac-gray-25)}@media (pointer:coarse){.icon-btn{width:44px;height:44px}.row-actions .icon-btn{opacity:1}.sheet-hint{display:none}}@media (width<=900px){.shell{grid-template-columns:1fr}.sidebar{align-items:center;gap:var(--space-4);height:auto;padding:var(--space-3) var(--space-4);border-right:0;border-bottom:1px solid var(--color-border-subtle);flex-flow:wrap;position:static}nav{flex-direction:row;overflow-x:auto}.nav-item{height:34px}.nav-item[aria-disabled]{display:none}.sidebar-foot{margin-left:auto}.sidebar-note{display:none}.main{height:auto;padding:var(--space-5) var(--space-4) var(--space-10);overflow:visible}.drag-veil{inset:0}.drop-hero .drop-target{min-height:200px;padding:var(--space-6)}.sheet{flex:none}.table-wrap{max-height:70vh}}.review{padding:var(--space-3) var(--space-5) var(--space-4);border-bottom:1px solid var(--color-border-subtle);background:var(--ac-gray-25);max-height:30vh;overflow-y:auto}.review h2{align-items:center;gap:var(--space-2);margin:0 0 var(--space-2);font-size:var(--fs-body-sm);font-weight:var(--fw-semibold);color:var(--warn-ink);display:flex}.review ul{gap:var(--space-2);margin:0;padding:0;list-style:none;display:grid}.review li{justify-content:space-between;align-items:center;gap:var(--space-2) var(--space-4);padding:var(--space-3);border:1px solid var(--color-border-subtle);border-radius:var(--radius-lg);background:var(--color-bg-surface);flex-wrap:wrap;display:flex}.review p{color:var(--color-fg-secondary);font-size:var(--fs-body-sm);max-width:65ch;margin:0}.review strong{color:var(--color-fg-primary);font-weight:var(--fw-semibold)}.review-actions{gap:var(--space-2);flex-wrap:wrap;display:flex}.status .flag{color:var(--ac-yellow-600)}
