.app-footer[data-v-107004d8]{text-align:center;padding:20px 24px;font-size:11px;color:var(--text-dim);letter-spacing:.04em;text-transform:uppercase;border-top:1px solid var(--border);margin-top:auto}.footer-sep[data-v-107004d8]{margin:0 8px;opacity:.4}@font-face{font-family:Fraunces Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/fraunces-vietnamese-wght-normal-CnvboYUG.woff2) format("woff2-variations");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:Fraunces Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/fraunces-latin-ext-wght-normal-Ca2vKHc0.woff2) format("woff2-variations");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:Fraunces Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/fraunces-latin-wght-normal-ukD16Tqj.woff2) format("woff2-variations");unicode-range:U+0000-00FF,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:Outfit Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/outfit-latin-ext-wght-normal-DdQaqQDo.woff2) format("woff2-variations");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:Outfit Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/outfit-latin-wght-normal-Bc-8i84L.woff2) format("woff2-variations");unicode-range:U+0000-00FF,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}:root{--bg: #0f0d0b;--bg-subtle: #131110;--surface: #1a1715;--surface-hover: #221e1b;--surface-alt: #151311;--text: #ede5db;--text-muted: #8a7d72;--text-dim: #5e554c;--accent: #d4935a;--accent-hover: #e0a46b;--accent-glow: rgba(212, 147, 90, .12);--accent-glow-strong: rgba(212, 147, 90, .22);--border: rgba(237, 229, 219, .07);--border-strong: rgba(237, 229, 219, .13);--error: #e06060;--error-bg: rgba(224, 96, 96, .1);--error-border: rgba(224, 96, 96, .2);--success: #5da87e;--success-bg: rgba(93, 168, 126, .1);--success-border: rgba(93, 168, 126, .2);--radius-sm: 6px;--radius: 10px;--radius-lg: 14px;--radius-xl: 20px;--shadow: 0 2px 16px rgba(0, 0, 0, .3);--shadow-lg: 0 8px 40px rgba(0, 0, 0, .4);--font-display: "Fraunces Variable", "Georgia", serif;--font-body: "Outfit Variable", -apple-system, BlinkMacSystemFont, sans-serif;--transition: .2s ease}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:var(--font-body);background:var(--bg);color:var(--text);line-height:1.6;min-height:100vh}body:after{content:"";position:fixed;inset:0;pointer-events:none;z-index:9999;opacity:.025;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)'/%3E%3C/svg%3E");background-repeat:repeat;background-size:256px 256px}#app{min-height:100vh;display:flex;flex-direction:column}h1,h2,h3,h4,h5,h6{font-family:var(--font-display);font-weight:500;line-height:1.2;color:var(--text);letter-spacing:-.01em}a{color:var(--accent);text-decoration:none;transition:color var(--transition)}a:hover{color:var(--accent-hover);text-decoration:none}.form-group{display:flex;flex-direction:column;gap:6px}.form-group label{font-size:11px;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.08em}input[type=text],input[type=password],input[type=email],input[type=number],input[type=date],input[type=datetime-local],select,textarea{width:100%;padding:10px 14px;border:1px solid var(--border-strong);border-radius:var(--radius);font-family:var(--font-body);font-size:14px;color:var(--text);background:var(--surface);transition:border-color var(--transition),box-shadow var(--transition)}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-glow)}input::placeholder,textarea::placeholder{color:var(--text-dim)}input[type=date],input[type=datetime-local],select{color-scheme:dark}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:10px 22px;border:none;border-radius:var(--radius);font-family:var(--font-body);font-size:14px;font-weight:500;cursor:pointer;transition:all var(--transition);text-decoration:none;line-height:1.4;letter-spacing:.01em}.btn:disabled{opacity:.4;cursor:not-allowed}.btn-primary{background:var(--accent);color:#0f0d0b}.btn-primary:hover:not(:disabled){background:var(--accent-hover);box-shadow:0 0 20px var(--accent-glow-strong)}.btn-outline{background:transparent;color:var(--text-muted);border:1px solid var(--border-strong)}.btn-outline:hover:not(:disabled){border-color:var(--accent);color:var(--accent);background:var(--accent-glow)}.btn-danger{background:var(--error);color:#fff}.btn-danger:hover:not(:disabled){background:#cc4e4e;box-shadow:0 0 20px #e0606033}.btn-sm{padding:6px 14px;font-size:13px}.btn-block{width:100%}.alert{padding:12px 16px;border-radius:var(--radius);font-size:14px;margin-bottom:16px}.alert-error{background:var(--error-bg);color:var(--error);border:1px solid var(--error-border)}.alert-success{background:var(--success-bg);color:var(--success);border:1px solid var(--success-border)}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:var(--bg)}::-webkit-scrollbar-thumb{background:var(--text-dim);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}@keyframes fadeUp{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.fade-up{animation:fadeUp .4s ease both}
