@font-face{font-family:Poppins;font-weight:500;font-style:normal;font-display:swap;src:url(/assets/Poppins-Medium-C3HoSQxu.woff2)format("woff2")}@font-face{font-family:Poppins;font-weight:600;font-style:normal;font-display:swap;src:url(/assets/Poppins-SemiBold-d-nHXjAh.woff2)format("woff2")}@font-face{font-family:Lato;font-weight:400;font-style:normal;font-display:swap;src:url(/assets/Lato-Regular-_kMJY3vK.woff2)format("woff2")}@font-face{font-family:Lato;font-weight:700;font-style:normal;font-display:swap;src:url(/assets/Lato-Bold-CkIv3w2B.woff2)format("woff2")}:root{--brand-cyan:#16c3d3;--brand-cyan-light:#5ee5f5;--brand-blue:#337ab7;--brand-navy:#0a2540;--brand-text:#1f2a37;--brand-muted:#5a6776;--brand-blue-strong:#2b6ca3;--brand-blue-deeper:#1f5a8c;--brand-navy-mid:#154170;--brand-blue-mid:#1f5a96;--brand-blue-end:#2a6ca5;--brand-cyan-deep:#16b2d3;--brand-cyan-glow:#7df0ff;--brand-white:#fff;--brand-surface:#f3f7fa;--brand-line:#cbd5df;--brand-line-strong:#6b7886;--brand-font-heading:"Poppins", "Segoe UI", system-ui, sans-serif;--brand-font-body:"Lato", "Segoe UI", system-ui, -apple-system, sans-serif;--color-bg:var(--brand-white);--color-surface:var(--brand-surface);--color-border:var(--brand-line);--color-border-strong:var(--brand-line-strong);--color-text:var(--brand-text);--color-muted:var(--brand-muted);--color-primary:var(--brand-blue-strong);--color-primary-hover:var(--brand-blue-deeper);--color-on-primary:var(--brand-white);--color-accent:var(--brand-cyan);--color-bar:var(--brand-navy);--color-on-bar:var(--brand-white);--color-on-bar-muted:var(--brand-cyan-light);--color-focus:var(--brand-navy);--color-focus-on-bar:var(--brand-cyan-light);--color-danger:#b42318;--color-warning:#8a5300;--color-success:#12703a;--color-bar-hover:#ffffff1f;--color-info:var(--brand-navy);--color-info-bg:#def6f9;--color-success-bg:#e4f3ea;--color-warning-bg:#fbf0dc;--color-danger-bg:#fbe7e5;--gradient-hero:radial-gradient(ellipse at 90% 100%, #16c3d38c 0%, transparent 50%), radial-gradient(ellipse at 20% 0%, #337ab7a6 0%, transparent 55%), linear-gradient(155deg, var(--brand-navy) 0%, var(--brand-navy-mid) 30%, var(--brand-blue-mid) 55%, var(--brand-blue) 80%, var(--brand-blue-end) 100%);--gradient-glow:radial-gradient(circle at 35% 35%, #16c3d366 0%, transparent 55%), radial-gradient(circle at 65% 65%, #7df0ff33 0%, transparent 50%);--gradient-accent:linear-gradient(90deg, var(--brand-cyan) 0%, var(--brand-cyan-deep) 50%, var(--brand-blue) 100%);--gradient-bubble:linear-gradient(135deg, var(--brand-blue-strong) 0%, var(--brand-blue-mid) 100%);--gradient-action:linear-gradient(135deg, var(--brand-blue-strong) 0%, var(--brand-navy-mid) 100%);--gradient-avatar:linear-gradient(135deg, var(--brand-cyan-light) 0%, var(--brand-cyan) 100%);--color-on-avatar:var(--brand-navy);--color-surface-deep:#e6eef5;--shadow-pop:0 12px 32px #0a25402e;--hero-grid-line:#ffffff0d;--shadow-control:0 1px 2px #0a25402e;--shadow-lift:0 6px 18px #0a254024;--color-scrim:#0a254073;--shadow-card:0 2px 12px #0a25401a;--font-sans:var(--brand-font-body);--font-heading:var(--brand-font-heading);--font-mono:ui-monospace, "IBM Plex Mono", SFMono-Regular, Menlo, monospace;--space-4:1rem;--space-8:2rem}body{background:var(--color-bg);color:var(--color-text);font-family:var(--font-sans);margin:0;line-height:1.5}a{color:var(--color-primary)}*,:before,:after{box-sizing:border-box}h1,h2,h3{font-family:var(--font-heading);color:var(--color-text);font-weight:600}h1{margin:0 0 var(--space-4);font-size:1.6rem}h2{font-size:1.15rem}label{margin:var(--space-4) 0 .35rem;font-weight:600;display:block}input[type=email],input[type=text],input[type=password],input[type=number],input[type=url],input[type=search],input[type=tel]{width:100%;font:inherit;border:1px solid var(--color-border-strong);background:var(--color-bg);color:var(--color-text);border-radius:6px;padding:.65rem .75rem}input:disabled,select:disabled{background-color:var(--color-surface);color:var(--color-muted);cursor:not-allowed}input[aria-invalid=true]{border-color:var(--color-danger)}input:focus-visible,button:focus-visible,a:focus-visible{outline:3px solid var(--color-focus);outline-offset:2px}.topbar :focus-visible{outline-color:var(--color-focus-on-bar)}button,.button{margin-top:var(--space-4);font:inherit;font-size:.95rem;font-family:var(--font-heading);color:var(--color-on-primary);background:var(--color-primary);cursor:pointer;border:0;border-radius:6px;padding:.5rem .95rem;font-weight:500;text-decoration:none;display:inline-block}button:hover:not(:disabled),.button:hover{background:var(--color-primary-hover)}button:disabled{opacity:.55;cursor:not-allowed}button.secondary{color:var(--color-text);background:var(--color-surface);border:1px solid var(--color-border-strong)}button.secondary:hover:not(:disabled){background:var(--color-border)}button.danger{background:var(--color-danger)}.link-button{color:var(--color-primary);background:0 0;margin:0;padding:0;font-family:inherit;font-weight:700;text-decoration:underline}.link-button:hover:not(:disabled){color:var(--color-primary-hover);background:0 0}.danger-text{color:var(--color-danger)}.hint{color:var(--color-muted)}.error{color:var(--color-danger);min-height:1.2em}.warning{color:var(--color-warning)}.success{color:var(--color-success);min-height:1.2em}.error:empty,.success:empty{min-height:0;margin:0}.notice{background:var(--color-surface);border-radius:6px;padding:.75rem}.auth-page{min-height:100vh;padding:var(--space-4);background:var(--gradient-accent) bottom / 100% .5rem no-repeat, var(--gradient-hero);place-items:center;display:grid;position:relative;overflow:hidden}.auth-page:before{content:"";pointer-events:none;background-image:linear-gradient(var(--hero-grid-line) 1px, transparent 1px), linear-gradient(90deg, var(--hero-grid-line) 1px, transparent 1px);background-size:3rem 3rem;position:absolute;inset:0}.auth-page:after{content:"";pointer-events:none;background:var(--gradient-glow);border-radius:50%;width:44rem;max-width:120vw;height:44rem;position:absolute;top:-14rem;right:-12rem}.auth-page>*{z-index:1;position:relative}.card{width:100%;max-width:28rem;padding:var(--space-8);background:var(--color-bg);box-shadow:var(--shadow-lift);border-radius:10px;overflow:hidden}.tagline{color:var(--color-on-bar-muted);flex-basis:100%;margin:0;font-size:.9rem}.brand-lockup{color:inherit;border-radius:8px;align-items:center;gap:.75rem;text-decoration:none;display:flex}.topbar a.brand-lockup,.topbar a.brand-lockup.router-link-active{background:0 0;padding:0;text-decoration:none}.topbar a.brand-lockup:hover{opacity:.85;background:0 0;text-decoration:none}.product{font-family:var(--font-heading);letter-spacing:.02em;font-weight:500}.brand-banner{margin:calc(-1 * var(--space-8)) calc(-1 * var(--space-8)) var(--space-8);padding:1.1rem var(--space-8);color:var(--color-on-bar);background:var(--color-bar);border-bottom:4px solid var(--color-accent);flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.row{gap:var(--space-4);margin-top:var(--space-4);flex-wrap:wrap;display:flex}.checkbox{margin-top:var(--space-4);align-items:flex-start;gap:.5rem;display:flex}.checkbox label{margin:0;font-weight:400}.topbar{align-items:center;gap:.5rem var(--space-4);padding:.75rem var(--space-8);color:var(--color-on-bar);background:var(--color-bar);border-bottom:3px solid var(--color-accent);flex-wrap:wrap;display:flex}.topbar a,.topbar .link-button{color:var(--color-on-bar);font-weight:700;text-decoration:none}.topbar a:hover,.topbar .link-button:hover:not(:disabled){color:var(--color-on-bar-muted);background:0 0;text-decoration:underline}.topbar a.router-link-active{text-decoration:underline;-webkit-text-decoration-color:var(--color-accent);text-decoration-color:var(--color-accent);text-underline-offset:6px;text-decoration-thickness:3px}.spacer{flex:1}.who{color:var(--color-on-bar-muted);text-overflow:ellipsis;white-space:nowrap;min-width:0;max-width:16rem;overflow:hidden}.content{max-width:72rem;margin:var(--space-8) auto;padding:0 var(--space-4)}.page-header{justify-content:space-between;align-items:center;display:flex}.page-header .button{margin-top:0}.form{max-width:32rem}.empty-state{padding:var(--space-8);background:var(--color-surface);border-radius:10px}.table{border-collapse:collapse;width:100%}.table th,.table td{text-align:left;border-bottom:1px solid var(--color-border);vertical-align:top;padding:.65rem}.table thead th{color:var(--color-muted);font-size:.85rem}.actions{gap:var(--space-4);flex-wrap:wrap;display:flex}.row-actions{gap:.25rem var(--space-4);flex-wrap:wrap;display:flex}.row-actions .link-button,.row-actions a{white-space:nowrap}.badge{background:var(--color-surface);border-radius:999px;padding:.15rem .55rem;font-size:.85rem}.badge-active{color:var(--color-success)}.badge-invited{color:var(--color-primary)}.badge-deactivated{color:var(--color-muted)}.dialog{max-width:30rem;padding:var(--space-8);border:0;border-radius:10px}.dialog::backdrop{background:var(--color-scrim)}.dialog .actions{justify-content:flex-end}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.topbar nav{flex-wrap:wrap;gap:.25rem .15rem;display:flex}select{max-width:100%;font:inherit;color:var(--color-text);border:1px solid var(--color-border);background-color:var(--color-bg);appearance:none;background-image:linear-gradient(45deg, transparent 50%, var(--color-muted) 50%), linear-gradient(135deg, var(--color-muted) 50%, transparent 50%);background-position:right 1.35rem center,right 1rem center;background-repeat:no-repeat;background-size:.36rem .36rem,.36rem .36rem;border-radius:6px;padding:.6rem 2.6rem .6rem .75rem}select::-ms-expand{display:none}.form select{border-color:var(--color-border-strong);width:100%;min-height:2.9rem;padding:.65rem 2.6rem .65rem .75rem}.badge-draft{color:var(--color-muted)}.badge-needs_normalization{color:var(--color-warning)}.badge-ready{color:var(--color-success)}code{font-family:var(--font-mono);font-size:.9em}.content-full{margin:0;padding:0}.hero{color:var(--color-on-bar);background:var(--gradient-accent) bottom / 100% .3rem no-repeat, var(--gradient-hero);box-shadow:var(--shadow-lift);border-radius:16px;position:relative;overflow:hidden}.hero:before{content:"";pointer-events:none;background-image:linear-gradient(var(--hero-grid-line) 1px, transparent 1px), linear-gradient(90deg, var(--hero-grid-line) 1px, transparent 1px);background-size:2.5rem 2.5rem;position:absolute;inset:0}.hero:after{content:"";pointer-events:none;background:var(--gradient-glow);border-radius:50%;width:28rem;max-width:80%;height:28rem;position:absolute;top:-10rem;right:-8rem}.hero>*{z-index:1;position:relative}.hero h1,.hero h2{color:var(--color-on-bar)}.hero h1:after{content:"";background:var(--color-accent);border-radius:2px;width:3rem;height:4px;margin-top:.5rem;display:block}.hero a{color:var(--color-focus-on-bar)}.pill-stat{color:var(--color-on-bar);background:var(--color-bar-hover);border:1px solid var(--color-on-bar-muted);border-radius:999px;margin:0 .5rem 0 0;padding:.3rem .85rem;font-size:.85rem;font-weight:700;display:inline-block}.layout{background:var(--color-surface);min-height:100vh}.content>h1:after,.page-header>h1:after,.page-header>div>h1:after{content:"";background:var(--color-accent);border-radius:2px;width:3rem;height:4px;margin-top:.5rem;display:block}.panel{margin-top:var(--space-8);padding:var(--space-4) var(--space-8) var(--space-8);background:var(--color-bg);border:1px solid var(--color-border);box-shadow:var(--shadow-card);border-radius:12px}.panel>h2:first-child{margin-top:.75rem}.table{border-collapse:separate;border-spacing:0;background:var(--color-bg);border:1px solid var(--color-border);box-shadow:var(--shadow-card);border-radius:12px;overflow:hidden}.table thead th{background:var(--color-surface);color:var(--color-info);font-family:var(--font-heading);letter-spacing:.04em;text-transform:uppercase;border-bottom:2px solid var(--color-border);font-size:.78rem;font-weight:500}.table tbody tr:hover>*{background:var(--color-surface)}.table tbody tr:last-child>*{border-bottom:0}.badge{font-weight:700}.badge-active,.badge-ready{background:var(--color-success-bg)}.badge-invited{background:var(--color-info-bg);color:var(--color-info)}.badge-needs_normalization{background:var(--color-warning-bg)}.badge-deactivated,.badge-draft{background:var(--color-surface);border:1px solid var(--color-border)}.notice{background:var(--color-info-bg);color:var(--color-info);border-left:4px solid var(--color-accent)}.empty-state{background:var(--color-bg);border:2px dashed var(--color-border);text-align:center}.topbar nav a{border-radius:999px;padding:.3rem .65rem}.topbar nav a:hover{background:var(--color-bar-hover);text-decoration:none}.topbar nav a.router-link-active{background:var(--color-bar-hover);text-decoration:underline;-webkit-text-decoration-color:var(--color-accent);text-decoration-color:var(--color-accent);text-underline-offset:6px;text-decoration-thickness:3px}button,.button{box-shadow:var(--shadow-control);transition:background-color .15s,box-shadow .15s}button.link-button,button.link,button.chip,button.discard{margin:0;box-shadow:none!important}button:hover:not(:disabled),.button:hover{box-shadow:var(--shadow-lift)}input:hover,select:hover,input:focus,select:focus{border-color:var(--color-primary)}@media (prefers-reduced-motion:reduce){button,.button{transition:none}}.detail-header{justify-content:space-between;align-items:flex-start;gap:var(--space-4) var(--space-8);flex-wrap:wrap;display:flex}.detail-header h1{margin-bottom:.25rem}.detail-meta{color:var(--color-muted);flex-wrap:wrap;align-items:center;gap:.4rem .6rem;margin:.75rem 0 0;display:flex}.detail-actions{flex-wrap:wrap;align-items:center;gap:.6rem;padding-top:.25rem;display:flex}.detail-actions>button,.detail-actions>.button{white-space:nowrap;margin:0;line-height:1.25}.button.secondary,button.secondary{color:var(--color-text);background:var(--color-bg);border:1px solid var(--color-border-strong)}.button.secondary:hover,button.secondary:hover:not(:disabled){color:var(--color-text);background:var(--color-surface)}button.quiet-danger{color:var(--color-danger);box-shadow:none;background:0 0;border:1px solid #0000}button.quiet-danger:hover:not(:disabled){background:var(--color-danger-bg);border-color:var(--color-danger-bg);box-shadow:none}.detail-actions>.button,.detail-actions>button{border:1px solid #0000;padding:.6rem 1rem}.detail-actions>.button.secondary,.detail-actions>button.secondary{border-color:var(--color-border-strong)}@media (width<=36rem){.detail-actions{width:100%}}@media (width<=48rem){.table{max-width:100%;display:block;position:relative;overflow-x:auto}}@media (width<=40rem){.topbar{padding:.6rem var(--space-4)}.card{padding:var(--space-4)}.brand-banner{margin:calc(-1 * var(--space-4)) calc(-1 * var(--space-4)) var(--space-4);padding:.9rem var(--space-4)}.page-header{gap:var(--space-4);flex-wrap:wrap}.content{margin:var(--space-4) auto}}
