.page-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:20px;display:flex}.page-title{color:var(--color-gray-100);font-size:24px;font-weight:700}.page-subtitle{color:var(--color-gray-400);margin-top:4px;font-size:13px}.page-actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}@media (width<=640px){.page-header{flex-direction:column;align-items:flex-start}}.search-bar{align-items:center;margin-bottom:16px;display:flex;position:relative}.search-icon{color:var(--color-gray-500);position:absolute;left:12px}.search-input{background:var(--color-bg-input);border:1px solid var(--color-border);border-radius:var(--radius-md);width:100%;color:var(--color-gray-100);outline:none;padding:10px 14px 10px 38px;font-size:14px}.search-input:focus{border-color:var(--color-red-500);box-shadow:0 0 0 3px #b91c3f26}.table-card{background:var(--color-bg-secondary);border:1px solid var(--color-card-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);margin-bottom:20px;overflow:hidden}.table-wrapper{overflow-x:auto}.table{border-collapse:collapse;width:100%}.table thead{background:var(--color-surface-muted)}.table th{text-align:left;text-transform:uppercase;letter-spacing:.5px;color:var(--color-text-secondary);border-bottom:1px solid var(--color-card-border);white-space:nowrap;padding:10px 14px;font-size:12px;font-weight:700}.table td{color:var(--color-text-primary);border-bottom:1px solid var(--color-hairstroke-soft);white-space:nowrap;padding:9px 14px;font-size:14px}.table tbody tr{transition:background .2s}.table tbody tr:hover{background:var(--color-hover)}.table tbody tr:last-child td{border-bottom:none}.item-code{color:var(--color-gray-400);font-family:monospace;font-size:13px;font-weight:600}.cell-name{color:var(--color-gray-100);font-weight:600}.cell-muted{color:var(--color-gray-400)}.cell-desc{text-overflow:ellipsis;white-space:nowrap;vertical-align:bottom;max-width:260px;color:var(--color-gray-400);display:inline-block;overflow:hidden}.cell-actions{text-align:right;white-space:nowrap}.cell-actions-th{text-align:right}.row-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:6px;display:flex}.row-actions .btn{flex-shrink:0}.flag-badge,.status-badge{text-transform:uppercase;letter-spacing:.3px;border-radius:20px;padding:3px 10px;font-size:11px;font-weight:600;display:inline-block}.flag-badge--yes,.status-badge--active{background:var(--color-success-bg);color:var(--color-success-strong)}.flag-badge--no,.status-badge--inactive{background:var(--color-danger-bg);color:var(--color-danger-strong)}.status-badge--pending{background:var(--color-warning-bg);color:var(--color-warning-strong)}.status-badge--approved{background:var(--color-success-bg);color:var(--color-success-strong)}.status-badge--rejected{background:var(--color-danger-bg);color:var(--color-danger-strong)}.status-badge--processed{background:var(--color-info-bg);color:var(--color-info-strong)}.status-badge--cancelled{background:var(--color-neutral-bg);color:var(--color-neutral-strong)}.btn{border-radius:var(--radius-md);cursor:pointer;white-space:nowrap;border:none;justify-content:center;align-items:center;gap:8px;padding:12px 24px;font-family:inherit;font-size:14px;font-weight:600;text-decoration:none;transition:all .25s;display:inline-flex}.btn--primary{background:linear-gradient(135deg, var(--color-accent-gradient-start), var(--color-accent-gradient-end));color:var(--color-button-text);box-shadow:0 4px 15px #b91c3f4d}.btn--primary:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 6px 20px #b91c3f66}.btn--primary:disabled{opacity:.7;cursor:not-allowed}.btn--ghost{color:var(--color-gray-300);border:1px solid var(--color-border);background:0 0}.btn--ghost:hover:not(:disabled){background:var(--color-hover);color:var(--color-text-primary)}.btn--danger{background:var(--color-danger-bg);color:var(--color-danger-strong);border:1px solid var(--color-danger-border)}.btn--danger:hover:not(:disabled){background:var(--color-danger-border)}.btn--danger:disabled{opacity:.7;cursor:not-allowed}.btn--sm{padding:6px 12px;font-size:12px}.btn:disabled{opacity:.7;cursor:not-allowed}.btn--success{color:var(--color-button-text);background:#22c55e}.btn--success:hover:not(:disabled){background:#16a34a}.btn--outline-red{color:var(--color-red-400);border:1px solid var(--color-red-500);background:0 0}.btn--outline-red:hover:not(:disabled){background:#ef44441a}.btn--outline{color:var(--color-gray-200);border:1px solid var(--color-border);background:0 0}.btn--outline:hover:not(:disabled){color:var(--color-gray-100);background:#ffffff0d}.form-row{grid-template-columns:1fr 1fr;gap:14px;display:grid}.form-group{margin-bottom:18px}.form-label{color:var(--color-gray-300);text-transform:uppercase;letter-spacing:.4px;margin-bottom:6px;font-size:12px;font-weight:600;display:block}.required{color:var(--color-red-400)}.form-input{background:var(--color-bg-input);border:1px solid var(--color-border);border-radius:var(--radius-md);width:100%;color:var(--color-gray-100);box-sizing:border-box;outline:none;padding:10px 14px;font-family:inherit;font-size:14px}.form-input:focus{border-color:var(--color-red-500);box-shadow:0 0 0 3px #b91c3f26}.form-input--error{border-color:var(--color-error)}.form-textarea{resize:vertical;min-height:72px}.form-error{color:var(--color-error);margin-top:5px;font-size:12px;font-weight:500;display:block}.form-hint{margin-top:5px;font-size:12px;display:block}.form-input--select{width:100%}.toggle-label{cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:10px;display:flex}.toggle-input{display:none}.toggle-switch{background:var(--color-gray-600);border-radius:12px;flex-shrink:0;width:44px;height:24px;transition:background .2s;position:relative}.toggle-switch:after{content:"";background:#fff;border-radius:50%;width:20px;height:20px;transition:transform .2s;position:absolute;top:2px;left:2px}.toggle-input:checked+.toggle-switch{background:var(--color-red-600)}.toggle-input:checked+.toggle-switch:after{transform:translate(20px)}.toggle-text{color:var(--color-gray-300);font-size:14px}.alert{border-radius:var(--radius-md);align-items:flex-start;gap:10px;margin-bottom:16px;padding:12px 14px;font-size:13px;line-height:1.5;display:flex}.alert svg{flex-shrink:0;margin-top:1px}.alert--error{background:var(--color-danger-bg);border:1px solid var(--color-danger-border);color:var(--color-danger-strong)}.alert--warning{background:var(--color-warning-bg);border:1px solid var(--color-warning-border);color:var(--color-warning-strong)}.alert--info{background:var(--color-info-bg);border:1px solid var(--color-info-border);color:var(--color-info-strong)}.empty-state{text-align:center;background:var(--color-bg-secondary);border:1px dashed var(--color-border);border-radius:var(--radius-lg);flex-direction:column;justify-content:center;align-items:center;gap:6px;margin-bottom:20px;padding:48px 24px;display:flex}.empty-icon{border-radius:var(--radius-full);width:72px;height:72px;color:var(--color-gray-500);background:#94a3b814;justify-content:center;align-items:center;margin-bottom:8px;display:flex}.empty-state h3{color:var(--color-gray-200);font-size:18px;font-weight:600}.empty-state p{color:var(--color-gray-400);max-width:420px;margin-bottom:8px;font-size:14px}.empty-actions{gap:10px;margin-top:6px;display:flex}.spinner{border:3px solid var(--color-card-border);border-top-color:var(--color-gray-400);border-radius:50%;width:24px;height:24px;animation:.6s linear infinite spin}.btn-loader{align-items:center;gap:8px;display:flex}@keyframes spin{to{transform:rotate(360deg)}}.modal-overlay{z-index:1000;background:#0009;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.modal{background:var(--color-bg-secondary);border:1px solid var(--color-card-border);border-radius:var(--radius-xl);width:100%;max-width:560px;max-height:calc(100vh - 40px);box-shadow:var(--shadow-lg);flex-direction:column;display:flex;overflow:hidden}.modal--sm{max-width:440px}.modal-header{flex-wrap:wrap;flex-shrink:0;align-items:center;padding:20px 24px 0;display:flex;position:relative}.modal-title{color:var(--color-gray-100);flex:1;font-size:18px;font-weight:700}.modal-close{width:32px;height:32px;color:var(--color-gray-500);border-radius:var(--radius-sm);cursor:pointer;background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;transition:all .2s;display:flex}.modal-close:hover{background:var(--color-hover);color:var(--color-text-primary)}.modal-body{min-height:0;padding:20px 24px 24px;overflow-y:auto}.modal-overlay>.modal{flex-direction:column;max-height:calc(100vh - 40px);display:flex}.modal-overlay>.modal>.modal-body{-webkit-overflow-scrolling:touch;min-height:0;overflow-y:auto}.modal-footer{justify-content:flex-end;align-items:center;gap:12px;margin-top:24px;display:flex}.confirm-text{color:var(--color-gray-300);margin:0;font-size:14px;line-height:1.6}.confirm-text strong{color:var(--color-gray-100)}.pagination{justify-content:center;align-items:center;gap:12px;padding:16px;display:flex}.page-info{color:var(--color-gray-400);font-size:13px}html,body,#app{min-height:100dvh}html,body{overscroll-behavior-y:contain;overflow-x:hidden}body{padding:env(safe-area-inset-top) 0 env(safe-area-inset-bottom) 0}@media (width<=767.98px){.app-layout{display:block}.main-area,.main-area--expanded{margin-left:0!important}.main-content{overflow-y:visible;padding:16px 14px calc(84px + env(safe-area-inset-bottom))!important}.page-header{flex-wrap:wrap;align-items:flex-start;gap:12px;margin-bottom:14px}.page-title{font-size:20px}.page-subtitle{font-size:12px}.page-actions{justify-content:flex-start;width:100%}.page-actions .btn,.page-actions .btn--primary,.page-actions [class^=btn]{flex:1;justify-content:center;min-height:44px}.filter-bar,.filters-row,.toolbar{flex-direction:column;align-items:stretch;gap:10px}.filter-bar>*,.filter-bar .form-group{width:100%}.filter-grid{grid-template-columns:1fr!important}.filter-grid .field--search,.filter-grid [class*=field--search]{grid-column:1/-1!important}.form-row,.form-grid,.info-grid,.sk-grid,.grid-2,.form-row--three{gap:12px;grid-template-columns:1fr!important}.form-row .form-group,.form-grid .form-group{margin-bottom:12px}.form-input,.form-select,select.form-input,textarea.form-input,input[type=text],input[type=date],input[type=number],input[type=email],input[type=password],input[type=search],select{min-height:46px;font-size:16px}.form-label{font-size:12px}.form-actions,.modal-footer,.form-footer{flex-direction:column-reverse;align-items:stretch}.form-actions .btn,.modal-footer .btn,.form-footer .btn{justify-content:center;width:100%;min-height:46px}.table-card,.card{border-radius:var(--radius-md);margin-left:0;margin-right:0;overflow:hidden}.table-wrapper{-webkit-overflow-scrolling:touch;overflow-x:auto}.table th,.table td{padding:9px 10px;font-size:13px}.table.mobile-cards,.mobile-cards.table{width:100%;display:block}.table.mobile-cards thead{display:none}.table.mobile-cards tbody{display:block}.table.mobile-cards tbody tr{border:1px solid var(--color-card-border);border-radius:var(--radius-md);background:var(--color-bg-secondary);margin-bottom:10px;padding:6px 12px;display:block}.table.mobile-cards tbody tr:hover{background:var(--color-bg-secondary)}.table.mobile-cards td{border:none;border-bottom:1px solid var(--color-hairstroke-soft);white-space:normal;text-align:right;word-break:break-word;justify-content:space-between;align-items:center;gap:12px;padding:8px 4px;display:flex}.table.mobile-cards td:last-child{border-bottom:none}.table.mobile-cards td:before{content:attr(data-label);text-transform:uppercase;letter-spacing:.4px;color:var(--color-text-secondary);text-align:left;white-space:nowrap;flex:1;font-size:11px;font-weight:600}.modal-overlay{align-items:flex-end;padding:0}.modal-overlay>.modal,.modal-overlay .modal{border-radius:var(--radius-xl) var(--radius-xl) 0 0;border-bottom:none;width:100%;max-width:100%;max-height:92dvh}@media (width<=767.98px){.modal-header .stats-grid,.modal-header .stat-grid,.modal-header .summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important}.modal-header .stat-card{padding:14px}.modal-header .stat-card .stat-value{font-size:22px}.modal-header .stat-card .stat-icon{width:36px;height:36px}}@media (width<=399px){.modal-header .stats-grid,.modal-header .stat-grid{grid-template-columns:1fr!important}}@media (width<=767.98px){.modal-header .row-actions{flex-wrap:wrap}.modal-header .btn{min-height:42px;padding:10px 16px}.modal-header .btn--sm{padding:8px 12px}.modal-header .status-badge,.modal-header .flag-badge,.modal-header .status-pill{white-space:nowrap}.modal-header .pagination{flex-wrap:wrap;gap:8px}.modal-header .pagination .btn{justify-content:center;min-width:44px}.modal-header .toast-container{top:auto;bottom:calc(84px + env(safe-area-inset-bottom));width:auto;max-width:none;left:12px;right:12px}.modal-header .toast{padding:12px}.modal-header .search-bar{margin-bottom:12px}.modal-header .search-bar .search-input,.modal-header .search-input{min-height:46px;font-size:16px}.modal-header .login-page{min-height:100dvh;padding:24px 16px}.modal-header .flex-between,.modal-header .flex-center,.modal-header .d-flex{flex-wrap:wrap}.modal-header .table-wrapper{max-width:100%}}@media (width>=768px){.modal-header .main-content{padding-bottom:24px}}.modal-header{padding:18px 18px 0}.modal-body{padding:16px 18px calc(18px + env(safe-area-inset-bottom))}.modal-close{width:40px;height:40px}}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html,body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:var(--color-bg-primary);height:100%;color:var(--color-text-primary);font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;overflow-x:hidden}#app{min-height:100vh;overflow-x:hidden}:root{--color-red-950:#1a0a0e;--color-red-900:#2d0f16;--color-red-800:#4a1622;--color-red-700:#691d30;--color-red-600:#8f243f;--color-red-500:#b91c3f;--color-red-400:#d43d52;--color-red-300:#e86a78;--color-red-200:#f09ca2;--color-red-100:#f8cdd0;--color-blue-950:#0a0e1a;--color-blue-900:#0f172a;--color-blue-800:#162240;--color-blue-700:#1e3a8a;--color-blue-600:#2563eb;--color-blue-500:#3b82f6;--color-blue-400:#60a5fa;--color-blue-300:#93c5fd;--color-blue-200:#bfdbfe;--color-blue-100:#dbeafe;--color-white:#fff;--color-gray-50:#f8fafc;--color-gray-100:#f1f5f9;--color-gray-200:#e2e8f0;--color-gray-300:#cbd5e1;--color-gray-400:#94a3b8;--color-gray-500:#64748b;--color-gray-600:#475569;--color-gray-700:#334155;--color-gray-800:#1e293b;--color-gray-900:#0f172a;--color-bg-primary:var(--color-blue-950);--color-bg-secondary:var(--color-gray-900);--color-bg-card:var(--color-gray-800);--color-bg-input:var(--color-gray-900);--color-border:var(--color-gray-700);--color-border-focus:var(--color-red-500);--color-text-primary:var(--color-gray-100);--color-text-secondary:var(--color-gray-400);--color-text-muted:var(--color-gray-500);--color-accent:var(--color-red-500);--color-accent-hover:var(--color-red-400);--color-accent-gradient-start:var(--color-red-600);--color-accent-gradient-end:var(--color-red-800);--color-button-text:var(--color-white);--color-error:var(--color-red-400);--color-surface:var(--color-bg-card);--color-surface-raised:var(--color-gray-800);--color-surface-muted:#ffffff0a;--color-input-bg:var(--color-bg-input);--color-card-border:#ffffff0f;--color-hairstroke:#ffffff0f;--color-hairstroke-soft:#ffffff0a;--color-hover:#ffffff0f;--color-hover-strong:#ffffff1a;--color-success-strong:#86efac;--color-success:#22c55e;--color-success-bg:#22c55e1f;--color-success-border:#22c55e4d;--color-warning-strong:#fbbf24;--color-warning:#f59e0b;--color-warning-bg:#f59e0b24;--color-warning-border:#f59e0b59;--color-danger-strong:#fca5a5;--color-danger:#ef4444;--color-danger-bg:#ef44441f;--color-danger-border:#ef44444d;--color-info-strong:#93c5fd;--color-info:#3b82f6;--color-info-bg:#3b82f624;--color-info-border:#3b82f64d;--color-violet-strong:#d8b4fe;--color-violet-bg:#a855f729;--color-neutral-strong:#cbd5e1;--color-neutral-bg:#94a3b824;--color-neutral-border:#94a3b84d;--shadow-sm:0 1px 2px #0000004d;--shadow-md:0 4px 12px #0006;--shadow-lg:0 8px 30px #00000080;--shadow-glow-red:0 0 20px #b91c3f26;--shadow-glow-blue:0 0 20px #2563eb1a;--radius-sm:6px;--radius-md:10px;--radius-lg:16px;--radius-xl:24px;--radius-full:9999px}[data-theme=light]{--color-bg-primary:#f1f5f9;--color-bg-secondary:#fff;--color-bg-card:#fff;--color-bg-input:#f8fafc;--color-border:#e2e8f0;--color-border-focus:#b91c3f;--color-text-primary:#0f172a;--color-text-secondary:#475569;--color-text-muted:#64748b;--color-gray-100:#0f172a;--color-gray-200:#1e293b;--color-gray-300:#334155;--color-gray-400:#475569;--color-gray-500:#64748b;--color-gray-600:#64748b;--color-gray-700:#cbd5e1;--color-gray-800:#e2e8f0;--color-gray-900:#f1f5f9;--color-surface:#fff;--color-surface-raised:#fff;--color-surface-muted:#f1f5f9;--color-input-bg:#f8fafc;--color-card-border:#e2e8f0;--color-hairstroke:#0f172a14;--color-hairstroke-soft:#0f172a0d;--color-hover:#0f172a0f;--color-hover-strong:#0f172a1a;--color-success-strong:#15803d;--color-success:#16a34a;--color-warning-strong:#b45309;--color-warning:#d97706;--color-danger-strong:#b91c1c;--color-danger:#dc2626;--color-info-strong:#1d4ed8;--color-info:#2563eb;--color-violet-strong:#6d28d9;--color-neutral-strong:#475569;--shadow-sm:0 1px 2px #0f172a0d;--shadow-md:0 4px 12px #0f172a17;--shadow-lg:0 8px 30px #0f172a21;--color-button-text:#fff}[data-theme=light] ::-webkit-scrollbar{width:6px}[data-theme=light] ::-webkit-scrollbar-track{background:var(--color-bg-primary)}[data-theme=light] ::-webkit-scrollbar-thumb{border-radius:var(--radius-full);background:#cbd5e1}[data-theme=light] ::-webkit-scrollbar-thumb:hover{background:#94a3b8}[data-theme=light] [class*=status-badge][class*=--active],[data-theme=light] [class*=status-badge][class*=--approved],[data-theme=light] [class*=status-pill][class*=--approved],[data-theme=light] [class*=status-pill][class*=--active],[data-theme=light] [class*=status-pill][class*=--success],[data-theme=light] [class*=flag-badge][class*=--yes],[data-theme=light] [class*=--approved],[data-theme=light] [class*=--earned],[data-theme=light] [class*=--present]{color:var(--color-success-strong)!important}[data-theme=light] [class*=--pending],[data-theme=light] [class*=--warning]:not([class*=btn-]),[data-theme=light] [class*=--amber],[data-theme=light] [class*=--late]{color:var(--color-warning-strong)!important}[data-theme=light] [class*=status-pill][class*=--rejected],[data-theme=light] [class*=status-pill][class*=--cancelled],[data-theme=light] [class*=status-badge][class*=--inactive],[data-theme=light] [class*=--rejected]:not([class*=btn-]),[data-theme=light] [class*=--lapsed],[data-theme=light] [class*=--blocked],[data-theme=light] [class*=--absent],[data-theme=light] [class*=--cancelled]:not([class*=btn-]),[data-theme=light] [class*=--danger]:not([class*=btn-]),[data-theme=light] [class*=--err],[data-theme=light] [class*=--error]:not([class*=btn-]),[data-theme=light] [class*=--down]{color:var(--color-danger-strong)!important}[data-theme=light] [class*=--processed]:not([class*=btn-]),[data-theme=light] [class*=--info]:not([class*=btn-]),[data-theme=light] [class*=--blue][class*=source-badge],[data-theme=light] [class*=--system]{color:var(--color-info-strong)!important}[data-theme=light] [class*=--violet],[data-theme=light] [class*=--purple],[data-theme=light] [class*=--overtime]{color:var(--color-violet-strong)!important}[data-theme=light] [class*=--neutral],[data-theme=light] [class*=--manual],[data-theme=light] [class*=tag--auto]{color:var(--color-neutral-strong)!important}[data-theme=light] [class*=tag--regular],[data-theme=light] [class*=tag--active],[data-theme=light] [class*=--earning],[data-theme=light] [class*=--paid],[data-theme=light] [class*=--enabled]{color:var(--color-success-strong)!important}[data-theme=light] [class*=tag--default],[data-theme=light] [class*=tag--restday],[data-theme=light] [class*=tag--manual],[data-theme=light] [class*=--enabled][class*=tag-]{color:var(--color-info-strong)!important}[data-theme=light] [class*=tag--holiday],[data-theme=light] [class*=source-badge][class*=--overtime]{color:var(--color-violet-strong)!important}[data-theme=light] [class*=source-badge][class*=--tax],[data-theme=light] [class*=--deduction],[data-theme=light] [class*=--zero],[data-theme=light] [class*=--disallowed],[data-theme=light] [class*=tag--inactive],[data-theme=light] [class*=--disabled]{color:var(--color-danger-strong)!important}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:var(--color-bg-primary)}::-webkit-scrollbar-thumb{background:var(--color-gray-700);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--color-gray-600)}.login-page[data-v-ef0f49e6]{background:var(--color-bg-primary);min-height:100dvh;color:var(--color-text-primary);grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);padding:0;display:grid;position:relative;overflow-x:hidden}.login-showcase[data-v-ef0f49e6]{color:#f1f5f9;background:radial-gradient(640px 420px at 12% 8%,#b91c3f47 0%,#0000 62%),radial-gradient(720px 520px at 108% 96%,#2563eb38 0%,#0000 60%),linear-gradient(158deg,#0f172a 0%,#1b1020 52%,#2d0f16 100%);border-right:1px solid #ffffff14;flex-direction:column;justify-content:space-between;gap:34px;min-width:0;padding:42px 52px;animation:.5s cubic-bezier(.22,1,.36,1) both panelIn-ef0f49e6;display:flex;position:relative;overflow:hidden}.showcase-bg[data-v-ef0f49e6]{pointer-events:none;position:absolute;inset:0;overflow:hidden}.bg-grid[data-v-ef0f49e6]{opacity:.7;background-image:linear-gradient(#ffffff0b 1px,#0000 1px),linear-gradient(90deg,#ffffff0b 1px,#0000 1px);background-size:56px 56px;position:absolute;inset:-1px;-webkit-mask-image:radial-gradient(at 50% 40%,#000 0%,#0000 78%);mask-image:radial-gradient(at 50% 40%,#000 0%,#0000 78%)}.orb[data-v-ef0f49e6]{filter:blur(90px);opacity:.5;border-radius:50%;position:absolute}.orb--crimson[data-v-ef0f49e6]{background:#b91c3f8c;width:460px;height:460px;animation:16s ease-in-out infinite floatA-ef0f49e6;top:-180px;left:-140px}.orb--indigo[data-v-ef0f49e6]{background:var(--color-blue-700);width:520px;height:520px;animation:20s ease-in-out infinite floatB-ef0f49e6;bottom:-220px;right:-160px}@keyframes floatA-ef0f49e6{0%,to{transform:translate(0,0)scale(1)}50%{transform:translate(40px,30px)scale(1.08)}}@keyframes floatB-ef0f49e6{0%,to{transform:translate(0,0)scale(1)}50%{transform:translate(-50px,-30px)scale(1.1)}}@keyframes panelIn-ef0f49e6{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}.showcase-top[data-v-ef0f49e6],.showcase-foot[data-v-ef0f49e6]{z-index:1;position:relative}.showcase-top[data-v-ef0f49e6]{justify-content:space-between;align-items:center;gap:16px;display:flex}.brand[data-v-ef0f49e6]{align-items:center;gap:13px;display:flex}.brand-mark[data-v-ef0f49e6]{filter:drop-shadow(0 6px 18px #b91c3f59);display:inline-flex}.brand-mark img[data-v-ef0f49e6]{object-fit:contain;width:80px;height:80px}.brand-text[data-v-ef0f49e6]{flex-direction:column;line-height:1.2;display:flex}.brand-name[data-v-ef0f49e6]{letter-spacing:2.4px;color:#fff;font-size:18px;font-weight:800}.brand-tag[data-v-ef0f49e6]{letter-spacing:.6px;text-transform:uppercase;color:#ffffff80;font-size:10px}.live-badge[data-v-ef0f49e6]{border-radius:var(--radius-full);background:#ffffff12;border:1px solid #ffffff1f;align-items:center;gap:8px;padding:6px 12px;display:inline-flex}.live-dot[data-v-ef0f49e6]{background:#22c55e;border-radius:50%;width:8px;height:8px;animation:2s infinite pulse-ef0f49e6}@keyframes pulse-ef0f49e6{0%{box-shadow:0 0 #22c55e80}70%{box-shadow:0 0 0 8px #22c55e00}to{box-shadow:0 0 #22c55e00}}.live-text[data-v-ef0f49e6]{letter-spacing:.8px;text-transform:uppercase;color:#ffffffb3;font-size:10.5px;font-weight:600}.showcase-body[data-v-ef0f49e6]{z-index:1;flex-direction:column;gap:26px;max-width:560px;display:flex;position:relative}.showcase-title[data-v-ef0f49e6]{letter-spacing:-.4px;color:#fff;margin-bottom:10px;font-size:clamp(28px,2.5vw,36px);font-weight:800;line-height:1.2}.showcase-copy[data-v-ef0f49e6]{color:#ffffff9e;max-width:470px;font-size:14.5px;line-height:1.65}.feature-list[data-v-ef0f49e6]{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.feature-item[data-v-ef0f49e6]{border-radius:var(--radius-md);background:#ffffff0d;border:1px solid #ffffff14;align-items:flex-start;gap:13px;padding:11px 14px;transition:background .2s,border-color .2s,transform .2s;display:flex}.feature-item[data-v-ef0f49e6]:hover{background:#ffffff14;border-color:#d43d5259;transform:translateY(-2px)}.feature-icon[data-v-ef0f49e6]{width:34px;height:34px;color:var(--color-red-200);background:#b91c3f2e;border:1px solid #e86a7847;border-radius:9px;flex-shrink:0;place-items:center;display:grid}.feature-text[data-v-ef0f49e6]{min-width:0}.feature-title[data-v-ef0f49e6]{color:#fff;margin-bottom:2px;font-size:13.5px;font-weight:700}.feature-desc[data-v-ef0f49e6]{color:#ffffff8c;font-size:12.5px;line-height:1.5}.showcase-foot[data-v-ef0f49e6]{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;display:flex}.aside-stats[data-v-ef0f49e6]{gap:26px;display:flex}.stat[data-v-ef0f49e6]{flex-direction:column;gap:2px;display:flex}.stat strong[data-v-ef0f49e6]{color:#fff;font-size:19px;font-weight:800}.stat span[data-v-ef0f49e6]{letter-spacing:.5px;text-transform:uppercase;color:#ffffff80;font-size:10px}.showcase-version[data-v-ef0f49e6]{border-radius:var(--radius-full);letter-spacing:.8px;text-transform:uppercase;color:#ffffff73;background:#ffffff0d;border:1px solid #ffffff1f;padding:5px 11px;font-size:11px;font-weight:700}.login-panel[data-v-ef0f49e6]{background:radial-gradient(760px 460px at 108% -8%, #b91c3f17 0%, transparent 62%), var(--color-bg-secondary);border-left:1px solid var(--color-card-border);flex-direction:column;min-width:0;animation:.5s cubic-bezier(.22,1,.36,1) 60ms both panelIn-ef0f49e6;display:flex;position:relative}.panel-topbar[data-v-ef0f49e6]{justify-content:flex-end;align-items:center;gap:14px;padding:26px 34px 0;display:flex}.panel-brand[data-v-ef0f49e6]{align-items:center;gap:10px;margin-right:auto;display:none}.panel-brand img[data-v-ef0f49e6]{object-fit:contain;width:32px;height:32px}.panel-brand-name[data-v-ef0f49e6]{letter-spacing:1.8px;color:var(--color-text-primary);font-size:15px;font-weight:800}.theme-toggle[data-v-ef0f49e6]{border:1px solid var(--color-card-border);border-radius:var(--radius-full);background:var(--color-surface);color:var(--color-text-secondary);font:inherit;letter-spacing:.3px;cursor:pointer;align-items:center;gap:8px;padding:8px 14px;font-size:12px;font-weight:600;transition:color .2s,border-color .2s,transform .2s;display:inline-flex}.theme-toggle[data-v-ef0f49e6]:hover{color:var(--color-text-primary);border-color:var(--color-red-500);transform:translateY(-1px)}.theme-toggle[data-v-ef0f49e6]:focus-visible{outline:2px solid var(--color-red-500);outline-offset:2px}.toggle-icon[data-v-ef0f49e6]{color:var(--color-red-400);flex-shrink:0}.panel-body[data-v-ef0f49e6]{flex:1;justify-content:center;align-items:center;padding:36px 34px;display:flex}.panel-inner[data-v-ef0f49e6]{width:100%;max-width:400px}.form-heading[data-v-ef0f49e6]{margin-bottom:26px}.form-title[data-v-ef0f49e6]{letter-spacing:-.3px;color:var(--color-text-primary);margin-bottom:6px;font-size:27px;font-weight:800}.form-description[data-v-ef0f49e6]{color:var(--color-text-secondary);font-size:14px}.login-alert[data-v-ef0f49e6]{border-radius:var(--radius-md);color:var(--color-danger-strong);background:var(--color-danger-bg);border:1px solid var(--color-danger-border);align-items:center;gap:10px;margin-bottom:20px;padding:11px 14px;font-size:13px;font-weight:500;animation:.4s shake-ef0f49e6;display:flex}.login-alert svg[data-v-ef0f49e6]{flex-shrink:0}@keyframes shake-ef0f49e6{0%,to{transform:translate(0)}25%{transform:translate(-4px)}75%{transform:translate(4px)}}.field[data-v-ef0f49e6]{margin-bottom:18px}.field-head[data-v-ef0f49e6]{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.field-label[data-v-ef0f49e6]{letter-spacing:.5px;text-transform:uppercase;color:var(--color-text-secondary);margin-bottom:8px;font-size:12px;font-weight:700;display:block}.forgot-link[data-v-ef0f49e6]{color:var(--color-red-400);font-size:12px;font-weight:600;text-decoration:none;transition:color .2s}.forgot-link[data-v-ef0f49e6]:hover{color:var(--color-red-300);text-decoration:underline}.control[data-v-ef0f49e6]{border-radius:var(--radius-md);background:var(--color-bg-input);border:1px solid var(--color-border);align-items:center;gap:10px;padding:0 14px;transition:border-color .2s,box-shadow .2s;display:flex}.control[data-v-ef0f49e6]:focus-within{border-color:var(--color-red-500);box-shadow:0 0 0 3px #b91c3f29, var(--shadow-glow-red)}.control--error[data-v-ef0f49e6]{border-color:var(--color-danger)}.control--error[data-v-ef0f49e6]:focus-within{box-shadow:0 0 0 3px #d43d5229}.control-icon[data-v-ef0f49e6]{color:var(--color-text-muted);flex-shrink:0;transition:color .2s}.control:focus-within .control-icon[data-v-ef0f49e6]{color:var(--color-red-400)}.control input[data-v-ef0f49e6]{min-width:0;font:inherit;color:var(--color-text-primary);background:0 0;border:none;outline:none;flex:1;padding:13px 0;font-size:14px}.control input[data-v-ef0f49e6]::placeholder{color:var(--color-text-muted)}.eye-toggle[data-v-ef0f49e6]{border-radius:var(--radius-sm);color:var(--color-text-muted);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;padding:4px;transition:color .2s,background .2s;display:inline-flex}.eye-toggle[data-v-ef0f49e6]:hover{color:var(--color-text-primary);background:var(--color-hover)}.eye-toggle[data-v-ef0f49e6]:focus-visible{outline:2px solid var(--color-red-500);outline-offset:1px}.field-error[data-v-ef0f49e6]{color:var(--color-danger-strong);margin-top:6px;font-size:12px;font-weight:500;display:block}.options-row[data-v-ef0f49e6]{justify-content:space-between;align-items:center;margin-bottom:22px;display:flex}.remember[data-v-ef0f49e6]{color:var(--color-text-secondary);cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:10px;font-size:13px;display:inline-flex}.remember-input[data-v-ef0f49e6]{opacity:0;width:0;height:0;position:absolute}.remember-pill[data-v-ef0f49e6]{border-radius:var(--radius-full);background:var(--color-bg-input);border:1px solid var(--color-border);flex-shrink:0;width:38px;height:21px;transition:background .25s,border-color .25s;position:relative}.remember-pill[data-v-ef0f49e6]:after{content:"";background:var(--color-text-muted);border-radius:50%;width:15px;height:15px;transition:transform .25s,background .25s;position:absolute;top:2px;left:2px}.remember-input:checked+.remember-pill[data-v-ef0f49e6]{background:var(--color-accent-gradient-start);border-color:var(--color-accent-gradient-start)}.remember-input:checked+.remember-pill[data-v-ef0f49e6]:after{background:#fff;transform:translate(17px)}.remember-input:focus-visible+.remember-pill[data-v-ef0f49e6]{outline:2px solid var(--color-red-500);outline-offset:2px}.btn-submit[data-v-ef0f49e6]{border-radius:var(--radius-md);width:100%;font:inherit;letter-spacing:.2px;color:var(--color-button-text);background:linear-gradient(135deg, var(--color-accent-gradient-start), var(--color-accent-gradient-end));cursor:pointer;border:none;padding:14px 18px;font-size:15px;font-weight:700;transition:transform .2s,box-shadow .2s,opacity .2s;position:relative;overflow:hidden;box-shadow:0 6px 18px #b91c3f52}.btn-submit[data-v-ef0f49e6]:before{content:"";opacity:0;background:linear-gradient(135deg,#ffffff2e,#0000 60%);transition:opacity .25s;position:absolute;inset:0}.btn-submit[data-v-ef0f49e6]:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 10px 26px #b91c3f6b}.btn-submit[data-v-ef0f49e6]:hover:not(:disabled):before{opacity:1}.btn-submit[data-v-ef0f49e6]:active:not(:disabled){transform:translateY(0)}.btn-submit[data-v-ef0f49e6]:focus-visible{outline:2px solid var(--color-red-400);outline-offset:2px}.btn-submit[data-v-ef0f49e6]:disabled{cursor:not-allowed;opacity:.85}.btn-content[data-v-ef0f49e6],.btn-load[data-v-ef0f49e6]{justify-content:center;align-items:center;gap:10px;display:flex;position:relative}.btn-arrow[data-v-ef0f49e6]{transition:transform .25s}.btn-submit:hover:not(:disabled) .btn-arrow[data-v-ef0f49e6]{transform:translate(3px)}.spinner[data-v-ef0f49e6]{border:2px solid #ffffff59;border-top-color:#fff;border-radius:50%;width:17px;height:17px;animation:.65s linear infinite spin-ef0f49e6}@keyframes spin-ef0f49e6{to{transform:rotate(360deg)}}.form-foot[data-v-ef0f49e6]{color:var(--color-text-muted);flex-wrap:wrap;align-items:center;gap:8px;margin-top:22px;font-size:12px;display:flex}.secure-hint[data-v-ef0f49e6]{align-items:center;gap:6px;display:inline-flex}.foot-sep[data-v-ef0f49e6]{opacity:.5}.contact-link[data-v-ef0f49e6]{color:var(--color-red-400);font-weight:600;text-decoration:none}.contact-link[data-v-ef0f49e6]:hover{color:var(--color-red-300);text-decoration:underline}.panel-footer[data-v-ef0f49e6]{letter-spacing:.3px;color:var(--color-text-muted);flex-wrap:wrap;justify-content:center;align-items:center;gap:8px;padding:0 34px 26px;font-size:12px;display:flex}html[data-theme=light] .login-panel{background:radial-gradient(760px 460px at 108% -8%, #b91c3f0f 0%, transparent 62%), var(--color-bg-secondary)}html[data-theme=light] .forgot-link{color:var(--color-red-600)}html[data-theme=light] .forgot-link:hover{color:var(--color-red-700)}html[data-theme=light] .control:focus-within{box-shadow:0 0 0 3px #b91c3f1f}html[data-theme=light] .btn-submit{box-shadow:0 6px 18px #b91c3f38}html[data-theme=light] .btn-submit:hover:not(:disabled){box-shadow:0 10px 26px #b91c3f4d}@media (width<=1024px){.login-page[data-v-ef0f49e6]{grid-template-columns:minmax(0,1fr)}.login-showcase[data-v-ef0f49e6]{display:none}.panel-brand[data-v-ef0f49e6]{display:inline-flex}}@media (width<=640px){.panel-topbar[data-v-ef0f49e6]{padding:18px 20px 0}.panel-body[data-v-ef0f49e6]{align-items:flex-start;padding:26px 20px}.panel-footer[data-v-ef0f49e6]{padding:0 20px calc(18px + env(safe-area-inset-bottom));font-size:11px}.form-title[data-v-ef0f49e6]{font-size:23px}.panel-brand-name[data-v-ef0f49e6]{letter-spacing:1.4px;font-size:14px}}@media (width<=380px){.theme-toggle .toggle-label[data-v-ef0f49e6]{display:none}.theme-toggle[data-v-ef0f49e6]{padding:8px 10px}}@media (prefers-reduced-motion:reduce){.orb[data-v-ef0f49e6],.live-dot[data-v-ef0f49e6],.login-showcase[data-v-ef0f49e6],.login-panel[data-v-ef0f49e6],.login-alert[data-v-ef0f49e6]{animation:none}}.sidebar[data-v-56692fab]{background:var(--color-bg-secondary);border-right:1px solid var(--color-card-border);z-index:100;flex-direction:column;width:260px;height:100vh;transition:width .3s;display:flex;position:fixed;top:0;left:0;overflow:hidden}.sidebar--collapsed[data-v-56692fab]{width:64px}.sidebar-logo[data-v-56692fab]{border-bottom:1px solid var(--color-card-border);align-items:center;gap:12px;min-height:64px;padding:18px 16px;display:flex}.logo-icon[data-v-56692fab]{flex-shrink:0;align-items:center;display:flex}.logo-text[data-v-56692fab]{color:var(--color-text-primary);letter-spacing:2px;text-transform:uppercase;white-space:nowrap;font-size:20px;font-weight:800}.sidebar-search[data-v-56692fab]{padding:12px 12px 4px}.search-input-wrapper[data-v-56692fab]{align-items:center;display:flex;position:relative}.search-icon[data-v-56692fab]{color:var(--color-gray-500);pointer-events:none;flex-shrink:0;position:absolute;left:10px}.search-input[data-v-56692fab]{background:var(--color-input-bg);border:1px solid var(--color-border);border-radius:var(--radius-md);width:100%;color:var(--color-text-primary);outline:none;padding:8px 30px 8px 32px;font-family:inherit;font-size:13px;transition:all .2s}.search-input[data-v-56692fab]::placeholder{color:var(--color-gray-500)}.search-input[data-v-56692fab]:focus{background:var(--color-input-bg);border-color:var(--color-border-focus);box-shadow:0 0 0 3px #b91c3f26}.search-clear[data-v-56692fab]{width:20px;height:20px;color:var(--color-gray-500);cursor:pointer;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;padding:0;transition:all .2s;display:flex;position:absolute;right:8px}.search-clear[data-v-56692fab]:hover{color:var(--color-gray-200);background:var(--color-hover)}.search-results-info[data-v-56692fab]{color:var(--color-gray-500);white-space:nowrap;text-overflow:ellipsis;padding:4px 16px 8px;font-size:11px;overflow:hidden}.sidebar-nav[data-v-56692fab]{flex:1;padding:8px;overflow:hidden auto}.sidebar-nav[data-v-56692fab]::-webkit-scrollbar{width:3px}.sidebar-nav[data-v-56692fab]::-webkit-scrollbar-thumb{background:var(--color-gray-700);border-radius:3px}.menu-item[data-v-56692fab]{border-radius:var(--radius-md);color:var(--color-gray-300);cursor:pointer;text-align:left;background:0 0;border:none;align-items:center;gap:10px;width:100%;padding:10px 12px;font-family:inherit;font-size:14px;text-decoration:none;transition:all .2s;display:flex;position:relative}.menu-item[data-v-56692fab]:hover{background:var(--color-hover);color:var(--color-text-primary)}.menu-item--active[data-v-56692fab],.menu-item--active-parent[data-v-56692fab]{color:var(--color-red-400)!important;background:#b91c3f1f!important}.menu-item--active[data-v-56692fab]:before{content:"";background:var(--color-red-500);border-radius:0 3px 3px 0;width:3px;height:20px;position:absolute;top:50%;left:0;transform:translateY(-50%)}.menu-icon[data-v-56692fab]{flex-shrink:0;justify-content:center;align-items:center;width:24px;height:24px;display:flex}.menu-label[data-v-56692fab]{white-space:nowrap;text-overflow:ellipsis;font-weight:500;overflow:hidden}.sidebar-nav .menu-item[data-v-56692fab]{position:relative}.menu-badge[data-v-56692fab]{color:#fff;background:var(--color-danger,#ef4444);border-radius:var(--radius-full,999px);flex-shrink:0;justify-content:center;align-items:center;min-width:20px;height:18px;margin-left:auto;padding:0 6px;font-size:10px;font-weight:700;line-height:1;display:inline-flex}.menu-badge--dot[data-v-56692fab]{width:9px;min-width:9px;height:9px;padding:0;position:absolute;top:10px;right:12px}.menu-chevron[data-v-56692fab]{flex-shrink:0;margin-left:auto;transition:transform .25s}.menu-chevron--open[data-v-56692fab]{transform:rotate(180deg)}.submenu[data-v-56692fab]{max-height:0;transition:max-height .3s;overflow:hidden}.submenu--open[data-v-56692fab]{max-height:720px;overflow-y:auto}.submenu-item[data-v-56692fab]{color:var(--color-gray-400);border-radius:var(--radius-sm);align-items:center;gap:8px;padding:8px 12px 8px 46px;font-size:13px;text-decoration:none;transition:all .2s;display:flex}.submenu-item[data-v-56692fab]:hover{color:var(--color-gray-200);background:var(--color-hover)}.submenu-item--active[data-v-56692fab]{color:var(--color-red-400)!important}.submenu-dot[data-v-56692fab]{background:var(--color-gray-600);border-radius:50%;flex-shrink:0;width:5px;height:5px;transition:background .2s}.submenu-item--active .submenu-dot[data-v-56692fab]{background:var(--color-red-500);box-shadow:0 0 6px #b91c3f80}.submenu-label[data-v-56692fab]{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.search-no-results[data-v-56692fab]{color:var(--color-gray-500);text-align:center;flex-direction:column;align-items:center;gap:8px;padding:32px 16px;display:flex}.search-no-results p[data-v-56692fab]{word-break:break-word;margin:0;font-size:13px;line-height:1.5}.sidebar-footer[data-v-56692fab]{border-top:1px solid var(--color-card-border);padding:8px}.sidebar-mobile-close[data-v-56692fab],.sidebar-backdrop[data-v-56692fab]{display:none}@media (width<=767.98px){.sidebar[data-v-56692fab]{z-index:1001;width:280px;height:100dvh;padding-top:env(safe-area-inset-top);transition:transform .28s;transform:translate(-100%)}.sidebar--mobile-open[data-v-56692fab]{transform:translate(0)}.sidebar--collapsed[data-v-56692fab]{width:280px}.sidebar-mobile-close[data-v-56692fab]{top:calc(12px + env(safe-area-inset-top));width:40px;height:40px;color:var(--color-gray-400);border-radius:var(--radius-md);cursor:pointer;z-index:2;background:0 0;border:none;justify-content:center;align-items:center;display:flex;position:absolute;right:12px}.sidebar-mobile-close[data-v-56692fab]:hover{background:var(--color-hover);color:var(--color-text-primary)}.sidebar-backdrop[data-v-56692fab]{z-index:1000;background:#0000008c;display:block;position:fixed;inset:0}.sidebar-fade-enter-active[data-v-56692fab],.sidebar-fade-leave-active[data-v-56692fab]{transition:opacity .25s}.sidebar-fade-enter-from[data-v-56692fab],.sidebar-fade-leave-to[data-v-56692fab]{opacity:0}}.notif-row[data-v-792b73f4]{border-radius:var(--radius-md);cursor:pointer;align-items:flex-start;gap:12px;padding:12px;transition:background .15s;display:flex}.notif-row[data-v-792b73f4]:hover,.notif-row[data-v-792b73f4]:focus-visible{background:var(--color-hover);outline:none}.notif-row--unread[data-v-792b73f4]{background:var(--color-surface-muted)}.notif-row--unread[data-v-792b73f4]:hover,.notif-row--unread[data-v-792b73f4]:focus-visible{background:var(--color-hover)}.notif-row__icon[data-v-792b73f4]{border-radius:var(--radius-full);flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;margin-top:1px;display:flex}.notif-row__body[data-v-792b73f4]{flex-direction:column;flex:1;gap:3px;min-width:0;display:flex}.notif-row__title-row[data-v-792b73f4]{align-items:center;gap:6px;display:flex}.notif-row__title[data-v-792b73f4]{color:var(--color-gray-100);text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:400;line-height:1.35;overflow:hidden}.notif-row--unread .notif-row__title[data-v-792b73f4]{color:var(--color-text-primary);font-weight:700}.notif-row__dot[data-v-792b73f4]{background:var(--color-accent);border-radius:50%;flex-shrink:0;width:7px;height:7px}.notif-row__message[data-v-792b73f4]{color:var(--color-gray-400);word-break:break-word;-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:12px;line-height:1.4;display:-webkit-box;overflow:hidden}.notif-row--compact .notif-row__message[data-v-792b73f4]{-webkit-line-clamp:2}.notif-row--fulltext .notif-row__message[data-v-792b73f4]{-webkit-line-clamp:none;white-space:normal}.notif-row__meta[data-v-792b73f4]{align-items:center;gap:8px;margin-top:1px;display:flex}.notif-row__time[data-v-792b73f4],.notif-row__category[data-v-792b73f4]{color:var(--color-gray-500);font-size:11px}.notif-row__category[data-v-792b73f4]:before{content:"·";color:var(--color-gray-600);margin-right:6px}.notif-bell[data-v-d759ccb0]{cursor:pointer;position:relative}.notif-bell__trigger[data-v-d759ccb0]{width:36px;height:36px;color:var(--color-gray-400);border-radius:var(--radius-md);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;padding:0;transition:background .2s,color .2s;display:flex}.notif-bell__trigger[data-v-d759ccb0]:hover{background:var(--color-hover);color:var(--color-text-primary)}.notif-bell__trigger[data-v-d759ccb0]:focus-visible{outline:2px solid var(--color-border-focus);outline-offset:2px}.notif-dot[data-v-d759ccb0]{background:var(--color-gray-600);border:2px solid var(--color-bg-secondary);box-sizing:content-box;border-radius:50%;width:7px;height:7px;position:absolute;top:6px;right:7px}.notif-dot--live[data-v-d759ccb0]{background:var(--color-success)}.notif-badge[data-v-d759ccb0]{border-radius:var(--radius-full);background:var(--color-accent);min-width:18px;height:18px;color:var(--color-button-text);text-align:center;box-shadow:0 0 0 2px var(--color-bg-secondary);padding:0 5px;font-size:11px;font-weight:700;line-height:18px;position:absolute;top:-4px;right:-4px}.notif-panel[data-v-d759ccb0]{background:var(--color-surface-raised);border:1px solid var(--color-border);border-radius:var(--radius-lg);width:360px;max-width:calc(100vw - 24px);box-shadow:var(--shadow-lg);z-index:200;position:absolute;top:calc(100% + 8px);right:0;overflow:hidden}.notif-panel__header[data-v-d759ccb0]{border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;padding:12px 14px;display:flex}.notif-panel__title[data-v-d759ccb0]{color:var(--color-gray-100);font-size:14px;font-weight:700}.notif-panel__markall[data-v-d759ccb0]{color:var(--color-blue-400);cursor:pointer;background:0 0;border:none;font-family:inherit;font-size:12px;font-weight:600}.notif-panel__markall[data-v-d759ccb0]:hover{color:var(--color-blue-300);text-decoration:underline}.notif-alerts[data-v-d759ccb0]{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-bg-input);width:calc(100% - 12px);color:var(--color-text-primary);text-align:left;cursor:pointer;align-items:center;gap:10px;margin:8px 6px 0;padding:9px 10px;font-family:inherit;transition:background .15s,border-color .15s;display:flex}.notif-alerts[data-v-d759ccb0]:hover:not(:disabled){background:var(--color-hover)}.notif-alerts[data-v-d759ccb0]:disabled{cursor:default;opacity:.8}.notif-alerts__icon[data-v-d759ccb0]{border-radius:var(--radius-md);background:var(--color-hover);width:28px;height:28px;color:var(--color-gray-400);flex-shrink:0;justify-content:center;align-items:center;display:flex;position:relative}.notif-alerts--on .notif-alerts__icon[data-v-d759ccb0]{color:var(--color-success)}.notif-alerts--blocked .notif-alerts__icon[data-v-d759ccb0]{color:var(--color-danger-strong)}.notif-alerts__dot[data-v-d759ccb0]{background:var(--color-gray-500);border:2px solid var(--color-surface-raised);border-radius:50%;width:9px;height:9px;position:absolute;bottom:-1px;right:-1px}.notif-alerts--on .notif-alerts__dot[data-v-d759ccb0]{background:var(--color-success)}.notif-alerts--blocked .notif-alerts__dot[data-v-d759ccb0]{background:var(--color-danger-strong)}.notif-alerts__text[data-v-d759ccb0]{flex-direction:column;flex:1;gap:1px;min-width:0;display:flex}.notif-alerts__label[data-v-d759ccb0]{color:var(--color-gray-100);font-size:12.5px;font-weight:600}.notif-alerts__hint[data-v-d759ccb0]{color:var(--color-gray-500);font-size:11px;line-height:1.35}.notif-alerts__action[data-v-d759ccb0]{letter-spacing:.03em;text-transform:uppercase;color:var(--color-blue-400);flex-shrink:0;font-size:11px;font-weight:700}.notif-alerts--on .notif-alerts__action[data-v-d759ccb0]{color:var(--color-success)}.notif-alerts--blocked .notif-alerts__action[data-v-d759ccb0]{color:var(--color-gray-500)}.notif-alerts__spinner[data-v-d759ccb0]{border:2px solid var(--color-border);border-top-color:var(--color-blue-400);border-radius:50%;width:12px;height:12px;animation:.7s linear infinite notif-spin-d759ccb0;display:block}@keyframes notif-spin-d759ccb0{to{transform:rotate(360deg)}}.notif-panel__list[data-v-d759ccb0]{max-height:420px;padding:6px;overflow-y:auto}.notif-panel__empty[data-v-d759ccb0]{text-align:center;color:var(--color-gray-500);padding:32px 16px;font-size:13px}.notif-panel__footer[data-v-d759ccb0]{border-top:1px solid var(--color-border)}.notif-panel__viewall[data-v-d759ccb0]{width:100%;color:var(--color-text-primary);cursor:pointer;text-align:center;background:0 0;border:none;padding:11px 14px;font-family:inherit;font-size:13px;font-weight:600;transition:background .15s;display:block}.notif-panel__viewall[data-v-d759ccb0]:hover{background:var(--color-hover)}.dropdown-enter-active[data-v-d759ccb0]{transform-origin:100% 0;transition:opacity .18s,transform .18s}.dropdown-leave-active[data-v-d759ccb0]{transition:opacity .12s}.dropdown-enter-from[data-v-d759ccb0],.dropdown-leave-to[data-v-d759ccb0]{opacity:0;transform:translateY(-8px)}@media (width<=767.98px){.notif-panel[data-v-d759ccb0]{top:calc(60px + env(safe-area-inset-top));width:auto;max-height:calc(100dvh - 90px);position:fixed;left:8px;right:8px}.notif-panel__list[data-v-d759ccb0]{max-height:none}.notif-bell__trigger[data-v-d759ccb0]{width:40px;height:40px}.notif-alerts[data-v-d759ccb0]{width:calc(100% - 12px);margin:6px 6px 0}}@media (prefers-reduced-motion:reduce){.notif-alerts__spinner[data-v-d759ccb0]{animation:none}}.topbar[data-v-8b5dd943]{background:var(--color-bg-secondary);border-bottom:1px solid var(--color-card-border);z-index:50;justify-content:space-between;align-items:center;height:64px;padding:0 24px;display:flex;position:sticky;top:0}.topbar-left[data-v-8b5dd943]{align-items:center;gap:16px;display:flex}.btn-icon[data-v-8b5dd943]{width:36px;height:36px;color:var(--color-gray-400);border-radius:var(--radius-md);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;transition:all .2s;display:flex;position:relative}.btn-icon[data-v-8b5dd943]:hover{background:var(--color-hover);color:var(--color-text-primary)}.breadcrumb[data-v-8b5dd943]{align-items:center;gap:8px;font-size:14px;display:flex}.breadcrumb-link[data-v-8b5dd943]{color:var(--color-gray-400);text-decoration:none;transition:color .2s}.breadcrumb-link[data-v-8b5dd943]:hover{color:var(--color-red-400)}.breadcrumb-section[data-v-8b5dd943]{color:var(--color-gray-400)}.breadcrumb-sep[data-v-8b5dd943]{color:var(--color-gray-600)}.breadcrumb-current[data-v-8b5dd943]{color:var(--color-gray-100);font-weight:500}.topbar-right[data-v-8b5dd943]{align-items:center;gap:8px;display:flex}.nepali-date[data-v-8b5dd943]{border:1px solid var(--color-danger-border);border-radius:var(--radius-md);background:var(--color-danger-bg);color:var(--color-danger-strong);white-space:nowrap;letter-spacing:.3px;align-items:center;gap:8px;padding:6px 12px;font-size:13px;font-weight:600;display:flex}.nepali-date svg[data-v-8b5dd943]{color:var(--color-danger);flex-shrink:0}.nepali-date-loading[data-v-8b5dd943],.nepali-date-error[data-v-8b5dd943]{color:var(--color-gray-500);font-weight:400}.nepali-date-text[data-v-8b5dd943]{font-family:Noto Sans Devanagari,Mangal,Kalimati,sans-serif}.branch-selector[data-v-8b5dd943]{border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-gray-300);align-items:center;gap:8px;padding:6px 12px;font-size:13px;display:flex}.branch-selector svg[data-v-8b5dd943]{color:var(--color-gray-500);flex-shrink:0}.branch-select[data-v-8b5dd943]{color:var(--color-gray-200);cursor:pointer;background:0 0;border:none;outline:none;font-family:inherit;font-size:13px}.branch-select option[data-v-8b5dd943]{background:var(--color-surface-raised);color:var(--color-gray-200)}.branch-assigned[data-v-8b5dd943]{color:var(--color-gray-200);white-space:nowrap;font-size:13px;line-height:1}.profile-dropdown[data-v-8b5dd943]{position:relative}.profile-trigger[data-v-8b5dd943]{border-radius:var(--radius-md);cursor:pointer;color:var(--color-gray-300);background:0 0;border:none;align-items:center;gap:10px;padding:4px 8px 4px 4px;transition:background .2s;display:flex}.profile-trigger[data-v-8b5dd943]:hover{background:var(--color-hover)}.avatar[data-v-8b5dd943]{background:linear-gradient(135deg, var(--color-red-600), var(--color-red-800));color:#fff;border:1.5px solid #ffffff26;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:34px;height:34px;font-size:12px;font-weight:700;display:flex;overflow:hidden}.avatar-img[data-v-8b5dd943]{object-fit:cover;width:100%;height:100%;display:block}.avatar-fallback[data-v-8b5dd943]{justify-content:center;align-items:center;width:100%;height:100%;display:flex}.profile-info[data-v-8b5dd943]{text-align:left;flex-direction:column;display:flex}.profile-name[data-v-8b5dd943]{color:var(--color-gray-100);font-size:13px;font-weight:600;line-height:1.2}.profile-role[data-v-8b5dd943]{color:var(--color-gray-500);font-size:11px}.profile-menu[data-v-8b5dd943]{background:var(--color-surface-raised);border:1px solid var(--color-border);border-radius:var(--radius-lg);width:240px;box-shadow:var(--shadow-lg);z-index:200;position:absolute;top:calc(100% + 8px);right:0;overflow:hidden}.profile-menu-header[data-v-8b5dd943]{align-items:center;gap:12px;padding:16px;display:flex}.profile-menu-avatar[data-v-8b5dd943]{background:linear-gradient(135deg, var(--color-red-600), var(--color-red-800));color:#fff;border:2px solid #ffffff26;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;font-size:14px;font-weight:700;display:flex;overflow:hidden}.profile-menu-info[data-v-8b5dd943]{flex-direction:column;display:flex}.profile-menu-name[data-v-8b5dd943]{color:var(--color-gray-100);font-size:14px;font-weight:600}.profile-menu-email[data-v-8b5dd943]{color:var(--color-gray-400);font-size:12px}.profile-menu-divider[data-v-8b5dd943]{background:var(--color-border);height:1px}.profile-menu-item[data-v-8b5dd943]{color:var(--color-gray-300);cursor:pointer;text-align:left;background:0 0;border:none;align-items:center;gap:10px;width:100%;padding:10px 16px;font-family:inherit;font-size:13px;text-decoration:none;transition:background .2s;display:flex}.profile-menu-item[data-v-8b5dd943]:hover{background:var(--color-hover);color:var(--color-text-primary)}.profile-menu-item--danger[data-v-8b5dd943]{color:var(--color-danger-strong)}.profile-menu-item--danger[data-v-8b5dd943]:hover{background:var(--color-danger-bg);color:var(--color-danger-strong)}.dropdown-enter-active[data-v-8b5dd943],.dropdown-leave-active[data-v-8b5dd943]{transition:all .2s}.dropdown-enter-from[data-v-8b5dd943],.dropdown-leave-to[data-v-8b5dd943]{opacity:0;transform:translateY(-8px)}@media (width<=768px){.nepali-date[data-v-8b5dd943]{display:none}}@media (width<=767.98px){.topbar[data-v-8b5dd943]{z-index:90;border-bottom:1px solid var(--color-card-border);height:56px;padding:0 12px;position:sticky;top:0}.topbar-left[data-v-8b5dd943]{gap:6px}.breadcrumb[data-v-8b5dd943]{display:none}.branch-selector[data-v-8b5dd943]{max-width:96px}.branch-selector select[data-v-8b5dd943],.branch-selector .branch-assigned[data-v-8b5dd943]{text-overflow:ellipsis;white-space:nowrap;max-width:96px;font-size:12px;overflow:hidden}.btn-icon[data-v-8b5dd943]{width:40px;height:40px}.profile-trigger .profile-info[data-v-8b5dd943]{display:none}.profile-trigger[data-v-8b5dd943]{padding:2px}.profile-menu[data-v-8b5dd943]{top:calc(60px + env(safe-area-inset-top));width:calc(100vw - 24px);max-width:320px;max-height:calc(100dvh - 90px);position:fixed;right:12px;overflow-y:auto}}.quicklinks[data-v-d5bc14c5]{background:var(--color-bg-secondary);border-bottom:1px solid var(--color-card-border);transition:box-shadow .2s,background .2s}.quicklinks--pinned[data-v-d5bc14c5]{z-index:49;box-shadow:var(--shadow-sm);position:sticky;top:64px}.quicklinks-inner[data-v-d5bc14c5]{align-items:center;gap:10px;min-height:44px;padding:6px 16px;display:flex}.quicklinks-badge[data-v-d5bc14c5]{border-radius:var(--radius-full);background:linear-gradient(135deg, var(--color-red-600), var(--color-red-800));color:#fff;letter-spacing:.4px;text-transform:uppercase;white-space:nowrap;flex-shrink:0;align-items:center;gap:6px;padding:4px 10px;font-size:11px;font-weight:700;display:inline-flex}.quicklinks-scroll[data-v-d5bc14c5]{scrollbar-width:thin;-webkit-overflow-scrolling:touch;flex:1;align-items:center;gap:6px;min-width:0;padding-bottom:2px;display:flex;overflow:auto hidden}.quicklinks-scroll[data-v-d5bc14c5]::-webkit-scrollbar{height:4px}.quicklinks-scroll[data-v-d5bc14c5]::-webkit-scrollbar-thumb{background:var(--color-gray-700);border-radius:4px}.ql-chip[data-v-d5bc14c5]{border:1px solid var(--color-border);border-radius:var(--radius-full);background:var(--color-surface-muted);color:var(--color-text-secondary);white-space:nowrap;flex-shrink:0;align-items:center;gap:6px;padding:5px 11px;font-size:12.5px;font-weight:500;text-decoration:none;transition:all .18s;display:inline-flex}.ql-chip[data-v-d5bc14c5]:hover{border-color:var(--color-red-500);color:var(--color-text-primary);background:var(--color-hover)}.ql-chip--active[data-v-d5bc14c5]{border-color:var(--color-red-500);background:var(--color-danger-bg);color:var(--color-danger-strong);font-weight:600}.ql-chip-icon[data-v-d5bc14c5]{flex-shrink:0}.ql-pin[data-v-d5bc14c5]{border:1px solid var(--color-border);border-radius:var(--radius-md);width:32px;height:32px;color:var(--color-gray-400);cursor:pointer;background:0 0;flex-shrink:0;justify-content:center;align-items:center;transition:all .18s;display:inline-flex}.ql-pin[data-v-d5bc14c5]:hover{background:var(--color-hover);color:var(--color-text-primary)}.ql-pin svg[data-v-d5bc14c5]{transition:transform .2s}.ql-pin:not(.ql-pin--active) svg[data-v-d5bc14c5]{transform:rotate(45deg)}.ql-pin--active[data-v-d5bc14c5]{color:var(--color-red-400);border-color:var(--color-danger-border);background:var(--color-danger-bg)}.qlfade-enter-active[data-v-d5bc14c5],.qlfade-leave-active[data-v-d5bc14c5]{transition:opacity .2s}.qlfade-enter-from[data-v-d5bc14c5],.qlfade-leave-to[data-v-d5bc14c5]{opacity:0}@media (width<=767.98px){.quicklinks--pinned[data-v-d5bc14c5]{z-index:88;top:56px}.quicklinks-inner[data-v-d5bc14c5]{gap:8px;min-height:42px;padding:6px 12px}.quicklinks-badge-label[data-v-d5bc14c5]{display:none}.ql-chip[data-v-d5bc14c5]{padding:5px 10px;font-size:12px}}.bottom-nav[data-v-c7a90e1d]{display:none}@media (width<=767.98px){.bottom-nav[data-v-c7a90e1d]{height:auto;padding:6px 6px calc(6px + env(safe-area-inset-bottom));background:var(--color-bg-secondary);border-top:1px solid var(--color-card-border);z-index:500;justify-content:space-around;align-items:flex-end;display:flex;position:fixed;bottom:0;left:0;right:0}}.bn-item[data-v-c7a90e1d]{min-height:52px;color:var(--color-gray-400);cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border:none;flex-direction:column;flex:1;align-items:center;gap:2px;padding:6px 0 2px;display:flex}.bn-item--active[data-v-c7a90e1d],.bn-item--active svg[data-v-c7a90e1d]{color:var(--color-red-400)}.bn-label[data-v-c7a90e1d]{font-size:10px;font-weight:600}.bn-center[data-v-c7a90e1d]{cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border:none;flex-direction:column;align-items:center;gap:2px;display:flex;transform:translateY(-18px)}.bn-center-ring[data-v-c7a90e1d]{background:linear-gradient(135deg, var(--color-red-600), var(--color-red-800));color:#fff;width:60px;height:60px;box-shadow:0 6px 18px #b91c3f73, 0 0 0 4px var(--color-bg-primary);border-radius:50%;justify-content:center;align-items:center;display:flex}.bn-center:active .bn-center-ring[data-v-c7a90e1d]{transform:scale(.96)}.bn-center-label[data-v-c7a90e1d]{color:var(--color-red-400);margin-top:-10px;font-size:10px;font-weight:700}.bottomnav-enter-active[data-v-c7a90e1d],.bottomnav-leave-active[data-v-c7a90e1d]{transition:transform .25s}.bottomnav-enter-from[data-v-c7a90e1d],.bottomnav-leave-to[data-v-c7a90e1d]{transform:translateY(100%)}.network-offline[data-v-94493d54]{background:var(--color-warning-bg);border-bottom:1px solid var(--color-warning-border);color:var(--color-warning-strong);justify-content:center;align-items:center;gap:8px;padding:8px;font-size:13px;font-weight:600;display:flex}.netfade-enter-active[data-v-94493d54],.netfade-leave-active[data-v-94493d54]{transition:opacity .2s}.netfade-enter-from[data-v-94493d54],.netfade-leave-to[data-v-94493d54]{opacity:0}.install-prompt[data-v-f2552fb5]{display:none}@media (width<=767.98px){.install-prompt[data-v-f2552fb5]{left:12px;right:12px;bottom:calc(80px + env(safe-area-inset-bottom));z-index:520;background:var(--color-surface-raised);border:1px solid var(--color-card-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);align-items:center;gap:10px;padding:10px 12px;display:flex;position:fixed}.install-icon[data-v-f2552fb5]{border-radius:var(--radius-md);background:var(--color-red-500);color:#fff;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;display:flex}.install-text[data-v-f2552fb5]{flex:1;min-width:0}.install-title[data-v-f2552fb5]{color:var(--color-gray-100);font-size:14px;font-weight:700;display:block}.install-desc[data-v-f2552fb5]{color:var(--color-gray-400);font-size:12px;display:block}.install-actions[data-v-f2552fb5]{align-items:center;gap:6px;display:flex}.install-dismiss[data-v-f2552fb5]{width:36px;height:36px;color:var(--color-gray-500);border-radius:var(--radius-sm);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;font-size:14px;display:flex}.install-btn[data-v-f2552fb5]{border-radius:var(--radius-md);background:linear-gradient(135deg, var(--color-red-600), var(--color-red-800));color:#fff;cursor:pointer;border:none;min-height:40px;padding:0 16px;font-weight:600}.pwafade-enter-active[data-v-f2552fb5],.pwafade-leave-active[data-v-f2552fb5]{transition:opacity .2s,transform .2s}.pwafade-enter-from[data-v-f2552fb5],.pwafade-leave-to[data-v-f2552fb5]{opacity:0;transform:translateY(10px)}}.app-footer[data-v-e7dbfe65]{background:var(--color-bg-secondary);border-top:1px solid var(--color-card-border);min-height:40px;color:var(--color-text-secondary);flex-shrink:0;grid-template-columns:1fr auto 1fr;align-items:center;gap:12px;padding:7px 20px;font-size:12px;line-height:1.2;display:grid}.footer-copy[data-v-e7dbfe65]{white-space:nowrap;text-overflow:ellipsis;justify-self:start;min-width:0;overflow:hidden}.footer-clock[data-v-e7dbfe65]{border:1px solid var(--color-card-border);border-radius:var(--radius-full);background:var(--color-surface-muted);white-space:nowrap;justify-self:center;align-items:center;gap:7px;padding:3px 12px;display:inline-flex}.footer-clock svg[data-v-e7dbfe65]{color:var(--color-red-400);flex-shrink:0}.footer-clock-time[data-v-e7dbfe65]{font-variant-numeric:tabular-nums;letter-spacing:.3px;color:var(--color-text-primary);font-weight:600}.footer-clock-sep[data-v-e7dbfe65]{color:var(--color-gray-600)}.footer-clock-date[data-v-e7dbfe65]{color:var(--color-text-secondary)}.footer-brand[data-v-e7dbfe65]{justify-self:end;align-items:center;gap:8px;display:inline-flex}.footer-brand-text[data-v-e7dbfe65]{letter-spacing:1.5px;text-transform:uppercase;color:var(--color-text-primary);font-size:13px;font-weight:800}@media (width<=900px){.footer-clock-date[data-v-e7dbfe65],.footer-clock-sep[data-v-e7dbfe65]{display:none}}@media (width<=767.98px){.app-footer[data-v-e7dbfe65]{display:none}}.ptr[data-v-044e1d76]{z-index:60;background:var(--color-surface-raised);border:1px solid var(--color-card-border);width:40px;height:40px;color:var(--color-gray-400);box-shadow:var(--shadow-md);pointer-events:none;will-change:transform, opacity;border-radius:50%;justify-content:center;align-items:center;transition:opacity .2s;display:flex;position:fixed;top:0;left:50%}.ptr-arrow[data-v-044e1d76]{color:var(--color-gray-400);transition:transform .1s linear,color .2s;display:flex}.ptr--armed .ptr-arrow[data-v-044e1d76]{color:var(--color-red-400)}.ptr-ring[data-v-044e1d76]{border:2px solid var(--color-border);border-top-color:var(--color-red-400);border-radius:50%;width:18px;height:18px}.ptr-spin .ptr-ring[data-v-044e1d76]{animation:.7s linear infinite ptr-rotate-044e1d76}@keyframes ptr-rotate-044e1d76{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.ptr-spin .ptr-ring[data-v-044e1d76]{animation-duration:2s}}.toast-container[data-v-4c92cd1f]{z-index:2000;flex-direction:column;gap:10px;width:calc(100vw - 40px);max-width:380px;display:flex;position:fixed;top:20px;right:20px}.toast[data-v-4c92cd1f]{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);border-left-width:4px;align-items:flex-start;gap:10px;padding:12px 14px;display:flex}.toast--success[data-v-4c92cd1f]{border-left-color:#22c55e}.toast--success .toast-icon[data-v-4c92cd1f]{color:#22c55e}.toast--error[data-v-4c92cd1f]{border-left-color:var(--color-red-500)}.toast--error .toast-icon[data-v-4c92cd1f]{color:var(--color-danger)}.toast--warning[data-v-4c92cd1f]{border-left-color:#f59e0b}.toast--warning .toast-icon[data-v-4c92cd1f]{color:#f59e0b}.toast--info[data-v-4c92cd1f]{border-left-color:var(--color-blue-500)}.toast--info .toast-icon[data-v-4c92cd1f]{color:var(--color-blue-400)}.toast--notif[data-v-4c92cd1f]{border-left-width:4px;border-left-color:var(--color-blue-500);cursor:default}.toast--notif--high[data-v-4c92cd1f]{border-left-color:var(--color-accent)}.toast--notif.toast--clickable[data-v-4c92cd1f]{cursor:pointer}.toast-notif-icon[data-v-4c92cd1f]{color:var(--color-blue-400);flex-shrink:0;margin-top:1px}.toast--notif--high .toast-notif-icon[data-v-4c92cd1f]{color:var(--color-accent)}.toast-notif-body[data-v-4c92cd1f]{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.toast-notif-title[data-v-4c92cd1f]{color:var(--color-gray-100);font-size:13px;font-weight:600;line-height:1.35}.toast-notif-message[data-v-4c92cd1f]{color:var(--color-gray-400);-webkit-line-clamp:2;word-break:break-word;-webkit-box-orient:vertical;font-size:12px;line-height:1.4;display:-webkit-box;overflow:hidden}.toast-icon[data-v-4c92cd1f]{flex-shrink:0;margin-top:1px}.toast-message[data-v-4c92cd1f]{color:var(--color-gray-200);word-break:break-word;flex:1;font-size:13px;line-height:1.45}.toast-close[data-v-4c92cd1f]{width:22px;height:22px;color:var(--color-gray-500);border-radius:var(--radius-sm);cursor:pointer;background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;transition:all .2s;display:flex}.toast-close[data-v-4c92cd1f]:hover{color:var(--color-text-primary);background:var(--color-hover)}.toast-enter-active[data-v-4c92cd1f],.toast-leave-active[data-v-4c92cd1f]{transition:all .25s}.toast-enter-from[data-v-4c92cd1f],.toast-leave-to[data-v-4c92cd1f]{opacity:0;transform:translate(24px)}.app-layout[data-v-66128564]{min-width:0;max-width:100%;min-height:100dvh;display:flex;overflow:clip}.main-area[data-v-66128564]{background:var(--color-bg-primary);flex-direction:column;flex:1;min-width:0;max-width:100%;margin-left:260px;transition:margin-left .3s;display:flex;overflow-x:clip}.main-area--expanded[data-v-66128564]{margin-left:64px}.main-content[data-v-66128564]{flex:1;min-width:0;max-width:100%;padding:24px;overflow-x:clip}@media (width<=767.98px){.app-layout[data-v-66128564]{display:block}.main-area[data-v-66128564],.main-area--expanded[data-v-66128564]{margin-left:0}.main-content[data-v-66128564]{padding:16px 14px calc(92px + env(safe-area-inset-bottom))}}.stat-card[data-v-5497a256]{background:var(--color-bg-secondary);border:1px solid var(--color-card-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:20px;transition:all .3s;position:relative;overflow:hidden}.stat-card[data-v-5497a256]:before{content:"";opacity:.8;width:100%;height:3px;position:absolute;top:0;left:0}.stat-card--red[data-v-5497a256]:before{background:var(--color-red-500)}.stat-card--blue[data-v-5497a256]:before{background:var(--color-blue-500)}.stat-card--green[data-v-5497a256]:before{background:#22c55e}.stat-card--amber[data-v-5497a256]:before{background:#f59e0b}.stat-card--purple[data-v-5497a256]:before{background:#a855f7}.stat-card--cyan[data-v-5497a256]:before{background:#06b6d4}.stat-card[data-v-5497a256]:hover{box-shadow:var(--shadow-md);border-color:var(--color-hover-strong);transform:translateY(-2px)}.stat-header[data-v-5497a256]{justify-content:space-between;align-items:center;margin-bottom:14px;display:flex}.stat-icon[data-v-5497a256]{border-radius:var(--radius-md);justify-content:center;align-items:center;width:42px;height:42px;display:flex}.stat-card--red .stat-icon[data-v-5497a256]{color:var(--color-red-400);background:#b91c3f26}.stat-card--blue .stat-icon[data-v-5497a256]{color:var(--color-blue-400);background:#3b82f626}.stat-card--green .stat-icon[data-v-5497a256]{color:#22c55e;background:#22c55e26}.stat-card--amber .stat-icon[data-v-5497a256]{color:#f59e0b;background:#f59e0b26}.stat-card--purple .stat-icon[data-v-5497a256]{color:#a855f7;background:#a855f726}.stat-card--cyan .stat-icon[data-v-5497a256]{color:#06b6d4;background:#06b6d426}.stat-trend[data-v-5497a256]{border-radius:var(--radius-full);align-items:center;gap:3px;padding:3px 8px;font-size:12px;font-weight:600;display:flex}.stat-trend--up[data-v-5497a256]{color:#22c55e;background:#22c55e1f}.stat-trend--down[data-v-5497a256]{color:#ef4444;background:#ef44441f}.stat-value[data-v-5497a256]{color:var(--color-text-primary);margin-bottom:4px;font-size:28px;font-weight:800;line-height:1.1}.stat-title[data-v-5497a256]{color:var(--color-gray-400);font-size:13px;font-weight:500}.stat-subtitle[data-v-5497a256]{color:var(--color-gray-500);margin-top:2px;font-size:11px}.quick-action-bar[data-v-f4a6f21e]{grid-template-columns:repeat(2,1fr);gap:10px;display:grid}.quick-action-btn[data-v-f4a6f21e]{border-radius:var(--radius-md);color:var(--color-gray-300);background:#ffffff08;border:1px solid #ffffff0d;flex-direction:column;justify-content:center;align-items:center;gap:8px;padding:16px 12px;font-size:12px;font-weight:500;text-decoration:none;transition:all .2s cubic-bezier(.4,0,.2,1);display:flex}.quick-action-btn[data-v-f4a6f21e]:hover{color:var(--color-red-400);background:#b91c3f14;border-color:#b91c3f33;transform:translateY(-2px);box-shadow:0 4px 12px #b91c3f1a}.action-icon svg[data-v-f4a6f21e]{transition:color .2s,transform .2s;display:block}.quick-action-btn:hover .action-icon svg[data-v-f4a6f21e]{color:var(--color-red-400);transform:scale(1.1)}.dashboard[data-v-698c8426]{max-width:1400px}.page-header[data-v-698c8426]{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:24px;display:flex}.page-title[data-v-698c8426]{color:var(--color-gray-100);margin-bottom:4px;font-size:26px;font-weight:700}.page-subtitle[data-v-698c8426]{color:var(--color-gray-400);font-size:14px}.date-badge[data-v-698c8426]{background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-gray-300);align-items:center;gap:8px;padding:8px 16px;font-size:13px;display:flex}.date-badge svg[data-v-698c8426]{color:var(--color-gray-500)}.stats-grid[data-v-698c8426]{grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:16px;margin-bottom:24px;display:grid}.skeleton-card[data-v-698c8426]{background:var(--color-bg-secondary);border-radius:var(--radius-lg);border:1px solid #ffffff0d;padding:20px}.skeleton[data-v-698c8426]{border-radius:var(--radius-sm);background:#ffffff0f;animation:1.5s infinite pulse-698c8426}.skeleton-icon[data-v-698c8426]{border-radius:var(--radius-md);width:42px;height:42px;margin-bottom:14px}.skeleton-value[data-v-698c8426]{width:80px;height:28px;margin-bottom:8px}.skeleton-label[data-v-698c8426]{width:120px;height:14px}@keyframes pulse-698c8426{0%,to{opacity:.4}50%{opacity:.8}}.dashboard-main-grid[data-v-698c8426]{grid-template-columns:1fr 1fr;align-items:start;gap:20px;display:grid}@media (width<=1080px){.dashboard-main-grid[data-v-698c8426]{grid-template-columns:1fr}}.calendar-half-column[data-v-698c8426]{min-width:0}.side-half-column[data-v-698c8426]{flex-direction:column;gap:20px;min-width:0;display:flex}.panel[data-v-698c8426]{background:var(--color-bg-secondary);border-radius:var(--radius-lg);border:1px solid #ffffff0d;padding:20px}.panel-header[data-v-698c8426]{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.panel-title[data-v-698c8426]{color:var(--color-gray-100);font-size:16px;font-weight:600}.upcoming-header[data-v-698c8426]{border-bottom:1px solid #ffffff0d;margin-bottom:14px;padding-bottom:4px}.tab-switcher[data-v-698c8426]{gap:8px;width:100%;display:flex}.tab-btn[data-v-698c8426]{border-radius:var(--radius-md);color:var(--color-gray-400);cursor:pointer;background:#ffffff08;border:1px solid #ffffff0f;align-items:center;gap:8px;padding:8px 14px;font-size:13px;font-weight:500;transition:all .2s;display:inline-flex}.tab-btn[data-v-698c8426]:hover{color:var(--color-gray-200);background:#ffffff0f}.tab-btn--active[data-v-698c8426]{color:var(--color-red-400);background:#b91c3f1f;border-color:#b91c3f66}.count-pill[data-v-698c8426]{color:var(--color-gray-300);background:#ffffff14;border-radius:9999px;padding:1px 6px;font-size:10px;font-weight:700}.count-pill--red[data-v-698c8426]{color:#fca5a5;background:#ef444426}.count-pill--blue[data-v-698c8426]{color:#93c5fd;background:#3b82f626}.events-list[data-v-698c8426]{flex-direction:column;gap:10px;display:flex}.event-item[data-v-698c8426]{border-radius:var(--radius-md);background:#ffffff05;border:1px solid #ffffff0a;align-items:center;gap:12px;padding:12px;transition:all .2s;display:flex}.event-item[data-v-698c8426]:hover{background:#ffffff0a;border-color:#ffffff14;transform:translate(2px)}.event-avatar[data-v-698c8426]{border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:38px;height:38px;font-size:14px;font-weight:700;display:flex}.event-avatar--birthday[data-v-698c8426]{color:#f87171;background:linear-gradient(135deg,#ef444433,#f43f5e1a);border:1px solid #ef44444d}.event-avatar--holiday[data-v-698c8426]{color:#60a5fa;background:linear-gradient(135deg,#3b82f633,#2563eb1a);border:1px solid #3b82f64d}.event-info[data-v-698c8426]{flex:1;min-width:0}.event-title-row[data-v-698c8426]{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:2px;display:flex}.event-name[data-v-698c8426]{color:var(--color-gray-100);white-space:nowrap;text-overflow:ellipsis;font-size:13px;font-weight:600;overflow:hidden}.event-tag[data-v-698c8426]{border-radius:4px;padding:1px 6px;font-size:10px;font-weight:600}.event-tag--birthday[data-v-698c8426]{color:#fca5a5;background:#ef44441f}.event-tag--holiday[data-v-698c8426]{color:#93c5fd;background:#3b82f61f}.event-sub[data-v-698c8426]{color:var(--color-gray-400);font-size:11px;display:block}.event-badge[data-v-698c8426]{border-radius:9999px;flex-shrink:0;padding:4px 10px;font-size:11px;font-weight:600}.badge--today[data-v-698c8426]{color:#f87171;background:#ef444433;border:1px solid #ef444466;animation:2s infinite badge-pulse-698c8426}.badge--tomorrow[data-v-698c8426]{color:#fbbf24;background:#f59e0b26;border:1px solid #f59e0b4d}.badge--upcoming[data-v-698c8426]{color:var(--color-gray-300);background:#ffffff0d;border:1px solid #ffffff14}@keyframes badge-pulse-698c8426{0%,to{opacity:1}50%{opacity:.7}}.events-empty[data-v-698c8426]{text-align:center;color:var(--color-gray-500);flex-direction:column;justify-content:center;align-items:center;gap:8px;padding:30px 16px;font-size:13px;display:flex}.placeholder[data-v-c53d6be7]{text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:400px;display:flex}.placeholder-icon[data-v-c53d6be7]{width:80px;height:80px;color:var(--color-red-400);background:#b91c3f14;border-radius:50%;justify-content:center;align-items:center;margin-bottom:20px;display:flex}.placeholder-title[data-v-c53d6be7]{color:var(--color-gray-100);text-transform:capitalize;margin-bottom:8px;font-size:22px;font-weight:700}.placeholder-desc[data-v-c53d6be7]{color:var(--color-gray-400);font-size:14px}.searchable-select[data-v-6763e9dd]{width:100%;position:relative}.ss-input-wrap[data-v-6763e9dd]{align-items:center;display:flex;position:relative}.ss-icon[data-v-6763e9dd]{color:var(--color-gray-500);pointer-events:none;z-index:1;position:absolute;top:50%;left:12px;transform:translateY(-50%)}.ss-input[data-v-6763e9dd]{background:var(--color-bg-input);border:1px solid var(--color-border);border-radius:var(--radius-md);width:100%;color:var(--color-text-primary);box-sizing:border-box;cursor:pointer;outline:none;padding:10px 36px 10px 34px;font-family:inherit;font-size:14px;transition:border-color .25s,box-shadow .25s}.ss-input[data-v-6763e9dd]:focus{border-color:var(--color-red-500);box-shadow:0 0 0 3px #b91c3f26}.ss-input[data-v-6763e9dd]::placeholder{color:var(--color-gray-500)}.ss-input[data-v-6763e9dd]:disabled{opacity:.6;cursor:not-allowed}.ss-chevron[data-v-6763e9dd]{color:var(--color-gray-500);pointer-events:none;position:absolute;top:50%;right:12px;transform:translateY(-50%)}.ss-dropdown[data-v-6763e9dd]{background:var(--color-surface-raised);border:1px solid var(--color-card-border);border-radius:var(--radius-md);max-height:240px;box-shadow:var(--shadow-lg);z-index:100;position:absolute;top:calc(100% + 4px);left:0;right:0;overflow-y:auto}.ss-option[data-v-6763e9dd]{color:var(--color-text-primary);cursor:pointer;white-space:nowrap;text-overflow:ellipsis;padding:10px 14px;font-size:14px;transition:background .15s;overflow:hidden}.ss-option[data-v-6763e9dd]:hover,.ss-option--active[data-v-6763e9dd]{color:var(--color-text-primary);background:#b91c3f26}.ss-option--selected[data-v-6763e9dd]{color:var(--color-text-primary);background:#b91c3f1a;font-weight:600}.ss-empty[data-v-6763e9dd]{color:var(--color-gray-500);text-align:center;padding:14px;font-size:13px}.ss-loading[data-v-6763e9dd]{color:var(--color-gray-400);justify-content:center;align-items:center;gap:8px;padding:14px;font-size:13px;display:flex}.ss-spinner[data-v-6763e9dd]{border:2px solid var(--color-border);border-top-color:var(--color-text-secondary);border-radius:50%;width:14px;height:14px;animation:.7s linear infinite ss-spin-6763e9dd}@keyframes ss-spin-6763e9dd{to{transform:rotate(360deg)}}html[data-theme=light] .ss-option:hover{background:#b91c3f14}html[data-theme=light] .ss-option--selected{background:#b91c3f0f}.page-container[data-v-52974788]{margin:0 auto}.page-header[data-v-52974788]{justify-content:space-between;align-items:center;margin-bottom:28px;display:flex}.header-left[data-v-52974788]{align-items:center;gap:14px;display:flex}.page-title[data-v-52974788]{color:var(--color-gray-100);font-size:22px;font-weight:700}.page-subtitle[data-v-52974788]{color:var(--color-gray-400);margin-top:2px;font-size:13px}.btn-icon[data-v-52974788]{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-bg-card);width:36px;height:36px;color:var(--color-gray-400);cursor:pointer;justify-content:center;align-items:center;transition:all .2s;display:flex}.btn-icon[data-v-52974788]:hover{border-color:var(--color-red-500);color:var(--color-red-400);background:#b91c3f1a}.error-banner[data-v-52974788]{border-radius:var(--radius-md);color:#fca5a5;background:#ef44441a;border:1px solid #ef444440;align-items:center;gap:10px;margin-bottom:24px;padding:12px 16px;font-size:13px;display:flex}.error-banner svg[data-v-52974788]{color:#ef4444;flex-shrink:0}.form-section[data-v-52974788]{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-lg);margin-bottom:20px;overflow:visible}.section-header[data-v-52974788]{background:var(--color-gray-800);border-bottom:1px solid var(--color-border);border-radius:var(--radius-lg) var(--radius-lg) 0 0;align-items:center;gap:10px;padding:16px 20px;display:flex}.section-header svg[data-v-52974788]{color:var(--color-red-400);flex-shrink:0}.section-header h2[data-v-52974788]{color:var(--color-gray-200);font-size:15px;font-weight:600}.section-body[data-v-52974788]{padding:20px}.form-row[data-v-52974788]{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:16px;margin-bottom:16px;display:grid}.form-row[data-v-52974788]:last-child{margin-bottom:0}.input-group[data-v-52974788]{flex-direction:column;gap:6px;display:flex}.input-label[data-v-52974788]{color:var(--color-gray-300);text-transform:uppercase;letter-spacing:.4px;font-size:12px;font-weight:600}.required[data-v-52974788]{color:var(--color-red-400)}.form-input[data-v-52974788]{background:var(--color-bg-input);border:1px solid var(--color-border);border-radius:var(--radius-md);width:100%;color:var(--color-gray-100);outline:none;padding:10px 12px;font-family:inherit;font-size:14px;transition:border-color .25s,box-shadow .25s}.form-input[data-v-52974788]:focus{border-color:var(--color-red-500);box-shadow:0 0 0 3px #b91c3f26}.form-input--error[data-v-52974788]{border-color:var(--color-error)}.form-input[data-v-52974788]::placeholder{color:var(--color-gray-500)}.form-select[data-v-52974788]{cursor:pointer;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%2394a3b8' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");background-position:right 12px center;background-repeat:no-repeat;padding-right:36px}.input-error[data-v-52974788]{color:var(--color-error);font-size:11px;font-weight:500}.toggle-label[data-v-52974788]{cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:10px;padding-top:4px;display:flex}.toggle-input[data-v-52974788]{display:none}.toggle-switch[data-v-52974788]{background:var(--color-gray-600);border-radius:12px;flex-shrink:0;width:44px;height:24px;transition:background .2s;position:relative}.toggle-switch[data-v-52974788]:after{content:"";background:#fff;border-radius:50%;width:20px;height:20px;transition:transform .2s;position:absolute;top:2px;left:2px}.toggle-input:checked+.toggle-switch[data-v-52974788]{background:var(--color-red-600)}.toggle-input:checked+.toggle-switch[data-v-52974788]:after{transform:translate(20px)}.toggle-text[data-v-52974788]{color:var(--color-gray-300);font-size:14px}.nested-list[data-v-52974788]{flex-direction:column;gap:8px;margin-bottom:16px;display:flex}.nested-item[data-v-52974788]{background:var(--color-bg-input);border:1px solid var(--color-border);border-radius:var(--radius-md);justify-content:space-between;align-items:center;padding:10px 14px;display:flex}.nested-item-info[data-v-52974788]{color:var(--color-gray-200);align-items:center;gap:10px;font-size:13px;display:flex}.nested-item-info em[data-v-52974788]{color:var(--color-gray-400);font-style:normal}.badge[data-v-52974788]{color:var(--color-red-300);border-radius:var(--radius-full);text-transform:uppercase;letter-spacing:.3px;background:#b91c3f1f;padding:2px 8px;font-size:11px;font-weight:600;display:inline-block}.badge--alt[data-v-52974788]{color:var(--color-blue-300);background:#2563eb1f}.btn-remove[data-v-52974788]{border-radius:var(--radius-sm);width:28px;height:28px;color:var(--color-gray-500);cursor:pointer;background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;transition:all .2s;display:flex}.btn-remove[data-v-52974788]:hover{color:#ef4444;background:#ef444426}.profile-upload[data-v-52974788]{align-items:center;gap:12px;display:flex}.profile-preview[data-v-52974788]{border:3px solid var(--color-border);border-radius:50%;width:120px;height:120px;position:relative;overflow:hidden}.profile-preview img[data-v-52974788]{object-fit:cover;width:100%;height:100%}.profile-remove[data-v-52974788]{color:#fff;cursor:pointer;background:#0009;border:none;border-radius:50%;justify-content:center;align-items:center;width:28px;height:28px;transition:background .2s;display:flex;position:absolute;top:4px;right:4px}.profile-upload-area[data-v-52974788]{border:1px dashed var(--color-gray-600);border-radius:var(--radius-md);width:220px;height:120px;color:var(--color-gray-400);cursor:pointer;justify-content:center;align-items:center;gap:8px;font-size:13px;transition:all .2s;display:flex}.profile-upload-area[data-v-52974788]:hover{border-color:var(--color-red-500);color:var(--color-red-400)}.profile-input[data-v-52974788]{display:none}.nested-form-row[data-v-52974788]{grid-template-columns:repeat(auto-fill,minmax(170px,1fr));align-items:end;gap:12px;display:grid}.nested-form-row .input-group[data-v-52974788]{gap:4px}.btn-add[data-v-52974788]{border:1px dashed var(--color-gray-600);border-radius:var(--radius-md);color:var(--color-gray-400);cursor:pointer;background:0 0;justify-content:center;align-items:center;gap:6px;min-height:40px;padding:10px 16px;font-family:inherit;font-size:13px;font-weight:500;transition:all .2s;display:flex}.btn-add[data-v-52974788]:hover{border-color:var(--color-red-500);color:var(--color-red-400);background:#b91c3f14}.basic-info-layout[data-v-52974788]{flex-wrap:wrap;align-items:flex-start;gap:28px;display:flex}.profile-upload-col[data-v-52974788]{flex-direction:column;flex:none;gap:8px;display:flex}.basic-fields[data-v-52974788]{flex:320px;min-width:0}.info-tip[data-v-52974788]{width:16px;height:16px;color:var(--color-gray-400);cursor:help;vertical-align:middle;justify-content:center;align-items:center;margin-left:6px;display:inline-flex;position:relative}.info-tip svg[data-v-52974788]{width:14px;height:14px}.info-tip[data-v-52974788]:after{content:attr(data-tip);background:var(--color-gray-800);width:280px;color:var(--color-gray-200);letter-spacing:normal;text-transform:none;border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);opacity:0;visibility:hidden;pointer-events:none;z-index:50;padding:10px 12px;font-size:12px;font-weight:400;line-height:1.5;transition:opacity .15s,transform .15s,visibility .15s;position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%)translateY(4px)}.info-tip[data-v-52974788]:hover:after,.info-tip[data-v-52974788]:focus:after{opacity:1;visibility:visible;transform:translate(-50%)translateY(0)}.file-upload[data-v-52974788]{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.file-input[data-v-52974788]{display:none}.file-upload-btn[data-v-52974788]{border:1px dashed var(--color-gray-600);border-radius:var(--radius-md);color:var(--color-gray-300);cursor:pointer;background:0 0;align-items:center;gap:8px;padding:10px 16px;font-size:13px;font-weight:600;transition:all .2s;display:inline-flex}.file-upload-btn[data-v-52974788]:hover{border-color:var(--color-red-500);color:var(--color-red-400);background:#b91c3f14}.file-upload-name[data-v-52974788]{color:var(--color-gray-300);text-overflow:ellipsis;white-space:nowrap;max-width:220px;font-size:12px;overflow:hidden}.file-upload-name.is-empty[data-v-52974788]{color:var(--color-gray-500)}.form-actions[data-v-52974788]{border-top:1px solid var(--color-border);justify-content:flex-end;gap:12px;margin-top:28px;padding-top:20px;display:flex}.btn[data-v-52974788]{border-radius:var(--radius-md);cursor:pointer;border:none;justify-content:center;align-items:center;gap:8px;min-width:120px;padding:11px 24px;font-family:inherit;font-size:14px;font-weight:600;transition:all .25s;display:inline-flex}.btn[data-v-52974788]:disabled{opacity:.7;cursor:not-allowed}.btn-secondary[data-v-52974788]{background:var(--color-bg-input);border:1px solid var(--color-border);color:var(--color-gray-300)}.btn-secondary[data-v-52974788]:hover{border-color:var(--color-gray-500);color:var(--color-gray-100)}.btn-primary[data-v-52974788]{background:linear-gradient(135deg, var(--color-accent-gradient-start), var(--color-accent-gradient-end));color:var(--color-button-text);box-shadow:0 4px 15px #b91c3f4d}.btn-primary[data-v-52974788]:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 6px 20px #b91c3f66}.btn-primary[data-v-52974788]:active:not(:disabled){transform:translateY(0)}.btn--loading[data-v-52974788]{cursor:not-allowed;opacity:.85}.btn-loader[data-v-52974788]{justify-content:center;align-items:center;gap:10px;display:flex}.spinner[data-v-52974788]{border:2px solid #ffffff4d;border-top-color:var(--color-white);border-radius:50%;width:16px;height:16px;animation:.6s linear infinite spin-52974788}@keyframes spin-52974788{to{transform:rotate(360deg)}}.permission-groups[data-v-d588d770]{max-width:1400px}.page-header[data-v-d588d770]{justify-content:space-between;align-items:center;margin-bottom:24px;display:flex}.page-title[data-v-d588d770]{color:var(--color-gray-100);margin-bottom:4px;font-size:26px;font-weight:700}.page-subtitle[data-v-d588d770]{color:var(--color-gray-400);font-size:14px}.alert[data-v-d588d770]{border-radius:var(--radius-md);align-items:center;gap:10px;margin-bottom:20px;padding:12px 16px;font-size:14px;display:flex}.alert--error[data-v-d588d770]{color:#fca5a5;background:#ef44441a;border:1px solid #ef444440}.loading-state[data-v-d588d770],.empty-state[data-v-d588d770]{color:var(--color-gray-400);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:16px;padding:60px 20px;display:flex}.empty-state svg[data-v-d588d770]{color:var(--color-gray-600);margin-bottom:8px}.empty-state h3[data-v-d588d770]{color:var(--color-gray-200);font-size:18px;font-weight:600}.empty-state p[data-v-d588d770]{color:var(--color-gray-400);margin-bottom:8px;font-size:14px}.spinner-lg[data-v-d588d770]{border:3px solid #ffffff1a;border-top-color:var(--color-red-500);border-radius:50%;width:36px;height:36px;animation:.6s linear infinite spin-d588d770}@keyframes spin-d588d770{to{transform:rotate(360deg)}}.groups-grid[data-v-d588d770]{grid-template-columns:repeat(4,1fr);gap:20px;display:grid}@media (width<=1400px){.groups-grid[data-v-d588d770]{grid-template-columns:repeat(3,1fr)}}@media (width<=1100px){.groups-grid[data-v-d588d770]{grid-template-columns:repeat(2,1fr)}}@media (width<=700px){.groups-grid[data-v-d588d770]{grid-template-columns:1fr}}.group-card[data-v-d588d770]{background:var(--color-bg-secondary);border-radius:var(--radius-lg);border:1px solid #ffffff0d;flex-direction:column;padding:20px;transition:border-color .2s,box-shadow .2s;display:flex}.group-card[data-v-d588d770]:hover{border-color:#ffffff1a;box-shadow:0 4px 20px #0003}.card-header[data-v-d588d770]{justify-content:space-between;align-items:flex-start;margin-bottom:8px;display:flex}.card-header-info[data-v-d588d770]{flex:1;min-width:0}.card-title[data-v-d588d770]{color:var(--color-gray-100);white-space:nowrap;text-overflow:ellipsis;margin-bottom:2px;font-size:16px;font-weight:700;overflow:hidden}.card-key[data-v-d588d770]{color:var(--color-gray-500);background:var(--color-surface-muted);border-radius:4px;padding:2px 6px;font-family:monospace;font-size:11px}.card-actions[data-v-d588d770]{flex-shrink:0;gap:4px;margin-left:8px;display:flex}.card-description[data-v-d588d770]{color:var(--color-gray-400);margin-bottom:14px;font-size:13px;line-height:1.5}.permissions-list[data-v-d588d770]{flex:1;margin-bottom:14px}.permission-item[data-v-d588d770]{border-radius:var(--radius-sm);justify-content:space-between;align-items:center;gap:8px;padding:7px 10px;transition:background .15s;display:flex}.permission-item[data-v-d588d770]:hover{background:#ffffff08}.permission-item+.permission-item[data-v-d588d770]{margin-top:2px}.permission-info[data-v-d588d770]{flex-direction:column;flex:1;min-width:0;display:flex}.permission-name[data-v-d588d770]{color:var(--color-gray-200);white-space:nowrap;text-overflow:ellipsis;font-size:13px;font-weight:500;overflow:hidden}.permission-key[data-v-d588d770]{color:var(--color-gray-500);font-family:monospace;font-size:11px}.permission-actions[data-v-d588d770]{opacity:0;flex-shrink:0;gap:2px;transition:opacity .15s;display:flex}.permission-item:hover .permission-actions[data-v-d588d770]{opacity:1}.no-permissions[data-v-d588d770]{color:var(--color-gray-600);text-align:center;padding:10px;font-size:12px;font-style:italic}.btn-add-permission[data-v-d588d770]{border:1px dashed var(--color-gray-600);border-radius:var(--radius-md);width:100%;color:var(--color-gray-400);cursor:pointer;background:0 0;justify-content:center;align-items:center;gap:6px;padding:9px;font-family:inherit;font-size:13px;transition:all .2s;display:flex}.btn-add-permission[data-v-d588d770]:hover{border-color:var(--color-red-500);color:var(--color-red-400);background:#b91c3f0d}.btn-icon-sm[data-v-d588d770]{width:30px;height:30px;color:var(--color-gray-500);border-radius:var(--radius-sm);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;transition:all .2s;display:flex}.btn-icon-sm[data-v-d588d770]:hover{color:var(--color-gray-200);background:#ffffff0d}.btn-icon-sm--danger[data-v-d588d770]:hover{color:#fca5a5;background:#ef44441a}.btn-icon-xs[data-v-d588d770]{width:26px;height:26px;color:var(--color-gray-500);border-radius:var(--radius-sm);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;transition:all .2s;display:flex}.btn-icon-xs[data-v-d588d770]:hover{color:var(--color-gray-200)}.btn-icon-xs--danger[data-v-d588d770]:hover{color:#fca5a5}.modal-overlay[data-v-d588d770]{z-index:1000;background:#0009;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.modal[data-v-d588d770]{background:var(--color-gray-800);border-radius:var(--radius-xl);border:1px solid #ffffff14;width:100%;max-width:480px;overflow:hidden;box-shadow:0 20px 60px #00000080}.modal--sm[data-v-d588d770]{max-width:400px}.modal-header[data-v-d588d770]{flex-wrap:wrap;align-items:center;padding:20px 24px 0;display:flex;position:relative}.modal-title[data-v-d588d770]{color:var(--color-gray-100);flex:1;font-size:18px;font-weight:700}.modal-subtitle[data-v-d588d770]{color:var(--color-gray-500);width:100%;margin-top:2px;font-size:12px}.modal-close[data-v-d588d770]{width:32px;height:32px;color:var(--color-gray-500);border-radius:var(--radius-sm);cursor:pointer;background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;transition:all .2s;display:flex}.modal-close[data-v-d588d770]:hover{color:var(--color-gray-200);background:#ffffff0d}.modal-body[data-v-d588d770]{padding:20px 24px 24px}.modal-footer[data-v-d588d770]{justify-content:flex-end;align-items:center;gap:12px;margin-top:24px;display:flex}.delete-warning[data-v-d588d770]{text-align:center;color:var(--color-gray-300);flex-direction:column;align-items:center;gap:12px;padding:8px 0;display:flex}.delete-warning svg[data-v-d588d770]{color:#fca5a5}.delete-warning p[data-v-d588d770]{font-size:14px;line-height:1.6}.form-group[data-v-d588d770]{margin-bottom:18px}.form-row[data-v-d588d770]{grid-template-columns:1fr 1fr;gap:16px;display:grid}.form-label[data-v-d588d770]{color:var(--color-gray-200);text-transform:uppercase;letter-spacing:.5px;margin-bottom:6px;font-size:12px;font-weight:600;display:block}.form-input[data-v-d588d770],.form-textarea[data-v-d588d770]{background:var(--color-bg-input);border:1px solid var(--color-border);border-radius:var(--radius-md);width:100%;color:var(--color-gray-100);box-sizing:border-box;outline:none;padding:10px 14px;font-family:inherit;font-size:14px;transition:border-color .25s,box-shadow .25s}.form-input[data-v-d588d770]:focus,.form-textarea[data-v-d588d770]:focus{border-color:var(--color-red-500);box-shadow:0 0 0 3px #b91c3f26}.form-input--error[data-v-d588d770]{border-color:var(--color-error)}.form-textarea[data-v-d588d770]{resize:vertical;min-height:60px}.form-error[data-v-d588d770]{color:var(--color-error);margin-top:4px;font-size:12px;font-weight:500;display:block}.toggle-group[data-v-d588d770]{padding-top:4px}.toggle-label[data-v-d588d770]{cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:10px;display:flex}.toggle-input[data-v-d588d770]{display:none}.toggle-switch[data-v-d588d770]{background:var(--color-gray-600);border-radius:12px;flex-shrink:0;width:44px;height:24px;transition:background .2s;position:relative}.toggle-switch[data-v-d588d770]:after{content:"";background:#fff;border-radius:50%;width:20px;height:20px;transition:transform .2s;position:absolute;top:2px;left:2px}.toggle-input:checked+.toggle-switch[data-v-d588d770]{background:var(--color-red-600)}.toggle-input:checked+.toggle-switch[data-v-d588d770]:after{transform:translate(20px)}.toggle-text[data-v-d588d770]{color:var(--color-gray-300);font-size:14px}.btn-loader[data-v-d588d770]{align-items:center;gap:8px;display:flex}.spinner[data-v-d588d770]{border:2px solid #ffffff4d;border-top-color:var(--color-white);border-radius:50%;width:16px;height:16px;animation:.6s linear infinite spin-d588d770}.error-page[data-v-7d278592]{background:var(--color-bg-primary);justify-content:center;align-items:center;min-height:100vh;padding:24px;display:flex;position:relative;overflow:hidden}.bg-grid[data-v-7d278592]{pointer-events:none;background-image:linear-gradient(#ffffff08 1px,#0000 1px),linear-gradient(90deg,#ffffff08 1px,#0000 1px);background-size:40px 40px;position:absolute;inset:0}.bg-glow[data-v-7d278592]{filter:blur(120px);pointer-events:none;border-radius:50%;width:480px;height:480px;position:absolute}.bg-glow--top-right[data-v-7d278592]{background:#b91c3f2e;top:-160px;right:-140px}.bg-glow--bottom-left[data-v-7d278592]{background:#2563eb24;bottom:-180px;left:-140px}.error-card[data-v-7d278592]{z-index:1;background:var(--color-bg-card);border:1px solid var(--color-card-border);border-radius:var(--radius-lg);text-align:center;width:100%;max-width:440px;padding:48px 40px;position:relative;box-shadow:0 20px 60px #00000073}.error-icon[data-v-7d278592]{width:96px;height:96px;color:var(--color-red-400);background:#b91c3f1a;border:1px solid #b91c3f40;border-radius:50%;justify-content:center;align-items:center;margin:0 auto 20px;display:flex}.error-code[data-v-7d278592]{letter-spacing:2px;color:var(--color-red-400);border-radius:var(--radius-full);background:#b91c3f1f;margin-bottom:16px;padding:4px 14px;font-size:14px;font-weight:700;display:inline-block}.error-title[data-v-7d278592]{color:var(--color-gray-100);margin-bottom:10px;font-size:24px;font-weight:700}.error-desc[data-v-7d278592]{color:var(--color-gray-400);margin-bottom:28px;font-size:14px;line-height:1.6}.error-actions[data-v-7d278592]{flex-wrap:wrap;justify-content:center;gap:12px;display:flex}.btn[data-v-7d278592]{border-radius:var(--radius-md);cursor:pointer;border:1px solid #0000;justify-content:center;align-items:center;gap:8px;padding:11px 22px;font-family:inherit;font-size:14px;font-weight:600;transition:all .2s;display:inline-flex}.btn--primary[data-v-7d278592]{background:linear-gradient(135deg, var(--color-accent-gradient-start), var(--color-accent-gradient-end));color:var(--color-button-text);box-shadow:0 4px 15px #b91c3f4d}.btn--primary[data-v-7d278592]:hover{transform:translateY(-1px);box-shadow:0 6px 20px #b91c3f66}.btn--ghost[data-v-7d278592]{color:var(--color-gray-300);border-color:var(--color-gray-700);background:0 0}.btn--ghost[data-v-7d278592]:hover{background:var(--color-hover);color:var(--color-gray-100)}@media (width<=480px){.error-card[data-v-7d278592]{padding:36px 24px}}.error-page[data-v-9936e536]{background:var(--color-bg-primary);justify-content:center;align-items:center;min-height:100vh;padding:24px;display:flex;position:relative;overflow:hidden}.bg-grid[data-v-9936e536]{pointer-events:none;background-image:linear-gradient(#ffffff08 1px,#0000 1px),linear-gradient(90deg,#ffffff08 1px,#0000 1px);background-size:40px 40px;position:absolute;inset:0}.bg-glow[data-v-9936e536]{filter:blur(120px);pointer-events:none;border-radius:50%;width:480px;height:480px;position:absolute}.bg-glow--top-right[data-v-9936e536]{background:#b91c3f2e;top:-160px;right:-140px}.bg-glow--bottom-left[data-v-9936e536]{background:#2563eb24;bottom:-180px;left:-140px}.error-card[data-v-9936e536]{z-index:1;background:var(--color-bg-card);border:1px solid var(--color-card-border);border-radius:var(--radius-lg);text-align:center;width:100%;max-width:440px;padding:48px 40px;position:relative;box-shadow:0 20px 60px #00000073}.error-icon[data-v-9936e536]{width:96px;height:96px;color:var(--color-blue-400);background:#3b82f61a;border:1px solid #3b82f640;border-radius:50%;justify-content:center;align-items:center;margin:0 auto 20px;display:flex}.error-code[data-v-9936e536]{letter-spacing:2px;color:var(--color-blue-400);border-radius:var(--radius-full);background:#3b82f61f;margin-bottom:16px;padding:4px 14px;font-size:14px;font-weight:700;display:inline-block}.error-title[data-v-9936e536]{color:var(--color-gray-100);margin-bottom:10px;font-size:24px;font-weight:700}.error-desc[data-v-9936e536]{color:var(--color-gray-400);margin-bottom:28px;font-size:14px;line-height:1.6}.error-actions[data-v-9936e536]{flex-wrap:wrap;justify-content:center;gap:12px;display:flex}.btn[data-v-9936e536]{border-radius:var(--radius-md);cursor:pointer;border:1px solid #0000;justify-content:center;align-items:center;gap:8px;padding:11px 22px;font-family:inherit;font-size:14px;font-weight:600;transition:all .2s;display:inline-flex}.btn--primary[data-v-9936e536]{background:linear-gradient(135deg, var(--color-accent-gradient-start), var(--color-accent-gradient-end));color:var(--color-button-text);box-shadow:0 4px 15px #b91c3f4d}.btn--primary[data-v-9936e536]:hover{transform:translateY(-1px);box-shadow:0 6px 20px #b91c3f66}@media (width<=480px){.error-card[data-v-9936e536]{padding:36px 24px}}
