.app-icon[data-v-4d8a982f]{display:block;flex-shrink:0}.notification-popover[data-v-9feb774d]{position:relative}.notification-trigger[data-v-9feb774d]{position:relative;background:none;border:none;cursor:pointer;width:36px;height:36px;border-radius:8px;display:flex;align-items:center;justify-content:center;color:var(--text-muted);transition:background .15s,color .15s}.notification-trigger[data-v-9feb774d]:hover{background:var(--surface-2);color:var(--text)}.badge-dot[data-v-9feb774d]{position:absolute;top:2px;right:0;min-width:16px;height:16px;border-radius:8px;background:var(--danger);color:#fff;font-size:.625rem;font-weight:700;display:flex;align-items:center;justify-content:center;padding:0 4px;line-height:1}.notification-panel[data-v-9feb774d]{position:absolute;top:calc(100% + 8px);right:0;width:380px;max-height:480px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-lg);z-index:100;display:flex;flex-direction:column;overflow:hidden}.panel-header[data-v-9feb774d]{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1rem;border-bottom:1px solid var(--border)}.panel-title[data-v-9feb774d]{font-weight:600;font-size:.9rem;color:var(--text)}.mark-all-btn[data-v-9feb774d]{background:none;border:none;color:var(--primary);font-size:.8rem;cursor:pointer;padding:0}.mark-all-btn[data-v-9feb774d]:hover{text-decoration:underline}.panel-body[data-v-9feb774d]{flex:1;overflow-y:auto;min-height:120px;max-height:400px}.panel-empty[data-v-9feb774d]{display:flex;align-items:center;justify-content:center;height:120px;color:var(--text-muted);font-size:.85rem}.notification-list[data-v-9feb774d]{display:flex;flex-direction:column}.notification-item[data-v-9feb774d]{display:flex;gap:.6rem;padding:.75rem 1rem;cursor:pointer;transition:background .15s;border-bottom:1px solid var(--border-light, var(--border))}.notification-item[data-v-9feb774d]:last-child{border-bottom:none}.notification-item[data-v-9feb774d]:hover{background:var(--surface-2)}.notification-item.unread[data-v-9feb774d]{background:var(--primary-muted, rgba(99, 102, 241, .06))}.item-indicator[data-v-9feb774d]{width:8px;height:8px;border-radius:50%;flex-shrink:0;margin-top:.35rem}.item-body[data-v-9feb774d]{flex:1;min-width:0}.item-header[data-v-9feb774d]{display:flex;align-items:center;justify-content:space-between;gap:.5rem;margin-bottom:.25rem}.item-title[data-v-9feb774d]{font-weight:600;font-size:.85rem;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.item-title-fallback[data-v-9feb774d]{font-weight:500;color:var(--text-secondary, var(--text-muted))}.item-time[data-v-9feb774d]{font-size:.7rem;color:var(--text-muted);white-space:nowrap;flex-shrink:0}.item-content[data-v-9feb774d]{font-size:.8rem;color:var(--text-secondary, var(--text-muted));line-height:1.5;white-space:pre-wrap;word-break:break-word}.item-content.clamp[data-v-9feb774d]{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.pop-enter-active[data-v-9feb774d],.pop-leave-active[data-v-9feb774d]{transition:opacity .15s,transform .15s}.pop-enter-from[data-v-9feb774d],.pop-leave-to[data-v-9feb774d]{opacity:0;transform:translateY(-4px) scale(.97)}@media (max-width: 480px){.notification-panel[data-v-9feb774d]{width:calc(100vw - 2rem);right:-.5rem}}.theme-toggle[data-v-e134a2f6]{background:none;border:none;width:36px;height:36px;border-radius:8px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;color:var(--text-muted);transition:background .15s,color .15s}.theme-toggle[data-v-e134a2f6]:hover{background:var(--surface-2);color:var(--text)}.spin-enter-active[data-v-e134a2f6],.spin-leave-active[data-v-e134a2f6]{transition:opacity .15s,transform .15s}.spin-enter-from[data-v-e134a2f6]{opacity:0;transform:rotate(-90deg) scale(.6)}.spin-leave-to[data-v-e134a2f6]{opacity:0;transform:rotate(90deg) scale(.6)}.lang-switcher[data-v-71a6c610]{position:relative}.lang-trigger[data-v-71a6c610]{display:flex;align-items:center;gap:.4rem;background:none;border:none;cursor:pointer;padding:.25rem .5rem;border-radius:8px;color:var(--text-muted);font-size:.8rem;font-weight:500;transition:background .15s,color .15s;white-space:nowrap}.lang-trigger[data-v-71a6c610]:hover{background:var(--surface-2);color:var(--text)}.lang-label[data-v-71a6c610]{line-height:1;white-space:nowrap;position:relative;top:.5px}.lang-dropdown[data-v-71a6c610]{min-width:120px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-lg);z-index:100;overflow:hidden;padding:.25rem}.lang-option[data-v-71a6c610]{display:flex;align-items:center;gap:.6rem;width:100%;padding:.5rem .65rem;background:none;border:none;border-radius:6px;cursor:pointer;font-size:.85rem;color:var(--text);text-align:left;transition:background .12s}.lang-option[data-v-71a6c610]:hover{background:var(--surface-2)}.lang-option.active[data-v-71a6c610]{background:var(--primary-muted, rgba(99, 102, 241, .1));color:var(--primary);font-weight:600}.lang-option-label[data-v-71a6c610]{font-weight:500}.pop-enter-active[data-v-71a6c610],.pop-leave-active[data-v-71a6c610]{transition:opacity .12s,transform .12s}.pop-enter-from[data-v-71a6c610],.pop-leave-to[data-v-71a6c610]{opacity:0;transform:translateY(-4px) scale(.97)}@media (max-width: 520px){.lang-trigger[data-v-71a6c610]{min-width:36px;min-height:36px}.lang-dropdown[data-v-71a6c610]{max-width:calc(100vw - 1.5rem)}}.modal-overlay[data-v-b3778947]{position:fixed;inset:0;background:#00000073;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.modal-box[data-v-b3778947]{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);width:100%;display:flex;flex-direction:column;box-shadow:0 16px 48px #0003;overflow:hidden}.modal-header[data-v-b3778947]{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.5rem;border-bottom:1px solid var(--border);flex-shrink:0}.modal-title[data-v-b3778947]{margin:0;font-size:1rem;font-weight:600}.modal-close[data-v-b3778947]{background:none;border:none;font-size:1.5rem;color:var(--text-muted);cursor:pointer;padding:0;line-height:1;border-radius:6px;width:28px;height:28px;display:flex;align-items:center;justify-content:center;transition:background .15s}.modal-close[data-v-b3778947]:hover{background:var(--surface-2);color:var(--text)}.modal-body[data-v-b3778947]{padding:1.5rem;overflow-y:auto;flex:1}.modal-footer[data-v-b3778947]{padding:1rem 1.5rem;border-top:1px solid var(--border);display:flex;justify-content:flex-end;gap:.5rem;flex-shrink:0}.modal-header.no-divider[data-v-b3778947]{border-bottom:none}.modal-footer.no-divider[data-v-b3778947]{border-top:none}.modal-enter-active[data-v-b3778947],.modal-leave-active[data-v-b3778947]{transition:opacity .2s ease}.modal-enter-active .modal-box[data-v-b3778947],.modal-leave-active .modal-box[data-v-b3778947]{transition:transform .2s ease,opacity .2s ease}.modal-enter-from[data-v-b3778947],.modal-leave-to[data-v-b3778947]{opacity:0}.modal-enter-from .modal-box[data-v-b3778947],.modal-leave-to .modal-box[data-v-b3778947]{transform:scale(.95) translateY(8px);opacity:0}@media (max-width: 640px){.modal-overlay[data-v-b3778947]{align-items:flex-end;padding:.75rem}.modal-box[data-v-b3778947]{max-height:calc(100dvh - 1.5rem)!important}.modal-header[data-v-b3778947],.modal-body[data-v-b3778947],.modal-footer[data-v-b3778947]{padding-inline:1rem}.modal-body[data-v-b3778947]{padding-block:1rem}}.app-header[data-v-bb5047fe]{min-height:52px;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:0 1.25rem;background:var(--surface);box-shadow:0 1px 2px #0000000a,0 4px 12px #0000000d;position:sticky;top:0;z-index:40;flex-shrink:0;overflow:visible}.header-left[data-v-bb5047fe]{flex:1;min-width:0;display:flex;align-items:center;gap:.75rem;overflow:visible}.header-right[data-v-bb5047fe]{display:flex;align-items:center;gap:.25rem;flex-shrink:0}.brand-link[data-v-bb5047fe]{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;flex-shrink:0;text-decoration:none}.brand-mark[data-v-bb5047fe]{width:32px;height:32px;border-radius:8px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;display:inline-flex;align-items:center;justify-content:center;font-size:.78rem;font-weight:700;line-height:1}.brand-logo-img[data-v-bb5047fe]{width:32px;height:32px;border-radius:8px;object-fit:contain}.top-nav[data-v-bb5047fe]{display:flex;align-items:center;gap:.125rem;min-width:0;overflow:visible;scrollbar-width:none}.top-nav[data-v-bb5047fe]::-webkit-scrollbar{display:none}.top-nav-entry[data-v-bb5047fe]{position:relative;flex:0 0 auto}.top-nav-item[data-v-bb5047fe]{display:inline-flex;align-items:center;gap:.4rem;padding:.45rem .7rem;border-radius:var(--radius);color:var(--text-muted);font-size:.82rem;font-weight:500;text-decoration:none;white-space:nowrap;transition:background .15s,color .15s}.top-nav-item[data-v-bb5047fe]:hover{color:var(--text);background:var(--surface-2)}.top-nav-item.router-link-active[data-v-bb5047fe],.top-nav-item-parent-active[data-v-bb5047fe]{color:var(--primary);background:var(--primary-muted)}.top-nav-chevron[data-v-bb5047fe]{transition:transform .15s}.top-nav-entry:hover .top-nav-chevron[data-v-bb5047fe],.top-nav-entry:focus-within .top-nav-chevron[data-v-bb5047fe]{transform:rotate(180deg)}.top-nav-submenu[data-v-bb5047fe]{position:absolute;top:calc(100% + .35rem);left:0;z-index:80;min-width:180px;padding:.35rem;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow-lg);opacity:0;visibility:hidden;transform:translateY(-4px);transition:opacity .12s,transform .12s,visibility .12s}.top-nav-entry:hover .top-nav-submenu[data-v-bb5047fe],.top-nav-entry:focus-within .top-nav-submenu[data-v-bb5047fe]{opacity:1;visibility:visible;transform:translateY(0)}.top-nav-subitem[data-v-bb5047fe]{display:flex;align-items:center;gap:.45rem;min-height:34px;padding:.45rem .55rem;border-radius:7px;color:var(--text-muted);font-size:.82rem;font-weight:500;text-decoration:none;white-space:nowrap}.top-nav-subitem[data-v-bb5047fe]:hover{color:var(--text);background:var(--surface-2)}.top-nav-subitem.router-link-exact-active[data-v-bb5047fe]{color:var(--primary);background:var(--primary-muted)}.checkin-btn-header[data-v-bb5047fe]{display:inline-flex;align-items:center;gap:.4rem;padding:.35rem .75rem;border-radius:var(--radius);background:none;border:none;color:var(--text-muted);font-size:.8rem;font-weight:500;cursor:pointer;transition:all .15s;white-space:nowrap}.checkin-btn-header[data-v-bb5047fe]:hover{color:var(--primary);background:var(--surface-2)}.checkin-btn-header.done[data-v-bb5047fe]{color:var(--success)}.credits-pill[data-v-bb5047fe]{display:flex;align-items:center;gap:.35rem;padding:.3rem .7rem;border-radius:20px;background:linear-gradient(135deg,var(--primary-muted, rgba(99, 102, 241, .1)),var(--surface-2));border:1px solid var(--border);color:var(--primary);font-size:.8rem;font-weight:600;cursor:pointer;transition:border-color .15s,box-shadow .15s}.credits-pill[data-v-bb5047fe]:hover{border-color:var(--primary);box-shadow:0 0 0 1px var(--primary-muted, rgba(99, 102, 241, .15))}.credits-value[data-v-bb5047fe]{line-height:1}.header-sep[data-v-bb5047fe]{width:1px;height:20px;background:var(--border);margin:0 .25rem}.user-menu-wrapper[data-v-bb5047fe]{position:relative}.user-trigger[data-v-bb5047fe]{display:flex;align-items:center;gap:.35rem;background:none;border:none;cursor:pointer;padding:.25rem .35rem;border-radius:8px;transition:background .15s}.user-trigger[data-v-bb5047fe]:hover{background:var(--surface-2)}.user-avatar[data-v-bb5047fe]{width:20px;height:20px;border-radius:50%;background:var(--primary);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:.8rem}.chevron[data-v-bb5047fe]{color:var(--text-muted);transition:transform .2s}.chevron.open[data-v-bb5047fe]{transform:rotate(180deg)}.user-dropdown[data-v-bb5047fe]{position:absolute;top:calc(100% + 0px);right:0;width:240px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-lg);z-index:100;overflow:hidden}.dropdown-header[data-v-bb5047fe]{display:flex;align-items:center;gap:.6rem;padding:.75rem 1rem}.dropdown-avatar[data-v-bb5047fe]{width:36px;height:36px;border-radius:50%;background:var(--primary);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:.9rem;flex-shrink:0}.dropdown-info[data-v-bb5047fe]{overflow:hidden}.dropdown-email[data-v-bb5047fe]{font-size:.85rem;font-weight:500;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dropdown-credit-row[data-v-bb5047fe]{display:flex;align-items:center;justify-content:flex-start;gap:.5rem;margin-top:.3rem}.dropdown-credit-inline[data-v-bb5047fe]{display:inline-flex;align-items:center;gap:.25rem;color:var(--primary);font-size:.78rem;font-weight:600;font-variant-numeric:tabular-nums}.dropdown-recharge-link[data-v-bb5047fe]{border:none;border-radius:999px;background:var(--primary-muted);color:var(--primary);cursor:pointer;font-size:.72rem;font-weight:700;padding:.16rem .5rem;white-space:nowrap;line-height:1.2;transition:background .15s,color .15s}.dropdown-recharge-link[data-v-bb5047fe]:hover{background:var(--primary);color:var(--primary-contrast)}.dropdown-divider[data-v-bb5047fe]{height:1px;background:var(--border)}.dropdown-item[data-v-bb5047fe]{display:flex;align-items:center;gap:.6rem;width:100%;padding:.6rem 1rem;background:none;border:none;cursor:pointer;font-size:.85rem;color:var(--text);text-align:left;transition:background .15s}.dropdown-item[data-v-bb5047fe]:hover{background:var(--surface-2)}.dropdown-item-danger[data-v-bb5047fe]{color:var(--danger)}.dropdown-item-danger[data-v-bb5047fe]:hover{background:var(--danger-muted, rgba(239, 68, 68, .08))}.dropdown-enter-active[data-v-bb5047fe],.dropdown-leave-active[data-v-bb5047fe]{transition:opacity .12s,transform .12s}.dropdown-enter-from[data-v-bb5047fe],.dropdown-leave-to[data-v-bb5047fe]{opacity:0;transform:translateY(-4px) scale(.97)}.checkin-loading[data-v-bb5047fe]{text-align:center;padding:2rem;color:var(--text-muted)}.checkin-disabled[data-v-bb5047fe]{text-align:center;padding:1.5rem;color:var(--text-muted)}.checkin-stats[data-v-bb5047fe]{display:flex;gap:1rem;margin-bottom:1.25rem}.checkin-stat[data-v-bb5047fe]{flex:1;display:flex;flex-direction:column;align-items:center;gap:.2rem;padding:.75rem;background:var(--surface-2);border-radius:var(--radius)}.checkin-stat-value[data-v-bb5047fe]{font-size:1.5rem;font-weight:700;color:var(--primary);line-height:1}.checkin-stat-label[data-v-bb5047fe]{font-size:.7rem;color:var(--text-muted)}.checkin-week[data-v-bb5047fe]{display:grid;grid-template-columns:repeat(7,1fr);gap:.375rem;margin-bottom:1.25rem}.checkin-day[data-v-bb5047fe]{display:flex;flex-direction:column;align-items:center;gap:.2rem;padding:.5rem .2rem;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);transition:all .15s}.checkin-day.today[data-v-bb5047fe]{border-color:var(--primary);box-shadow:0 0 0 1px var(--primary-muted)}.checkin-day.checked[data-v-bb5047fe]{background:var(--success-muted);border-color:var(--success)}.checkin-day-weekday[data-v-bb5047fe]{font-size:.6rem;color:var(--text-muted);text-transform:uppercase}.checkin-day-num[data-v-bb5047fe]{font-size:.85rem;font-weight:600;color:var(--text)}.checkin-day-credits[data-v-bb5047fe]{font-size:.65rem;font-weight:600;color:var(--success)}.checkin-day-dot[data-v-bb5047fe]{font-size:.85rem;color:var(--text-secondary)}.checkin-submit[data-v-bb5047fe]{display:flex;align-items:center;justify-content:center;gap:.5rem;width:100%;padding:.7rem 1rem;border-radius:var(--radius);border:none;background:var(--primary);color:#fff;font-size:.875rem;font-weight:600;cursor:pointer;transition:all .15s}.checkin-submit[data-v-bb5047fe]:hover:not(:disabled){background:var(--primary-hover)}.checkin-submit[data-v-bb5047fe]:disabled{opacity:.6;cursor:not-allowed}.checkin-submit.done[data-v-bb5047fe]{background:var(--success)}.checkin-msg[data-v-bb5047fe]{text-align:center;font-size:.8125rem;margin:.75rem 0 0;color:var(--text-muted)}.checkin-msg.success[data-v-bb5047fe]{color:var(--success)}.pwd-form[data-v-bb5047fe]{display:flex;flex-direction:column;gap:.875rem}.pwd-hint[data-v-bb5047fe]{margin:0 0 .125rem;color:var(--text-muted);font-size:.8125rem;line-height:1.55}.form-group[data-v-bb5047fe]{display:flex;flex-direction:column;gap:.25rem}.form-label[data-v-bb5047fe]{font-size:.8rem;font-weight:600;color:var(--text)}.form-input[data-v-bb5047fe]{width:100%;height:38px;padding:.5rem .75rem;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);color:var(--text);outline:none;transition:border-color .15s,box-shadow .15s}.form-input[data-v-bb5047fe]:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-muted)}.pwd-error[data-v-bb5047fe]{color:var(--danger);font-size:.8rem;margin:0;padding:.625rem .75rem;border-radius:var(--radius);background:var(--danger-muted)}[data-v-bb5047fe] .modal-footer{gap:.75rem;padding-top:.875rem}.pwd-action[data-v-bb5047fe]{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;min-width:112px;height:38px;padding:0 1rem;border-radius:var(--radius);border:1px solid transparent;font-size:.8125rem;font-weight:600;line-height:1;cursor:pointer;transition:background .15s,border-color .15s,color .15s,box-shadow .15s;white-space:nowrap}.pwd-action[data-v-bb5047fe]:disabled{opacity:.55;cursor:not-allowed}.pwd-action-ghost[data-v-bb5047fe]{background:var(--surface-2);border-color:var(--border);color:var(--text)}.pwd-action-ghost[data-v-bb5047fe]:hover:not(:disabled){background:var(--surface-3)}.pwd-action-primary[data-v-bb5047fe]{background:var(--primary);color:var(--primary-contrast);box-shadow:0 1px 2px #00000014}.pwd-action-primary[data-v-bb5047fe]:hover:not(:disabled){background:var(--primary-hover);box-shadow:0 0 0 3px var(--primary-muted)}@media (max-width: 820px){.app-header[data-v-bb5047fe]{padding:.5rem .75rem;align-items:flex-start;flex-wrap:wrap}.header-left[data-v-bb5047fe]{order:2;width:100%;flex-basis:100%}.header-right[data-v-bb5047fe]{order:1;width:100%;justify-content:flex-end}.top-nav[data-v-bb5047fe]{flex:1;overflow-x:auto;overflow-y:hidden}}@media (max-width: 680px){.header-right[data-v-bb5047fe]{gap:.15rem}.header-sep[data-v-bb5047fe]{display:none}.checkin-btn-header[data-v-bb5047fe],.credits-pill[data-v-bb5047fe]{min-height:36px;padding-inline:.55rem}.user-trigger[data-v-bb5047fe]{min-height:36px}}@media (max-width: 560px){.checkin-btn-header span[data-v-bb5047fe],.top-nav-item span[data-v-bb5047fe]{display:none}.top-nav-item[data-v-bb5047fe]{width:36px;justify-content:center;padding:.45rem 0}.top-nav-chevron[data-v-bb5047fe]{display:none}.top-nav-submenu[data-v-bb5047fe]{min-width:42px}.top-nav-subitem[data-v-bb5047fe]{width:34px;justify-content:center;padding-inline:0}.top-nav-subitem span[data-v-bb5047fe]{display:none}}@media (max-width: 460px){.app-header[data-v-bb5047fe]{gap:.45rem}.header-right[data-v-bb5047fe]{justify-content:space-between}.header-right[data-v-bb5047fe] .lang-label{display:none}.header-right[data-v-bb5047fe] .lang-trigger{width:36px;height:36px;justify-content:center;padding:0}.credits-pill[data-v-bb5047fe]{max-width:4.4rem}.credits-value[data-v-bb5047fe]{overflow:hidden;text-overflow:ellipsis}.user-dropdown[data-v-bb5047fe]{position:fixed;top:52px;right:.75rem;width:calc(100vw - 1.5rem);max-width:280px}}@media (max-width: 520px){[data-v-bb5047fe] .modal-footer{flex-direction:column-reverse}.pwd-action[data-v-bb5047fe]{width:100%}}.sidebar[data-v-9544d4c6]{width:232px;flex-shrink:0;height:100%;background:var(--sidebar-bg);border-right:1px solid var(--border);display:flex;flex-direction:column;padding:1rem .75rem}.brand[data-v-9544d4c6]{display:flex;align-items:center;gap:.6rem;padding:.25rem .5rem 1rem}.brand-logo[data-v-9544d4c6]{width:36px;height:36px;border-radius:9px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.9rem}.brand-logo-img[data-v-9544d4c6]{width:36px;height:36px;border-radius:9px;object-fit:contain}.brand-text[data-v-9544d4c6]{display:flex;flex-direction:column;line-height:1.2}.brand-name[data-v-9544d4c6]{font-weight:600;font-size:.95rem;color:var(--text)}.brand-desc[data-v-9544d4c6]{font-size:.7rem;color:var(--text-muted)}.nav[data-v-9544d4c6]{flex:1;overflow-y:auto;display:flex;flex-direction:column;gap:1rem}.nav-label[data-v-9544d4c6]{font-size:.7rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;padding:0 .6rem .35rem}.nav-entry[data-v-9544d4c6]{display:flex;flex-direction:column;gap:.15rem}.nav-item[data-v-9544d4c6]{display:flex;align-items:center;gap:.6rem;padding:.55rem .6rem;border-radius:8px;text-decoration:none;color:var(--sidebar-text);font-size:.9rem;font-weight:500}.nav-item[data-v-9544d4c6]:hover{background:var(--surface-2)}.nav-item.router-link-exact-active[data-v-9544d4c6],.nav-item-parent-active[data-v-9544d4c6]{background:var(--sidebar-active-bg);color:var(--sidebar-active-text);font-weight:500}.nav-icon[data-v-9544d4c6]{flex-shrink:0}.nav-children[data-v-9544d4c6]{display:flex;flex-direction:column;gap:.1rem;padding-left:1.55rem}.nav-child-item[data-v-9544d4c6]{display:flex;align-items:center;gap:.45rem;min-height:34px;padding:.42rem .55rem;border-radius:7px;text-decoration:none;color:var(--text-muted);font-size:.82rem;font-weight:500}.nav-child-item[data-v-9544d4c6]:hover{background:var(--surface-2);color:var(--text)}.nav-child-item.router-link-exact-active[data-v-9544d4c6]{background:var(--primary-muted);color:var(--primary)}.nav-child-icon[data-v-9544d4c6]{flex-shrink:0}@media (max-width: 900px){.sidebar[data-v-9544d4c6]{width:100%;height:auto;max-height:38vh;padding:.65rem .75rem;border-right:none;border-bottom:1px solid var(--border)}.brand[data-v-9544d4c6]{padding:0 .25rem .55rem}.brand-desc[data-v-9544d4c6]{display:none}.nav[data-v-9544d4c6]{flex-direction:row;gap:.65rem;overflow-x:auto;overflow-y:hidden;padding-bottom:.15rem;scrollbar-width:none}.nav[data-v-9544d4c6]::-webkit-scrollbar{display:none}.nav-group[data-v-9544d4c6]{display:flex;align-items:center;gap:.35rem;flex:0 0 auto}.nav-label[data-v-9544d4c6]{display:none}.nav-item[data-v-9544d4c6]{min-height:40px;padding:.55rem .7rem}.nav-entry[data-v-9544d4c6]{flex:0 0 auto;flex-direction:row;align-items:center}.nav-children[data-v-9544d4c6]{flex-direction:row;padding-left:0}.nav-child-item[data-v-9544d4c6]{min-height:40px;padding:.55rem .65rem}}@media (max-width: 520px){.sidebar[data-v-9544d4c6]{max-height:30vh}.brand-logo[data-v-9544d4c6],.brand-logo-img[data-v-9544d4c6]{width:32px;height:32px}.brand-name[data-v-9544d4c6]{max-width:13rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.nav[data-v-9544d4c6]{gap:.35rem}.nav-item[data-v-9544d4c6]{min-width:42px;justify-content:center;gap:0;padding-inline:.65rem}.nav-item span[data-v-9544d4c6],.nav-child-item span[data-v-9544d4c6]{display:none}.nav-child-item[data-v-9544d4c6]{min-width:38px;justify-content:center;gap:0;padding-inline:.55rem}}.btn[data-v-b8b67c4d]{padding:.5rem 1.25rem;border-radius:8px;font-size:.875rem;font-weight:600;cursor:pointer;border:none;transition:all .15s}.btn-primary[data-v-b8b67c4d]{background:var(--primary);color:var(--primary-contrast)}.btn-primary[data-v-b8b67c4d]:hover{background:var(--primary-hover)}.btn-ghost[data-v-b8b67c4d]{background:var(--surface-2);color:var(--text);border:1px solid var(--border)}.btn-ghost[data-v-b8b67c4d]:hover{background:var(--border)}.announcement-list[data-v-b8b67c4d]{display:flex;flex-direction:column;gap:1rem}.announcement-item[data-v-b8b67c4d]{padding:1rem;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-2)}.announcement-header[data-v-b8b67c4d]{display:flex;align-items:center;gap:.5rem;margin-bottom:.5rem}.announcement-type-dot[data-v-b8b67c4d]{width:8px;height:8px;border-radius:50%;flex-shrink:0}.announcement-item-title[data-v-b8b67c4d]{font-weight:600;font-size:.9rem;color:var(--text)}.announcement-item-title.muted[data-v-b8b67c4d]{color:var(--text-muted);font-weight:500}.announcement-time[data-v-b8b67c4d]{margin-left:auto;font-size:.75rem;color:var(--text-muted);flex-shrink:0}.announcement-content[data-v-b8b67c4d]{font-size:.85rem;color:var(--text-secondary, var(--text-muted));line-height:1.6;white-space:pre-wrap;word-break:break-word}.toast-container[data-v-6e1070ed]{position:fixed;top:1rem;right:1rem;z-index:9999;display:flex;flex-direction:column;gap:.5rem;max-width:360px;pointer-events:none}.toast[data-v-6e1070ed]{display:flex;align-items:center;gap:.5rem;padding:.65rem 1rem;border-radius:8px;color:#fff;font-size:.875rem;line-height:1.4;pointer-events:auto;cursor:pointer;box-shadow:0 4px 12px #00000026}.toast-success[data-v-6e1070ed]{background:#27ae60}.toast-error[data-v-6e1070ed]{background:#c0392b}.toast-info[data-v-6e1070ed]{background:#2980b9}.toast-msg[data-v-6e1070ed]{flex:1}.toast-close[data-v-6e1070ed]{background:none;border:none;color:inherit;font-size:1.1rem;cursor:pointer;opacity:.8;padding:0;line-height:1}.toast-close[data-v-6e1070ed]:hover{opacity:1}.toast-enter-active[data-v-6e1070ed]{transition:all .25s ease}.toast-leave-active[data-v-6e1070ed]{transition:all .2s ease}.toast-enter-from[data-v-6e1070ed],.toast-leave-to[data-v-6e1070ed]{opacity:0;transform:translate(40px)}.app-shell[data-v-0c9664df]{display:flex;flex-direction:column;height:100vh;background:var(--bg)}.app-shell.side-layout[data-v-0c9664df]{flex-direction:row}.content-shell[data-v-0c9664df]{flex:1;min-width:0;min-height:0;display:flex;flex-direction:column}.shell-body[data-v-0c9664df]{flex:1;min-width:0;min-height:0;display:flex;overflow:hidden}.main[data-v-0c9664df]{flex:1;min-width:0;min-height:0;overflow-y:auto;scrollbar-gutter:stable}.plain[data-v-0c9664df]{min-height:100vh;background:var(--bg)}.plain-top[data-v-0c9664df]{display:flex;align-items:center;justify-content:flex-end;gap:.5rem;padding:.75rem 1rem}.plain-top-home[data-v-0c9664df]{justify-content:space-between;background:transparent}.plain-top-actions[data-v-0c9664df]{display:flex;align-items:center;gap:.5rem}.plain-brand[data-v-0c9664df]{display:inline-flex;align-items:center;gap:.6rem;color:var(--text);font-weight:800;text-decoration:none}.plain-brand-mark[data-v-0c9664df]{display:grid;place-items:center;width:1.75rem;height:1.75rem;border-radius:8px;background:var(--primary);color:#fff;font-size:.72rem;font-weight:900}.plain-brand-logo[data-v-0c9664df]{width:1.75rem;height:1.75rem;border-radius:8px;object-fit:contain}.plain-auth-actions[data-v-0c9664df]{display:flex;align-items:center;gap:.5rem}.plain-auth-link[data-v-0c9664df]{display:inline-flex;align-items:center;justify-content:center;min-height:32px;padding:0 .85rem;border-radius:var(--radius);font-size:.86rem;font-weight:500;text-decoration:none;white-space:nowrap;transition:background .15s,border-color .15s,color .15s}.plain-auth-link-ghost[data-v-0c9664df]{color:var(--text);border:1px solid var(--border);background:var(--surface)}.plain-auth-link-ghost[data-v-0c9664df]:hover{border-color:var(--primary);color:var(--primary)}.plain-auth-link-primary[data-v-0c9664df]{color:#fff;border:1px solid var(--primary);background:var(--primary)}.plain-auth-link-primary[data-v-0c9664df]:hover{background:var(--primary-hover);border-color:var(--primary-hover)}@supports (height: 100dvh){.app-shell[data-v-0c9664df]{height:100dvh}}@media (max-width: 900px){.app-shell.side-layout[data-v-0c9664df]{flex-direction:column}}@media (max-width: 768px){.shell-body[data-v-0c9664df]{overflow:visible}.main[data-v-0c9664df]{scrollbar-gutter:auto}}@media (max-width: 420px){.plain-top[data-v-0c9664df]{padding-inline:.75rem}.plain-brand span[data-v-0c9664df]:last-child{max-width:9rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.plain-auth-actions[data-v-0c9664df]{gap:.35rem}.plain-auth-link[data-v-0c9664df]{padding-inline:.65rem;font-size:.8rem}}:root{--primary: #667eea;--primary-hover: #5a6fd6;--primary-contrast: #ffffff;--primary-muted: rgba(102, 126, 234, .1);--bg: #ffffff;--bg-soft: #f5f6f8;--surface: #ffffff;--surface-2: #f7f7f8;--surface-3: #f0f0f2;--border: #e4e4e7;--border-light: #ececef;--text: #18181b;--text-muted: #71717a;--text-secondary: #a1a1aa;--sidebar-bg: #fbfbfc;--sidebar-text: #363636;--sidebar-active-bg: rgba(102, 126, 234, .12);--sidebar-active-text: var(--primary);--danger: #e5484d;--danger-muted: rgba(229, 72, 77, .1);--success: #30a46c;--success-muted: rgba(48, 164, 108, .1);--warning: #e5a00d;--warning-muted: rgba(229, 160, 13, .1);--info: #0091ff;--info-muted: rgba(0, 145, 255, .1);--shadow-xs: 0 1px 2px rgba(0, 0, 0, .04);--shadow: 0 1px 3px rgba(0, 0, 0, .08), 0 1px 2px rgba(0, 0, 0, .04);--shadow-md: 0 4px 12px rgba(0, 0, 0, .08);--shadow-lg: 0 16px 48px rgba(0, 0, 0, .12);--radius: 12px;--radius-sm: 6px;--radius-lg: 14px}html[data-mode=dark]{--primary: #7c8cf0;--primary-hover: #8f9df5;--primary-contrast: #ffffff;--primary-muted: rgba(124, 140, 240, .15);--bg: #09090b;--bg-soft: #131316;--surface: #18181b;--surface-2: #1f1f23;--surface-3: #27272a;--border: #27272a;--border-light: #2e2e32;--text: #e8e8ec;--text-muted: #8b8b93;--text-secondary: #52525b;--sidebar-bg: #0c0c0e;--sidebar-text: #a1a1aa;--sidebar-active-bg: rgba(124, 140, 240, .16);--sidebar-active-text: #b8c2ff;--danger: #ff6369;--danger-muted: rgba(255, 99, 105, .15);--success: #46c98b;--success-muted: rgba(70, 201, 139, .15);--warning: #fbbf24;--warning-muted: rgba(251, 191, 36, .15);--info: #38bdf8;--info-muted: rgba(56, 189, 248, .15);--shadow-xs: 0 1px 2px rgba(0, 0, 0, .2);--shadow: 0 1px 3px rgba(0, 0, 0, .3);--shadow-md: 0 4px 12px rgba(0, 0, 0, .3);--shadow-lg: 0 16px 48px rgba(0, 0, 0, .4)}html,body{margin:0;padding:0;min-width:0;min-height:100%;background-color:var(--bg);color:var(--text);font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#app{min-width:0;min-height:100vh}*{box-sizing:border-box}a{color:inherit}button{font-family:inherit}img,video,canvas,svg{max-width:100%}input,textarea,select{background:var(--surface);color:var(--text);border:1px solid var(--border);border-radius:var(--radius);transition:border-color .15s,box-shadow .15s}input:focus,textarea:focus,select:focus{outline:none}input::placeholder,textarea::placeholder{color:var(--text-secondary)}@supports (min-height: 100dvh){#app{min-height:100dvh}}@media (max-width: 768px){html,body{overflow-x:hidden}input,textarea,select{font-size:16px}}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}
