:root{--color-primary: #1e3a5f;--color-on-primary: #ffffff;--color-secondary: #2563eb;--color-accent: #059669;--color-background: #e9f1fa;--color-foreground: #0f172a;--color-card: #ffffff;--color-muted: #f1f3f5;--color-muted-foreground: #475569;--color-border: #e4e7eb;--color-destructive: #dc2626;--color-on-destructive: #ffffff;--color-ring: #1e3a5f;--ground: var(--color-background);--surface: var(--color-card);--recess: var(--color-muted);--ink: var(--color-foreground);--muted: var(--color-muted-foreground);--hairline: var(--color-border);--button-edge: #7b8ba0;--field-edge: #7b8ba0;--primary: var(--color-primary);--primary-hover: #2a4d7c;--primary-text: var(--color-on-primary);--accent-tint: #e8eef6;--accent-tint-ink: var(--color-primary);--focus-ring: 0 0 0 4px rgb(30 58 95 / .28);--danger-fill: var(--color-destructive);--danger-fill-hover: #b91c1c;--danger-text: var(--color-on-destructive);--danger-ink: #b91c1c;--gold: #d4971f;--gold-light: #f0b43f;--page-head-bg: #dbe6f4;--page-head-edge: #bfd2e9;--dialog-head-start: #fbeccb;--dialog-head-end: #dbe9fa;--header-start: #fdf4de;--header-end: #f2d99c;--header-edge: #e0bd6e;--header-hover: #e9ca85;--cool-bg: #e0f2fe;--cool-bg-hover: #bae6fd;--cool-ink: #075985;--cool-edge: #0284c7;--install-bg: #047857;--install-bg-hover: #065f46;--gold-dark: #8a5f0c;--gold-dark-hover: #704c08;--pdf-red: #f05252;--solid-bg: #0f172a;--solid-text: #ffffff;--ok-dot: #10b981;--ok-bg: #ecfdf5;--ok-ink: #047857;--bad-dot: #f43f5e;--bad-bg: #fff1f2;--bad-ink: #be123c;--warn-dot: #f59e0b;--warn-bg: #fffbeb;--warn-ink: #b45309;--info-dot: #06b6d4;--info-bg: #ecfeff;--info-ink: #0e7490;--draft-dot: #0ea5e9;--draft-bg: #f0f9ff;--draft-ink: #0369a1;--attn-dot: #8b5cf6;--attn-bg: #f5f3ff;--attn-ink: #6d28d9;--font-heading: "Poppins", "Open Sans", system-ui, -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--font: "Open Sans", system-ui, -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--text-2xs: .6875rem;--text-xs: .75rem;--text-sm: .8125rem;--text: .875rem;--text-md: .9375rem;--text-large: 1.0625rem;--text-field: 1rem;--heading: 1.375rem;--display: 1.0625rem;--display-large: 1.25rem;--weight-body: 400;--weight-strong: 600;--weight-head: 600;--tracking-head: -.01em;--leading: 1.5;--space-xs: .125rem;--space-sm: .25rem;--space-md: .5rem;--space-lg: .75rem;--space-xl: 1rem;--space-2xl: 1.5rem;--space-3xl: 2rem;--space-1: var(--space-sm);--space-2: var(--space-md);--space-3: var(--space-lg);--space-4: var(--space-xl);--space-5: var(--space-2xl);--space-6: var(--space-3xl);--space-7: 3rem;--radius-sm: 8px;--radius: 12px;--radius-lg: 16px;--radius-pill: 999px;--shadow-sm: 0 1px 2px rgb(0 0 0 / .05);--shadow-md: 0 4px 6px rgb(0 0 0 / .1);--shadow-lg: 0 10px 15px rgb(0 0 0 / .1);--shadow-xl: 0 20px 25px rgb(0 0 0 / .15);--dur: .2s;--dur-slow: .3s;--dur-enter: .36s;--ease: cubic-bezier(.4, 0, .2, 1);--ease-spring: cubic-bezier(.34, 1.56, .64, 1);--lift-card: -2px;--lift-row: -1px;--lift-pill: -1px;--shadow-hover: 0 10px 24px -8px rgb(30 58 95 / .35);--shadow-primary: 0 10px 22px -8px rgb(30 58 95 / .55);--sheen: rgb(255 255 255 / .22);--press: .97;--stagger: 60ms;--stagger-max: 5;--enter-offset: 8px;--target: 48px;--target-min: 44px;--paper: var(--surface);--muted-paper: var(--recess);--danger: var(--bad-ink);--danger-paper: var(--bad-bg);--line: var(--field-edge);--accent: var(--color-ring);--accent-ink: #ffffff;--text-heading: var(--heading)}@media(prefers-reduced-motion:reduce){:root{--dur: 0ms;--dur-slow: 0ms;--dur-enter: 0ms;--lift-card: 0px;--lift-row: 0px;--lift-pill: 0px;--press: 1;--stagger: 0ms;--enter-offset: 0px}*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}*,*:before,*:after{box-sizing:border-box}html{font-size:100%;-webkit-text-size-adjust:100%}body{margin:0;background:var(--ground);color:var(--ink);font-family:var(--font);font-size:var(--text);font-weight:var(--weight-body);line-height:var(--leading);-webkit-font-smoothing:antialiased}body.modal-open{overflow:hidden}h1,h2,h3{font-family:var(--font-heading);font-weight:var(--weight-head);letter-spacing:var(--tracking-head);color:var(--ink)}h1{font-size:var(--heading);line-height:1.15;margin:0 0 var(--space-2)}h2{font-size:var(--text-large);line-height:1.25;margin:0 0 var(--space-3)}p{margin:0 0 var(--space-4)}.muted,.hint,.lede{color:var(--muted)}.hint{margin:var(--space-2) 0 0}.sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.page{display:block;max-width:52rem;margin:0 auto;padding:var(--space-5) var(--space-4) var(--space-7)}.page.wide{max-width:84rem}.page.narrow{max-width:30rem}@media(min-width:60rem){.page{padding-left:var(--space-5);padding-right:var(--space-5)}}@media(min-width:90rem){.page{padding-left:var(--space-6);padding-right:var(--space-6)}}label{display:block;font-size:var(--text-sm);font-weight:var(--weight-head);letter-spacing:.01em;margin:var(--space-5) 0 var(--space-2)}input,select,textarea,button{font:inherit}input,select,textarea{display:block;width:100%;min-height:var(--target);padding:var(--space-2) var(--space-4);border:2px solid var(--field-edge);border-radius:var(--radius-sm);background:var(--recess);color:var(--ink);font-size:var(--text-field);transition:border-color var(--dur) var(--ease),box-shadow var(--dur) var(--ease),background-color var(--dur) var(--ease),transform var(--dur) var(--ease)}input:hover,select:hover,textarea:hover{border-color:var(--primary);background:var(--surface)}input:focus,select:focus,textarea:focus{outline:none;background:var(--surface);border-color:var(--accent);box-shadow:var(--focus-ring)}textarea{resize:vertical}select{cursor:pointer}::placeholder{color:var(--muted);opacity:1}button,.button{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);min-height:var(--target);min-width:var(--target);padding:var(--space-2) var(--space-5);border:2px solid var(--button-edge);border-radius:var(--radius-sm);background:var(--surface);color:var(--ink);font-size:var(--text-sm);font-weight:var(--weight-head);line-height:1.2;text-align:center;text-decoration:none;cursor:pointer;box-shadow:var(--shadow-sm);transition:transform var(--dur) var(--ease-spring),box-shadow var(--dur) var(--ease),background-color var(--dur) var(--ease),border-color var(--dur) var(--ease)}button:hover,.button:hover{box-shadow:var(--shadow-hover);background:var(--recess);border-color:var(--primary);transform:translateY(var(--lift-card))}button:active,.button:active{transform:translateY(0) scale(var(--press));box-shadow:var(--shadow-sm)}button:disabled:hover{transform:none;box-shadow:none;background:var(--surface);border-color:var(--button-edge)}button.primary,.button.primary{position:relative;overflow:hidden;background:linear-gradient(135deg,#2a4d7c 0%,var(--primary) 55%,#16304f 100%);border-color:transparent;color:var(--primary-text);box-shadow:var(--shadow-primary)}button.primary:after,.button.primary:after{content:"";position:absolute;inset:0;background:linear-gradient(110deg,transparent 25%,var(--sheen) 45%,transparent 65%);transform:translate(-130%);pointer-events:none;transition:transform var(--dur-slow) var(--ease)}button.primary:hover,.button.primary:hover{background:linear-gradient(135deg,#35598c 0%,var(--primary-hover) 55%,var(--primary) 100%);border-color:transparent;box-shadow:0 14px 28px -10px #1e3a5fa6}button.primary:hover:after,.button.primary:hover:after{transform:translate(130%)}.icon-button{overflow:visible}button.solid{background:var(--solid-bg);border-color:var(--solid-bg);color:var(--solid-text)}button.solid:hover{background:#334155;border-color:#334155}button.danger{border-color:var(--bad-ink);color:var(--bad-ink)}button.danger:hover{background:var(--bad-bg);border-color:var(--bad-ink)}form button.primary{display:flex;width:100%;margin-top:var(--space-5);font-size:var(--text-md);letter-spacing:.01em}button:disabled{opacity:.55;cursor:not-allowed;transform:none;box-shadow:none}a{color:var(--accent-tint-ink);text-underline-offset:3px}:focus-visible{outline:3px solid var(--accent);outline-offset:2px}.error{margin:var(--space-4) 0 0;padding:var(--space-3) var(--space-4);border:2px solid var(--bad-ink);border-radius:var(--radius-sm);background:var(--bad-bg);color:var(--bad-ink);font-weight:var(--weight-strong);animation:rise var(--dur-slow) var(--ease)}.notice{margin:0;padding:var(--space-3) var(--space-4);background:var(--recess);border-bottom:1px solid var(--hairline)}.notice.good,.notice.warn{margin:var(--space-4) 0;border:2px solid var(--field-edge);border-radius:var(--radius-sm);font-weight:var(--weight-strong)}.notice.warn{border-color:var(--warn-dot);background:var(--warn-bg);color:var(--warn-ink)}.flag{color:var(--bad-ink);font-weight:var(--weight-head)}.shell{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-2) var(--space-3);padding:var(--space-3) max(var(--space-4),calc((100% - 90rem)/2));background:linear-gradient(135deg,var(--header-start) 0%,var(--header-end) 100%);color:var(--primary);box-shadow:0 1px 0 var(--header-edge),0 6px 20px #78561424;position:sticky;top:0;z-index:30}html{scroll-padding-top:5.5rem}.shell .brand{display:flex;align-items:center;gap:var(--space-3);min-height:var(--target-min);padding-right:var(--space-2);border-radius:var(--radius-sm);font-weight:var(--weight-head);letter-spacing:var(--tracking-head);font-size:var(--text-md);color:var(--primary);text-decoration:none;transition:background-color var(--dur) var(--ease)}.shell a.brand:hover{background:var(--header-hover);color:var(--primary)}.shell .brand:has(.brand-name:not(:first-child)),.shell a.brand{min-width:var(--target-min)}.shell button{min-height:var(--target-min)}.shell .brand img{width:34px;height:34px;border-radius:9px;box-shadow:var(--shadow-md);transition:transform var(--dur) var(--ease-spring),box-shadow var(--dur) var(--ease)}.shell .brand:hover img{transform:translateY(-2px) scale(1.04);box-shadow:var(--shadow-hover)}.shell-left,.shell-right{display:flex;align-items:center;gap:var(--space-2);min-width:0}.shell-left .brand{order:1;flex:none}.shell-left .nav-inline,.shell-left .nav-wrap{order:2}.shell-left{flex:1 1 auto}.shell-left .nav-inline{flex:1 1 auto;justify-content:center}.shell-right{justify-content:flex-end}.nav-wrap{position:relative}.shell button.nav-button,.shell button.install{position:relative;width:var(--target-min);min-width:var(--target-min);height:var(--target-min);min-height:var(--target-min);padding:0;background:transparent;border-color:transparent;color:var(--primary);box-shadow:none}.shell button.nav-button:before,.shell button.install:before{content:"";position:absolute;left:50%;top:50%;width:34px;height:34px;transform:translate(-50%,-50%);border-radius:9px;background:var(--primary);transition:background-color var(--dur) var(--ease)}.shell button.install:before{background:var(--install-bg)}.shell button.nav-button,.shell button.install{color:var(--primary-text)}.shell button.nav-button svg,.shell button.install svg{position:relative}.shell button.nav-button:hover:before,.shell button.nav-button[aria-expanded=true]:before{background:var(--primary-hover)}.shell button.install:hover:before{background:var(--install-bg-hover)}.shell button.nav-button:hover,.shell button.nav-button[aria-expanded=true],.shell button.install:hover{background:transparent;border-color:transparent;color:var(--primary-text);transform:none;box-shadow:none}@media(min-width:64.01rem){.shell button.install{width:auto;min-width:var(--target-min);padding:0 var(--space-4);background:var(--install-bg);border-color:transparent;color:var(--primary-text);box-shadow:0 2px 8px -2px #04503c80}.shell button.install:before{content:none}.shell button.install:hover{background:var(--install-bg-hover);border-color:transparent;color:var(--primary-text);box-shadow:0 8px 18px -6px #04503c99}}.nav-inline{display:flex;flex-wrap:wrap;gap:var(--space-1)}.nav-inline a{display:inline-flex;align-items:center;min-height:var(--target-min);padding:0 var(--space-3);border-radius:var(--radius-sm);font-size:var(--text-sm);font-weight:var(--weight-head);white-space:nowrap;text-decoration:none;color:var(--primary);position:relative;transition:background-color var(--dur) var(--ease),color var(--dur) var(--ease)}.nav-inline a:after{content:"";position:absolute;left:var(--space-3);right:var(--space-3);bottom:6px;height:2px;border-radius:2px;background:var(--primary);transform:scaleX(0);transform-origin:left;transition:transform var(--dur) var(--ease)}.nav-inline a:hover{background:var(--header-hover);color:var(--primary)}.nav-inline a:hover:after{transform:scaleX(1)}.nav-inline a.current{background:var(--primary);color:var(--primary-text);box-shadow:var(--shadow-sm)}.nav-inline a.current:after{background:var(--gold-light)}.nav-menu{min-width:14rem;padding:var(--space-2)}@media(max-width:60rem){.profile-name{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.shell button.profile-button{width:auto;padding:0 var(--space-2);gap:var(--space-1)}}@media(max-width:26rem){.brand-name{display:none}}.profile-wrap{position:relative}.profile-button{gap:var(--space-2);padding:0 var(--space-3);background:var(--gold-dark);border-color:transparent;color:var(--primary-text);box-shadow:0 2px 8px -2px #50360880}.profile-button:hover,.profile-button[aria-expanded=true]{background:var(--gold-dark-hover);border-color:transparent;color:var(--primary-text);box-shadow:0 8px 18px -6px #503608a6}.profile-name{font-size:var(--text-sm)}.avatar{display:grid;place-items:center;flex:none;width:24px;height:24px;border-radius:50%;background:var(--primary-text);color:var(--gold-dark);font-size:var(--text-2xs);font-weight:var(--weight-head);letter-spacing:.02em}.avatar.large{width:40px;height:40px;background:var(--primary);color:var(--primary-text);font-size:var(--text-sm)}.chevron{flex:none;transition:transform var(--dur) var(--ease)}.profile-button[aria-expanded=true] .chevron{transform:rotate(180deg)}.profile-menu{min-width:15rem;padding:0 var(--space-2) var(--space-2)}.profile-head{display:flex;align-items:center;gap:var(--space-3);margin:0 calc(var(--space-2) * -1) var(--space-2);padding:var(--space-4);border-radius:var(--radius) var(--radius) 0 0;background:linear-gradient(110deg,var(--dialog-head-start) 0%,var(--dialog-head-end) 100%);border-bottom:1px solid var(--hairline)}.profile-head-text{display:grid;min-width:0}.profile-head-text strong{font-size:var(--text-sm);color:var(--primary)}.profile-head-text .muted{font-size:var(--text-xs);overflow-wrap:anywhere}.profile-menu [role=menuitem]{display:flex;align-items:center;justify-content:flex-start;gap:var(--space-3);width:100%;min-height:var(--target-min);padding:0 var(--space-3);border:0;border-radius:var(--radius-sm);background:transparent;box-shadow:none;color:var(--ink);font-size:var(--text-sm);font-weight:var(--weight-head);text-align:left;text-decoration:none;transition:background-color var(--dur) var(--ease),padding-left var(--dur) var(--ease)}.profile-menu [role=menuitem] svg{flex:none;color:var(--accent-tint-ink)}.profile-menu [role=menuitem]:hover,.profile-menu [role=menuitem]:focus-visible{background:var(--accent-tint);padding-left:var(--space-4);transform:none;box-shadow:none}.profile-menu [role=menuitem].current{background:var(--accent-tint);color:var(--accent-tint-ink)}.profile-menu .sign-out-item{margin-top:var(--space-1);border-top:1px solid var(--hairline);border-radius:0 0 var(--radius-sm) var(--radius-sm);color:var(--danger-ink)}.profile-menu .sign-out-item svg{color:var(--danger-ink);transition:transform var(--dur) var(--ease)}.profile-menu .sign-out-item:hover{background:var(--bad-bg)}.profile-menu .sign-out-item:hover svg{transform:translate(2px)}.shell .who{display:flex;align-items:center;gap:var(--space-3);font-weight:var(--weight-head);color:var(--primary)}.card{margin:var(--space-4) 0;padding:var(--space-5);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow-md);transition:transform var(--dur) var(--ease),box-shadow var(--dur) var(--ease)}.card:hover{transform:translateY(var(--lift-card));box-shadow:var(--shadow-hover)}.card p:last-child{margin-bottom:0}.card.blocked{box-shadow:inset 4px 0 0 var(--attn-dot),var(--shadow-md)}.panel{margin:0 0 var(--space-4);padding:var(--space-4) var(--space-5);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow-md);transition:transform var(--dur) var(--ease),box-shadow var(--dur) var(--ease)}.panel:hover{transform:translateY(var(--lift-card));box-shadow:var(--shadow-hover)}.panel.done{box-shadow:inset 4px 0 0 var(--ok-dot),var(--shadow-md);animation:rise var(--dur-slow) var(--ease)}.chip-warn{display:inline-flex;align-items:center;gap:var(--space-2);margin:var(--space-1) 0 0;padding:var(--space-1) var(--space-3);border-radius:var(--radius-pill);background:var(--warn-bg);color:var(--warn-ink);font-size:var(--text-xs);font-weight:var(--weight-head)}.chip-warn:before{content:"";width:9px;height:9px;border-radius:50%;background:var(--warn-dot);flex:none}.scrim{position:fixed;inset:0;z-index:100;display:flex;align-items:center;justify-content:center;padding:var(--space-4);background:#0f172a73;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);animation:fade var(--dur) var(--ease)}.modal{display:flex;flex-direction:column;width:100%;max-width:34rem;max-height:calc(100dvh - 2rem);overflow:hidden;border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow-xl);animation:dialog-in var(--dur-slow) var(--ease-spring)}.modal-head{padding:var(--space-4) var(--space-5);background:linear-gradient(110deg,var(--dialog-head-start) 0%,var(--dialog-head-end) 100%);border-bottom:1px solid var(--hairline)}.modal-head h2{margin:0;color:var(--primary)}.modal-head.danger{background:var(--danger-fill);border-bottom-color:var(--danger-fill)}.modal-head.danger h2{color:var(--danger-text)}.modal-body{flex:1 1 auto;overflow-y:auto;padding:var(--space-5)}.modal-body>:first-child{margin-top:0}.modal-body label:first-of-type{margin-top:var(--space-4)}.modal-foot{display:flex;flex-wrap:wrap;align-items:stretch;justify-content:space-between;gap:var(--space-3);padding:var(--space-4) var(--space-5);border-top:1px solid var(--hairline);background:var(--recess)}.modal-foot button{flex:1 1 10rem}.modal-foot .confirm{flex:1 1 14rem}.modal-foot button.primary,.modal-foot button.danger-fill{width:auto;margin-top:0}.modal-foot .cancel,button.cool,.button.cool{background:var(--cool-bg);border-color:var(--cool-edge);color:var(--cool-ink)}.modal-foot .cancel:hover,button.cool:hover,.button.cool:hover{background:var(--cool-bg-hover);border-color:var(--cool-edge);color:var(--cool-ink)}button.danger-fill{background:var(--danger-fill);border-color:transparent;color:var(--danger-text)}button.danger-fill:hover{background:var(--danger-fill-hover)}.reissue-effect{margin-top:var(--space-5);font-weight:var(--weight-strong)}.donor-list,.drafts{list-style:none;margin:.75rem 0;padding:0}.donor-list li{margin-bottom:.5rem}.actions{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:1rem}.notice.queue{display:flex;flex-wrap:wrap;align-items:center;gap:.25rem 1rem}.notice.queue p{display:flex;flex-wrap:wrap;gap:var(--space-xs) var(--space-xl);margin:0}.notice.queue .flag{color:var(--attn-ink)}.notice.queue a{display:inline-flex;align-items:center;min-height:var(--target);min-width:var(--target);font-weight:600}@keyframes rise{0%{opacity:0;transform:translateY(var(--enter-offset))}to{opacity:1;transform:none}}@keyframes fade{0%{opacity:0}to{opacity:1}}@keyframes dialog-in{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:none}}@keyframes pop-in{0%{opacity:0;transform:translateY(-4px) scale(.97)}to{opacity:1;transform:none}}@keyframes shimmer{to{background-position:-200% 0}}.page-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-3) var(--space-5);margin-bottom:var(--space-5);padding:var(--space-4) var(--space-5);border:1px solid var(--page-head-edge);border-left:4px solid var(--gold);border-radius:var(--radius);background:var(--page-head-bg)}.page-head h1{margin:0}.lede{margin:var(--space-1) 0 0}.filterbar{box-shadow:0 0 0 1px var(--hairline),var(--shadow-sm)}.filterbar .search-field svg{color:var(--accent-tint-ink)}.chips{display:flex;flex-wrap:wrap;gap:var(--space-2)}.filterbar>*+.chips{margin-top:var(--space-4)}.chip{border-radius:var(--radius-pill);padding:var(--space-2) var(--space-4);background:var(--recess);font-size:var(--text-sm);font-weight:var(--weight-head)}.chip.on{background:var(--accent-tint);border-color:var(--accent);color:var(--accent-tint-ink);font-weight:var(--weight-head)}.chip.on:hover{background:var(--accent-tint);color:var(--accent-tint-ink)}.chip.more{margin-left:auto;border-style:dashed}.collapse{display:grid;grid-template-rows:0fr;visibility:hidden;transition:grid-template-rows var(--dur-slow) var(--ease),visibility 0s linear var(--dur-slow)}.collapse.open{grid-template-rows:1fr;visibility:visible;transition:grid-template-rows var(--dur-slow) var(--ease),visibility 0s}.collapse-inner{overflow:hidden;min-height:0}.fields{display:grid;grid-template-columns:1fr;gap:0 var(--space-4);padding:var(--space-2) 2px 0}.fields label{margin:var(--space-4) 0 var(--space-1);font-size:var(--text-2xs);font-weight:var(--weight-head);letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}.fields .field.reset{align-self:end;margin-top:var(--space-4)}.summary{margin:var(--space-4) 0 0;padding:var(--space-3) var(--space-4);border-radius:var(--radius-sm);background:var(--accent-tint);color:var(--accent-tint-ink);font-size:var(--text-sm);font-weight:var(--weight-head)}@media(min-width:40rem){.fields{grid-template-columns:minmax(12rem,2fr) minmax(9.5rem,1fr) minmax(9.5rem,1fr) minmax(11.5rem,1fr) auto;align-items:end}.fields .field.reset{margin-top:0}}.rows{list-style:none;display:flex;flex-direction:column;gap:var(--space-2);margin:0;padding:0}.row{position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"main main" "amount actions" "pills pills";align-items:center;gap:var(--space-1) var(--space-4);min-height:56px;padding:var(--space-3) var(--space-4);border-radius:var(--radius);background:var(--surface);box-shadow:0 0 0 1px var(--hairline),var(--shadow-sm);transition:transform var(--dur) var(--ease),box-shadow var(--dur) var(--ease),background-color var(--dur-slow) var(--ease)}li.row{animation:rise var(--dur-enter) var(--ease) both;animation-delay:calc(min(var(--i, 0),var(--stagger-max)) * var(--stagger))}.row:hover{background:var(--surface);transform:translateY(var(--lift-card));box-shadow:inset 3px 0 0 var(--primary),0 0 0 1px var(--primary),var(--shadow-hover);z-index:1}.row:hover .row-amount{color:var(--primary)}.row:hover .num{background:var(--primary);color:var(--primary-text)}.row:active{background:var(--accent-tint)}.row.menu-open{z-index:5}.row.is-void{background:var(--recess)}.row-main{grid-area:main;min-width:0}.row-title{display:flex;flex-wrap:wrap;align-items:baseline;gap:0 var(--space-3);margin:0}.num{padding:1px var(--space-md);border-radius:var(--radius-pill);background:var(--accent-tint);font-size:var(--text-2xs);font-variant-numeric:tabular-nums;font-weight:var(--weight-head);letter-spacing:.06em;color:var(--accent-tint-ink);transition:background-color var(--dur) var(--ease),color var(--dur) var(--ease)}.donor{font-weight:var(--weight-head);font-size:var(--text-md);letter-spacing:var(--tracking-head);overflow-wrap:anywhere}.row-meta{margin:0;color:var(--muted);font-size:var(--text-xs);overflow-wrap:anywhere}.nowrap{white-space:nowrap}.row-amount{grid-area:amount;margin:0;font-size:var(--display);transition:color var(--dur) var(--ease);font-weight:var(--weight-head);letter-spacing:var(--tracking-head);font-variant-numeric:tabular-nums}.is-void .row-amount,.is-void .donor{text-decoration:line-through;text-decoration-thickness:2px;text-decoration-color:var(--bad-dot)}.row-pills{grid-area:pills;display:flex;flex-wrap:wrap;gap:var(--space-2)}.row-actions{grid-area:actions;display:flex;align-items:center;justify-content:flex-end;gap:var(--space-2)}.row-error{grid-column:1 / -1}.row-sent{grid-column:1 / -1;display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2) var(--space-3);margin:var(--space-2) 0 0}.row-sent .sent-pdf{min-height:var(--target-min);padding:0 var(--space-3);background:var(--surface);border-color:var(--ok-ink);color:var(--ok-ink);font-weight:var(--weight-strong)}.row-sent .sent-pdf:hover{background:var(--ok-bg);border-color:var(--ok-ink)}@media(min-width:40rem){.row{grid-template-columns:minmax(0,1fr) auto auto auto;grid-template-areas:"main amount pills actions";gap:var(--space-3) var(--space-5)}.row-actions{align-self:center}.row-pills{justify-content:flex-start;min-width:15rem}}.icon-button{position:relative;min-width:var(--target-min);min-height:var(--target-min);padding:0 var(--space-3);gap:var(--space-1)}.icon-button.square{width:var(--target-min);padding:0}.icon-label{font-size:var(--text-xs);letter-spacing:.04em}@media(max-width:40rem){.row-actions .icon-label{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.row-actions .icon-button{width:var(--target-min);padding:0}}.email-button{background:var(--install-bg);border-color:transparent;color:var(--primary-text);box-shadow:var(--shadow-sm)}.email-button:hover{background:var(--install-bg-hover);border-color:transparent}.pdf-button{background:var(--primary);border-color:transparent;color:var(--primary-text);box-shadow:var(--shadow-sm)}.pdf-page{fill:#fff}.pdf-fold{stroke:var(--primary)}.pdf-badge{fill:var(--pdf-red)}.pdf-badge-lines{stroke:#fff}.pdf-button:hover{background:var(--primary-hover);border-color:transparent;color:var(--primary-text)}.pdf-button:hover .pdf-fold{stroke:var(--primary-hover)}.pdf-button:disabled{background:var(--primary)}.pdf-button:disabled .pdf-badge{fill:var(--muted)}.icon-button.square,.picked button,.filterbar button:not(.chip),.donor-row .row-actions button{background:var(--accent-tint);border-color:transparent;color:var(--accent-tint-ink)}.icon-button.square:hover,.picked button:hover,.filterbar button:not(.chip):hover,.donor-row .row-actions button:hover{background:var(--primary);border-color:transparent;color:var(--primary-text)}.icon-button[data-tip]:after{content:attr(data-tip);position:absolute;bottom:calc(100% + 8px);right:0;padding:var(--space-1) var(--space-3);border-radius:var(--radius-sm);background:var(--solid-bg);color:var(--solid-text);font-size:var(--text-xs);font-weight:var(--weight-strong);white-space:nowrap;pointer-events:none;opacity:0;transform:translateY(4px);transition:opacity var(--dur) var(--ease),transform var(--dur) var(--ease)}.icon-button[data-tip]:hover:after,.icon-button[data-tip]:focus-visible:after{opacity:1;transform:none}.menu-wrap{position:relative}.menu{position:absolute;top:calc(100% + 6px);right:0;z-index:20;min-width:17rem;padding:var(--space-2);border:1px solid var(--hairline);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow-xl);animation:pop-in var(--dur) var(--ease);transform-origin:top right}.menu button{display:flex;justify-content:flex-start;width:100%;min-height:var(--target);padding:0 var(--space-4);border:0;border-radius:var(--radius-sm);background:transparent;box-shadow:none;font-weight:var(--weight-strong);text-align:left}.menu button{font-size:var(--text-sm);transition:background-color var(--dur) var(--ease),padding-left var(--dur) var(--ease)}.menu button:hover,.menu button:focus-visible{background:var(--recess);padding-left:var(--space-5);transform:none;box-shadow:none}.menu button.danger-item{color:var(--bad-ink)}.menu button.danger-item:hover{background:var(--bad-bg)}.pager{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-3) var(--space-5);margin:var(--space-4) 0 var(--space-6)}.showing{margin:0;color:var(--muted);font-size:var(--text-xs);font-weight:var(--weight-strong)}.pager-buttons{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2)}.page-number{min-width:var(--target-min);padding:0 var(--space-3)}.page-number.on{background:var(--accent-tint);border-color:var(--accent);color:var(--accent-tint-ink)}.gap{padding:0 var(--space-1);color:var(--muted)}.skeletons{display:block}.row.skeleton{display:grid;grid-template-columns:1fr;grid-template-areas:none;gap:var(--space-2);min-height:72px}.skeleton .bar{display:block;height:1.1rem;border-radius:8px;background:linear-gradient(90deg,#eef2f6 25%,#f8fafc,#eef2f6 65%);background-size:200% 100%;animation:shimmer 1.4s linear infinite}.skeleton .long{width:65%}.skeleton .short{width:35%}.empty{display:grid;justify-items:center;gap:var(--space-2);margin:var(--space-4) 0;padding:var(--space-7) var(--space-5);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow-md);color:var(--muted);text-align:center;animation:rise var(--dur-slow) var(--ease)}.empty svg{color:var(--accent)}.empty h2{margin:0}.empty p{margin:0 0 var(--space-3)}.export{margin-top:var(--space-6)}.export-choices{display:grid;gap:var(--space-4)}@media(min-width:40rem){.export-choices{grid-template-columns:1fr 1fr}}.form-card{margin:0 0 var(--space-5);padding:var(--space-5);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow-md)}@media(min-width:40rem){.form-card{padding:var(--space-6)}}.form-card h2{display:flex;align-items:center;gap:var(--space-3);margin:0 0 var(--space-2);font-size:var(--text-large)}.step{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:50%;background:var(--accent-tint);color:var(--accent-tint-ink);font-size:var(--text-sm);transition:transform var(--dur) var(--ease-spring),background-color var(--dur) var(--ease),color var(--dur) var(--ease)}.form-card:hover .step-number{transform:scale(1.12);background:var(--primary);color:var(--primary-text)}.form-card label:first-of-type{margin-top:var(--space-4)}.search-field,.icon-field{position:relative}.search-field svg,.icon-field>svg{position:absolute;left:var(--space-4);top:50%;transform:translateY(-50%);color:var(--muted);pointer-events:none}.search-field input,.icon-field input{padding-left:calc(var(--space-4) + 22px + var(--space-3))}.dropdown{margin:var(--space-2) 0 0;padding:var(--space-1);max-height:20rem;overflow-y:auto;border:1px solid var(--hairline);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow-lg);animation:pop-in var(--dur) var(--ease)}.dropdown li{margin:0}.donor-option{display:grid;justify-items:start;justify-content:start;align-content:center;gap:0;width:100%;min-height:var(--target-min);padding:var(--space-2) var(--space-3);border:0;border-radius:var(--radius-sm);background:transparent;box-shadow:none;text-align:left;font-weight:var(--weight-body);transition:background-color var(--dur) var(--ease),box-shadow var(--dur) var(--ease)}.donor-option strong{font-size:var(--text-md);font-weight:var(--weight-head);letter-spacing:var(--tracking-head)}.donor-option .muted,.donor-option>span:not(.chip-warn){font-size:var(--text-xs);line-height:1.35}.donor-option .chip-warn{margin:var(--space-xs) 0 0}.donor-option:hover,.donor-option:focus-visible{background:var(--recess);box-shadow:inset 3px 0 0 var(--primary);transform:none;border-color:transparent}.picked{padding:var(--space-4);border-radius:var(--radius-sm);background:var(--recess);box-shadow:inset 0 0 0 1px var(--hairline)}.picked p{margin:0 0 var(--space-1)}.picked button{margin-top:var(--space-3)}.picked-name{font-size:var(--text-md);font-weight:var(--weight-head)}.money-field{position:relative}.money-sign{position:absolute;left:var(--space-3);top:50%;transform:translateY(-50%);font-size:var(--display-large);font-weight:var(--weight-head);color:var(--muted)}.money-field input{min-height:52px;padding-left:2.25rem;font-size:var(--display-large);font-weight:var(--weight-head);font-variant-numeric:tabular-nums}.two-up{display:grid;gap:0 var(--space-4)}@media(min-width:40rem){.two-up{grid-template-columns:1fr 1fr}}.main-actions{display:flex;flex-direction:column-reverse;gap:var(--space-3);margin-top:var(--space-5)}.main-actions button{width:100%}@media(min-width:40rem){.main-actions{flex-direction:row-reverse}.main-actions button{flex:1 1 0}}.login-ground{display:grid;place-items:center;min-height:100dvh;padding:var(--space-5) var(--space-4);background-color:#f5f8fc;background-image:radial-gradient(1000px 600px at 8% 0%,rgb(37 99 235 / .18),transparent 62%),radial-gradient(900px 580px at 92% 4%,rgb(14 165 233 / .16),transparent 62%),radial-gradient(880px 560px at 94% 96%,rgb(6 182 212 / .14),transparent 62%),radial-gradient(900px 600px at 2% 98%,rgb(37 99 235 / .12),transparent 64%),linear-gradient(140deg,#eaf2fb,#fbfdff 48%,#ecf3fb);background-attachment:fixed}.login-card{position:relative;width:100%;max-width:26rem;padding:var(--space-6) var(--space-5) var(--space-5);border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow-xl);overflow:hidden;animation:rise var(--dur-slow) var(--ease)}.login-card:before{content:"";position:absolute;inset:0 0 auto;height:6px;border-radius:var(--radius-lg) var(--radius-lg) 0 0;background:linear-gradient(90deg,var(--primary) 0%,var(--color-secondary) 45%,var(--gold-light) 78%,var(--gold) 100%)}.login-mark{display:block;margin:0 auto var(--space-4);border-radius:18px;background:linear-gradient(145deg,#fff,#e9f1fa);box-shadow:var(--shadow-lg);transition:transform var(--dur) var(--ease-spring),box-shadow var(--dur) var(--ease)}.login-card:hover .login-mark{transform:translateY(-3px) scale(1.04);box-shadow:var(--shadow-xl)}.login-card h1{margin:0;text-align:center}.login-sub{margin:var(--space-1) 0 var(--space-4);text-align:center;color:var(--muted)}.login-card label{margin-top:var(--space-4)}.icon-field.has-toggle input{padding-right:7rem}.reveal{position:absolute;right:4px;top:50%;transform:translateY(-50%);min-height:var(--target-min);padding:0 var(--space-3);border:0;background:transparent;box-shadow:none;color:var(--accent-tint-ink)}.reveal:active{transform:translateY(-50%) scale(var(--press))}.login-card button.install{background:var(--install-bg);border-color:transparent;color:var(--primary-text);box-shadow:0 2px 8px -2px #04503c80}.login-card button.install:hover{background:var(--install-bg-hover);border-color:transparent;color:var(--primary-text);box-shadow:0 8px 18px -6px #04503c99}.login-help{margin:var(--space-5) 0 0;text-align:center;color:var(--muted)}.login-access{margin:var(--space-2) 0 0;text-align:center;color:var(--muted)}.login-access a{display:inline-flex;align-items:center;min-height:var(--target-min);padding:0 var(--space-2);vertical-align:middle}.login-footer{margin:var(--space-3) 0 0;padding-top:var(--space-3);border-top:1px solid var(--hairline)}.login-foot{margin:0;text-align:center;color:var(--muted)}.login-footer app-powered-by{margin-top:var(--space-2);color:var(--muted)}.app-signature{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-2) var(--space-3);margin-top:var(--space-6);padding:var(--space-3) max(var(--space-4),calc((100% - 90rem)/2));background:linear-gradient(135deg,var(--header-start) 0%,var(--header-end) 100%);color:var(--primary);box-shadow:0 -1px 0 var(--header-edge),0 -6px 20px #78561424}.app-signature .copyright{margin:0;font-size:var(--text-xs)}app-root{display:flex;flex-direction:column;min-height:100dvh}app-root>router-outlet+*{flex:1 0 auto}.donor-row{grid-template-areas:"main actions" "pills pills"}.donor-row .row-meta,.row-meta.wrap{white-space:normal}.row-pills:empty{display:none}@media(min-width:40rem){.donor-row{grid-template-columns:minmax(0,1fr) auto auto;grid-template-areas:"main pills actions"}.donor-row .row-pills{min-width:0}}.form-card+.form-card{margin-top:var(--space-5)}.form-card h2+.hint{margin:0 0 var(--space-2)}.image-preview{display:grid;justify-items:start;gap:var(--space-2);margin:var(--space-3) 0 0;padding:var(--space-4);border-radius:var(--radius-sm);background:var(--recess);box-shadow:inset 0 0 0 1px var(--hairline)}.image-preview img{display:block;max-width:100%;max-height:10rem;background:var(--surface);border-radius:var(--radius-sm)}.image-preview figcaption{color:var(--muted);font-size:var(--text-xs);font-weight:var(--weight-strong)}.image-preview button{margin-top:var(--space-1)}.temp-password{display:block;margin:var(--space-3) 0;padding:var(--space-3) var(--space-4);border-radius:var(--radius-sm);background:var(--recess);box-shadow:inset 0 0 0 1px var(--hairline);font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:var(--display-large);font-weight:var(--weight-head);letter-spacing:.08em;-webkit-user-select:all;user-select:all;overflow-wrap:anywhere}
