.material-icon[data-v-26f120af]{flex:none;display:inline-flex;align-items:center;justify-content:center;font-family:Material Symbols Rounded;font-weight:400;font-style:normal;line-height:1;letter-spacing:normal;text-transform:none;white-space:nowrap;word-wrap:normal;direction:ltr;-webkit-font-feature-settings:"liga";-webkit-font-smoothing:antialiased;font-feature-settings:"liga";font-variation-settings:"FILL" 0,"wght" 400,"GRAD" 0,"opsz" 24;transition:font-variation-settings .15s ease}.icon-filled[data-v-26f120af]{font-variation-settings:"FILL" 1,"wght" 500,"GRAD" 0,"opsz" 24}.icon-sm[data-v-26f120af]{font-size:18px}.icon-md[data-v-26f120af]{font-size:20px}.icon-lg[data-v-26f120af]{font-size:24px}.icon-xl[data-v-26f120af]{font-size:32px}.notif-bell-wrap[data-v-040bf5f5]{position:relative}.notif-bell-btn[data-v-040bf5f5]{width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:none;border:none;border-radius:8px;cursor:pointer;color:#374151;position:relative;transition:background .12s}.notif-bell-btn[data-v-040bf5f5]:hover{background:#f1f5f9}.notif-bell-btn .material-symbols-rounded[data-v-040bf5f5]{font-size:1.3rem}.notif-badge[data-v-040bf5f5]{position:absolute;top:2px;right:2px;background:#ef4444;color:#fff;font-size:.6rem;font-weight:700;min-width:16px;height:16px;border-radius:8px;padding:0 3px;display:flex;align-items:center;justify-content:center;line-height:1}.notif-backdrop[data-v-040bf5f5]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:299}.notif-dropdown[data-v-040bf5f5]{position:fixed;z-index:300;width:340px;background:#fff;border:1.5px solid #e2e8f0;border-radius:14px;box-shadow:0 12px 40px #0f172a24;overflow:hidden;display:flex;flex-direction:column;max-height:480px}.notif-header[data-v-040bf5f5]{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-bottom:1px solid #f1f5f9;background:#f8fafc;flex-shrink:0}.notif-header-title[data-v-040bf5f5]{font-size:.875rem;font-weight:700;color:#0f172a}.notif-mark-all[data-v-040bf5f5]{font-size:.75rem;color:#2563eb;background:none;border:none;cursor:pointer;font-weight:500}.notif-mark-all[data-v-040bf5f5]:hover{text-decoration:underline}.notif-loading[data-v-040bf5f5],.notif-empty[data-v-040bf5f5]{display:flex;flex-direction:column;align-items:center;gap:8px;padding:30px 16px;color:#94a3b8;font-size:.875rem;text-align:center}.notif-loading .material-symbols-rounded[data-v-040bf5f5],.notif-empty .material-symbols-rounded[data-v-040bf5f5]{font-size:2rem}.notif-list[data-v-040bf5f5]{overflow-y:auto;flex:1}.notif-item[data-v-040bf5f5]{display:flex;align-items:flex-start;gap:10px;padding:11px 16px;border-bottom:1px solid #f8fafc;cursor:pointer;transition:background .1s;position:relative}.notif-item[data-v-040bf5f5]:hover{background:#f8fafc}.notif-item.unread[data-v-040bf5f5]{background:#fffbeb}.notif-item.unread[data-v-040bf5f5]:hover{background:#fef3c7}.notif-item-icon[data-v-040bf5f5]{width:32px;height:32px;flex-shrink:0;border-radius:8px;display:flex;align-items:center;justify-content:center}.notif-item-icon .material-symbols-rounded[data-v-040bf5f5]{font-size:1rem}.notif-item.danger .notif-item-icon[data-v-040bf5f5]{background:#fee2e2;color:#dc2626}.notif-item.warning .notif-item-icon[data-v-040bf5f5]{background:#fef3c7;color:#d97706}.notif-item.info .notif-item-icon[data-v-040bf5f5]{background:#eff6ff;color:#2563eb}.notif-item.success .notif-item-icon[data-v-040bf5f5]{background:#f0fdf4;color:#16a34a}.notif-item-body[data-v-040bf5f5]{flex:1;min-width:0}.notif-item-title[data-v-040bf5f5]{font-size:.8125rem;font-weight:600;color:#0f172a}.notif-item-desc[data-v-040bf5f5]{font-size:.75rem;color:#64748b;margin-top:1px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.notif-item-time[data-v-040bf5f5]{font-size:.7rem;color:#94a3b8;margin-top:3px}.notif-unread-dot[data-v-040bf5f5]{width:8px;height:8px;border-radius:50%;background:#2563eb;flex-shrink:0;margin-top:4px}.notif-footer[data-v-040bf5f5]{padding:10px 16px;border-top:1px solid #f1f5f9;text-align:center;flex-shrink:0}.notif-footer-link[data-v-040bf5f5]{font-size:.8125rem;color:#2563eb;font-weight:500;text-decoration:none}.notif-footer-link[data-v-040bf5f5]:hover{text-decoration:underline}:root{color-scheme:light;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;line-height:1.5;color:#0f172a;background:#f0f5ff;--primary: #2563eb;--primary-dark: #1d4ed8;--primary-light: #eff6ff;--primary-border: #bfdbfe;--bg: #f0f5ff;--surface: #ffffff;--border: #e2e8f0;--text: #0f172a;--muted: #64748b;--success: #22c55e;--danger: #ef4444;--shadow: 0 4px 24px rgba(37, 99, 235, .06);--shadow-lg: 0 12px 40px rgba(37, 99, 235, .1)}*{box-sizing:border-box;margin:0;padding:0}body{background:#f0f5ff}a{color:inherit}button,input,select,textarea{font:inherit}#app,.shell{min-height:100vh}.shell{display:grid;grid-template-columns:264px minmax(0,1fr);gap:1rem;padding:.875rem;background:#f0f5ff;min-height:100vh}.shell.compact{grid-template-columns:74px minmax(0,1fr)}.sidebar{background:#ffffff;border:1px solid #e2e8f0;border-radius:20px;padding:.875rem;display:flex;flex-direction:column;gap:.875rem;box-shadow:0 4px 24px #2563eb0f;position:sticky;top:.875rem;max-height:calc(100vh - 1.75rem);overflow-y:auto;scrollbar-width:none}.sidebar::-webkit-scrollbar{display:none}.sidebar.collapsed{padding:.75rem .6rem}.brand-card{background:linear-gradient(135deg,#1e40af 0%,#3b82f6 100%);border-radius:14px;padding:.9rem 1rem;display:flex;align-items:center;gap:.875rem;flex-shrink:0}.brand-mark{width:40px;height:40px;border-radius:11px;display:grid;place-items:center;color:#fff;background:rgba(255,255,255,.2);font-weight:800;font-size:1.1rem;border:1.5px solid rgba(255,255,255,.35);flex-shrink:0}.brand-card strong{display:block;color:#fff;font-size:.9rem;font-weight:700}.brand-card span{display:block;color:#ffffffad;font-size:.72rem;line-height:1.35;margin-top:2px}.nav-group{display:grid;gap:.25rem}.group-label{font-size:.68rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em;color:#94a3b8;padding:.35rem .6rem .1rem}.nav-item{border-radius:11px;padding:.65rem .75rem;display:flex;align-items:center;gap:.7rem;text-decoration:none;color:#475569;transition:all .15s ease;font-size:.875rem;font-weight:600}.nav-item:hover{background:#f0f5ff;color:#1d4ed8}.nav-item:hover .nav-icon{color:#2563eb}.sidebar.collapsed .nav-item{justify-content:center;padding:.65rem}.nav-item.router-link-active{background:linear-gradient(135deg,#eff6ff,#dbeafe);color:#1d4ed8;box-shadow:inset 0 0 0 1px #bfdbfe;font-weight:700}.nav-item.router-link-active .nav-icon{color:#2563eb;font-variation-settings:"FILL" 1,"wght" 500,"GRAD" 0,"opsz" 24}.nav-icon{width:20px;display:inline-flex;justify-content:center;color:#94a3b8;transition:color .15s ease;flex-shrink:0}.sidebar-footer{margin-top:auto;display:grid;gap:.6rem;flex-shrink:0}.user-card{background:#f8faff;border:1px solid #e2e8f0;border-radius:13px;padding:.7rem .75rem;display:flex;align-items:center;gap:.7rem}.avatar{width:36px;height:36px;border-radius:10px;display:grid;place-items:center;color:#fff;background:linear-gradient(135deg,#3b82f6,#2563eb);font-weight:800;font-size:.8rem;flex-shrink:0}.user-meta strong{display:block;font-size:.85rem;color:#0f172a;font-weight:700}.user-meta span{display:block;font-size:.75rem;color:#64748b}.logout-btn{border:1px solid #fecaca;border-radius:10px;background:#fef2f2;color:#dc2626;padding:.6rem .75rem;cursor:pointer;font-size:.84rem;font-weight:700;width:100%;transition:all .15s ease;display:flex;align-items:center;justify-content:center}.logout-btn:hover{background:#fee2e2;border-color:#fca5a5}.shell-main{display:grid;grid-template-rows:auto 1fr;gap:1rem;min-height:0}.topbar{background:#ffffff;border:1px solid #e2e8f0;border-radius:16px;padding:.875rem 1.25rem;display:flex;justify-content:space-between;gap:1rem;align-items:center;box-shadow:0 4px 24px #2563eb0a}.topbar-left{display:flex;align-items:center;gap:.875rem;min-width:0}.menu-toggle{border:1px solid #e2e8f0;background:#f0f5ff;color:#2563eb;width:38px;height:38px;border-radius:10px;cursor:pointer;display:grid;place-items:center;transition:all .15s ease;flex-shrink:0}.menu-toggle:hover{background:#eff6ff;border-color:#bfdbfe}.topbar-title .eyebrow{display:block;font-size:.7rem;text-transform:uppercase;letter-spacing:.08em;font-weight:800;color:#2563eb}.topbar-title h1{font-size:1.35rem;line-height:1.1;color:#0f172a;font-weight:800}.user-badge{display:flex;align-items:center;gap:.6rem;padding:.45rem .875rem .45rem .6rem;border:1px solid #e2e8f0;border-radius:999px;background:#f8faff}.badge-dot{width:9px;height:9px;border-radius:999px;background:#22c55e;box-shadow:0 0 0 2.5px #22c55e33;flex-shrink:0}.user-badge strong{display:block;font-size:.85rem;color:#0f172a}.user-badge small{display:block;font-size:.72rem;color:#64748b}.shell-content{min-height:0}.public-layout{min-height:100vh;background:#f0f5ff}.nav-badge{margin-left:auto;font-size:.7rem;font-weight:800;border-radius:999px;padding:1px 6px;line-height:1.4}.nav-badge.running{background:#eff6ff;color:#2563eb;border:1px solid #bfdbfe}.footer-actions{display:grid;gap:.5rem}.settings-link{display:flex;align-items:center;gap:.6rem;padding:.52rem .75rem;border-radius:10px;border:1px solid #e2e8f0;background:#f8faff;color:#475569;text-decoration:none;font-size:.84rem;font-weight:600;transition:all .15s ease}.settings-link:hover{background:#f0f5ff;border-color:#bfdbfe;color:#1d4ed8}.topbar-actions{display:flex;align-items:center;gap:.75rem;flex-shrink:0}.topbar-task-badge{display:inline-flex;align-items:center;gap:5px;padding:.38rem .75rem;border-radius:999px;background:#eff6ff;border:1px solid #bfdbfe;color:#2563eb;font-size:.8rem;font-weight:700;text-decoration:none;transition:all .15s ease}.topbar-task-badge:hover{background:#dbeafe}.topbar-settings-btn{width:36px;height:36px;border-radius:10px;border:1px solid #e2e8f0;background:#f8faff;color:#475569;display:grid;place-items:center;text-decoration:none;transition:all .15s ease}.topbar-settings-btn:hover{background:#f0f5ff;border-color:#bfdbfe;color:#1d4ed8}.spin-icon{animation:spin 1.5s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@media (max-width: 1100px){.shell{grid-template-columns:1fr;gap:.75rem;padding:.75rem}.shell.compact{grid-template-columns:1fr}.sidebar{order:2;position:static;max-height:none;border-radius:16px}.sidebar.collapsed{display:none}.shell-main{order:1;gap:.75rem}}@media (max-width: 720px){.shell{padding:.75rem;gap:.75rem}.topbar{flex-direction:column;align-items:flex-start;border-radius:14px;gap:.75rem}.topbar-title h1{font-size:1.2rem}}
