*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-text-size-adjust:none;text-size-adjust:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;scroll-behavior:smooth}body{min-height:100dvh;line-height:1.6;font-family:var(--font-body);font-size:var(--text-base);color:var(--color-text);background-color:var(--color-bg)}img,svg{display:block;max-width:100%}ul[role=list]{list-style:none}input,button,textarea,select{font:inherit;color:inherit}h1,h2,h3,h4{text-wrap:balance;line-height:1.08;font-family:var(--font-display);font-weight:600}p,li{text-wrap:pretty}:focus-visible{outline:2px solid var(--color-primary);outline-offset:3px;border-radius:var(--radius-sm)}button{cursor:pointer;background:none;border:none}table{border-collapse:collapse;width:100%}a,button,input,textarea,select{transition:color .18s ease,background .18s ease,border-color .18s ease,box-shadow .18s ease,transform .12s ease}:root,[data-theme=light]{--color-bg: #fff8ee;--color-surface: #ffffff;--color-surface-2: #ffefdc;--color-border: #f0dfc4;--color-divider: #f5e6cc;--color-text: #201a14;--color-text-muted: #7a6a56;--color-text-faint: #b3a18a;--color-text-inverse: #fff8ee;--color-primary: #e8622c;--color-primary-hover: #cc4f1e;--color-primary-highlight: #fbe0d2;--color-accent: #0f8b8b;--color-accent-hover: #0c6f6f;--color-accent-highlight: #d6efef;--color-gold: #ffc857;--color-gold-highlight: #fff1cf;--color-error: #c23b3b;--color-error-hover: #a12e2e;--color-error-highlight: #f7dcdc;--color-success: #1f8a4c;--color-success-hover: #176e3c;--color-success-highlight: #d9f0e1;--radius-sm: .5rem;--radius-md: .85rem;--radius-lg: 1.25rem;--radius-full: 9999px;--shadow-sm: 0 1px 2px rgba(32, 26, 20, .07);--shadow-md: 0 8px 24px rgba(32, 26, 20, .1);--shadow-lg: 0 20px 48px rgba(32, 26, 20, .18);--font-display: "Clash Display", "General Sans", sans-serif;--font-body: "General Sans", "Helvetica Neue", sans-serif}[data-theme=dark]{--color-bg: #161d2b;--color-surface: #1d2636;--color-surface-2: #253141;--color-border: #34435a;--color-divider: #2a3648;--color-text: #f2ede0;--color-text-muted: #a6b0c2;--color-text-faint: #6b7690;--color-text-inverse: #161d2b;--color-primary: #ff7a45;--color-primary-hover: #ff9366;--color-primary-highlight: #4a2d20;--color-accent: #4fd1d1;--color-accent-hover: #7ce0e0;--color-accent-highlight: #1b3f3f;--color-gold: #ffd479;--color-gold-highlight: #4a3a17;--color-error: #ea8080;--color-error-hover: #f0a0a0;--color-error-highlight: #452525;--color-success: #7fd9a3;--color-success-hover: #9de3b8;--color-success-highlight: #1e3a2a;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .3);--shadow-md: 0 8px 24px rgba(0, 0, 0, .35);--shadow-lg: 0 20px 48px rgba(0, 0, 0, .5)}:root{--text-xs: clamp(.75rem, .72rem + .15vw, .85rem);--text-sm: clamp(.875rem, .83rem + .2vw, .95rem);--text-base: clamp(1rem, .96rem + .2vw, 1.05rem);--text-lg: clamp(1.15rem, 1.05rem + .5vw, 1.4rem);--text-xl: clamp(1.4rem, 1.15rem + 1vw, 2rem);--text-2xl: clamp(1.9rem, 1.3rem + 2vw, 3rem);--text-3xl: clamp(2.4rem, 1.4rem + 3vw, 4.2rem);--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.25rem;--space-6: 1.5rem;--space-8: 2rem;--space-10: 2.5rem;--space-12: 3rem;--space-16: 4rem;--space-20: 5rem}.container{max-width:960px;margin-inline:auto;padding-inline:var(--space-6)}.container-wide{max-width:1180px;margin-inline:auto;padding-inline:var(--space-6)}.section{padding-block:clamp(var(--space-10),6vw,var(--space-20))}.stack{display:flex;flex-direction:column;gap:var(--space-4)}.row{display:flex;align-items:center;gap:var(--space-3)}.row>select,.row>input[type]{width:auto;flex:0 1 auto}.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-4)}.grid-3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:var(--space-4)}@media (max-width: 720px){.grid-2,.grid-3{grid-template-columns:1fr}}.nav{position:sticky;top:0;z-index:20;background:color-mix(in oklab,var(--color-bg) 88%,transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--color-divider)}.nav-inner{display:flex;align-items:center;justify-content:space-between;padding-block:var(--space-4)}.brand{display:flex;align-items:center;gap:var(--space-2);font-family:var(--font-display);font-size:var(--text-lg);font-weight:600;color:var(--color-text);text-decoration:none}.brand-mark{width:36px;height:36px;border-radius:var(--radius-md);background:linear-gradient(135deg,var(--color-primary),var(--color-gold));display:grid;place-items:center;color:#fff}.theme-toggle{width:38px;height:38px;border-radius:var(--radius-full);display:grid;place-items:center;background:var(--color-surface-2);color:var(--color-text);border:1px solid var(--color-border)}.theme-toggle:hover{background:var(--color-primary-highlight)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);padding:.75rem 1.4rem;border-radius:var(--radius-full);font-size:var(--text-sm);font-weight:600;border:1px solid transparent;white-space:nowrap;text-decoration:none}.btn-primary{background:var(--color-primary);color:#fff;box-shadow:var(--shadow-sm)}.btn-primary:hover{background:var(--color-primary-hover);box-shadow:var(--shadow-md);transform:translateY(-1px)}.btn-accent{background:var(--color-accent);color:#fff}.btn-accent:hover{background:var(--color-accent-hover);transform:translateY(-1px)}.btn-outline{background:transparent;border-color:var(--color-border);color:var(--color-text)}.btn-outline:hover{background:var(--color-surface-2)}.btn-ghost{background:transparent;color:var(--color-text-muted)}.btn-ghost:hover{color:var(--color-text)}.btn-danger{background:transparent;border-color:var(--color-error);color:var(--color-error)}.btn-danger:hover{background:var(--color-error-highlight)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-sm{padding:.5rem .9rem;font-size:var(--text-xs);border-radius:var(--radius-full)}.btn-block{width:100%}.card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-6);box-shadow:var(--shadow-sm)}.card-flush{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);overflow:hidden}.field{display:flex;flex-direction:column;gap:var(--space-2)}.field label{font-size:var(--text-sm);font-weight:600;color:var(--color-text)}.field .hint{font-size:var(--text-xs);color:var(--color-text-muted)}input[type=text],input[type=email],input[type=tel],input[type=date],input[type=number],input[type=password],textarea,select{width:100%;padding:.7rem .85rem;border-radius:var(--radius-md);border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text);font-size:var(--text-base)}input:focus,textarea:focus,select:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-highlight)}textarea{min-height:90px;resize:vertical}.pin-input{font-family:var(--font-display);font-size:var(--text-2xl);text-align:center;letter-spacing:.35em;padding:.9rem .5rem}.star-rating{display:inline-flex;gap:.15rem}.star-rating button{font-size:1.4rem;line-height:1;color:var(--color-border)}.star-rating button.filled{color:var(--color-gold)}.star-rating button:hover{transform:scale(1.1)}.agreement-box{max-height:220px;overflow-y:auto;padding:var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface-2);font-size:var(--text-sm);white-space:pre-wrap;color:var(--color-text-muted)}.signature-line{font-family:var(--font-display);font-size:var(--text-lg);border-bottom:2px solid var(--color-text);padding-bottom:.2rem}.badge{display:inline-flex;align-items:center;gap:var(--space-1);padding:.25rem .7rem;border-radius:var(--radius-full);font-size:var(--text-xs);font-weight:600}.badge-pending{background:var(--color-gold-highlight);color:#8a6a12}.badge-approved{background:var(--color-accent-highlight);color:var(--color-accent)}.badge-rejected{background:var(--color-error-highlight);color:var(--color-error)}.badge-blocked{background:var(--color-error);color:#fff}.badge-active{background:var(--color-success-highlight);color:var(--color-success)}.badge-inactive{background:var(--color-surface-2);color:var(--color-text-muted)}.data-table{width:100%;font-size:var(--text-sm)}.data-table th{text-align:left;padding:var(--space-3);color:var(--color-text-muted);font-weight:600;border-bottom:1px solid var(--color-border);white-space:nowrap}.data-table td{padding:var(--space-3);border-bottom:1px solid var(--color-divider);vertical-align:top}.data-table tr:hover td{background:var(--color-surface-2)}.tabs{display:flex;gap:var(--space-2);border-bottom:1px solid var(--color-border);margin-bottom:var(--space-6);overflow-x:auto}.tab{padding:var(--space-3) var(--space-4);font-size:var(--text-sm);font-weight:600;color:var(--color-text-muted);border-bottom:2px solid transparent;white-space:nowrap}.tab.active{color:var(--color-primary);border-bottom-color:var(--color-primary)}.stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:var(--space-4)}.stat-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-5)}.stat-value{font-family:var(--font-display);font-size:var(--text-xl);color:var(--color-primary)}.stat-label{font-size:var(--text-xs);color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.04em}.eyebrow{font-size:var(--text-xs);font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--color-primary)}.divider{height:1px;background:var(--color-divider);border:none;margin:var(--space-6) 0}.footer{border-top:1px solid var(--color-divider);padding-block:var(--space-8);color:var(--color-text-muted);font-size:var(--text-sm);text-align:center}.alert{padding:var(--space-4);border-radius:var(--radius-md);font-size:var(--text-sm)}.alert-error{background:var(--color-error-highlight);color:var(--color-error)}.alert-success{background:var(--color-success-highlight);color:var(--color-success)}.center{display:flex;align-items:center;justify-content:center}.text-muted{color:var(--color-text-muted)}.hero-blob{position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1;overflow:hidden;pointer-events:none}.hero-gradient{background:radial-gradient(circle at 20% 20%,color-mix(in oklab,var(--color-primary) 22%,transparent) 0%,transparent 55%),radial-gradient(circle at 80% 0%,color-mix(in oklab,var(--color-accent) 20%,transparent) 0%,transparent 55%)}
