@import url("https://fonts.googleapis.com/css2?family=IBM+Plex+Sans:wght@400;500;600&display=swap");:root{--bg:#eceff1;--surface:#ffffff;--border:#b0bec5;--text:#102027;--muted:#546e7a;--accent:#37474f;--accent-soft:#cfd8dc;--error:#8b1e1e}*{box-sizing:border-box}body,html{margin:0;padding:0;background:var(--bg);color:var(--text);font-family:IBM Plex Sans,sans-serif}button,input{font:inherit}.login-main{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2rem 1.5rem}.login-main h1{font-size:1.35rem;font-weight:600;margin:0 0 .35rem}.login-main .lead{color:var(--muted);margin:0 0 1.5rem;text-align:center;max-width:28rem}.login-card{width:min(100%,24rem);background:var(--surface);border:1px solid var(--border);border-radius:4px;padding:1.25rem}.field{display:flex;flex-direction:column;gap:.35rem;margin-bottom:1rem}.field label{font-size:.875rem;font-weight:500}.field input{border:1px solid var(--border);border-radius:4px;padding:.55rem .65rem}.field-hint{font-size:.8rem;color:var(--muted)}.primary{width:100%;border:none;border-radius:4px;background:var(--accent);color:#fff;padding:.65rem 1rem;font-weight:500;cursor:pointer}.primary:disabled{opacity:.6;cursor:not-allowed}.banner.error{background:#fdecea;border:1px solid #f5c2c0;color:var(--error);padding:.65rem .75rem;border-radius:4px;margin-bottom:1rem}.mfa-explanation{font-size:.9rem}.mfa-explanation,.mfa-meta{color:var(--muted);margin:0 0 1rem}.mfa-meta{font-size:.8rem}.resend-row{display:flex;align-items:center;gap:.5rem;margin:.75rem 0 1rem}button.link{background:none;border:none;padding:0;color:var(--accent);font-size:.8rem;font-weight:500;cursor:pointer}button.link:hover:not(:disabled){text-decoration:underline}button.link:disabled{color:var(--muted);cursor:not-allowed}.shell-main{max-width:960px;margin:0 auto;padding:2rem 1.5rem 4rem}.directory-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:1.5rem}.surface-label{font-size:.8rem;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin:0 0 .35rem}.directory-table{width:100%;border-collapse:collapse;background:var(--surface);border:1px solid var(--border)}.directory-table td,.directory-table th{padding:.75rem .85rem;text-align:left;border-bottom:1px solid var(--border)}.directory-table th{font-size:.85rem;color:var(--muted)}.row-highlight{background:#e8f5e9}.provision-card{margin-top:1rem;max-width:32rem;background:var(--surface);border:1px solid var(--border);border-radius:4px;padding:1.25rem}.field-error{font-size:.8rem;color:var(--error)}.form-actions{display:flex;justify-content:space-between;align-items:center;gap:1rem}.primary.inline{width:auto}.primary-link,.secondary-link{display:inline-flex;align-items:center;justify-content:center;border-radius:4px;padding:.65rem 1rem;text-decoration:none;font-weight:500}.primary-link{background:var(--accent);color:#fff}.secondary-link{border:1px solid var(--border);color:var(--text)}.banner.success{background:#e8f5e9;border:1px solid #b7dfb9;color:#1b5e20;padding:.65rem .75rem;border-radius:4px;margin-bottom:1rem}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.public-landing{--landing-paper:oklch(0.955 0.008 225);--landing-ink:oklch(0.24 0.025 230);--landing-muted:oklch(0.49 0.025 230);--landing-brass:oklch(0.66 0.12 72);--landing-clay:oklch(0.53 0.14 39);--landing-blue:oklch(0.47 0.12 248);--landing-plum:oklch(0.46 0.1 326);position:relative;isolation:isolate;min-height:100svh;max-width:none;margin:0;overflow:hidden;padding:clamp(1.25rem,3vw,2.75rem) clamp(1.25rem,5vw,5rem) clamp(2rem,5vw,4rem);background:var(--landing-paper);color:var(--landing-ink)}.landing-header,.landing-hero{width:min(100%,82rem);margin-inline:auto}.landing-header{position:relative;z-index:2;display:flex;align-items:center;justify-content:space-between}.landing-mark{display:inline-flex;width:3.5rem;height:3.5rem}.landing-mark svg{width:100%;height:100%}.mark-frame{fill:none;stroke:var(--landing-ink);stroke-width:3}.mark-dark{fill:var(--landing-ink)}.mark-warm{fill:var(--landing-brass)}.mark-clay{fill:var(--landing-clay)}.mark-paper{fill:var(--landing-paper)}.mark-line{fill:none;stroke:var(--landing-paper);stroke-width:3}.landing-header-link,.landing-primary-link{color:var(--landing-ink);font-weight:600;text-decoration:none}.landing-header-link{padding:.75rem 0;border-bottom:1px solid color-mix(in oklch,var(--landing-ink) 32%,transparent)}.landing-header-link:hover{border-color:var(--landing-ink)}.landing-header-link:focus-visible,.landing-mark:focus-visible,.landing-primary-link:focus-visible{outline:3px solid var(--landing-blue);outline-offset:4px}.landing-hero{position:relative;z-index:1;display:grid;grid-template-columns:minmax(20rem,.85fr) minmax(28rem,1.15fr);align-items:center;grid-gap:clamp(2rem,5vw,6rem);gap:clamp(2rem,5vw,6rem);min-height:calc(100svh - 7rem)}.landing-copy{padding-block:clamp(3rem,7vw,7rem);animation:landing-reveal .5s ease-out both}.landing-eyebrow{margin:0 0 1.5rem;color:var(--landing-clay);font-size:.8rem;font-weight:600;letter-spacing:.11em;text-transform:uppercase}.landing-copy h1{max-width:10ch;margin:0;font-size:clamp(3.15rem,5.8vw,6.75rem);font-weight:600;letter-spacing:-.06em;line-height:.92}.landing-intro{max-width:34rem;margin:2rem 0 0;color:var(--landing-muted);font-size:clamp(1.05rem,1.5vw,1.3rem);line-height:1.55}.landing-primary-link{display:inline-flex;align-items:center;justify-content:space-between;gap:2.5rem;min-height:3.25rem;margin-top:2.5rem;padding:.85rem 1rem;border:2px solid var(--landing-ink);background:var(--landing-ink);color:var(--landing-paper)}.landing-primary-link:hover{background:var(--landing-brass);color:var(--landing-ink)}.landing-primary-link span{font-size:1.15rem}.landing-note{margin:.85rem 0 0;color:var(--landing-muted);font-size:.78rem}.portrait-stage{width:min(100%,42rem);margin:0;justify-self:end;animation:landing-reveal .7s ease-out .1s both}.portrait-stage svg{display:block;width:100%;height:auto}.portrait-grid{fill:none;stroke:var(--landing-ink);stroke-width:1;opacity:.12}.portrait-halo{fill:var(--landing-brass);opacity:.18}.portrait-base,.portrait-paper{fill:var(--landing-paper)}.portrait-clay,.portrait-dot{fill:var(--landing-clay)}.portrait-blue{fill:var(--landing-blue)}.portrait-mouth,.portrait-plum{fill:var(--landing-plum)}.portrait-ear,.portrait-warm{fill:var(--landing-brass)}.portrait-line-heavy,.portrait-lines,.portrait-orbit,.portrait-outline{fill:none;stroke:var(--landing-ink);stroke-linejoin:round}.portrait-outline{stroke-width:10}.portrait-lines{stroke-width:4}.portrait-line-heavy,.portrait-orbit{stroke-width:8}.portrait-eye-ring{fill:var(--landing-paper);stroke:var(--landing-ink);stroke-width:7}.portrait-eye{fill:var(--landing-ink)}.portrait-eye-plane{fill:var(--landing-paper);stroke:var(--landing-ink);stroke-width:6}.portrait-nose{fill:var(--landing-clay);stroke:var(--landing-ink);stroke-width:7;stroke-linejoin:round}.ghost-portrait{position:absolute;z-index:0;width:min(25rem,34vw);fill:none;stroke:var(--landing-ink);stroke-width:2;opacity:.03;pointer-events:none}.ghost-portrait--left{bottom:-9rem;left:-8rem}.ghost-portrait--right{top:-10rem;right:22%;rotate:18deg}@keyframes landing-reveal{0%{opacity:0}to{opacity:1}}@media (max-width:800px){.public-landing{overflow:clip}.landing-hero{grid-template-columns:1fr;gap:0;min-height:auto}.landing-copy{padding:5rem 0 2rem}.landing-copy h1{font-size:clamp(3rem,15vw,5rem)}.portrait-stage{width:min(100%,34rem);justify-self:center}.ghost-portrait{width:18rem}}@media (prefers-reduced-motion:reduce){.landing-copy,.portrait-stage{animation:none}}