.toast-container[data-v-71547e42]{top:max(24px, calc(env(safe-area-inset-top) + 16px));z-index:9999;pointer-events:none;flex-direction:column;align-items:flex-end;gap:8px;display:flex;position:fixed;right:28px}.toast-pill[data-v-71547e42]{pointer-events:auto;background:var(--color-heading);color:var(--color-background);-webkit-backdrop-filter:blur(12px);cursor:pointer;-webkit-user-select:none;user-select:none;border:1px solid #ffffff1f;border-radius:100px;align-items:center;gap:10px;padding:8px 18px 8px 10px;transition:all .25s cubic-bezier(.165,.84,.44,1);display:inline-flex;position:relative;overflow:hidden;box-shadow:0 12px 36px #00000040}.toast-progress-bar[data-v-71547e42]{opacity:.35;transform-origin:0;background:currentColor;height:2px;animation:linear forwards toast-countdown-71547e42;position:absolute;bottom:0;left:0;right:0}@keyframes toast-countdown-71547e42{0%{transform:scaleX(1)}to{transform:scaleX(0)}}[data-theme=light] .toast-pill[data-v-71547e42]{border-color:#00000014}.toast-pill[data-v-71547e42]:hover{transform:translateY(-2px);box-shadow:0 16px 40px #0000004d}.toast-pill[data-v-71547e42]:active{transform:scale(.97)}.toast-icon-badge[data-v-71547e42]{background:#fff3;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:24px;height:24px;display:flex}.toast-pill.success .toast-icon-badge[data-v-71547e42]{color:#fff;background:#10b981}.toast-pill.error .toast-icon-badge[data-v-71547e42]{color:#fff;background:#ef4444}.toast-pill.info .toast-icon-badge[data-v-71547e42]{background:#ffffff40}.toast-message[data-v-71547e42]{letter-spacing:-.01em;white-space:nowrap;font-size:.88rem;font-weight:700;line-height:1.3}.toast-enter-active[data-v-71547e42],.toast-leave-active[data-v-71547e42]{transition:all .35s cubic-bezier(.165,.84,.44,1)}.toast-enter-from[data-v-71547e42]{opacity:0;transform:translateY(-16px)scale(.95)}.toast-leave-to[data-v-71547e42]{opacity:0;transform:translateY(-12px)scale(.95)}@media (width<=768px){.toast-container[data-v-71547e42]{width:auto;max-width:calc(100% - 32px);left:50%;right:auto;top:max(20px, calc(env(safe-area-inset-top) + 16px));align-items:center;transform:translate(-50%)}.toast-pill[data-v-71547e42]{padding:7px 16px 7px 9px}.toast-message[data-v-71547e42]{font-size:.84rem}.toast-enter-from[data-v-71547e42],.toast-leave-to[data-v-71547e42]{opacity:0;transform:translateY(-16px)scale(.95)}}main[data-v-3010881f]{flex-direction:column;flex:1 0 auto;padding:28px 0;display:flex}main.is-home[data-v-3010881f]{justify-content:center;padding:0}footer[data-v-3010881f]{text-align:center;border-top:1px solid var(--color-border);color:var(--color-text-light);flex-shrink:0;margin-top:auto;padding:40px 0 28px;font-size:.85rem}.footer-content[data-v-3010881f]{flex-direction:column;align-items:center;gap:16px;display:flex}.footer-links[data-v-3010881f]{flex-wrap:wrap;justify-content:center;align-items:center;gap:20px;display:flex}.footer-links a[data-v-3010881f],.footer-theme-toggle[data-v-3010881f]{color:var(--color-text-light);cursor:pointer;background:0 0;border:none;border-radius:6px;align-items:center;gap:6px;padding:4px 8px;font-family:inherit;font-size:.8rem;font-weight:600;text-decoration:none;transition:color .2s;display:inline-flex}.footer-links a[data-v-3010881f]:hover,.footer-theme-toggle[data-v-3010881f]:hover{color:var(--color-heading)}.footer-links a[data-v-3010881f]:hover{text-underline-offset:3px;text-decoration:underline}.nav-right[data-v-3010881f]{align-items:center;gap:32px;display:flex}.user-menu-container[data-v-3010881f]{position:relative}.user-menu-trigger[data-v-3010881f]{cursor:pointer;color:var(--color-text-light);background:0 0;border:none;border-radius:100px;align-items:center;gap:10px;padding:6px 12px;font-family:inherit;transition:all .2s;display:flex}.user-menu-trigger[data-v-3010881f]:hover,.user-menu-trigger.active[data-v-3010881f]{background:var(--color-background-soft);color:var(--color-heading)}.user-avatar-mini[data-v-3010881f]{background:var(--color-accent);width:28px;height:28px;color:var(--color-background);border-radius:50%;justify-content:center;align-items:center;font-size:.8rem;font-weight:800;display:flex}.user-name-mini[data-v-3010881f]{font-size:.9rem;font-weight:600}.chevron[data-v-3010881f]{transition:transform .2s}.user-menu-trigger.active .chevron[data-v-3010881f]{transform:rotate(180deg)}.user-dropdown[data-v-3010881f]{background:var(--card-bg);border:1px solid var(--border-color);width:240px;box-shadow:var(--shadow-xl);z-index:1000;border-radius:1.25rem;padding:8px;position:absolute;top:calc(100% + 12px);right:0}.dropdown-header[data-v-3010881f]{padding:12px 16px}.dropdown-user-row[data-v-3010881f]{justify-content:space-between;align-items:center;gap:8px;margin-bottom:2px;display:flex}.dropdown-name[data-v-3010881f]{color:var(--text-primary);font-size:.95rem;font-weight:700}.admin-badge[data-v-3010881f]{text-transform:uppercase;letter-spacing:.06em;background:var(--color-heading);color:var(--color-background);border-radius:4px;padding:2px 6px;font-size:.65rem;font-weight:800;line-height:1.2}.dropdown-email[data-v-3010881f]{color:var(--text-secondary);font-size:.8rem}.dropdown-divider[data-v-3010881f]{background:var(--border-color);height:1px;margin:8px 0}.dropdown-item[data-v-3010881f]{color:var(--text-primary);text-align:left;cursor:pointer;background:0 0;border:none;border-radius:10px;align-items:center;gap:12px;width:100%;padding:10px 16px;font-family:inherit;font-size:.9rem;font-weight:500;text-decoration:none;transition:background .2s;display:flex}.dropdown-item[data-v-3010881f]:hover{background:var(--color-background-mute)}.dropdown-item.logout[data-v-3010881f]{color:#ef4444}.dropdown-item.logout[data-v-3010881f]:hover{background:#ef44440d}.fade-slide-enter-active[data-v-3010881f],.fade-slide-leave-active[data-v-3010881f]{transition:all .2s cubic-bezier(.4,0,.2,1)}.fade-slide-enter-from[data-v-3010881f],.fade-slide-leave-to[data-v-3010881f]{opacity:0;transform:translateY(-8px)}.hamburger-btn[data-v-3010881f]{cursor:pointer;width:42px;height:42px;color:var(--color-heading);-webkit-tap-highlight-color:transparent;z-index:101;background:0 0;border:none;border-radius:10px;flex-direction:column;justify-content:center;align-items:center;gap:5px;padding:8px;transition:background-color .2s;display:none}.hamburger-btn[data-v-3010881f]:hover{background:var(--color-background-soft)}.hamburger-bar[data-v-3010881f]{background:currentColor;border-radius:2px;width:22px;height:2px;transition:transform .25s cubic-bezier(.4,0,.2,1),opacity .2s;display:block}.hamburger-btn.is-open .hamburger-bar[data-v-3010881f]:first-child{transform:translateY(7px)rotate(45deg)}.hamburger-btn.is-open .hamburger-bar[data-v-3010881f]:nth-child(2){opacity:0}.hamburger-btn.is-open .hamburger-bar[data-v-3010881f]:nth-child(3){transform:translateY(-7px)rotate(-45deg)}.mobile-menu-overlay[data-v-3010881f]{-webkit-backdrop-filter:blur(4px);z-index:9999;background:#00000080;justify-content:flex-end;display:flex;position:fixed;inset:0}.mobile-menu-panel[data-v-3010881f]{background:var(--color-background);width:310px;max-width:86vw;height:100%;padding:max(20px, calc(env(safe-area-inset-top) + 12px)) 20px max(24px, env(safe-area-inset-bottom));flex-direction:column;gap:16px;display:flex;overflow-y:auto;box-shadow:-8px 0 28px #0003}.mobile-menu-header[data-v-3010881f]{border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;padding-bottom:12px;display:flex}.mobile-menu-title[data-v-3010881f]{color:var(--color-heading);font-size:1.15rem;font-weight:700}.mobile-menu-close[data-v-3010881f]{color:var(--color-text-light);cursor:pointer;background:0 0;border:none;border-radius:8px;justify-content:center;align-items:center;padding:6px;transition:color .2s,background-color .2s;display:flex}.mobile-menu-close[data-v-3010881f]:hover{color:var(--color-heading);background:var(--color-background-soft)}.mobile-user-card[data-v-3010881f]{background:var(--color-background-soft);border:1px solid var(--color-border);border-radius:14px;align-items:center;gap:12px;padding:12px 14px;display:flex}.mobile-avatar[data-v-3010881f]{background:var(--color-heading);width:38px;height:38px;color:var(--color-background);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:.95rem;font-weight:800;display:flex}.mobile-user-details[data-v-3010881f]{flex-direction:column;min-width:0;display:flex}.mobile-user-name-row[data-v-3010881f]{align-items:center;gap:8px;display:flex}.mobile-user-name[data-v-3010881f]{color:var(--color-heading);font-size:.95rem;font-weight:700}.mobile-user-email[data-v-3010881f]{color:var(--color-text-light);text-overflow:ellipsis;white-space:nowrap;font-size:.78rem;overflow:hidden}.mobile-nav-links[data-v-3010881f]{flex-direction:column;gap:4px;margin:0;padding:0;list-style:none;display:flex}.mobile-nav-item[data-v-3010881f]{color:var(--color-text);border-radius:12px;align-items:center;gap:14px;padding:12px 14px;font-size:1.05rem;font-weight:600;text-decoration:none;transition:all .18s;display:flex}.mobile-nav-item[data-v-3010881f]:hover,.mobile-nav-item.router-link-active[data-v-3010881f]{background:var(--color-background-soft);color:var(--color-heading)}.mobile-nav-item.router-link-active[data-v-3010881f]{font-weight:700}.mobile-menu-divider[data-v-3010881f]{background:var(--color-border);height:1px;margin:4px 0}.mobile-nav-secondary[data-v-3010881f]{flex-direction:column;gap:4px;margin:0;padding:0;list-style:none;display:flex}.mobile-secondary-item[data-v-3010881f]{color:var(--color-text-light);cursor:pointer;text-align:left;background:0 0;border:none;border-radius:10px;align-items:center;gap:12px;width:100%;padding:10px 14px;font-family:inherit;font-size:.92rem;font-weight:500;transition:all .18s;display:flex}.mobile-secondary-item[data-v-3010881f]:hover{background:var(--color-background-soft);color:var(--color-heading)}.mobile-secondary-item.logout-item[data-v-3010881f]{color:#ef4444}.mobile-secondary-item.logout-item[data-v-3010881f]:hover{background:#ef444414}.mobile-login-wrap[data-v-3010881f]{padding-top:8px}.mobile-login-btn[data-v-3010881f]{background:var(--color-heading);width:100%;color:var(--color-background);border-radius:999px;justify-content:center;align-items:center;padding:12px;font-size:.95rem;font-weight:700;text-decoration:none;transition:opacity .2s;display:flex}.mobile-login-btn[data-v-3010881f]:hover{opacity:.9}.mobile-menu-enter-active[data-v-3010881f],.mobile-menu-leave-active[data-v-3010881f]{transition:opacity .25s}.mobile-menu-enter-active .mobile-menu-panel[data-v-3010881f],.mobile-menu-leave-active .mobile-menu-panel[data-v-3010881f]{transition:transform .25s cubic-bezier(.165,.84,.44,1)}.mobile-menu-enter-from[data-v-3010881f],.mobile-menu-leave-to[data-v-3010881f]{opacity:0}.mobile-menu-enter-from .mobile-menu-panel[data-v-3010881f],.mobile-menu-leave-to .mobile-menu-panel[data-v-3010881f]{transform:translate(100%)}@media (width<=768px){nav.container[data-v-3010881f]{padding:max(14px, calc(env(safe-area-inset-top) + 6px)) max(16px, env(safe-area-inset-right)) 14px max(16px, env(safe-area-inset-left));flex-direction:row;justify-content:space-between;align-items:center;width:100%}.logo[data-v-3010881f]{align-items:center;display:flex}nav .logo .logo-badge[data-v-3010881f]{border-radius:9px;padding:5px 12px;font-size:1.05rem}nav .logo .logo-tagline[data-v-3010881f]{letter-spacing:.03em;font-size:.54rem}.desktop-nav[data-v-3010881f]{display:none}.hamburger-btn[data-v-3010881f]{display:flex}footer[data-v-3010881f]{padding:24px 0 20px}}.page-enter-active[data-v-3010881f],.page-leave-active[data-v-3010881f]{transition:opacity .2s,transform .2s}.page-enter-from[data-v-3010881f]{opacity:0;transform:translateY(6px)}.page-leave-to[data-v-3010881f]{opacity:0;transform:translateY(-4px)}:root{--color-background:#fff;--color-background-soft:#fafafa;--color-background-mute:#f2f2f2;--color-border:#eee;--color-border-hover:#ddd;--color-heading:#1a1a1a;--color-heading-rgb:26, 26, 26;--color-text:#333;--color-text-light:#666;--color-accent:#1a1a1a;--color-accent-rgb:26, 26, 26;--color-danger:#ef4444;--color-danger-rgb:239, 68, 68;--color-success:#10b981;--color-success-rgb:16, 185, 129;--color-warning:#f59e0b;--color-warning-rgb:245, 158, 11;--focus-ring:2px solid var(--color-heading);--focus-ring-offset:2px;--font-main:"Outfit", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif;--container-max-width:1400px;--card-bg:var(--color-background);--card-bg-rgb:255, 255, 255;--input-bg:var(--color-background);--text-primary:var(--color-heading);--text-secondary:var(--color-text-light);--border-color:var(--color-border);--shadow-xl:0 20px 50px #0000001a;--accent-primary:var(--color-accent);--accent-primary-rgb:var(--color-accent-rgb)}[data-theme=dark]{--color-background:#0a0a0a;--color-background-soft:#141414;--color-background-mute:#1f1f1f;--color-border:#262626;--color-border-hover:#333;--color-heading:#f5f5f5;--color-heading-rgb:245, 245, 245;--color-text:#e5e5e5;--color-text-light:#a3a3a3;--color-accent:#fff;--color-accent-rgb:255, 255, 255;--color-danger:#f87171;--color-danger-rgb:248, 113, 113;--color-success:#34d399;--color-success-rgb:52, 211, 153;--color-warning:#fbbf24;--color-warning-rgb:251, 191, 36;--card-bg:var(--color-background-soft);--card-bg-rgb:20, 20, 20;--input-bg:var(--color-background-mute);--text-primary:var(--color-heading);--text-secondary:var(--color-text-light);--border-color:var(--color-border);--shadow-xl:0 20px 50px #00000080;--accent-primary:var(--color-accent);--accent-primary-rgb:var(--color-accent-rgb)}*,:before,:after{box-sizing:border-box;margin:0;padding:0}body{min-height:100dvh;color:var(--color-text);background:var(--color-background);line-height:1.5;font-family:var(--font-main);-webkit-font-smoothing:antialiased;padding-bottom:env(safe-area-inset-bottom);font-size:16px;transition:background-color .3s,color .3s;overflow-x:hidden}#app{flex-direction:column;min-height:100dvh;display:flex}h1,h2,h3,h4,h5,h6{color:var(--color-heading);font-weight:700;line-height:1.2}a{color:inherit;text-decoration:none;transition:opacity .2s}a:hover{opacity:.8}.container{width:100%;max-width:var(--container-max-width);margin:0 auto;padding:0 40px}@media (width<=768px){.container{padding-left:max(16px, env(safe-area-inset-left));padding-right:max(16px, env(safe-area-inset-right))}}nav.container{padding:max(20px, env(safe-area-inset-top)) 40px 20px 40px;background:var(--color-background);border-bottom:1px solid var(--color-border);z-index:100;flex-shrink:0;justify-content:space-between;align-items:center;transition:background-color .3s,border-color .3s,-webkit-backdrop-filter .3s,backdrop-filter .3s;display:flex;position:sticky;top:0}@media (width<=768px){nav.container{padding:max(16px, env(safe-area-inset-top)) max(16px, env(safe-area-inset-right)) 16px max(16px, env(safe-area-inset-left))}}nav ul{align-items:center;gap:32px;list-style:none;display:flex}nav a{color:var(--color-text-light);font-size:.95rem;font-weight:500;transition:all .2s;position:relative}nav a:hover{color:var(--color-heading);opacity:1}nav a.router-link-active{color:var(--color-heading);font-weight:700}nav ul li a.router-link-active:not(.dropdown-item):after{content:"";background:var(--color-heading);border-radius:50%;width:4px;height:4px;position:absolute;bottom:-8px;left:50%;transform:translate(-50%)}nav .logo{align-items:center;display:flex}nav .logo .logo-link{flex-direction:column;align-items:center;gap:4px;text-decoration:none;display:flex}nav .logo .logo-badge{font-family:var(--font-main);letter-spacing:-.02em;background:var(--color-heading);color:var(--color-background);border:1px solid var(--color-heading);-webkit-user-select:none;user-select:none;border-radius:12px;justify-content:center;align-items:center;gap:8px;padding:8px 16px;font-size:1.25rem;font-weight:800;line-height:1;transition:all .25s cubic-bezier(.16,1,.3,1);display:inline-flex;box-shadow:0 4px 14px #0000001f}nav .logo .logo-badge .logo-badge-icon{flex-shrink:0;width:18px;height:18px;display:block}nav .logo .logo-tagline{font-family:var(--font-main);letter-spacing:.05em;text-transform:uppercase;color:var(--color-text-light);white-space:nowrap;font-size:.65rem;font-weight:700;line-height:1;transition:color .2s}nav .logo .logo-link:hover .logo-badge{opacity:1;transform:translateY(-2px);box-shadow:0 8px 20px #0003}nav .logo .logo-link:hover .logo-tagline{color:var(--color-heading);opacity:1}nav .logo .logo-link:active .logo-badge{transform:translateY(0)}.loader{border:3px solid var(--color-border);border-top-color:var(--color-heading);border-radius:50%;width:40px;height:40px;animation:1s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.tag{text-transform:uppercase;letter-spacing:.1em;background:var(--color-background-mute);color:var(--color-text-light);cursor:pointer;border-radius:100px;margin:4px;padding:6px 12px;font-size:.7rem;font-weight:700;transition:all .2s;display:inline-block}.tag:hover{background:var(--color-heading);color:var(--color-background);transform:translateY(-1px);box-shadow:0 4px 12px #0000001a}:focus-visible{outline:var(--focus-ring);outline-offset:var(--focus-ring-offset)}button:focus:not(:focus-visible),a:focus:not(:focus-visible),input:focus:not(:focus-visible),select:focus:not(:focus-visible){outline:none}button,a,input,select,textarea,.action-item,.action-item-mini,.filter-chip,.tag{-webkit-tap-highlight-color:transparent}button:active:not(:disabled),.clickable:active{transform:scale(.97)}@page{size:portrait;margin:0}@media print{nav.container,footer,.toast-container,.pull-refresh-indicator{display:none!important}html,body,#app{color:#111!important;-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important;background:#fff!important;height:auto!important;min-height:0!important;margin:0!important;padding:0!important;font-size:10.5pt!important;line-height:1.4!important}a{color:inherit!important;text-decoration:none!important}}.pull-refresh-indicator{pointer-events:none;z-index:1000;justify-content:center;transition:opacity .2s;display:flex;position:fixed;top:10px;left:0;right:0}.pull-refresh-content{background:var(--color-background);border:1px solid var(--color-border);color:var(--color-heading);border-radius:999px;align-items:center;gap:8px;padding:8px 16px;font-size:.8rem;font-weight:600;display:flex;box-shadow:0 4px 16px #0000001f}[data-theme=dark] .pull-refresh-content{box-shadow:0 4px 20px #0006}.pull-arrow-icon{color:var(--color-accent);transition:transform .15s}.pull-spinner{border:2px solid var(--color-border);border-top-color:var(--color-accent);border-radius:50%;width:16px;height:16px;animation:.7s linear infinite pullSpin}@keyframes pullSpin{to{transform:rotate(360deg)}}
