:root{--bg: oklch(1 0 0);--surface: oklch(.97 .008 130);--surface-2: oklch(.94 .012 130);--ink: oklch(.22 .02 130);--muted: oklch(.52 .018 130);--primary: oklch(.48 .11 130);--on-primary: oklch(.99 0 0);--accent: oklch(.55 .09 55);--border: oklch(.88 .01 130);--danger: oklch(.55 .16 25);--success: oklch(.55 .12 145);--warning: oklch(.72 .12 85);--landing-ink: oklch(.18 .015 130);--font-display: "Source Serif 4", "PT Serif", Georgia, serif;--font-ui: "Manrope", "Golos Text", system-ui, sans-serif;--font-mono: "IBM Plex Mono", ui-monospace, monospace;--space-1: 4px;--space-2: 8px;--space-3: 16px;--space-4: 24px;--space-5: 32px;--space-6: 48px;--space-7: 64px}*,*:before,*:after{box-sizing:border-box}html,body,#root{margin:0;min-height:100%}body{font-family:var(--font-ui);color:var(--ink);background:var(--bg);line-height:1.5}h1,h2,h3{text-wrap:balance;font-family:var(--font-display)}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--accent);outline-offset:2px}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}.shell{min-height:100vh;background:var(--bg)}.shell__bar{display:flex;align-items:center;gap:var(--space-4);padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--border);background:var(--surface)}.shell__brand{font-family:var(--font-display);font-weight:700;color:var(--ink);text-decoration:none;letter-spacing:-.03em}.shell__bar nav{display:flex;gap:var(--space-3);flex:1}.shell__bar a{color:var(--ink);text-decoration:none;font-weight:500}.locale{display:flex;gap:var(--space-2)}.locale button{border:1px solid var(--border);background:var(--bg);color:var(--ink);padding:var(--space-1) var(--space-2);cursor:pointer;font:inherit}.locale button[aria-pressed=true]{border-color:var(--primary);color:var(--primary)}.home,.panel{max-width:40rem;margin:0 auto;padding:var(--space-5) var(--space-4)}.muted{color:var(--muted)}.chip{display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-1) var(--space-3);border:1px solid var(--border);background:var(--surface-2);font-size:.875rem}.chip--pending{background:color-mix(in oklch,var(--warning) 18%,var(--surface))}.chip--approved{background:color-mix(in oklch,var(--success) 18%,var(--surface))}.chip--rejected{background:color-mix(in oklch,var(--danger) 18%,var(--surface))}.chip--unavailable{background:var(--surface-2);color:var(--muted)}.btn{display:inline-flex;align-items:center;padding:var(--space-2) var(--space-4);border:1px solid transparent;background:var(--primary);color:var(--on-primary);font:inherit;font-weight:600;cursor:pointer;transition:opacity .2s ease-out,transform .2s ease-out}.btn:hover{opacity:.92;transform:translateY(-1px)}.btn--ghost{background:transparent;border-color:var(--border);color:var(--ink)}.btn:disabled{opacity:.45;cursor:not-allowed;transform:none}.field{display:flex;flex-direction:column;gap:var(--space-1);margin-bottom:var(--space-3)}.field input,.field select,.field textarea{font:inherit;padding:var(--space-2);border:1px solid var(--border);background:var(--bg);color:var(--ink)}.match-card{border:1px solid var(--border);background:var(--surface);padding:var(--space-4);margin-bottom:var(--space-3)}.match-card h3{margin:0 0 var(--space-2);font-family:var(--font-mono);font-size:1rem}.stack{display:flex;flex-direction:column;gap:var(--space-3)}.row{display:flex;gap:var(--space-2);flex-wrap:wrap;align-items:center}.tabs{display:flex;gap:var(--space-2);margin-bottom:var(--space-4)}.tabs button[aria-selected=true]{border-color:var(--primary);color:var(--primary)}
