@font-face{font-family:__Inter_8b3a0b;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/ba9851c3c22cd980-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:__Inter_8b3a0b;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/21350d82a1f187e9-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:__Inter_8b3a0b;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/c5fe6dc8356a8c31-s.woff2) format("woff2");unicode-range:u+1f??}@font-face{font-family:__Inter_8b3a0b;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/19cfc7226ec3afaa-s.woff2) format("woff2");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:__Inter_8b3a0b;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/df0a9ae256c0569c-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:__Inter_8b3a0b;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/8e9860b6e62d6359-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:__Inter_8b3a0b;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/e4af272ccee01ff0-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:__Inter_8b3a0b;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/ba9851c3c22cd980-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:__Inter_8b3a0b;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/21350d82a1f187e9-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:__Inter_8b3a0b;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/c5fe6dc8356a8c31-s.woff2) format("woff2");unicode-range:u+1f??}@font-face{font-family:__Inter_8b3a0b;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/19cfc7226ec3afaa-s.woff2) format("woff2");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:__Inter_8b3a0b;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/df0a9ae256c0569c-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:__Inter_8b3a0b;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/8e9860b6e62d6359-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:__Inter_8b3a0b;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/e4af272ccee01ff0-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:__Inter_8b3a0b;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/ba9851c3c22cd980-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:__Inter_8b3a0b;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/21350d82a1f187e9-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:__Inter_8b3a0b;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/c5fe6dc8356a8c31-s.woff2) format("woff2");unicode-range:u+1f??}@font-face{font-family:__Inter_8b3a0b;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/19cfc7226ec3afaa-s.woff2) format("woff2");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:__Inter_8b3a0b;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/df0a9ae256c0569c-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:__Inter_8b3a0b;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/8e9860b6e62d6359-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:__Inter_8b3a0b;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/e4af272ccee01ff0-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:__Inter_8b3a0b;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/ba9851c3c22cd980-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:__Inter_8b3a0b;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/21350d82a1f187e9-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:__Inter_8b3a0b;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/c5fe6dc8356a8c31-s.woff2) format("woff2");unicode-range:u+1f??}@font-face{font-family:__Inter_8b3a0b;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/19cfc7226ec3afaa-s.woff2) format("woff2");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:__Inter_8b3a0b;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/df0a9ae256c0569c-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:__Inter_8b3a0b;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/8e9860b6e62d6359-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:__Inter_8b3a0b;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/e4af272ccee01ff0-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:__Inter_Fallback_8b3a0b;src:local("Arial");ascent-override:90.49%;descent-override:22.56%;line-gap-override:0.00%;size-adjust:107.06%}.__className_8b3a0b{font-family:__Inter_8b3a0b,__Inter_Fallback_8b3a0b;font-style:normal}.__variable_8b3a0b{--font-sans:"__Inter_8b3a0b","__Inter_Fallback_8b3a0b"}*,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }.\!container{width:100%!important}@media (min-width:640px){.\!container{max-width:640px!important}.container{max-width:640px}}@media (min-width:768px){.\!container{max-width:768px!important}.container{max-width:768px}}@media (min-width:1024px){.\!container{max-width:1024px!important}.container{max-width:1024px}}@media (min-width:1280px){.\!container{max-width:1280px!important}.container{max-width:1280px}}@media (min-width:1536px){.\!container{max-width:1536px!important}.container{max-width:1536px}}.pointer-events-none{pointer-events:none}.visible{visibility:visible}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.inset-0{inset:0}.left-0{left:0}.top-0{top:0}.mb-2{margin-bottom:.5rem}.block{display:block}.inline-block{display:inline-block}.inline{display:inline}.flex{display:flex}.table{display:table}.grid{display:grid}.hidden{display:none}.h-2{height:.5rem}.h-full{height:100%}.w-full{width:100%}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.cursor-pointer{cursor:pointer}.resize{resize:both}.appearance-none{-webkit-appearance:none;-moz-appearance:none;appearance:none}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-between{justify-content:space-between}.overflow-hidden{overflow:hidden}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.5rem}.border{border-width:1px}.bg-gray-700\/50{background-color:rgba(55,65,81,.5)}.bg-white\/10{background-color:hsla(0,0%,100%,.1)}.px-2{padding-left:.5rem;padding-right:.5rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.font-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xs{font-size:.75rem;line-height:1rem}.font-medium{font-weight:500}.uppercase{text-transform:uppercase}.italic{font-style:italic}.tracking-wide{letter-spacing:.025em}.text-white\/90{color:hsla(0,0%,100%,.9)}.underline{text-decoration-line:underline}.line-through{text-decoration-line:line-through}.accent-violet-400{accent-color:#a78bfa}.shadow{--tw-shadow:0 1px 3px 0 rgba(0,0,0,.1),0 1px 2px -1px rgba(0,0,0,.1);--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color),0 1px 2px -1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.outline{outline-style:solid}.blur{--tw-blur:blur(8px)}.blur,.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-all{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.duration-300{transition-duration:.3s}:root{--bg:#fff;--surface:#fff;--surface-2:#f8f9fa;--text:#1a1a1a;--text-muted:#666;--text-dim:#999;--accent:#2563eb;--accent-hover:#1d4ed8;--accent-dim:rgba(37,99,235,.1);--accent-muted:rgba(37,99,235,.05);--accent-subtle:rgba(37,99,235,.02);--border:#e5e7eb;--border-dim:#f3f4f6;--border-subtle:#f9fafb;--input-bg:#fff;--overlay:rgba(0,0,0,.5);--font:var(--font-sans),system-ui,-apple-system,sans-serif}[data-theme=dark]{--bg:#111827;--surface:#1f2937;--surface-2:#374151;--text:#f9fafb;--text-muted:#9ca3af;--text-dim:#6b7280;--accent:#3b82f6;--accent-hover:#60a5fa;--border:#374151;--border-dim:#4b5563;--input-bg:#1f2937;--overlay:rgba(0,0,0,.7)}html{transition:background .3s,color .3s}*,:after,:before{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font-family:var(--font);line-height:1.6;min-height:100vh;display:flex;justify-content:center;align-items:flex-start;padding:5vh 0 0}@media (max-width:640px){body{padding-top:1rem}}.theme-toggle-btn{top:1rem;right:1rem;width:38px;height:38px;background:var(--surface);border:1px solid var(--border-dim);color:var(--text-muted);cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:1rem;font-family:var(--font);transition:border-color .15s,color .15s,background .2s,transform .2s;line-height:1;border-radius:50%;box-shadow:0 2px 8px rgba(0,0,0,.1)}@media (max-width:640px){.theme-toggle-btn{top:auto;bottom:1.25rem;right:1.25rem;width:44px;height:44px;font-size:1.2rem;box-shadow:0 4px 12px rgba(0,0,0,.15)}}.container{width:100%;max-width:650px;padding:2rem 1.5rem}body:has(.full-page){padding-top:0}.full-page{max-width:none;padding:0;min-height:100vh;min-height:100dvh;flex-direction:column}.full-page,.full-page>.card{display:flex;position:relative}.full-page>.card{flex:1;border:none;border-radius:0;box-shadow:none;background:transparent;flex-direction:column;justify-content:center;padding:3rem clamp(1.5rem,12vw,14rem)}@media (max-width:768px){.full-page>.card{padding:2rem 1.25rem;justify-content:flex-start}}body:has(.login-page){padding-top:0}.login-page{max-width:none;padding:1.5rem;min-height:100vh;min-height:100dvh;display:flex;align-items:center;justify-content:center;position:relative}.login-page>.card{width:100%;border:none;border-radius:0;box-shadow:none;background:transparent;position:relative}@media (max-width:640px){.container{padding:1rem}}.card{background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:3rem;box-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -1px rgba(0,0,0,.06);transition:transform .2s;will-change:transform}@media (max-width:768px){.card{padding:2rem 1.25rem}}@media (max-width:480px){.card{padding:1.5rem 1rem;border-radius:0;border-left:none;border-right:none}}.title{color:var(--text);font-size:2.25rem;font-weight:800;letter-spacing:-.025em;text-align:center;margin:0 0 .5rem}@media (max-width:640px){.title{font-size:1.75rem}}.subtitle{text-align:center;color:var(--text-muted);font-size:1.125rem;margin:0 0 2.5rem}@media (max-width:640px){.subtitle{font-size:1rem;margin-bottom:1.5rem}}.form-group{margin-bottom:1.5rem}label{display:block;color:var(--text);font-size:.875rem;font-weight:600;margin-bottom:.5rem}input,select,textarea{width:100%;padding:.75rem 1rem;background:var(--input-bg);border:1px solid var(--border);border-radius:6px;color:var(--text);font-family:var(--font);font-size:1rem;outline:none;transition:border-color .2s,box-shadow .2s}@media (max-width:640px){
  /* !important: several components set a smaller font-size inline (e.g.
     compact modal inputs at 0.78-0.8rem) — anything under 16px makes Safari
     zoom the whole page in on focus, which this must override everywhere. */input,select,textarea{font-size:16px!important}}.notif-badge{display:inline-flex;align-items:center;min-height:1.6rem}@media (max-width:640px){.notif-badge{min-height:2.75rem;padding:.5rem .9rem!important;font-size:.68rem!important}}input:focus,select:focus,textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-dim)}input::-moz-placeholder{color:var(--text-dim)}input::placeholder{color:var(--text-dim)}.btn-submit{width:100%;padding:.875rem;background:var(--accent);border:none;border-radius:6px;color:#fff;font-family:var(--font);font-size:1rem;font-weight:600;cursor:pointer;margin-top:1rem;transition:background .2s}@media (max-width:640px){.btn-submit{padding:1rem;font-size:1.1rem}}.grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:1.5rem}@media (max-width:640px){.grid-2{grid-template-columns:1fr;gap:1rem}}.mobile-hide{@media (max-width:768px){display:none!important}}.mobile-only{display:none!important;@media (max-width:768px){display:block!important}}.btn-submit:hover:not(:disabled){background:var(--accent-hover)}.btn-submit:disabled{opacity:.6;cursor:not-allowed}.tabs{display:flex;margin-bottom:2rem;border-bottom:2px solid var(--border-dim);gap:2rem}.tab-btn{padding:.75rem 0;background:none;border:none;border-bottom:2px solid transparent;color:var(--text-muted);font-size:1rem;font-weight:500;cursor:pointer;margin-bottom:-2px;transition:color .2s,border-color .2s}.tab-btn.tab-active{border-bottom-color:var(--accent);color:var(--accent);font-weight:600}.form-content{transform-origin:left center;backface-visibility:hidden}@media (prefers-reduced-motion:no-preference){.page-flip-out-fwd{animation:page-flip-out-fwd .28s ease-in both}.page-flip-in-fwd{animation:page-flip-in-fwd .32s ease-out both}.page-flip-out-back{animation:page-flip-out-back .28s ease-in both}.page-flip-in-back{animation:page-flip-in-back .32s ease-out both}}@keyframes page-flip-out-fwd{0%{transform:perspective(1400px) rotateY(0deg);opacity:1}to{transform:perspective(1400px) rotateY(-88deg);opacity:.4}}@keyframes page-flip-in-fwd{0%{transform:perspective(1400px) rotateY(88deg);opacity:.4}to{transform:perspective(1400px) rotateY(0deg);opacity:1}}@keyframes page-flip-out-back{0%{transform:perspective(1400px) rotateY(0deg);opacity:1}to{transform:perspective(1400px) rotateY(88deg);opacity:.4}}@keyframes page-flip-in-back{0%{transform:perspective(1400px) rotateY(-88deg);opacity:.4}to{transform:perspective(1400px) rotateY(0deg);opacity:1}}.modal-overlay{position:fixed;inset:0;background:var(--overlay);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:200;will-change:opacity}.modal-panel{width:90%;max-width:350px;background:var(--surface);border-radius:12px;box-shadow:0 20px 25px -5px rgba(0,0,0,.1);overflow:hidden}.modal-header{padding:1.25rem;border-bottom:1px solid var(--border);display:flex;justify-content:space-between;align-items:center}.modal-title{font-weight:700;font-size:1.1rem}.modal-option{width:100%;padding:1rem 1.25rem;background:none;border:none;text-align:left;font-size:1rem;cursor:pointer;transition:background .2s;color:var(--text)}.modal-option:hover{background:var(--surface-2)}.modal-option.selected{background:var(--accent-dim);color:var(--accent);font-weight:600}.gender-btn{width:100%;padding:.75rem 1rem;background:var(--input-bg);border:1px solid var(--border);border-radius:6px;color:var(--text-dim);text-align:left;cursor:pointer;font-size:1rem}.gender-btn.has-value{color:var(--text)}.awaiting-card{text-align:center}.visitor-num-box{margin:2rem 0;padding:2rem;background:var(--surface-2);border-radius:12px;border:1px solid var(--border)}.visitor-num{font-size:3rem;font-weight:800;color:var(--accent);margin:1rem 0}.admin-root{display:flex;min-height:100vh;width:100%}.admin-sidebar{width:260px;background:var(--surface);border-right:1px solid var(--border);padding:2rem 0;position:fixed;height:100vh;top:0;left:0;overflow-y:auto}.admin-main{margin-left:260px;flex:1;padding:3rem}.admin-mobile-nav{display:none}@media (max-width:768px){.admin-root{flex-direction:column}.admin-sidebar{position:fixed;top:0;left:0;height:100vh;transform:translateX(-260px);transition:transform .3s ease;z-index:200}.admin-sidebar.open{transform:translateX(0)}.admin-mobile-nav{display:block;position:sticky;top:0;z-index:100;background:var(--surface);border-bottom:1px solid var(--border)}.admin-main{margin-left:0;padding:1.25rem}.card{padding:1.5rem 1rem}}.portal-bg{position:fixed;inset:0;z-index:-1;pointer-events:none;opacity:.14}[data-theme=dark] .portal-bg{opacity:.45}.footer-link{color:var(--accent);text-decoration:none;font-weight:500}.footer-link:hover{text-decoration:underline}.form-error{color:#dc2626;font-size:.875rem;margin-top:.5rem}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.container{animation:fadeIn .4s ease-out;will-change:opacity,transform}.form-flip{transition:opacity .2s}.flip-from-left,.flip-from-right{animation:none}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:1rem;margin-bottom:2rem}@media (max-width:900px){.stats-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:480px){.stats-grid{grid-template-columns:1fr}}.stat-card-link{display:block;text-decoration:none;transition:transform .15s ease}.stat-card-link:hover{transform:translateY(-2px)}.stat-card-link:hover>div{border-color:var(--accent)!important}.table-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch;margin-bottom:1.5rem}.request-card{display:flex;gap:1.25rem;align-items:flex-start;padding:1rem 1.25rem;background:var(--surface);border:1px solid var(--border-dim)}.request-avatar{flex-shrink:0}.request-info{flex:1;min-width:0}.request-actions{flex-shrink:0;text-align:right;display:flex;flex-direction:column;gap:.5rem;align-items:flex-end}@media (max-width:640px){.request-card{flex-direction:column;gap:.75rem;padding:1rem}.request-actions{width:100%;text-align:left;align-items:stretch;flex-direction:row;flex-wrap:wrap}.request-actions button{flex:1}}.list-row{display:flex;gap:1.25rem;align-items:center;padding:.85rem 1.25rem;background:var(--surface);border:1px solid var(--border-dim)}@media (max-width:640px){.list-row{flex-direction:column;align-items:stretch;gap:.75rem;padding:1rem}.list-row .actions{justify-content:flex-start}}.list-row .info{flex:1;min-width:0}.list-row .actions{display:flex;gap:.5rem;flex-shrink:0}.focus\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.focus\:ring-2:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.focus\:ring-violet-400\/50:focus{--tw-ring-color:rgba(167,139,250,.5)}