:root{--gray-50:#f9fafb;--gray-100:#f3f4f6;--gray-200:#e5e7eb;--gray-300:#d1d5db;--gray-400:#9ca3af;--gray-500:#6b7280;--gray-600:#4b5563;--gray-700:#374151;--gray-800:#1f2937;--gray-900:#111827;--amber-50:#fffbeb;--amber-800:#92400e;--green-50:#f0fdf4;--green-700:#15803d;--red-50:#fef2f2;--red-600:#dc2626;--red-700:#b91c1c;--blue-50:#eff6ff;--blue-700:#1d4ed8;--shadow-sm:0 1px 2px 0 #0000000d;--shadow-md:0 4px 6px -1px #0000001a, 0 2px 4px -2px #0000001a;--radius-sm:6px;--radius-md:8px;--radius-lg:12px}*{box-sizing:border-box}html{height:100%}body{min-height:100%;color:var(--gray-900);background:var(--gray-50);-webkit-font-smoothing:antialiased;margin:0;font:15px/1.5 ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Helvetica Neue,sans-serif}a{color:var(--gray-900);text-underline-offset:2px;text-decoration-thickness:1px}a:hover{color:var(--gray-700)}header.app{z-index:20;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid var(--gray-200);background:#ffffffd9;position:sticky;top:0}header.app .bar{flex-wrap:wrap;align-items:center;gap:.5rem 1.5rem;max-width:64rem;margin:0 auto;padding:.75rem 1rem;display:flex}header.app .brand{color:var(--gray-900);letter-spacing:-.01em;align-items:center;gap:.4rem;font-weight:600;text-decoration:none;display:inline-flex}header.app .brand svg{width:18px;height:18px}header.app nav a{align-items:center;gap:.35rem;display:inline-flex}header.app nav svg,header.app .who svg{width:15px;height:15px}.icon{vertical-align:-.15em;flex:none;width:1em;height:1em}button svg,.button svg{flex:none;width:1em;height:1em}.badge svg{width:.9em;height:.9em}header.app nav{flex:1;align-items:center;gap:1rem;font-size:.9rem;display:flex}header.app nav a{color:var(--gray-500);padding:.25rem 0;text-decoration:none}header.app nav a:hover{color:var(--gray-900)}header.app nav a[aria-current=page]{color:var(--gray-900);font-weight:500}header.app .who{color:var(--gray-500);align-items:center;gap:.75rem;font-size:.9rem;display:flex}header.app .who form{margin:0}header.app .who .name{align-items:center;gap:.35rem;display:inline-flex}@media (width<=640px){header.app .bar{flex-wrap:nowrap;gap:.75rem;padding:.6rem 1rem}header.app nav{gap:.75rem}header.app .who{margin-left:auto}header.app .who .name{display:none}}main{max-width:64rem;margin:0 auto;padding:2rem 1rem 5rem}main.narrow{max-width:26rem;padding-top:3rem}@media (width>=640px){main{padding:3rem 1.5rem 6rem}header.app .bar{padding-left:1.5rem;padding-right:1.5rem}}h1{letter-spacing:-.02em;margin:0 0 1rem;font-size:1.75rem;font-weight:700;line-height:1.2}h2{letter-spacing:-.01em;margin:1.75rem 0 .75rem;font-size:1.05rem;font-weight:600}h3{margin:1.25rem 0 .5rem;font-size:.95rem;font-weight:600}p{margin:.5rem 0}.muted{color:var(--gray-500)}.lead{color:var(--gray-600);font-size:1.05rem}.panel{border:1px solid var(--gray-200);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);background:#fff;margin-bottom:1.25rem;padding:1.25rem}@media (width>=640px){.panel{padding:1.5rem}}.panel>h2:first-child{margin-top:0}label{color:var(--gray-700);margin:.85rem 0 .35rem;font-size:.875rem;font-weight:500;display:block}input[type=text],input[type=email],input[type=password],input[type=tel],input[type=date],select,textarea{border:1px solid var(--gray-300);border-radius:var(--radius-sm);width:100%;font:inherit;color:var(--gray-900);background:#fff;padding:.5rem .7rem;font-size:.95rem}input:focus-visible,select:focus-visible,textarea:focus-visible,button:focus-visible,a:focus-visible{outline:2px solid var(--gray-900);outline-offset:2px}input::placeholder,textarea::placeholder{color:var(--gray-400)}.hint{color:var(--gray-500);margin:.25rem 0 0;font-size:.8rem}button,.button{border-radius:var(--radius-sm);border:1px solid var(--gray-900);background:var(--gray-900);color:#fff;font:inherit;cursor:pointer;justify-content:center;align-items:center;gap:.4rem;margin-top:1rem;padding:.5rem 1rem;font-size:.9rem;font-weight:500;text-decoration:none;transition:background-color .12s,color .12s;display:inline-flex}button:hover,.button:hover{background:var(--gray-700);border-color:var(--gray-700);color:#fff}button:active,.button:active{background:var(--gray-800)}button:disabled{opacity:.5;pointer-events:none}button.secondary,.button.secondary{color:var(--gray-700);border-color:var(--gray-300);background:#fff}button.secondary:hover,.button.secondary:hover{background:var(--gray-50);color:var(--gray-900);border-color:var(--gray-300)}button.danger{color:var(--red-700);border-color:var(--gray-300);background:#fff}button.danger:hover{background:var(--red-50);border-color:var(--red-600);color:var(--red-700)}button.inline,.button.inline{margin:0;padding:.3rem .65rem;font-size:.8rem}button.link{color:var(--gray-500);background:0 0;border:none;margin:0;padding:0;font-weight:400}button.link:hover{color:var(--gray-900);background:0 0}.notice,.error{border-radius:var(--radius-sm);align-items:flex-start;gap:.5rem;margin:.75rem 0 1rem;padding:.6rem .85rem;font-size:.9rem;display:flex}.notice{background:var(--blue-50);color:var(--blue-700)}.notice.ok{background:var(--green-50);color:var(--green-700)}.notice.warn{background:var(--amber-50);color:var(--amber-800)}.error{background:var(--red-50);color:var(--red-700)}td .error,td .notice{margin:.35rem 0 0;padding:.35rem .6rem;font-size:.8rem}table{border-collapse:collapse;width:100%;font-size:.9rem}th,td{text-align:left;border-bottom:1px solid var(--gray-100);vertical-align:top;padding:.65rem .5rem}th{text-transform:uppercase;letter-spacing:.06em;color:var(--gray-500);font-size:.72rem;font-weight:500}tbody tr:last-child td{border-bottom:none}th:first-child,td:first-child{padding-left:0}th:last-child,td:last-child{padding-right:0}code{background:var(--gray-100);color:var(--gray-700);border-radius:4px;padding:.1em .35em;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.82em}.badge{background:var(--gray-100);color:var(--gray-700);white-space:nowrap;border-radius:999px;align-items:center;gap:.3rem;padding:.1rem .6rem;font-size:.72rem;font-weight:500;display:inline-flex}.badge.ok{color:var(--green-700);background:#dcfce7}.badge.warn{color:var(--amber-800);background:#fef3c7}.badge.danger{background:var(--red-50);color:var(--red-700)}.row{flex-wrap:wrap;gap:1rem;display:flex}.row>*{flex:14rem}form.inline-form{display:inline}form.decide input[type=text]{padding:.35rem .5rem;font-size:.82rem}.requirement-card{border:1px solid var(--gray-200);border-radius:var(--radius-md);background:#fff;margin-bottom:.9rem;padding:1rem 1.1rem}.requirement-card h3{letter-spacing:-.01em;margin:0 0 .2rem;font-size:1rem}.category-heading{text-transform:uppercase;letter-spacing:.08em;color:var(--gray-500);margin:1.5rem 0 .6rem;font-size:.72rem;font-weight:500}.progress{background:var(--gray-200);border-radius:999px;height:8px;margin:.5rem 0 1.25rem;overflow:hidden}.progress>div{background:var(--gray-900);border-radius:999px;height:100%;transition:width .3s}.upload-queue{gap:.5rem;margin:.5rem 0;padding:0;list-style:none;display:grid}.upload-queue li{align-items:center;gap:.75rem;display:flex}.upload-queue img{object-fit:cover;border-radius:var(--radius-sm);border:1px solid var(--gray-200);width:56px;height:56px}.upload-queue .name{text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:.9rem;overflow:hidden}.dropzone{text-align:center;background:var(--gray-50);width:100%;color:var(--gray-600);border:1.5px dashed var(--gray-300);border-radius:var(--radius-md);flex-direction:column;align-items:center;gap:.25rem;margin:0 0 .25rem;padding:1.25rem 1rem;font-weight:400;display:flex}.dropzone svg{width:24px;height:24px;color:var(--gray-400);margin-bottom:.15rem}.dropzone strong{color:var(--gray-900);font-size:.95rem;font-weight:500}.dropzone span{color:var(--gray-500);font-size:.8rem}.dropzone:hover,.dropzone.dragging{background:var(--gray-100);border-color:var(--gray-500);color:var(--gray-600)}.upload-queue .meta{color:var(--green-700);align-items:center;gap:.25rem;font-size:.78rem;display:flex}.upload-queue .meta svg{width:.9em;height:.9em}.upload-widget .trust{align-items:center;gap:.3rem;display:flex}.upload-actions{flex-wrap:wrap;gap:.5rem;display:flex}.upload-actions button{margin-top:.5rem}main.narrow{padding-top:2rem}main.narrow .panel{box-shadow:none;text-align:center;background:0 0;border:none;padding:0}main.narrow h1{margin-bottom:.5rem;font-size:1.6rem}main.narrow .panel>p{color:var(--gray-600)}main.narrow form{text-align:left;margin-top:1.5rem}main.narrow label{margin-top:1rem}main.narrow input[type=text],main.narrow input[type=email],main.narrow input[type=password]{padding:.7rem .85rem;font-size:1rem}main.narrow form button[type=submit]:not(.link){width:100%;margin-top:1.25rem;padding:.7rem 1rem;font-size:.95rem}main.narrow .error,main.narrow .notice{text-align:left}main.narrow .secondary-actions{color:var(--gray-500);justify-content:center;align-items:center;gap:.6rem;margin-top:1rem;font-size:.9rem;display:flex}main.narrow .secondary-actions form{margin:0}main.narrow .secondary-actions a,main.narrow .secondary-actions button.link{color:var(--gray-600);font-size:inherit;text-decoration:none}main.narrow .secondary-actions a:hover,main.narrow .secondary-actions button.link:hover{color:var(--gray-900);text-decoration:underline}input.code-input{text-align:center;letter-spacing:.5em;padding:.7rem .5rem .7rem 1rem;font:600 1.75rem/1.2 ui-monospace,SFMono-Regular,Menlo,monospace}.brand-mark{border-radius:var(--radius-lg);background:var(--gray-900);color:#fff;justify-content:center;align-items:center;width:2.5rem;height:2.5rem;display:inline-flex}.brand-mark svg{width:1.3rem;height:1.3rem}button.is-busy,.button.is-busy{opacity:.55;cursor:progress;pointer-events:none}#toasts{z-index:50;pointer-events:none;gap:.5rem;width:min(26rem,100vw - 2rem);display:grid;position:fixed;bottom:1rem;left:50%;transform:translate(-50%)}.toast{pointer-events:auto;border-radius:var(--radius-md);background:var(--gray-900);color:#fff;box-shadow:var(--shadow-md);align-items:flex-start;gap:.6rem;padding:.7rem .9rem;font-size:.9rem;animation:.16s ease-out toast-in;display:flex}.toast.error{background:var(--red-700)}.toast span{flex:1}.toast button{color:inherit;opacity:.7;background:0 0;border:none;margin:0;padding:0;font-size:1rem;line-height:1}.toast button:hover{opacity:1;background:0 0}@keyframes toast-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.empty{text-align:center;color:var(--gray-500);padding:2rem 1rem}.empty svg{width:28px;height:28px;color:var(--gray-400);margin-bottom:.5rem}.empty p{margin:.25rem 0}.empty strong{color:var(--gray-900);display:block}.table-wrap{overflow-x:auto}.party-group{margin:0 0 .25rem}.party-group>summary{cursor:pointer;border-bottom:1px solid var(--gray-200);align-items:center;gap:.5rem;padding:.6rem 0;font-weight:600;list-style:none;display:flex}.party-group>summary::-webkit-details-marker{display:none}.party-group>summary .chev{color:var(--gray-400);width:16px;height:16px;transition:transform .15s}.party-group[open]>summary .chev{transform:rotate(90deg)}.party-group>summary .count{color:var(--gray-500);margin-left:auto;font-size:.85rem;font-weight:400}.req-list{margin:0;padding:0;list-style:none}.req{border-bottom:1px solid var(--gray-100);flex-wrap:wrap;align-items:center;gap:.4rem .75rem;padding:.65rem 0;display:flex}.req:last-child{border-bottom:none}.req-main{overflow-wrap:anywhere;flex:14rem;min-width:0}.req-actions{flex-wrap:wrap;align-items:center;gap:.4rem;margin-left:auto;display:flex}.req-actions form{flex-wrap:wrap;align-items:center;gap:.35rem;margin:0;display:flex}.req-actions input[type=text]{width:11rem;max-width:100%;padding:.35rem .5rem;font-size:.82rem}@media (width<=640px){.req-actions:has(form.decide){width:100%;margin-left:0}.req-actions form.decide{width:100%}.req-actions form.decide input[type=text]{flex:100%;width:auto}th,td{padding:.5rem .3rem}h1{font-size:1.5rem}}@keyframes spin{to{transform:rotate(360deg)}}.spin{animation:1s linear infinite spin}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}}
