.app-icon[data-v-ede74526]{display:inline-block;vertical-align:-2px;flex-shrink:0}.sidebar[data-v-a2cd514b]{width:240px;background:var(--navy);color:#fff;display:flex;flex-direction:column;flex-shrink:0;transition:width .18s ease}.sidebar.collapsed[data-v-a2cd514b]{width:64px}.sidebar-brand[data-v-a2cd514b]{padding:18px 16px 14px;border-bottom:1px solid rgba(255,255,255,.1);display:flex;flex-direction:row;align-items:center;gap:10px;min-height:56px}.sidebar.collapsed .sidebar-brand[data-v-a2cd514b]{padding:14px 0;justify-content:center}.brand-shield[data-v-a2cd514b]{display:block;height:30px;width:auto;flex-shrink:0}.brand-title[data-v-a2cd514b]{color:#fff;font-size:16px;letter-spacing:2px;font-weight:600;text-transform:uppercase;line-height:1}.sidebar-nav[data-v-a2cd514b]{flex:1;overflow-y:auto;padding:12px 0}.nav-section[data-v-a2cd514b]{margin-bottom:16px}.sidebar.collapsed .nav-section[data-v-a2cd514b]{margin-bottom:4px;padding-top:8px;border-top:1px solid rgba(255,255,255,.08)}.sidebar.collapsed .nav-section[data-v-a2cd514b]:first-child{border-top:none;padding-top:0}.nav-section-title[data-v-a2cd514b]{padding:8px 20px 4px;text-transform:uppercase;font-size:11px;letter-spacing:1px;color:#ffffff80}.nav-link[data-v-a2cd514b]{display:flex;align-items:center;gap:12px;padding:8px 20px;color:#ffffffd9;text-decoration:none;font-size:14px;border-left:3px solid transparent;transition:background .12s;position:relative}.nav-link[data-v-a2cd514b]:hover{background:#ffffff0d;text-decoration:none}.nav-link-active[data-v-a2cd514b]{background:#ffffff14;border-left-color:var(--gold);color:#fff;font-weight:500}.sidebar.collapsed .nav-link[data-v-a2cd514b]{padding:0;margin:4px 12px;width:40px;height:40px;justify-content:center;border-left:none;border-radius:6px;border:1px solid transparent;gap:0}.sidebar.collapsed .nav-link[data-v-a2cd514b]:hover{background:#ffffff14}.sidebar.collapsed .nav-link-active[data-v-a2cd514b]{background:transparent;border-color:var(--gold);color:#fff}.nav-icon[data-v-a2cd514b]{flex-shrink:0;opacity:.9}.nav-link-active .nav-icon[data-v-a2cd514b]{opacity:1}.nav-label[data-v-a2cd514b]{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.nav-badge[data-v-a2cd514b]{display:inline-block;min-width:18px;padding:1px 6px;border-radius:9px;background:var(--gold, #B8974A);color:var(--navy, #1E1E4B);font-size:11px;font-weight:700;text-align:center}.nav-badge-dot[data-v-a2cd514b]{position:absolute;top:4px;right:4px;min-width:8px;width:8px;height:8px;padding:0;border-radius:50%}.sidebar-footer[data-v-a2cd514b]{padding:12px 20px;border-top:1px solid rgba(255,255,255,.1);font-size:12px;color:#fff9;display:flex;flex-direction:column;gap:8px}.sidebar.collapsed .sidebar-footer[data-v-a2cd514b]{padding:12px 8px;align-items:center}.version[data-v-a2cd514b]{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.collapse-toggle[data-v-a2cd514b]{background:transparent;border:1px solid rgba(255,255,255,.15);color:#ffffffbf;border-radius:4px;padding:6px 10px;font-size:12px;font-family:inherit;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:6px;transition:background .12s,border-color .12s,color .12s}.collapse-toggle[data-v-a2cd514b]:hover{background:#ffffff0f;border-color:#ffffff4d;color:#fff}.sidebar.collapsed .collapse-toggle[data-v-a2cd514b]{width:32px;height:32px;padding:0}.header[data-v-14b6e3fd]{height:56px;background:var(--bg-elev);border-bottom:1px solid var(--border);display:flex;align-items:center;padding:0 24px;flex-shrink:0}.title[data-v-14b6e3fd]{flex:1;margin:0;font-size:18px;color:var(--navy);font-weight:600}.user-block[data-v-14b6e3fd]{display:flex;align-items:center;gap:12px}.avatar[data-v-14b6e3fd]{width:36px;height:36px;border-radius:50%;background:var(--navy);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:13px;letter-spacing:.5px}.user-info[data-v-14b6e3fd]{font-size:12px;line-height:1.3}.user-email[data-v-14b6e3fd]{color:var(--text);font-weight:500}.user-roles[data-v-14b6e3fd]{color:var(--text-muted);font-size:11px}.app-shell[data-v-f30bb997]{display:flex;height:100vh;background:var(--bg)}.app-main[data-v-f30bb997]{flex:1;display:flex;flex-direction:column;min-width:0}.app-content[data-v-f30bb997]{flex:1;overflow-y:auto;padding:24px 32px}.app-bare[data-v-f30bb997]{height:100vh}.toast[data-v-59791cb3]{display:flex;align-items:center;gap:8px;padding:10px 14px;border-radius:var(--radius);box-shadow:var(--shadow);background:var(--bg-elev);border-left:4px solid var(--info);font-size:14px;animation:slideIn-59791cb3 .2s}.toast-success[data-v-59791cb3]{border-left-color:var(--ok);background:var(--ok-soft);color:#065f46}.toast-error[data-v-59791cb3]{border-left-color:var(--err);background:var(--err-soft);color:#991b1b}.toast-warning[data-v-59791cb3]{border-left-color:var(--warn);background:var(--warn-soft);color:#92400e}.toast-info[data-v-59791cb3]{border-left-color:var(--info);background:var(--info-soft);color:#1e40af}.toast-message[data-v-59791cb3]{flex:1}.toast-close[data-v-59791cb3]{background:none;border:none;font-size:20px;line-height:1;cursor:pointer;color:inherit;opacity:.6;padding:0 4px}.toast-close[data-v-59791cb3]:hover{opacity:1}@keyframes slideIn-59791cb3{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}.toasts[data-v-5cc1688e]{position:fixed;top:16px;right:16px;z-index:1000;display:flex;flex-direction:column;gap:8px;max-width:420px}.fade-enter-active[data-v-5cc1688e],.fade-leave-active[data-v-5cc1688e]{transition:opacity .15s}.fade-enter-from[data-v-5cc1688e],.fade-leave-to[data-v-5cc1688e]{opacity:0}:root{--navy: #1E1E4B;--navy-soft: #2A2A6E;--navy-rgb: 30, 30, 75;--gold: #B8974A;--gold-soft: #E2C77B;--bg: #F7F8FA;--bg-elev: #FFFFFF;--border: #E3E5EA;--border-strong: #D1D5DB;--text: #1F2233;--text-muted: #6B7280;--text-faint: #9CA3AF;--ok: #16A34A;--ok-soft: #D1FAE5;--err: #DC2626;--err-soft: #FEE2E2;--warn: #F59E0B;--warn-soft: #FEF3C7;--info: #3B82F6;--info-soft: #EFF6FF;--radius-sm: 4px;--radius: 6px;--radius-lg: 10px;--shadow-sm: 0 1px 2px rgba(0,0,0,.04);--shadow: 0 2px 8px rgba(0,0,0,.06);--shadow-lg: 0 8px 32px rgba(0,0,0,.12);--font: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-mono: "SF Mono", Menlo, Consolas, monospace}*{box-sizing:border-box}html,body,#app{height:100%;margin:0}body{font-family:var(--font);background:var(--bg);color:var(--text);font-size:14px;line-height:1.5;-webkit-font-smoothing:antialiased}a{color:var(--navy);text-decoration:none}a:hover{text-decoration:underline}button{font-family:var(--font);cursor:pointer}input,textarea,select{font-family:var(--font);font-size:14px}.btn{display:inline-flex;align-items:center;gap:6px;background:var(--navy);color:#fff;border:none;border-radius:var(--radius);padding:8px 16px;font-size:14px;font-weight:500;cursor:pointer;transition:background .15s}.btn:hover:not(:disabled){background:var(--navy-soft)}.btn:disabled{background:var(--text-faint);cursor:not-allowed}.btn-secondary{background:var(--bg-elev);color:var(--navy);border:1px solid var(--border-strong)}.btn-secondary:hover:not(:disabled){background:var(--bg)}.btn-danger{background:var(--err)}.btn-danger:hover:not(:disabled){background:#b91c1c}.btn-ghost{background:transparent;color:var(--text-muted);border:none;padding:4px 8px}.btn-ghost:hover:not(:disabled){background:var(--bg);color:var(--navy)}.btn-sm{padding:4px 10px;font-size:13px}.card{background:var(--bg-elev);border:1px solid var(--border);border-radius:var(--radius-lg);padding:20px;box-shadow:var(--shadow-sm)}.form-row{display:flex;flex-direction:column;gap:4px;margin-bottom:12px}.form-row label{font-weight:500;color:var(--navy);font-size:13px}.form-row input,.form-row textarea,.form-row select{padding:8px 12px;border:1px solid var(--border-strong);border-radius:var(--radius);background:var(--bg-elev)}.form-row input:focus,.form-row textarea:focus,.form-row select:focus{outline:none;border-color:var(--navy);box-shadow:0 0 0 3px rgba(var(--navy-rgb),.15)}.badge{display:inline-block;padding:2px 10px;border-radius:12px;font-size:12px;font-weight:500;background:var(--border);color:var(--text-muted)}.badge-ok{background:var(--ok-soft);color:var(--ok)}.badge-err{background:var(--err-soft);color:var(--err)}.badge-warn{background:var(--warn-soft);color:var(--warn)}.badge-info{background:var(--info-soft);color:var(--info)}.table{width:100%;border-collapse:collapse}.table th,.table td{padding:10px 12px;text-align:left;border-bottom:1px solid var(--border);font-size:14px}.table th{font-weight:600;color:var(--navy);background:var(--bg)}.table tbody tr:hover{background:var(--bg)}.table th.sortable{cursor:pointer;-webkit-user-select:none;user-select:none;position:relative;padding-right:22px}.table th.sortable:hover{background:#e4e6ee;color:var(--navy)}.sort-arrow{position:absolute;right:8px;top:50%;transform:translateY(-50%);width:0;height:0;display:inline-block;opacity:.3;transition:opacity .15s,transform .15s}.sort-arrow.sort-none{border-left:4px solid transparent;border-right:4px solid transparent;border-bottom:5px solid currentColor;margin-top:-3px}.sort-arrow.sort-none:after{content:"";position:absolute;top:7px;left:-4px;border-left:4px solid transparent;border-right:4px solid transparent;border-top:5px solid currentColor}.sort-arrow.sort-asc{border-left:4px solid transparent;border-right:4px solid transparent;border-bottom:5px solid currentColor;opacity:1}.sort-arrow.sort-desc{border-left:4px solid transparent;border-right:4px solid transparent;border-top:5px solid currentColor;opacity:1}.table th.sortable:hover .sort-arrow{opacity:.7}.table th.sortable .sort-arrow.sort-asc,.table th.sortable .sort-arrow.sort-desc{opacity:1}.muted{color:var(--text-muted)}.faint{color:var(--text-faint)}.center{text-align:center}.flex{display:flex}.flex-1{flex:1}.gap-2{gap:8px}.gap-4{gap:16px}.mt-2{margin-top:8px}.mt-4{margin-top:16px}.mt-8{margin-top:32px}.mb-2{margin-bottom:8px}.mb-4{margin-bottom:16px}.spinner{display:inline-block;width:16px;height:16px;border:2px solid var(--border);border-top-color:var(--navy);border-radius:50%;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.data-table{width:100%}.btn-gold{background:var(--gold, #B8974A);color:#fff;border:1px solid var(--gold, #B8974A)}.btn-gold:hover:not(:disabled){background:#a08139;border-color:#a08139}
