:root{--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-6: 24px;--space-8: 32px;--space-12: 48px;--radius-sm: 6px;--radius-md: 10px;--radius-lg: 16px;--radius-full: 9999px;--shadow-0: none;--shadow-1: 0 1px 3px rgba(0, 0, 0, .08);--shadow-2: 0 4px 12px rgba(0, 0, 0, .12);--shadow-3: 0 8px 32px rgba(0, 0, 0, .18);--text-display: 1.75rem;--text-h1: 1.375rem;--text-h2: 1.125rem;--text-body: .9375rem;--text-label: .8125rem;--text-caption: .75rem;--text-mono: .875rem}*{box-sizing:border-box}body{font-family:DM Sans,sans-serif;font-size:var(--text-body);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.font-mono{font-family:JetBrains Mono,monospace;font-size:var(--text-mono)}.app-display{font-size:var(--text-display);font-weight:700;line-height:1.2;letter-spacing:normal}.app-h1{font-size:var(--text-h1);font-weight:600;line-height:1.3;letter-spacing:normal}.app-h2{font-size:var(--text-h2);font-weight:600;line-height:1.4;letter-spacing:normal}.app-label{font-size:var(--text-label);font-weight:500}.app-caption{font-size:var(--text-caption);font-weight:400;opacity:.7}.avatar-initials{font-size:var(--text-caption);font-weight:500;color:#fff;opacity:1}.v-theme--dark .v-navigation-drawer .v-list-item--active .v-list-item-title{color:#7aabff!important}.border-sage{border-left:3px solid #27AE7A!important}.border-amber{border-left:3px solid #F59E0B!important}.border-coral{border-left:3px solid #E8453C!important}.border-ocean{border-left:3px solid #2D6BE4!important}.border-lavender{border-left:3px solid #7B61FF!important}.fade-enter-active,.fade-leave-active{transition:opacity .18s ease-out,transform .18s ease-out}.fade-enter-from{opacity:0;transform:translateY(4px)}.fade-leave-to{opacity:0;transform:translateY(-4px)}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}.v-application{background:radial-gradient(ellipse at 60% 30%,#2d6be42e,#0f1923 55%) fixed!important}.v-card{box-shadow:var(--shadow-1)!important}.v-btn-toggle{gap:6px!important}.v-btn{text-transform:none!important;font-family:DM Sans,sans-serif!important;font-weight:500!important;letter-spacing:0!important}.v-field--variant-outlined .v-field__outline{border-radius:var(--radius-sm)}:focus-visible{outline:2px solid #2D6BE4;outline-offset:2px}input[type=date]::-webkit-calendar-picker-indicator{position:relative;right:8px}.notif-item[data-v-796f465e]{cursor:pointer;border-bottom:1px solid rgba(0,0,0,.06)}.notif-item[data-v-796f465e]:last-child{border-bottom:none}.header-logo[data-v-61fd5aee]{margin:0}[data-v-61fd5aee] .v-toolbar-title{margin-inline-start:5px}@media(min-width:960px){[data-v-61fd5aee] .v-toolbar-title{margin-inline-start:10px}}.user-profile-btn[data-v-7bea76f4]{border-radius:8px;transition:background .15s;height:auto!important;min-height:48px}@media(min-width:960px){.sidebar-logo[data-v-7bea76f4]{margin:0}}[data-v-7bea76f4] .nav-item--locked{opacity:.5;cursor:pointer}.auth-main[data-v-3370e060]{min-height:100vh;background-color:rgb(var(--v-theme-background))}.auth-container[data-v-3370e060]{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:var(--space-6)}.landing-app.v-application{background:#0f1923!important}.pwa-prompt[data-v-934904ca]{position:fixed;bottom:72px;left:12px;right:12px;z-index:1000;border-radius:14px;background:#1a1a2e;color:#fff;box-shadow:0 4px 20px #00000059;padding:12px 14px}.pwa-prompt__content[data-v-934904ca]{display:flex;align-items:center;gap:10px}.pwa-prompt__icon[data-v-934904ca]{color:#fff;flex-shrink:0}.pwa-prompt__text[data-v-934904ca]{flex:1;display:flex;flex-direction:column;gap:2px}.pwa-prompt__title[data-v-934904ca]{font-size:13px;font-weight:600;line-height:1.3}.pwa-prompt__sub[data-v-934904ca]{font-size:12px;opacity:.8;line-height:1.4}.slide-up-enter-active[data-v-934904ca],.slide-up-leave-active[data-v-934904ca]{transition:transform .28s ease,opacity .28s ease}.slide-up-enter-from[data-v-934904ca],.slide-up-leave-to[data-v-934904ca]{transform:translateY(20px);opacity:0}.fade-slide-enter-active,.fade-slide-leave-active{transition:opacity .18s ease,transform .18s ease}.fade-slide-enter-from{opacity:0;transform:translateY(4px)}.fade-slide-leave-to{opacity:0;transform:translateY(-4px)}
