@import url("https://fonts.googleapis.com/css2?family=Crimson+Text:ital,wght@0,400;0,600;0,700;1,400&family=Source+Serif+4:ital,opsz,wght@0,8..60,300;0,8..60,400;0,8..60,600;1,8..60,400&family=IBM+Plex+Mono:wght@400;500&display=swap");:root{--bg-primary:#0c0a08;--bg-secondary:#1a1410;--bg-card:rgba(18,14,10,0.92);--bg-card-hover:rgba(26,20,15,0.95);--bg-parchment:#d4c5a0;--blood:#8b1a1a;--blood-light:#a62828;--pumpkin:#c85a20;--pumpkin-light:#d9702e;--candle:#d4a030;--candle-dim:#b8892a;--bone:#e8dcc8;--moss:#3a5a3a;--moss-light:#4a7a4a;--fog:#6b6b6b;--ink:#0c0a08;--glow-pumpkin:rgba(200,90,32,0.4);--glow-candle:rgba(212,160,48,0.3);--glow-blood:rgba(139,26,26,0.3);--text-primary:#e8dcc8;--text-secondary:#a89880;--text-muted:#7a6e5e;--text-on-light:#1a1008;--success:#4a7a4a;--warning:#c85a20;--error:#8b1a1a;--pending:#d4a030;--font-display:"Crimson Text",Georgia,serif;--font-body:"Source Serif 4","Times New Roman",serif;--font-mono:"IBM Plex Mono",monospace;--space-xs:0.25rem;--space-sm:0.5rem;--space-md:1rem;--space-lg:1.5rem;--space-xl:2rem;--space-2xl:3rem;--radius-sm:2px;--radius-md:6px;--radius-lg:10px;--shadow-ink:2px 3px 8px rgba(0,0,0,0.6);--shadow-ink-lg:4px 6px 20px rgba(0,0,0,0.8);--shadow-pumpkin:0 0 20px rgba(200,90,32,0.15),0 0 60px rgba(200,90,32,0.05);--shadow-candle:0 0 15px rgba(212,160,48,0.12),0 0 40px rgba(212,160,48,0.04)}*,:after,:before{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:var(--font-body);color:var(--text-primary);background-color:var(--bg-primary);line-height:1.6;min-height:100dvh;overflow-x:hidden}.bg-scene{position:fixed;inset:0;z-index:0;background:url(/bg-halloween.jpg) 50%/cover no-repeat;opacity:.3;pointer-events:none}.bg-scene:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(12,10,8,.7) 0,rgba(12,10,8,.3) 40%,rgba(12,10,8,.5))}.particles{pointer-events:none;position:fixed;inset:0;z-index:1;overflow:hidden}.particles span{position:absolute;display:block;width:3px;height:3px;background:var(--pumpkin);border-radius:50%;animation:float-up linear infinite;opacity:0;box-shadow:0 0 6px 2px rgba(200,90,32,.4)}.particles span:first-child{left:10%;bottom:-10px;animation-duration:12s;animation-delay:0s;width:2px;height:2px}.particles span:nth-child(2){left:25%;bottom:-10px;animation-duration:15s;animation-delay:2s;width:3px;height:3px}.particles span:nth-child(3){left:45%;bottom:-10px;animation-duration:10s;animation-delay:4s;width:2px;height:2px}.particles span:nth-child(4){left:65%;bottom:-10px;animation-duration:18s;animation-delay:1s;width:4px;height:4px;background:var(--candle);box-shadow:0 0 8px 3px rgba(212,160,48,.4)}.particles span:nth-child(5){left:80%;bottom:-10px;animation-duration:14s;animation-delay:3s;width:2px;height:2px}.particles span:nth-child(6){left:55%;bottom:-10px;animation-duration:16s;animation-delay:6s;width:3px;height:3px;background:var(--candle-dim);box-shadow:0 0 6px 2px rgba(212,160,48,.3)}.particles span:nth-child(7){left:35%;bottom:-10px;animation-duration:20s;animation-delay:5s;width:2px;height:2px}.particles span:nth-child(8){left:90%;bottom:-10px;animation-duration:11s;animation-delay:7s;width:3px;height:3px}@keyframes float-up{0%{transform:translateY(0) translateX(0) scale(1);opacity:0}10%{opacity:.8}50%{opacity:.5;transform:translateY(-45vh) translateX(20px) scale(.7)}90%{opacity:.2}to{transform:translateY(-100vh) translateX(-10px) scale(.3);opacity:0}}.vignette{pointer-events:none;position:fixed;inset:0;z-index:1;background:radial-gradient(ellipse at center,transparent 40%,rgba(0,0,0,.6) 100%)}h1,h2,h3,h4,h5,h6{font-family:var(--font-display);font-weight:700;line-height:1.2;color:var(--bone)}h1{font-size:2.25rem;letter-spacing:-.02em}h2{font-size:1.75rem;letter-spacing:-.01em}h3{font-size:1.35rem}p{margin-bottom:var(--space-md);color:var(--text-secondary)}a{color:var(--pumpkin);text-decoration:none;transition:color .2s ease}a:active{color:var(--pumpkin-light)}small{font-size:.85rem;color:var(--text-muted)}input,select,textarea{font-family:var(--font-body);font-size:1rem;color:var(--text-primary);background:rgba(22,18,14,.9);border:1px solid rgba(168,152,128,.2);border-radius:var(--radius-md);padding:var(--space-sm) var(--space-md);width:100%;transition:border-color .2s ease,box-shadow .2s ease;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--candle-dim);box-shadow:0 0 0 2px rgba(212,160,48,.15),var(--shadow-candle)}input::placeholder,textarea::placeholder{color:var(--text-muted);font-style:italic}label{display:block;font-size:.9rem;color:var(--text-secondary);margin-bottom:var(--space-xs);letter-spacing:.02em}.btn,label{font-family:var(--font-display);font-weight:600}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-sm);font-size:1rem;padding:.65rem var(--space-lg);border:1px solid transparent;border-radius:var(--radius-md);cursor:pointer;transition:all .25s ease;letter-spacing:.01em;position:relative;overflow:hidden}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:linear-gradient(135deg,var(--pumpkin) 0,#a54a18 100%);color:var(--bone);border-color:rgba(200,90,32,.5);box-shadow:0 2px 8px rgba(200,90,32,.25)}.btn-primary:active:not(:disabled){background:linear-gradient(135deg,var(--pumpkin-light) 0,var(--pumpkin) 100%);box-shadow:0 4px 20px rgba(200,90,32,.4);transform:scale(.97)}.btn-secondary{background:rgba(168,152,128,.08);color:var(--text-secondary);border-color:rgba(168,152,128,.25);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.btn-secondary:active:not(:disabled){border-color:var(--text-secondary);color:var(--bone);background:rgba(168,152,128,.12)}.btn-danger{background:linear-gradient(135deg,var(--blood) 0,#6b1414 100%);color:var(--bone);border-color:rgba(139,26,26,.5)}.btn-danger:active:not(:disabled){background:linear-gradient(135deg,var(--blood-light) 0,var(--blood) 100%);box-shadow:0 4px 20px rgba(139,26,26,.3)}.btn-success{background:linear-gradient(135deg,var(--moss) 0,#2a3f2a 100%);color:var(--bone);border-color:rgba(74,122,74,.5)}.btn-success:active:not(:disabled){background:linear-gradient(135deg,var(--moss-light) 0,var(--moss) 100%)}.btn-full{width:100%}.card{background:var(--bg-card);border:1px solid rgba(168,152,128,.1);border-radius:var(--radius-lg);padding:var(--space-lg);box-shadow:var(--shadow-ink);transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease;position:relative;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.card:active{transform:scale(.98);border-color:rgba(200,90,32,.2)}.container{width:100%;max-width:480px;margin:0 auto;padding:0 var(--space-md)}.container-wide{max-width:960px}.stack{display:flex;flex-direction:column;gap:var(--space-md)}.stack-sm{gap:var(--space-sm)}.stack-lg{gap:var(--space-lg)}.stack-xl{gap:var(--space-xl)}.row{display:flex;align-items:center;gap:var(--space-md)}.text-center{text-align:center}.text-muted{color:var(--text-muted)}.mt-sm{margin-top:var(--space-sm)}.mt-md{margin-top:var(--space-md)}.mt-lg{margin-top:var(--space-lg)}.mb-md{margin-bottom:var(--space-md)}.mb-lg{margin-bottom:var(--space-lg)}.divider{border:none;height:1px;margin:var(--space-lg) 0;background:linear-gradient(90deg,transparent,rgba(139,26,26,.3) 20%,rgba(168,152,128,.15) 50%,rgba(139,26,26,.3) 80%,transparent)}@keyframes flicker{0%,to{opacity:1;text-shadow:0 0 10px rgba(212,160,48,.3),0 0 30px rgba(200,90,32,.1)}22%{opacity:.92;text-shadow:0 0 15px rgba(212,160,48,.5),0 0 40px rgba(200,90,32,.15)}36%{opacity:1;text-shadow:0 0 8px rgba(212,160,48,.2)}48%{opacity:.88;text-shadow:0 0 20px rgba(212,160,48,.6),0 0 50px rgba(200,90,32,.2)}64%{opacity:1;text-shadow:0 0 12px rgba(212,160,48,.35)}78%{opacity:.94;text-shadow:0 0 18px rgba(212,160,48,.45),0 0 35px rgba(200,90,32,.12)}88%{opacity:1;text-shadow:0 0 10px rgba(212,160,48,.3)}}.flicker{animation:flicker 3s ease-in-out infinite}.badge{display:inline-block;font-family:var(--font-mono);font-size:.7rem;font-weight:500;padding:2px 8px;border-radius:var(--radius-sm);text-transform:uppercase;letter-spacing:.05em}.badge-pending{background:rgba(212,160,48,.15);color:var(--candle);border:1px solid rgba(212,160,48,.3)}.badge-approved{background:rgba(74,122,74,.15);color:var(--moss-light);border:1px solid rgba(74,122,74,.3)}.badge-rejected{background:rgba(139,26,26,.15);color:var(--blood-light);border:1px solid rgba(139,26,26,.3)}