@import "https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&family=Outfit:wght@400;500;600;700;800&display=swap";:root{--bg-main:#0e1016;--bg-card:#181c25b3;--bg-card-hover:#212631d9;--border-color:#2f354173;--border-focus:#7c67e4a6;--text-primary:#f9fafb;--text-secondary:#b3bbc6;--text-muted:#707b8f;--color-deep:#826cef;--color-deep-bg:#826cef1f;--color-deep-border:#826cef59;--color-chore:#2bca6d;--color-chore-bg:#2bca6d1f;--color-chore-border:#2bca6d59;--color-break:#f4a434;--color-break-bg:#f4a4341f;--color-break-border:#f4a43459;--color-success:#2bca6d;--color-danger:#e44451;--color-warning:#f4c025;--shadow-sm:0 2px 8px -2px #00000080;--shadow-md:0 8px 24px -4px #000000a6;--shadow-lg:0 16px 40px -8px #000c;--glow-deep:0 0 20px -5px #826cef73;--radius-sm:8px;--radius-md:14px;--radius-lg:20px;--radius-full:9999px;--font-sans:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-display:"Outfit", var(--font-sans);--transition-fast:.15s cubic-bezier(.4, 0, .2, 1);--transition-normal:.25s cubic-bezier(.4, 0, .2, 1);--transition-slow:.4s cubic-bezier(.4, 0, .2, 1)}*{box-sizing:border-box;margin:0;padding:0}body{background-color:var(--bg-main);color:var(--text-primary);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;background-image:radial-gradient(at 10% 10%,#7c67e414 0,#0000 50%),radial-gradient(at 90% 90%,#2bca6d0a 0,#0000 50%),radial-gradient(at 80% 10%,#f4a4340d 0,#0000 40%);background-attachment:fixed;min-height:100vh;overflow-x:hidden}h1,h2,h3,h4,h5,h6{font-family:var(--font-display);letter-spacing:-.02em;font-weight:600}input,button,select,textarea{color:inherit;font-family:inherit}a{color:inherit;text-decoration:none}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{border-radius:var(--radius-full);background:#2f354199}::-webkit-scrollbar-thumb:hover{background:#454c5fcc}.glass-card{background:var(--bg-card);-webkit-backdrop-filter:blur(12px);border:1px solid var(--border-color);border-radius:var(--radius-md);box-shadow:var(--shadow-md);transition:border-color var(--transition-normal), background var(--transition-normal), box-shadow var(--transition-normal)}.glass-card:hover{background:var(--bg-card-hover);border-color:#3c435399}.btn-primary{background:linear-gradient(135deg, var(--color-deep) 0%, #8b47eb 100%);color:#fff;border-radius:var(--radius-sm);cursor:pointer;transition:transform var(--transition-fast), box-shadow var(--transition-fast);border:none;padding:.75rem 1.5rem;font-weight:600;box-shadow:0 4px 12px #826cef4d}.btn-primary:hover{transform:translateY(-1px);box-shadow:0 6px 16px #826cef73}.btn-primary:active{transform:translateY(0)}.btn-secondary{border:1px solid var(--border-color);color:var(--text-primary);border-radius:var(--radius-sm);cursor:pointer;transition:background var(--transition-fast), border-color var(--transition-fast);background:#2f354180;padding:.75rem 1.5rem;font-weight:600}.btn-secondary:hover{background:#383e4dcc;border-color:#454c5f99}.form-input{border:1px solid var(--border-color);border-radius:var(--radius-sm);width:100%;color:var(--text-primary);transition:border-color var(--transition-fast), box-shadow var(--transition-fast);background:#0c0e13cc;padding:.75rem 1rem}.form-input:focus{border-color:var(--color-deep);outline:none;box-shadow:0 0 0 3px #826cef26}.topbar{box-sizing:border-box;justify-content:space-between;align-items:center;gap:1rem;width:100%;min-height:82px;padding:1.25rem 2rem;display:flex}.brand-group{cursor:pointer;text-align:left;background:0 0;border:none;flex:none;align-items:center;gap:.75rem;padding:0;display:inline-flex}.brand-group .logo{font-size:1.5rem;line-height:1}.brand-title{font-family:var(--font-display);letter-spacing:.05em;background:linear-gradient(135deg, var(--color-deep) 0%, #f49434 100%);-webkit-text-fill-color:transparent;white-space:nowrap;-webkit-background-clip:text;background-clip:text;font-size:1.25rem;font-weight:600;line-height:1.1}.date-navigator{justify-content:center;align-items:center;gap:1rem;min-width:min(420px,36vw);display:flex}.date-display{font-family:var(--font-display);white-space:nowrap;text-align:center;font-size:1.15rem;font-weight:600}.topbar-spacer{flex:auto}.user-menu{flex:none;justify-content:flex-end;align-items:center;gap:.5rem;display:flex}.nav-btn{min-width:42px;min-height:42px;padding:.45rem .75rem;font-size:.875rem}.nav-link-btn{white-space:nowrap;min-height:42px;padding:.55rem .85rem;font-size:.82rem}.nav-link-btn.active,.mobile-menu-item.active{border-color:var(--color-deep);background:var(--color-deep-bg);color:var(--text-primary)}.hamburger-btn{border:1px solid var(--border-color);border-radius:var(--radius-sm);min-width:42px;min-height:42px;color:var(--text-primary);cursor:pointer;transition:background var(--transition-fast), border-color var(--transition-fast);background:#2f354180;flex:none;justify-content:center;align-items:center;font-size:1.2rem;display:none}.hamburger-btn:hover{background:#383e4dcc;border-color:#454c5f99}.mobile-dropdown{display:none}.mobile-menu-item{border:1px solid var(--border-color);border-radius:var(--radius-sm);width:100%;color:var(--text-primary);cursor:pointer;transition:background var(--transition-fast), border-color var(--transition-fast);background:#22262f80;justify-content:center;align-items:center;gap:.5rem;padding:.75rem;font-weight:600;display:flex}.mobile-menu-item:hover{border-color:var(--text-muted);background:#2f3541cc}.mobile-menu-item.logout-item{color:var(--color-danger)}@media (width<=1024px){.topbar{border-left:none;border-right:none;border-radius:0;gap:.75rem;min-height:60px;padding:.6rem 1rem}.brand-group .logo{font-size:1.25rem}.brand-title{font-size:1rem}.date-navigator{flex:auto;gap:.5rem;min-width:0}.date-display{text-overflow:ellipsis;max-width:42vw;font-size:.85rem;overflow:hidden}.desktop-menu{display:none!important}.hamburger-btn{display:inline-flex}.mobile-dropdown{z-index:110;border:1px solid var(--border-color);box-shadow:var(--shadow-lg);background:var(--bg-card);flex-direction:column;gap:.5rem;margin:0 .5rem;padding:.75rem;display:flex;position:absolute;top:4.5rem;left:0;right:0}}@media (width<=640px){.topbar:has(.date-navigator){flex-wrap:wrap}.topbar:has(.date-navigator) .date-navigator{flex-basis:100%;order:2;width:100%}}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.animate-fade-in{animation:fadeIn var(--transition-normal) forwards}
