@layer reset,tokens,base,primitives;@layer reset{*,*:before,*:after{box-sizing:border-box}html,body{margin:0;min-height:100%}img,svg{display:block;max-width:100%}button,input,select,textarea{font:inherit}}@layer tokens{:root{--font-serif: "Cormorant Garamond", Georgia, serif;--font-sans: "Jost", system-ui, sans-serif;--color-bg: #0f0e0c;--color-bg-warm: #141210;--color-surface: #1a1815;--color-surface-hi: #221f1b;--color-surface-muted: #171512;--color-text: #ede8e0;--color-muted: #9e9187;--color-faint: #5c5348;--color-accent: #b8975a;--color-accent-strong: #d4b277;--color-border: rgba(255, 245, 235, .08);--color-border-hi: rgba(255, 245, 235, .15);--color-danger: #d06b5d;--shadow-panel: 0 18px 52px rgba(0, 0, 0, .58);--radius-panel: 2px;--radius-field: 2px;--space-2: clamp(.45rem, .35rem + .2vw, .55rem);--space-3: clamp(.65rem, .5rem + .35vw, .85rem);--space-4: clamp(.9rem, .75rem + .45vw, 1.1rem);--space-6: clamp(1.25rem, 1rem + .8vw, 1.75rem);--space-8: clamp(1.75rem, 1.25rem + 1.4vw, 2.5rem);--shell-max: 96rem;--type-body: clamp(.92rem, .86rem + .22vw, 1rem);--type-heading: clamp(1.9rem, 1.2rem + 1.5vw, 3rem);--type-subheading: clamp(1.2rem, 1rem + .6vw, 1.55rem)}}@layer base{body{background:radial-gradient(circle at top,rgba(184,151,90,.08),transparent 34%),linear-gradient(180deg,var(--color-bg-warm),var(--color-bg));color:var(--color-text);font-family:var(--font-sans);font-size:var(--type-body);line-height:1.5;text-wrap:pretty;position:relative}body:before{content:"";position:fixed;inset:0;pointer-events:none;opacity:.28;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='260' height='260'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.75' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='260' height='260' filter='url(%23n)' opacity='0.04'/%3E%3C/svg%3E")}input,select,textarea{width:100%;min-width:0;border:1px solid var(--color-border);border-radius:var(--radius-field);background:#221f1be0;color:var(--color-text);padding:.85rem 1rem}input::placeholder,textarea::placeholder{color:var(--color-faint)}input:focus,select:focus,textarea:focus{outline:2px solid color-mix(in srgb,var(--color-accent) 45%,white);outline-offset:2px;border-color:color-mix(in srgb,var(--color-accent) 36%,var(--color-border));box-shadow:0 0 0 3px #b8975a1f}button{cursor:pointer}}@layer primitives{.app-shell{width:min(var(--shell-max),calc(100% - clamp(1rem,3vw,2rem)));min-height:100vh;margin-inline:auto;padding-block:var(--space-8);position:relative;z-index:1}.surface{container-type:inline-size;position:relative;overflow:hidden;background:linear-gradient(180deg,#221f1beb,#1a1815fa);border:1px solid var(--color-border);border-radius:var(--radius-panel);box-shadow:var(--shadow-panel);padding:var(--space-6)}.surface:before{content:"";position:absolute;inset:0 0 auto;height:1px;background:linear-gradient(90deg,transparent,var(--color-accent),transparent);opacity:.9}.surface--nested{background:linear-gradient(180deg,#1b1815f0,#141210fa);box-shadow:none}.cluster{display:flex;flex-wrap:wrap;gap:var(--space-3);align-items:center}.stack{display:grid;gap:var(--space-4)}.muted{color:var(--color-muted)}.heading{margin:0;font-family:var(--font-serif);font-size:var(--type-heading);line-height:1.06;font-weight:300;letter-spacing:.02em}.heading--sub{font-size:var(--type-subheading);font-weight:400;letter-spacing:.04em}.eyebrow{margin:0;color:var(--color-accent);font-size:.78rem;font-weight:400;letter-spacing:.18em;text-transform:uppercase}.field{display:grid;gap:.55rem;min-width:0}.field--full{grid-column:1 / -1}.field__label{font-size:.8rem;font-weight:500;letter-spacing:.08em;text-transform:uppercase;color:var(--color-muted)}.button{border:1px solid rgba(184,151,90,.45);border-radius:999px;background:transparent;color:var(--color-accent);padding:.9rem 1.4rem;font-size:.82rem;font-weight:500;letter-spacing:.12em;text-transform:uppercase;transition:background-color .14s ease,border-color .14s ease,color .14s ease}.button:hover{background:#b8975a1f;border-color:var(--color-accent)}.button--secondary{background:#fff5eb08;color:var(--color-text);border-color:var(--color-border)}.button--secondary:hover{background:#fff5eb12;border-color:var(--color-border-hi)}.button--danger{border-color:#d06b5d73;color:#ffd7d0;background:#d06b5d14}.shell-header{gap:var(--space-4)}.shell-header__top{justify-content:space-between;align-items:end}.shell-header__copy{gap:var(--space-2)}.shell-main{gap:var(--space-6)}.nav-links{gap:var(--space-2);padding-top:var(--space-2);border-top:1px solid var(--color-border)}.nav-links a{padding:.5rem 0;border:0;background:transparent;color:var(--color-muted);text-decoration:none;font-size:.78rem;font-weight:500;letter-spacing:.14em;text-transform:uppercase;position:relative}.nav-links a:after{content:"";position:absolute;left:0;right:0;bottom:-.15rem;height:1px;background:var(--color-accent);transform:scaleX(0);transform-origin:left;transition:transform .14s ease}.nav-links a:hover,.nav-links a.is-active{color:var(--color-text)}.nav-links a:hover:after,.nav-links a.is-active:after{transform:scaleX(1)}.login-shell{display:grid;place-items:center}.login-card{width:min(100%,34rem)}.login-actions{align-items:start}.consent-row{align-items:center}.consent-toggle{display:flex;gap:.65rem;align-items:center;color:var(--color-muted)}.consent-toggle input{width:1rem;height:1rem;accent-color:var(--color-accent)}.error-text{margin:0;color:var(--color-danger);font-weight:600}.staff-booking-shell{max-width:72rem}.operator-shell{max-width:74rem}.staff-booking-grid,.operator-grid,.operator-stats-grid{display:grid;gap:var(--space-4)}.staff-booking-actions{align-items:start}.record-list{display:grid;gap:var(--space-3);padding:0;margin:0;list-style:none}.record-list__item{display:grid;gap:.35rem;padding:var(--space-4);border:1px solid var(--color-border);border-radius:1rem;background:linear-gradient(180deg,#1b1815f0,#141210fa);min-width:0}.record-list__meta{display:grid;gap:.35rem;min-width:0}.record-list__actions{justify-content:flex-start}.fieldset-reset{margin:0;padding:0;border:0;min-width:0}@container (width > 44rem){.staff-booking-grid,.operator-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.operator-stats-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}}
