*,:after,:before{box-sizing:border-box;margin:0;padding:0}:root,[data-theme=dark]{--glass-bg:hsla(0,0%,100%,.08);--glass-bg-hover:hsla(0,0%,100%,.12);--glass-border:hsla(0,0%,100%,.22);--glass-shine:hsla(0,0%,100%,.45);--glass-shadow:rgba(0,0,0,.25);--glass-shadow-heavy:rgba(0,0,0,.4);--blur:24px;--blur-light:10px;--accent1:#a78bfa;--accent1-dim:rgba(124,58,237,.5);--accent2:#67e8f9;--accent2-dim:rgba(6,182,212,.5);--accent3:#f0abfc;--accent3-dim:rgba(217,70,239,.5);--color-success:#34d399;--color-success-dim:rgba(52,211,153,.2);--color-danger:#f87171;--color-danger-dim:rgba(239,68,68,.2);--color-warning:#fbbf24;--color-warning-dim:rgba(251,191,36,.2);--text-primary:hsla(0,0%,100%,.95);--text-secondary:hsla(0,0%,100%,.75);--text-muted:hsla(0,0%,100%,.55);--text-disabled:hsla(0,0%,100%,.3);--bg-body:#080818;--bg-elevated:hsla(0,0%,100%,.04);--bg-surface:hsla(0,0%,100%,.06);--blob1-inner:#7c3aed;--blob1-outer:#4f46e5;--blob2-inner:#0ea5e9;--blob2-outer:#06b6d4;--blob3-inner:#d946ef;--blob3-outer:#ec4899;--blob-opacity:0.55;--grid-color:hsla(0,0%,100%,.03);--scrollbar-thumb:hsla(0,0%,100%,.12);--transition-fast:0.15s ease;--transition-normal:0.25s ease;--transition-smooth:0.35s cubic-bezier(0.4,0,0.2,1)}[data-theme=light]{--glass-bg:hsla(0,0%,100%,.55);--glass-bg-hover:hsla(0,0%,100%,.7);--glass-border:hsla(0,0%,100%,.75);--glass-shine:hsla(0,0%,100%,.85);--glass-shadow:rgba(0,0,0,.08);--glass-shadow-heavy:rgba(0,0,0,.15);--accent1:#7c3aed;--accent1-dim:rgba(124,58,237,.15);--accent2:#0891b2;--accent2-dim:rgba(8,145,178,.15);--accent3:#c026d3;--accent3-dim:rgba(192,38,211,.15);--color-success:#059669;--color-success-dim:rgba(5,150,105,.12);--color-danger:#dc2626;--color-danger-dim:rgba(220,38,38,.12);--color-warning:#d97706;--color-warning-dim:rgba(217,119,6,.12);--text-primary:rgba(15,15,30,.92);--text-secondary:rgba(15,15,30,.72);--text-muted:rgba(15,15,30,.55);--text-disabled:rgba(15,15,30,.3);--bg-body:#f0f0f8;--bg-elevated:hsla(0,0%,100%,.6);--bg-surface:hsla(0,0%,100%,.4);--blob1-inner:#c4b5fd;--blob1-outer:#a5b4fc;--blob2-inner:#67e8f9;--blob2-outer:#a5f3fc;--blob3-inner:#f0abfc;--blob3-outer:#fbcfe8;--blob-opacity:0.35;--grid-color:rgba(0,0,0,.04);--scrollbar-thumb:rgba(0,0,0,.12)}body,html{height:100%;overflow:hidden}body{font-family:DM Sans,sans-serif;font-weight:300;background:var(--bg-body);color:var(--text-primary)}.bg-scene{position:fixed;inset:0;z-index:0;overflow:hidden;pointer-events:none}.blob{position:absolute;border-radius:50%;filter:blur(80px);opacity:var(--blob-opacity);animation:drift linear infinite}.blob-1{width:clamp(30rem,60vw,60rem);height:clamp(30rem,60vw,60rem);background:radial-gradient(circle,var(--blob1-inner),var(--blob1-outer) 60%,transparent);top:-15rem;left:-10rem;animation-duration:22s}.blob-2{width:clamp(25rem,50vw,50rem);height:clamp(25rem,50vw,50rem);background:radial-gradient(circle,var(--blob2-inner),var(--blob2-outer) 60%,transparent);bottom:-10rem;right:-8rem;animation-duration:28s;animation-direction:reverse}.blob-3{width:clamp(20rem,40vw,40rem);height:clamp(20rem,40vw,40rem);background:radial-gradient(circle,var(--blob3-inner),var(--blob3-outer) 60%,transparent);top:40%;left:35%;animation-duration:18s;animation-delay:-9s}@keyframes drift{0%{transform:translate(0) scale(1)}33%{transform:translate(4rem,-3rem) scale(1.08)}66%{transform:translate(-3rem,4rem) scale(.94)}to{transform:translate(0) scale(1)}}.bg-grid{position:absolute;inset:0;background-image:linear-gradient(var(--grid-color) 1px,transparent 1px),linear-gradient(90deg,var(--grid-color) 1px,transparent 1px);background-size:4rem 4rem}.glass{background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:1.25rem;backdrop-filter:blur(var(--blur)) saturate(150%);-webkit-backdrop-filter:blur(var(--blur)) saturate(150%);box-shadow:0 8px 32px var(--glass-shadow),inset 0 1px 0 var(--glass-shine),inset 0 -1px 0 rgba(0,0,0,.1);position:relative;overflow:hidden;transition:transform var(--transition-smooth),box-shadow var(--transition-smooth)}.glass:before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,var(--glass-shine) 50%,transparent)}.glass:hover{transform:translateY(-3px);box-shadow:0 16px 48px var(--glass-shadow),inset 0 1px 0 var(--glass-shine),0 0 0 1px hsla(0,0%,100%,.1)}.viewport-frame{width:100vw;height:100dvh;overflow:hidden;display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto 1fr;grid-template-areas:"sidebar navbar" "sidebar content";position:relative;z-index:1}.top-navbar{grid-area:navbar;display:flex;align-items:center;justify-content:space-between;padding:.6rem 1.5rem;border-radius:0;border-top:none;border-right:none;border-left:none;z-index:100}.nav-brand{font-family:Cormorant Garamond,serif;font-size:1.35rem;font-weight:300;letter-spacing:.04em;background:linear-gradient(135deg,#fff 40%,var(--accent1));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;flex-shrink:0}[data-theme=light] .nav-brand{background:linear-gradient(135deg,var(--text-primary) 40%,var(--accent1));-webkit-background-clip:text;background-clip:text}.nav-tabs{display:flex;align-items:center;position:relative;gap:.25rem;padding:.25rem;background:hsla(0,0%,100%,.04);border-radius:2rem;border:1px solid hsla(0,0%,100%,.08)}.nav-tab{padding:.5rem 1.25rem;font-size:.82rem;font-weight:300;letter-spacing:.04em;color:var(--text-muted);cursor:pointer;transition:color var(--transition-normal);position:relative;z-index:2;-webkit-user-select:none;-moz-user-select:none;user-select:none;white-space:nowrap;text-decoration:none}.nav-tab.active,.nav-tab:hover{color:var(--text-primary)}.tab-indicator{position:absolute;height:calc(100% - .5rem);top:.25rem;background:hsla(0,0%,100%,.1);border:1px solid hsla(0,0%,100%,.15);border-radius:1.75rem;transition:left var(--transition-smooth),width var(--transition-smooth);z-index:1;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.nav-account{position:relative;flex-shrink:0;gap:.75rem}.account-btn,.nav-account{display:flex;align-items:center}.account-btn{width:2.25rem;height:2.25rem;border-radius:50%;justify-content:center;cursor:pointer;border:1px solid var(--glass-border);background:var(--glass-bg);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);transition:transform var(--transition-normal),box-shadow var(--transition-normal);padding:0}.account-btn:hover{transform:scale(1.08);box-shadow:0 4px 16px var(--glass-shadow)}.account-avatar{font-size:.82rem;font-weight:400;color:var(--text-primary)}.account-dropdown{position:absolute;top:calc(100% + .75rem);right:0;min-width:14rem;padding:.75rem 0;border-radius:1rem;opacity:0;visibility:hidden;transform:translateY(-.5rem) scale(.96);transition:all var(--transition-smooth);z-index:200}.account-dropdown.open{opacity:1;visibility:visible;transform:translateY(0) scale(1)}.account-info{padding:.5rem 1.25rem .75rem;display:flex;flex-direction:column;gap:.15rem}.account-name{font-size:.88rem;color:var(--text-primary);font-weight:400}.account-email{font-size:.75rem;color:var(--text-muted)}.dropdown-divider{height:1px;background:var(--glass-border);margin:.25rem 0}.dropdown-item{display:block;padding:.6rem 1.25rem;font-size:.82rem;color:var(--text-muted);text-decoration:none;transition:background var(--transition-fast),color var(--transition-fast);cursor:pointer;background:none;border:none;width:100%;text-align:left;font-family:inherit}.dropdown-item:hover{background:hsla(0,0%,100%,.06);color:var(--text-primary)}.dropdown-item--danger{color:var(--color-danger)}.dropdown-item--danger:hover{background:var(--color-danger-dim)}.sidebar{grid-area:sidebar;width:15rem;height:100%;display:flex;flex-direction:column;padding:1rem .75rem;gap:.5rem;border-radius:0;border-top:none;border-bottom:none;border-left:none;overflow-y:auto;overflow-x:hidden;transition:width var(--transition-smooth);z-index:90}.sidebar.collapsed{width:4rem}.sidebar.collapsed .sidebar-badge,.sidebar.collapsed .sidebar-label{opacity:0;width:0;overflow:hidden}.sidebar-toggle{display:flex;align-items:center;justify-content:center;width:2.25rem;height:2.25rem;border:1px solid hsla(0,0%,100%,.1);border-radius:.625rem;background:hsla(0,0%,100%,.04);color:var(--text-muted);cursor:pointer;transition:background var(--transition-normal),color var(--transition-normal);margin-bottom:.75rem;flex-shrink:0}.sidebar-toggle:hover{background:hsla(0,0%,100%,.08);color:var(--text-primary)}.sidebar-nav{display:flex;flex-direction:column;flex:1 1}.sidebar-section{display:flex;flex-direction:column;gap:.25rem}.sidebar-item{display:flex;align-items:center;gap:.75rem;padding:.625rem .75rem;border-radius:.625rem;font-size:.85rem;color:var(--text-muted);text-decoration:none;transition:background var(--transition-fast),color var(--transition-fast);white-space:nowrap;position:relative;cursor:pointer}.sidebar-item:hover{background:hsla(0,0%,100%,.06);color:var(--text-primary)}.sidebar-item.active{background:hsla(0,0%,100%,.1);color:var(--text-primary);border:1px solid hsla(0,0%,100%,.12)}.sidebar-icon{width:1.5rem;height:1.5rem;display:flex;align-items:center;justify-content:center;font-size:1rem;flex-shrink:0}.sidebar-label{transition:opacity var(--transition-normal),width var(--transition-normal)}.sidebar-badge{margin-left:auto;background:linear-gradient(135deg,var(--accent1),var(--accent3));color:#fff;font-size:.68rem;padding:.1rem .5rem;border-radius:1rem;transition:opacity var(--transition-normal)}.sidebar-divider{height:1px;background:var(--glass-border);margin:.75rem .5rem}.sidebar.collapsed .sidebar-item:hover:after{content:attr(data-tooltip);position:absolute;left:calc(100% + .75rem);top:50%;transform:translateY(-50%);background:var(--glass-bg);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border:1px solid var(--glass-border);border-radius:.5rem;padding:.35rem .75rem;font-size:.78rem;color:var(--text-primary);white-space:nowrap;z-index:300;box-shadow:0 4px 16px var(--glass-shadow)}.content-area{grid-area:content;overflow-y:auto;overflow-x:hidden;padding:2rem;display:flex;flex-direction:column;gap:1.5rem}.content-area::-webkit-scrollbar{width:6px}.content-area::-webkit-scrollbar-track{background:transparent}.content-area::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb);border-radius:3rem}.btn{display:inline-flex;align-items:center;gap:.5rem;padding:.75rem 1.75rem;border-radius:3rem;font-family:DM Sans,sans-serif;font-size:.88rem;font-weight:300;letter-spacing:.05em;cursor:pointer;transition:all var(--transition-normal);border:none;text-decoration:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.btn-primary{background:linear-gradient(135deg,rgba(124,58,237,.7),rgba(6,182,212,.7));border:1px solid hsla(0,0%,100%,.2);color:#fff;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 4px 20px rgba(124,58,237,.35),inset 0 1px 0 hsla(0,0%,100%,.25)}.btn-primary:hover{transform:translateY(-2px) scale(1.02);box-shadow:0 8px 32px rgba(124,58,237,.5),inset 0 1px 0 hsla(0,0%,100%,.35)}.btn-primary:active{transform:translateY(0) scale(.98)}.btn-primary:disabled{opacity:.5;cursor:not-allowed;transform:none}.btn-ghost{background:var(--glass-bg);border:1px solid var(--glass-border);color:var(--text-muted);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.btn-ghost:hover{color:var(--text-primary);border-color:hsla(0,0%,100%,.35);transform:translateY(-2px)}.btn-sm{padding:.45rem 1rem;font-size:.78rem}.btn-lg{padding:1rem 2.25rem;font-size:1rem}.btn-full{width:100%;justify-content:center;border-radius:.75rem}.glass-input{width:100%;padding:.75rem 1.25rem;background:hsla(0,0%,100%,.06);border:1px solid hsla(0,0%,100%,.18);border-radius:.75rem;color:var(--text-primary);font-family:DM Sans,sans-serif;font-size:.88rem;font-weight:300;letter-spacing:.03em;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);outline:none;transition:border-color var(--transition-normal),box-shadow var(--transition-normal)}.glass-input::placeholder{color:var(--text-muted)}.glass-input:focus{border-color:rgba(167,139,250,.5);box-shadow:0 0 0 3px rgba(124,58,237,.12),inset 0 1px 0 hsla(0,0%,100%,.15)}.glass-input--error{border-color:rgba(239,68,68,.6);box-shadow:0 0 0 3px rgba(239,68,68,.1)}.form-label{display:block;font-size:.78rem;letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);margin-bottom:.5rem}.form-group{display:flex;flex-direction:column;gap:.25rem;margin-bottom:1.25rem}.form-error{font-size:.75rem;color:var(--color-danger);margin-top:.25rem}.card{padding:1.75rem}.card h3{font-family:Cormorant Garamond,serif;font-size:1.3rem;font-weight:400;margin-bottom:.6rem}.card p{font-size:.88rem;line-height:1.7;color:var(--text-muted)}.cards-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,17rem),1fr));grid-gap:1.25rem;gap:1.25rem}.card-icon{width:2.75rem;height:2.75rem;border-radius:.875rem;display:flex;align-items:center;justify-content:center;font-size:1.25rem;margin-bottom:1.25rem;border:1px solid hsla(0,0%,100%,.18)}.card-icon--violet{background:linear-gradient(135deg,rgba(124,58,237,.5),rgba(167,139,250,.3))}.card-icon--cyan{background:linear-gradient(135deg,rgba(6,182,212,.5),rgba(103,232,249,.3))}.card-icon--pink{background:linear-gradient(135deg,rgba(217,70,239,.5),rgba(240,171,252,.3))}.badge{display:inline-flex;align-items:center;padding:.2rem .65rem;border-radius:1rem;font-size:.72rem;font-weight:400;letter-spacing:.04em}.badge--success{background:var(--color-success-dim);color:var(--color-success);border:1px solid rgba(52,211,153,.3)}.badge--danger{background:var(--color-danger-dim);color:var(--color-danger);border:1px solid rgba(239,68,68,.3)}.badge--warning{background:var(--color-warning-dim);color:var(--color-warning);border:1px solid rgba(251,191,36,.3)}.badge--violet{background:rgba(124,58,237,.2);color:var(--accent1);border:1px solid rgba(124,58,237,.3)}.badge--muted{background:hsla(0,0%,100%,.06);color:var(--text-muted);border:1px solid hsla(0,0%,100%,.12)}.stats-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,12rem),1fr));grid-gap:1.25rem;gap:1.25rem}.stat{padding:1.5rem 1.75rem;text-align:center}.stat-num{font-family:Cormorant Garamond,serif;font-size:3rem;font-weight:300;line-height:1;background:linear-gradient(135deg,#fff 50%,var(--accent1));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}[data-theme=light] .stat-num{background:linear-gradient(135deg,var(--text-primary) 50%,var(--accent1));-webkit-background-clip:text;background-clip:text}.stat-label{margin-top:.4rem;font-size:.78rem;letter-spacing:.1em;text-transform:uppercase;color:var(--text-muted)}.modal-overlay{position:fixed;inset:0;background:rgba(0,0,0,.6);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;z-index:500;opacity:0;visibility:hidden;transition:all var(--transition-smooth)}.modal-overlay.open{opacity:1;visibility:visible}.modal{width:min(90vw,32rem);max-height:85vh;overflow-y:auto;padding:2rem;border-radius:1.25rem;transform:translateY(1rem) scale(.96);transition:transform var(--transition-smooth)}.modal-overlay.open .modal{transform:translateY(0) scale(1)}.modal-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.5rem}.modal-title{font-family:Cormorant Garamond,serif;font-size:1.5rem;font-weight:400}.modal-footer{display:flex;justify-content:flex-end;gap:.75rem;margin-top:2rem;padding-top:1.25rem;border-top:1px solid var(--glass-border)}.progress-track{height:5px;background:hsla(0,0%,100%,.08);border-radius:3rem;overflow:hidden}.progress-fill{height:100%;border-radius:3rem;background:linear-gradient(90deg,var(--accent1),var(--accent2));transform-origin:left;animation:fillBar 1.8s cubic-bezier(.25,1,.5,1) both;box-shadow:0 0 8px var(--accent1)}@keyframes fillBar{0%{transform:scaleX(0)}to{transform:scaleX(1)}}.theme-toggle-btn{display:flex;align-items:center;justify-content:center;width:2.25rem;height:2.25rem;border-radius:50%;border:1px solid var(--glass-border);background:var(--glass-bg);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:var(--text-muted);cursor:pointer;transition:all var(--transition-normal);font-size:1rem}.theme-toggle-btn:hover{color:var(--text-primary);transform:scale(1.08)}.toast{position:fixed;bottom:2rem;right:2rem;z-index:600;min-width:18rem;padding:1rem 1.25rem;animation:toastIn .4s cubic-bezier(.4,0,.2,1);display:flex;align-items:center;gap:.75rem}@keyframes toastIn{0%{opacity:0;transform:translateY(1rem) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes fadeUp{0%{opacity:0;transform:translateY(1.5rem)}to{opacity:1;transform:translateY(0)}}.fade-up{animation:fadeUp .5s cubic-bezier(.4,0,.2,1) both}.fade-up-1{animation-delay:.05s}.fade-up-2{animation-delay:.1s}.fade-up-3{animation-delay:.15s}.fade-up-4{animation-delay:.2s}.auth-page{width:100vw;height:100dvh;display:flex;align-items:center;justify-content:center;position:relative;z-index:1}.auth-card{width:min(90vw,26rem);padding:2.5rem}.auth-title{font-family:Cormorant Garamond,serif;font-size:2rem;font-weight:300;text-align:center;margin-bottom:.4rem}.auth-subtitle{font-size:.85rem;margin-bottom:2rem;line-height:1.5}.auth-footer,.auth-subtitle{color:var(--text-muted);text-align:center}.auth-footer{margin-top:1.5rem;font-size:.82rem}.auth-footer a{color:var(--accent1);text-decoration:none}.auth-footer a:hover{text-decoration:underline}.error-banner{padding:.75rem 1rem;background:var(--color-danger-dim);border:1px solid rgba(239,68,68,.3);border-radius:.75rem;font-size:.82rem;color:var(--color-danger);margin-bottom:1.25rem}@media (max-width:768px){.viewport-frame{grid-template-columns:1fr;grid-template-rows:auto 1fr;grid-template-areas:"navbar" "content"}.sidebar{position:fixed;left:0;top:0;height:100dvh;transform:translateX(-100%);transition:transform var(--transition-smooth);z-index:200}.sidebar.mobile-open{transform:translateX(0)}.nav-tabs{display:none}.content-area{padding:1rem}}@media (min-width:769px) and (max-width:1200px){.sidebar{width:4rem}.sidebar .sidebar-badge,.sidebar .sidebar-label{opacity:0;width:0;overflow:hidden}}@keyframes spin{to{transform:rotate(1turn)}}