@layer base{:root{--color-bg:#0a0a0a;--color-bg-alt:#111;--color-surface:#141414;--color-surface-2:#1a1a1a;--color-surface-3:#222;--color-text:#f0ede8;--color-muted:#f0ede873;--color-subtle:#f0ede840;--color-faint:#f0ede814;--color-border:#f0ede814;--color-border-hover:#f0ede829;--color-accent:#8b5cf6;--color-accent-hover:#7c4ddb;--color-accent-soft:#8b5cf61a;--color-accent-glow:#8b5cf64d;--color-accent-border:#8b5cf638;--color-success:#7defa1;--color-success-soft:#7defa114;--color-success-border:#7defa133;--color-warning:#febc2e;--color-warning-soft:#febc2e14;--color-error:#ff5f57;--color-error-soft:#ff5f5714;--color-error-border:#ff5f5733;--color-info:#60a5fa;--color-info-soft:#60a5fa14;--font-display:"Bebas Neue", system-ui, sans-serif;--font-body:"Manrope", system-ui, -apple-system, sans-serif;--text-xs:clamp(.68rem, .8vw, .75rem);--text-sm:clamp(.78rem, .9vw, .85rem);--text-base:clamp(.88rem, 1vw, .95rem);--text-lg:clamp(1rem, 1.2vw, 1.15rem);--text-xl:clamp(1.3rem, 2vw, 1.6rem);--text-2xl:clamp(1.8rem, 3vw, 2.4rem);--text-3xl:clamp(2.4rem, 4vw, 4rem);--text-4xl:clamp(3.2rem, 5.5vw, 6rem);--text-5xl:clamp(3.8rem, 6.5vw, 7rem);--space-0:0;--space-1:8px;--space-2:16px;--space-3:24px;--space-4:32px;--space-5:40px;--space-6:48px;--space-8:64px;--space-10:80px;--space-12:96px;--space-16:128px;--radius-sm:4px;--radius-md:8px;--radius-lg:14px;--radius-xl:20px;--radius-full:9999px;--ease-out:cubic-bezier(.16, 1, .3, 1);--ease-in-out:cubic-bezier(.4, 0, .2, 1);--ease-spring:cubic-bezier(.34, 1.56, .64, 1);--duration-fast:.15s;--duration-base:.25s;--duration-slow:.4s;--duration-slower:.7s;--shadow-sm:0 2px 8px #0003;--shadow-md:0 8px 24px #0000004d;--shadow-lg:0 24px 48px #0006;--shadow-xl:0 40px 80px #000000b3;--shadow-glow:0 14px 36px var(--color-accent-glow);--z-base:1;--z-above:10;--z-sticky:100;--z-nav:200;--z-modal:500;--z-toast:600;--z-cursor:9999}:root[data-theme=light]{--color-bg:#fafafa;--color-bg-alt:#f5f5f5;--color-surface:#fff;--color-surface-2:#f0f0f0;--color-surface-3:#e6e6e6;--color-text:#111;--color-muted:#1111118c;--color-subtle:#11111140;--color-faint:#11111114;--color-border:#1111111f;--color-border-hover:#1111113d;--shadow-sm:0 2px 8px #0000000d;--shadow-md:0 8px 24px #00000014;--shadow-lg:0 24px 48px #0000001f;--shadow-xl:0 40px 80px #00000026}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility}body{background:var(--color-bg);color:var(--color-text);font-family:var(--font-body);font-weight:400;font-size:var(--text-base);min-height:100vh;line-height:1.6;overflow-x:hidden}img,picture,video,canvas,svg{max-width:100%;display:block}input,button,textarea,select{font:inherit;color:inherit}a{color:inherit;text-decoration:none}ul,ol{list-style:none}h1,h2,h3,h4,h5,h6{font-family:var(--font-display);letter-spacing:.02em;line-height:1}::selection{background:var(--color-accent);color:#fff}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:var(--color-bg)}::-webkit-scrollbar-thumb{background:var(--color-surface-3);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--color-muted)}:focus-visible{outline:2px solid var(--color-accent);outline-offset:3px;border-radius:var(--radius-sm);transition:outline-offset var(--duration-fast) var(--ease-out)}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.lucide{stroke-width:2px;vertical-align:-.2em;width:1.25em;height:1.25em;display:inline-block}}@layer layout{.container{width:100%;max-width:1200px;padding:0 var(--space-8);margin:0 auto}.container--narrow{max-width:800px}.container--wide{max-width:1400px}.section{padding:var(--space-12) var(--space-8)}.section--alt{background:var(--color-bg-alt)}.dash-shell{grid-template-columns:260px 1fr;min-height:100vh;display:grid}.dash-sidebar{background:var(--color-surface);border-right:1px solid var(--color-border);width:260px;z-index:var(--z-sticky);flex-direction:column;display:flex;position:fixed;top:0;bottom:0;left:0;overflow-y:auto}.dash-main{padding:var(--space-4) var(--space-5);grid-column:2;min-height:100vh}.dash-topbar{padding-bottom:var(--space-4);margin-bottom:var(--space-4);border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;display:flex}.dash-topbar__title{font-family:var(--font-display);font-size:var(--text-2xl);letter-spacing:.02em}.dash-topbar__actions{align-items:center;gap:var(--space-2);display:flex}.grid{gap:var(--space-3);display:grid}.grid--2{grid-template-columns:repeat(2,1fr)}.grid--3{grid-template-columns:repeat(3,1fr)}.grid--4{grid-template-columns:repeat(4,1fr)}.grid--auto-fill{grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}.flex{display:flex}.flex--col{flex-direction:column}.flex--center{justify-content:center;align-items:center}.flex--between{justify-content:space-between}.flex--gap-1{gap:var(--space-1)}.flex--gap-2{gap:var(--space-2)}.flex--gap-3{gap:var(--space-3)}.auth-shell{grid-template-columns:1fr 1fr;min-height:100vh;display:grid}.auth-visual{background:var(--color-surface);padding:var(--space-8);flex-direction:column;justify-content:center;align-items:center;display:flex;position:relative;overflow:hidden}.auth-form-side{padding:var(--space-8);flex-direction:column;justify-content:center;display:flex}@media (width<=1024px){.container{padding:0 var(--space-3)}.section{padding:var(--space-10) var(--space-3)}.grid--4{grid-template-columns:repeat(2,1fr)}.dash-shell{grid-template-columns:1fr}.dash-sidebar{transition:transform var(--duration-base) var(--ease-out);z-index:var(--z-modal);transform:translate(-100%)}.dash-sidebar.open{transform:translate(0)}.dash-main{padding:var(--space-3);grid-column:1}}@media (width<=768px){.grid--2,.grid--3,.auth-shell{grid-template-columns:1fr}.auth-visual{display:none}}@media (width<=480px){.container{padding:0 var(--space-2)}.section{padding:var(--space-8) var(--space-2)}}}@layer components{.btn{justify-content:center;align-items:center;gap:var(--space-1);border-radius:var(--radius-md);font-weight:600;font-size:var(--text-sm);letter-spacing:.03em;cursor:pointer;transition:transform var(--duration-fast) var(--ease-out), box-shadow var(--duration-fast) var(--ease-out), opacity var(--duration-fast) var(--ease-out), background var(--duration-fast) var(--ease-out);white-space:nowrap;border:none;padding:12px 24px;text-decoration:none;display:inline-flex}.btn:hover{transform:translateY(-2px)}.btn:active{transform:translateY(0)}.btn:disabled{opacity:.5;cursor:not-allowed;box-shadow:none!important;transform:none!important}.btn--primary{background:var(--color-accent);color:#fff}.btn--primary:hover{box-shadow:var(--shadow-glow);opacity:.92}.btn--ghost{color:var(--color-muted);background:0 0;padding:12px 16px}.btn--ghost:hover{color:var(--color-text)}.btn--outline{border:1px solid var(--color-border);color:var(--color-text);background:0 0}.btn--outline:hover{background:var(--color-faint);border-color:var(--color-border-hover)}.btn--danger{background:var(--color-error);color:#fff}.btn--danger:hover{opacity:.9;box-shadow:0 8px 24px var(--color-error-soft)}.btn--sm{font-size:var(--text-xs);padding:8px 16px}.btn--lg{font-size:var(--text-base);padding:16px 32px}.btn--block{width:100%}.btn--icon{border-radius:var(--radius-md);width:40px;height:40px;padding:0}.card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-4);transition:border-color var(--duration-base) var(--ease-out), transform var(--duration-base) var(--ease-out), box-shadow var(--duration-base) var(--ease-out)}.card:hover{border-color:var(--color-accent-border)}.card--interactive:hover{box-shadow:var(--shadow-md);transform:translateY(-3px)}.card--stat{position:relative;overflow:hidden}.card--stat:before{content:"";background:linear-gradient(90deg, var(--color-accent), transparent);opacity:0;height:3px;transition:opacity var(--duration-base) var(--ease-out);position:absolute;top:0;left:0;right:0}.card--stat:hover:before{opacity:1}.input-group{flex-direction:column;gap:6px;display:flex}.input-group__label{font-size:var(--text-xs);letter-spacing:.12em;text-transform:uppercase;color:var(--color-muted);font-weight:600}.input,.textarea,.select{border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text);font-size:var(--text-sm);transition:border-color var(--duration-fast) var(--ease-out), background var(--duration-fast) var(--ease-out), box-shadow var(--duration-fast) var(--ease-out);background:#f0ede80a;outline:none;width:100%;padding:13px 16px;font-weight:300}.input:focus,.textarea:focus,.select:focus{background:#8b5cf60d;border-color:#8b5cf673;box-shadow:0 0 0 3px #8b5cf614}.input::placeholder,.textarea::placeholder{color:#f0ede82e}.input--error{border-color:var(--color-error)!important}.textarea{resize:none;min-height:100px}.select{appearance:none;cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='rgba(240,237,232,0.4)' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-position:right 14px center;background-repeat:no-repeat;padding-right:40px}.badge{border-radius:var(--radius-full);font-size:var(--text-xs);letter-spacing:.1em;text-transform:uppercase;align-items:center;gap:4px;padding:3px 10px;font-weight:700;display:inline-flex}.badge--accent{background:var(--color-accent-soft);color:var(--color-accent)}.badge--success{background:var(--color-success-soft);color:var(--color-success)}.badge--warning{background:var(--color-warning-soft);color:var(--color-warning)}.badge--error{background:var(--color-error-soft);color:var(--color-error)}.tag{border-radius:var(--radius-full);font-size:var(--text-xs);border:1px solid var(--color-border);color:var(--color-muted);cursor:pointer;transition:background var(--duration-fast), border-color var(--duration-fast), color var(--duration-fast);align-items:center;gap:6px;padding:5px 12px;font-weight:600;display:inline-flex}.tag:hover{border-color:var(--color-border-hover);color:var(--color-text)}.tag.active,.tag--active{background:var(--color-accent-soft);border-color:var(--color-accent-border);color:var(--color-accent)}.toast-container{bottom:var(--space-3);right:var(--space-3);gap:var(--space-1);z-index:var(--z-toast);pointer-events:none;flex-direction:column;display:flex;position:fixed}.toast{align-items:center;gap:var(--space-2);border-radius:var(--radius-md);background:var(--color-surface-2);border:1px solid var(--color-border);font-size:var(--text-sm);color:var(--color-text);pointer-events:auto;opacity:0;transition:opacity var(--duration-base) var(--ease-out), transform var(--duration-base) var(--ease-out);box-shadow:var(--shadow-lg);max-width:380px;padding:14px 20px;display:flex;transform:translateY(12px)scale(.96)}.toast.show{opacity:1;transform:translateY(0)scale(1)}.toast--success{border-color:var(--color-success-border)}.toast--success .toast__icon{color:var(--color-success)}.toast--error{border-color:var(--color-error-border)}.toast--error .toast__icon{color:var(--color-error)}.toast__icon{flex-shrink:0;font-size:1.1rem}.toast__close{cursor:pointer;opacity:.4;transition:opacity var(--duration-fast);color:var(--color-text);background:0 0;border:none;margin-left:auto;padding:0;font-size:1rem}.toast__close:hover{opacity:1}.modal-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:var(--z-modal);padding:var(--space-3);opacity:0;visibility:hidden;transition:opacity var(--duration-base) var(--ease-out), visibility var(--duration-base);background:#000000b3;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal-overlay.is-open{opacity:1;visibility:visible}.modal{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);width:100%;max-width:520px;max-height:85vh;transition:transform var(--duration-base) var(--ease-spring);overflow-y:auto;transform:translateY(16px)scale(.97)}.modal-overlay.is-open .modal{transform:translateY(0)scale(1)}.modal__header{padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;display:flex}.modal__title{font-family:var(--font-display);font-size:var(--text-xl);letter-spacing:.03em}.modal__body{padding:var(--space-4)}.modal__footer{justify-content:flex-end;gap:var(--space-2);padding:var(--space-3) var(--space-4);border-top:1px solid var(--color-border);display:flex}.avatar{background:linear-gradient(135deg, var(--color-surface-3), var(--color-surface-2));width:36px;height:36px;font-size:var(--text-xs);color:var(--color-text);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-weight:700;display:flex}.avatar--sm{width:28px;height:28px;font-size:.6rem}.avatar--lg{width:48px;height:48px;font-size:var(--text-sm)}.divider{background:var(--color-border);height:1px;margin:var(--space-3) 0;border:none}.empty-state{text-align:center;padding:var(--space-10) var(--space-4);color:var(--color-muted);flex-direction:column;justify-content:center;align-items:center;display:flex}.empty-state__icon{margin-bottom:var(--space-3);opacity:.3;font-size:3rem}.empty-state__title{font-family:var(--font-display);font-size:var(--text-xl);color:var(--color-text);margin-bottom:var(--space-1)}.empty-state__desc{font-size:var(--text-sm);max-width:340px;margin-bottom:var(--space-4);line-height:1.6}.skeleton{background:linear-gradient(90deg, var(--color-surface) 25%, var(--color-surface-2) 50%, var(--color-surface) 75%);border-radius:var(--radius-md);background-size:200% 100%;animation:1.4s infinite shimmer}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.skeleton--text{width:80%;height:12px;margin-bottom:8px}.skeleton--heading{width:60%;height:20px;margin-bottom:12px}.skeleton--avatar{border-radius:50%;width:40px;height:40px}.tabs{background:var(--color-surface);border-radius:var(--radius-md);border:1px solid var(--color-border);gap:2px;padding:3px;display:flex}.tab{border-radius:var(--radius-sm);font-size:var(--text-xs);letter-spacing:.05em;text-transform:uppercase;color:var(--color-muted);cursor:pointer;transition:background var(--duration-fast), color var(--duration-fast);background:0 0;border:none;padding:8px 18px;font-weight:600}.tab:hover{color:var(--color-text)}.tab[aria-selected=true],.tab.active{background:var(--color-accent);color:#fff}.progress{background:var(--color-faint);border-radius:var(--radius-full);width:100%;height:4px;overflow:hidden}.progress__bar{background:var(--color-accent);border-radius:var(--radius-full);height:100%;transition:width var(--duration-slow) var(--ease-out)}.steps-indicator{align-items:center;gap:var(--space-1);display:flex}.step-dot{background:var(--color-faint);width:10px;height:10px;transition:background var(--duration-fast), transform var(--duration-fast);border-radius:50%}.step-dot.active{background:var(--color-accent);transform:scale(1.2)}.step-dot.completed{background:var(--color-success)}.step-line{background:var(--color-faint);border-radius:var(--radius-full);flex:1;height:2px}.step-line.active{background:var(--color-accent)}.dropdown{position:relative}.dropdown__menu{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);min-width:180px;box-shadow:var(--shadow-lg);opacity:0;visibility:hidden;transition:opacity var(--duration-fast) var(--ease-out), transform var(--duration-fast) var(--ease-out), visibility var(--duration-fast);z-index:var(--z-above);padding:4px;position:absolute;top:calc(100% + 6px);right:0;transform:translateY(-4px)}.dropdown.open .dropdown__menu{opacity:1;visibility:visible;transform:translateY(0)}.dropdown__item{align-items:center;gap:var(--space-1);border-radius:var(--radius-sm);font-size:var(--text-sm);color:var(--color-muted);cursor:pointer;transition:background var(--duration-fast), color var(--duration-fast);text-align:left;background:0 0;border:none;width:100%;padding:10px 14px;display:flex}.dropdown__item:hover{background:var(--color-faint);color:var(--color-text)}@keyframes spin{to{transform:rotate(360deg)}}.loading-spinner{border:3px solid #ffffff1a;border-top-color:var(--color-primary);border-radius:50%;width:20px;height:20px;animation:1s ease-in-out infinite spin;display:inline-block}}@layer utilities;
