*{box-sizing:border-box;min-width:0}h1,h2,h3,h4{text-wrap:balance}p{text-wrap:pretty}body{margin:0}:root{color-scheme:light dark;--bg: #f6f3ee;--surface: #ffffff;--surface-2: #efe9df;--text: #1b2a41;--muted: #5d6b80;--border: #ddd4c6;--primary: #24406b;--primary-contrast: #ffffff;--accent: #e08a3c;--ok: #2e7d4f;--ok-bg: #e2f3e8;--warn: #9a6400;--warn-bg: #fdf1d8;--danger: #b3261e;--danger-bg: #fbe4e2;--neutral: #5d6b80;--neutral-bg: #e9edf2;--external: #b4235a;--external-bg: #fde4ee;--focus: #e08a3c88;--sky: linear-gradient(160deg, #1b2a41 0%, #24406b 55%, #e08a3c 140%);--shadow: 0 1px 2px #1b2a4114, 0 6px 24px #1b2a4114;--font: Nunito Sans, system-ui, -apple-system, Segoe UI, sans-serif}@media(prefers-color-scheme:dark){:root{--bg: #0f1724;--surface: #172234;--surface-2: #1f2d44;--text: #e8edf5;--muted: #9eabc0;--border: #2c3b55;--primary: #8fb0e6;--primary-contrast: #0f1724;--accent: #e08a3c;--ok: #7fd3a1;--ok-bg: #173a29;--warn: #f2c26b;--warn-bg: #3d2f12;--danger: #f2a39d;--danger-bg: #42201d;--neutral: #9eabc0;--neutral-bg: #24324a;--external: #f59ac0;--external-bg: #44172b;--shadow: 0 1px 2px #0006, 0 6px 24px #0004}}html{font-family:var(--font);color:var(--text);background:var(--bg);line-height:1.5;-webkit-text-size-adjust:100%}body{min-height:100dvh;display:flex;flex-direction:column}main{flex:1}[hidden]{display:none!important}a{color:var(--primary)}h1,h2,h3{line-height:1.2;margin:0 0 .5em}:focus-visible{outline:3px solid var(--focus);outline-offset:2px}.container{width:100%;max-width:1100px;margin-inline:auto;padding-inline:16px}.muted{color:var(--muted)}.visually-hidden{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.site-header{background:var(--sky);color:#fff}.site-header .container{display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:60px}.site-header a{color:inherit;text-decoration:none}.site-header .brand{font-weight:800;font-size:1.15rem;letter-spacing:.02em;white-space:nowrap}.site-header nav{display:flex;align-items:center;gap:1rem;font-size:.95rem;min-width:0}.site-header nav a:hover{text-decoration:underline}.site-footer{margin-top:3rem;padding-block:1.5rem;color:var(--muted);font-size:.875rem;border-top:1px solid var(--border)}.card{background:var(--surface);border:1px solid var(--border);border-radius:14px;box-shadow:var(--shadow);padding:1.25rem}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.4em;min-height:44px;padding:.55em 1.2em;border:1px solid transparent;border-radius:999px;font:inherit;font-weight:700;text-decoration:none;cursor:pointer;background:var(--primary);color:var(--primary-contrast);transition:filter .15s,transform .05s}.btn:hover{filter:brightness(1.08)}.btn:active{transform:translateY(1px)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn--ghost{background:transparent;color:var(--primary);border-color:var(--border)}.btn--ok{background:var(--ok);color:var(--surface)}.btn--danger{background:var(--danger);color:var(--surface)}.btn--sm{min-height:34px;padding:.3em .9em;font-size:.875rem}.badge{display:inline-block;padding:.15em .7em;border-radius:999px;font-size:.8rem;font-weight:700;white-space:nowrap}.badge--pending{color:var(--warn);background:var(--warn-bg)}.badge--approved{color:var(--ok);background:var(--ok-bg)}.badge--rejected{color:var(--danger);background:var(--danger-bg)}.badge--expired{color:var(--neutral);background:var(--neutral-bg)}.alert{padding:.8rem 1rem;border-radius:8px;margin-bottom:1rem;border:1px solid currentColor}.alert--success{color:var(--ok);background:var(--ok-bg)}.alert--warning{color:var(--warn);background:var(--warn-bg)}.alert--error{color:var(--danger);background:var(--danger-bg)}.alert--info{color:var(--primary);background:var(--neutral-bg)}.alert ul{margin:0;padding-left:1.2rem}.field{display:flex;flex-direction:column;gap:.3rem;margin-bottom:1rem}.field--check label{display:flex;align-items:center;gap:.5rem;font-weight:600;cursor:pointer}.field input[type=checkbox]{width:1.15rem;height:1.15rem;accent-color:var(--accent)}.field--invalid :is(input,select,textarea){border-color:var(--danger)}.field label{font-weight:700;font-size:.9rem}.field .hint{font-size:.8rem;color:var(--muted)}input[type=text],input[type=tel],input[type=number],input[type=search],input[type=email],input[type=password],input[type=url],input[type=time],input[type=date],select,textarea{width:100%;min-height:44px;padding:.55em .8em;font:inherit;font-size:max(16px,1rem);color:var(--text);background:var(--surface);border:1px solid var(--border);border-radius:8px}input[type=text]:focus,input[type=tel]:focus,input[type=number]:focus,input[type=search]:focus,input[type=email]:focus,input[type=password]:focus,input[type=url]:focus,input[type=time]:focus,input[type=date]:focus,select:focus,textarea:focus{outline:3px solid var(--focus);outline-offset:2px;border-color:var(--accent)}textarea{min-height:90px;resize:vertical}.field-row{display:grid;gap:0 1rem}@media(min-width:600px){.field-row{grid-template-columns:1fr 1fr}}.summary-list{display:grid;grid-template-columns:fit-content(9rem) 1fr;gap:.35rem 1rem;margin:0}.summary-list dt{color:var(--muted);font-size:.9rem}.summary-list dd{margin:0;font-weight:600}img,svg,a{-webkit-user-drag:none}h1,h2,h3,h4,label,dt,.site-header,.site-footer,.btn,.badge,.hint,.muted{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}input,textarea,select,[contenteditable],.selectable{-webkit-user-select:text;user-select:text;-webkit-touch-callout:default}@media print{.site-header,.site-footer,.no-print{display:none!important}.card{box-shadow:none}}.hero{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;background:var(--sky);color:#fff;padding-block:3rem 4.5rem}.hero h1{font-size:clamp(1.8rem,5vw,2.8rem)}.hero p{max-width:52ch;opacity:.9}.spaces{display:grid;gap:1rem;margin-top:-2.5rem}@media(min-width:600px){.spaces{grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}}.spaces .card{display:flex;flex-direction:column;gap:.5rem}.spaces .card p{flex:1;margin:0}.spaces .meta{font-size:.9rem;color:var(--muted)}.lookup{margin-top:2rem}.lookup form{display:flex;flex-wrap:wrap;gap:.5rem}.lookup input{flex:1 1 200px;text-transform:uppercase}
