@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&display=swap";@import"https://fonts.googleapis.com/css2?family=Roboto:wght@400;700&family=Roboto+Condensed:wght@400;700&family=Roboto+Mono:wght@400;700&family=Roboto+Slab:wght@400;700&family=Noto+Sans:wght@400;700&family=Noto+Serif:wght@400;700&family=Noto+Sans+Mono:wght@400;700&family=Open+Sans:wght@400;700&family=Lato:wght@400;700&family=Nunito:wght@400;700&family=Montserrat:wght@400;700&family=Raleway:wght@400;700&family=PT+Sans:wght@400;700&family=Oswald:wght@400;700&family=Merriweather:wght@400;700&family=Playfair+Display:wght@400;700&family=Ubuntu:wght@400;700&family=Poppins:wght@400;700&family=Work+Sans:wght@400;700&display=swap";.toast-host[data-v-8cb74c18]{position:fixed;top:16px;right:16px;z-index:4000;display:flex;flex-direction:column;gap:10px;width:360px;max-width:calc(100vw - 32px);pointer-events:none}.toast[data-v-8cb74c18]{pointer-events:auto;display:flex;align-items:flex-start;gap:10px;box-shadow:var(--shadow-hover);padding:12px 12px 12px 14px;border-radius:var(--radius-input);border:1px solid transparent;font-size:13px}.toast-error[data-v-8cb74c18]{background:var(--err-bg);color:var(--err-fg);border-color:var(--err-border)}.toast-success[data-v-8cb74c18]{background:var(--ok-bg);color:var(--ok-fg);border-color:var(--ok-border)}.toast-warn[data-v-8cb74c18]{background:var(--warn-bg);color:var(--warn-fg);border-color:var(--warn-border)}.toast-info[data-v-8cb74c18]{background:var(--info-bg);color:var(--info-fg);border-color:var(--info-border)}.toast-icon[data-v-8cb74c18]{flex-shrink:0;width:18px;height:18px;margin-top:1px;display:flex;align-items:center;justify-content:center;border-radius:50%;font-size:11px;font-weight:900;line-height:1;border:1.5px solid currentColor}.toast-body[data-v-8cb74c18]{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.toast-title[data-v-8cb74c18]{font-size:13px;font-weight:700}.toast-desc[data-v-8cb74c18]{font-size:12px;line-height:1.45;opacity:.92;word-break:break-word}.toast-code[data-v-8cb74c18]{margin-top:2px;font-family:var(--font-mono);font-size:10.5px;letter-spacing:.04em;opacity:.8}.toast-code strong[data-v-8cb74c18]{font-weight:700}.toast-close[data-v-8cb74c18]{flex-shrink:0;background:transparent;border:none;cursor:pointer;color:inherit;opacity:.6;font-size:12px;padding:2px 4px;line-height:1}.toast-close[data-v-8cb74c18]:hover{opacity:1}.toast-enter-active[data-v-8cb74c18],.toast-leave-active[data-v-8cb74c18]{transition:all .22s cubic-bezier(.4,0,.2,1)}.toast-enter-from[data-v-8cb74c18],.toast-leave-to[data-v-8cb74c18]{opacity:0;transform:translate(16px)}.toast-leave-active[data-v-8cb74c18]{position:absolute;right:0;width:100%}.dlg-backdrop[data-v-4a707f50]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200;background:#0000008c;display:flex;align-items:center;justify-content:center;padding:20px}.dlg[data-v-4a707f50]{width:min(440px,92vw);background:var(--surface, #1a1a1a);border:1px solid var(--border, #2a2a2a);border-radius:14px;padding:24px;box-shadow:0 24px 60px #00000073}.dlg-head[data-v-4a707f50]{display:flex;align-items:center;gap:12px}.dlg-head h2[data-v-4a707f50]{font-size:16px;font-weight:600}.dlg-icon.danger[data-v-4a707f50]{flex:none;width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:#ff5a5a26;color:var(--red, #ef4444);font-weight:700}.dlg-msg[data-v-4a707f50]{margin-top:10px;font-size:13px;color:var(--text-muted);line-height:1.55;white-space:pre-line}.dlg-require[data-v-4a707f50]{margin-top:12px;font-size:12px;color:var(--text-muted)}.dlg-require code[data-v-4a707f50]{font-family:var(--font-mono, monospace);color:var(--red, #ef4444);background:#ef44441f;padding:1px 6px;border-radius:5px}.dlg-input[data-v-4a707f50]{margin-top:16px;width:100%;background:var(--bg, #111);border:1px solid var(--border, #2a2a2a);border-radius:8px;padding:10px 12px;color:inherit;font-size:14px}.dlg-input[data-v-4a707f50]:focus{outline:none;border-color:var(--accent, #4a8cff)}.dlg-actions[data-v-4a707f50]{margin-top:22px;display:flex;justify-content:flex-end;gap:10px}.btn-ghost[data-v-4a707f50]{background:none;border:1px solid var(--border, #2a2a2a);color:inherit;border-radius:8px;padding:9px 16px;font-size:13px;cursor:pointer}.btn-confirm[data-v-4a707f50]{background:var(--accent, #4a8cff);color:#fff;border:none;border-radius:8px;padding:9px 18px;font-size:13px;font-weight:600;cursor:pointer}.btn-confirm.danger[data-v-4a707f50]{background:var(--red, #ef4444)}.btn-confirm[data-v-4a707f50]:disabled{opacity:.5;cursor:not-allowed}.dlg-enter-active[data-v-4a707f50],.dlg-leave-active[data-v-4a707f50]{transition:opacity .18s ease}.dlg-enter-active .dlg[data-v-4a707f50],.dlg-leave-active .dlg[data-v-4a707f50]{transition:transform .18s ease}.dlg-enter-from[data-v-4a707f50],.dlg-leave-to[data-v-4a707f50]{opacity:0}.dlg-enter-from .dlg[data-v-4a707f50],.dlg-leave-to .dlg[data-v-4a707f50]{transform:translateY(8px) scale(.98)}:root{--brand: #06b6d4;--brand-hover: #0891b2;--brand-light: #22d3ee;--brand-subtle: #67e8f9;--brand-dim: #083344;--brand-mid: #0e7490;--brand-border: rgba(6, 182, 212, .3);--bg-base: #14110d;--bg-surface: #211d17;--bg-elevated: #2d281f;--bg-overlay: #383229;--border: #342e25;--border-muted: #443c31;--border-strong: #5e5446;--text-primary: #f7f4ef;--text-secondary: #b4aca0;--text-muted: #8a8176;--green: #22c55e;--green-dim: #052e16;--purple: #a855f7;--purple-dim: #3b0764;--amber: #f59e0b;--amber-dim: #451a03;--red: #ef4444;--red-dim: #450a0a;--blue: #3b82f6;--blue-dim: #172554;--orange: #f97316;--font-sans: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-mono: "SF Mono", "Fira Code", "Cascadia Code", monospace;--radius-card: 12px;--radius-input: 8px;--radius-chip: 20px;--radius-lg: 16px;--transition: .15s cubic-bezier(.4,0,.2,1);--transition-slow: .25s cubic-bezier(.4,0,.2,1);--shadow-card: 0 1px 2px rgba(20,14,8,.05), 0 6px 16px rgba(20,14,8,.1);--shadow-brand: 0 6px 20px rgba(6,182,212,.22);--shadow-hover: 0 10px 30px rgba(20,14,8,.22);--bg-app: #16130f;--blue-light: #93c5fd;--ok-bg: rgba(34,197,94,.12);--ok-fg: #4ade80;--ok-border: rgba(34,197,94,.32);--err-bg: rgba(239,68,68,.12);--err-fg: #fca5a5;--err-border: rgba(239,68,68,.34);--warn-bg: rgba(245,158,11,.12);--warn-fg: #fcd34d;--warn-border: rgba(245,158,11,.32);--info-bg: rgba(6,182,212,.12);--info-fg: #67e8f9;--info-border: rgba(6,182,212,.32);--accent: var(--brand);--accent-hover: var(--brand-hover);--accent-tint: rgba(6, 182, 212, .14);--surface: var(--bg-surface);--bg: var(--bg-elevated);--text: var(--text-primary)}:root[data-theme=light]{--bg-base: #efeae1;--bg-surface: #fdfcf9;--bg-elevated: #f4f0e8;--bg-overlay: #ffffff;--bg-app: #efeae1;--border: #e0d8c8;--border-muted: #cfc5b2;--border-strong: #a89e8a;--text-primary: #1c1813;--text-secondary: #564f45;--text-muted: #837b6f;--brand-dim: #ecfeff;--brand-light: #0e7490;--shadow-card: 0 1px 2px rgba(90,68,38,.08), 0 6px 18px rgba(90,68,38,.1);--shadow-hover: 0 12px 30px rgba(90,68,38,.16);--shadow-brand: 0 6px 20px rgba(6,182,212,.18);--ok-bg: #ecfdf5;--ok-fg: #047857;--ok-border: #a7f3d0;--err-bg: #fef2f2;--err-fg: #b91c1c;--err-border: #fecaca;--warn-bg: #fffbeb;--warn-fg: #b45309;--warn-border: #fde68a;--info-bg: #ecfeff;--info-fg: #0e7490;--info-border: #a5f3fc;--green: #16a34a;--red: #dc2626}:root[data-theme=light] .chip-partner{color:#7e22ce;background:#a855f71f;border-color:#a855f752}:root[data-theme=light] .chip-customer{color:#15803d;background:#22c55e1f;border-color:#22c55e4d}:root[data-theme=light] .chip-owner{color:#b45309;background:#f59e0b24;border-color:#f59e0b57}:root[data-theme=light] .chip-admin{color:#1d4ed8;background:#3b82f61f;border-color:#3b82f652}:root[data-theme=light] .badge-child{color:#1d4ed8}:root[data-theme=light] .badge-grandchild{color:#7e22ce}:root[data-theme=light]{--status-ok-fg: #15803d;--status-ok-bg: #dcfce7;--status-ok-bd: #86efac;--status-warn-fg: #b45309;--status-warn-bg: #fef3c7;--status-warn-bd: #fcd34d;--status-err-fg: #b91c1c;--status-err-bg: #fee2e2;--status-err-bd: #fca5a5}:root[data-theme=light] .status-success{background:var(--status-ok-bg);color:var(--status-ok-fg);border-color:var(--status-ok-bd)}:root[data-theme=light] .status-denied{background:var(--status-warn-bg);color:var(--status-warn-fg);border-color:var(--status-warn-bd)}:root[data-theme=light] .status-error{background:var(--status-err-bg);color:var(--status-err-fg);border-color:var(--status-err-bd)}:root[data-theme=light] .action-login,:root[data-theme=light] .action-create{color:#15803d}:root[data-theme=light] .action-delete,:root[data-theme=light] .action-deactivate{color:#b45309}:root[data-theme=light] .action-access_denied,:root[data-theme=light] .action-login_failed{color:#b91c1c}:root[data-theme=light] .chip-active{background:var(--status-ok-bg);color:var(--status-ok-fg);border-color:var(--status-ok-bd)}:root[data-theme=light] .verified-yes{color:#15803d}:root[data-theme=light] .btn-danger-solid{background:#fee2e2;color:#b91c1c;border-color:#fca5a5}:root[data-theme=light] .btn-danger-solid:hover:not(:disabled){background:#fecaca}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{height:100%;font-size:14px}body{font-family:var(--font-sans);font-size:14px;line-height:1.5;color:var(--text-primary);background-color:var(--bg-base);min-height:100%;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#app{height:100%}a{color:var(--brand-light);text-decoration:none}a:hover{text-decoration:underline}::-webkit-scrollbar{width:5px;height:5px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border-muted);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--border-strong)}h1{font-size:2rem;font-weight:700;color:var(--text-primary);line-height:1.2}h2{font-size:1.5rem;font-weight:700;color:var(--text-primary);line-height:1.3}h3{font-size:1.1rem;font-weight:700;color:var(--text-primary)}p{margin:0 0 1rem;line-height:1.5}p:last-child{margin-bottom:0}code,pre,.mono{font-family:var(--font-mono);font-size:12px}.interactive-action{transition:transform var(--transition),box-shadow var(--transition)}.interactive-action:hover{transform:scale(1.12) translateY(-2px);box-shadow:var(--shadow-hover);z-index:10}.interactive-action:active{transform:scale(.96)}.btn{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;border-radius:var(--radius-input);font-size:13px;font-weight:600;font-family:var(--font-sans);cursor:pointer;border:1px solid transparent;transition:background var(--transition),border-color var(--transition),box-shadow var(--transition),transform var(--transition);white-space:nowrap;-webkit-user-select:none;user-select:none;line-height:1.4}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--brand);color:#fff;border-color:var(--brand)}.btn-primary:hover:not(:disabled){background:var(--brand-hover);border-color:var(--brand-hover);box-shadow:var(--shadow-brand)}.btn-ghost{background:transparent;color:var(--text-secondary);border-color:var(--border-muted)}.btn-ghost:hover:not(:disabled){background:var(--bg-elevated);color:var(--text-primary);border-color:var(--border-strong)}.btn-danger{background:transparent;color:var(--text-secondary);border-color:var(--border-muted)}.btn-danger:hover:not(:disabled){background:var(--red-dim);color:#fca5a5;border-color:#ef444459}.btn-full{width:100%;justify-content:center}.input{width:100%;padding:9px 13px;background:var(--bg-elevated);border:1px solid var(--border-muted);border-radius:var(--radius-input);color:var(--text-primary);font-size:14px;font-family:var(--font-sans);outline:none;transition:border-color var(--transition),box-shadow var(--transition)}.input::placeholder{color:var(--text-muted)}.input:focus{border-color:var(--brand);box-shadow:0 0 0 3px #06b6d42e}.input:disabled{opacity:.5;cursor:not-allowed}.card{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-card);padding:1.25rem;box-shadow:var(--shadow-card)}.chip{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border-radius:var(--radius-chip);font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;white-space:nowrap}.chip-company{background:var(--brand-dim);color:var(--brand-light);border:1px solid var(--brand-border)}.chip-partner{background:#a855f724;color:#c084fc;border:1px solid rgba(168,85,247,.3)}.chip-customer{background:#22c55e1f;color:#4ade80;border:1px solid rgba(34,197,94,.28)}.chip-owner{background:#f59e0b24;color:#fcd34d;border:1px solid rgba(245,158,11,.3)}.chip-admin{background:#3b82f624;color:#93c5fd;border:1px solid rgba(59,130,246,.3)}.chip-member{background:#a1a1aa1a;color:var(--text-secondary);border:1px solid var(--border-muted)}.chip-viewer{background:#71717a1a;color:var(--text-muted);border:1px solid var(--border)}.chip-role-default{background:#0e74901f;color:var(--brand-light);border:1px solid var(--brand-border)}.badge{display:inline-flex;align-items:center;padding:1px 6px;border-radius:4px;font-size:10px;font-weight:700;font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.06em}.badge-self{background:var(--brand-dim);color:var(--brand-light);border:1px solid var(--brand-border)}.badge-child{background:#3b82f61f;color:#93c5fd;border:1px solid rgba(59,130,246,.25)}.badge-grandchild{background:#a855f71f;color:#c084fc;border:1px solid rgba(168,85,247,.25)}.alert{display:flex;align-items:flex-start;gap:8px;padding:10px 12px;border-radius:var(--radius-input);font-size:13px;line-height:1.45;border:1px solid transparent}.alert svg{flex-shrink:0;margin-top:1px}.alert-error{background:var(--err-bg);color:var(--err-fg);border-color:var(--err-border)}.alert-success{background:var(--ok-bg);color:var(--ok-fg);border-color:var(--ok-border)}.alert-warn{background:var(--warn-bg);color:var(--warn-fg);border-color:var(--warn-border)}.alert-info{background:var(--info-bg);color:var(--info-fg);border-color:var(--info-border)}@keyframes fadeIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@keyframes slideIn{0%{opacity:0;transform:translate(-8px)}to{opacity:1;transform:translate(0)}}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.fade-in{animation:fadeIn .2s ease forwards}.slide-in{animation:slideIn .2s ease forwards}.skeleton{background:linear-gradient(90deg,var(--bg-elevated) 25%,var(--border-muted) 50%,var(--bg-elevated) 75%);background-size:200% 100%;animation:shimmer 1.6s infinite;border-radius:4px}.text-muted{color:var(--text-muted)}.text-secondary{color:var(--text-secondary)}.text-primary{color:var(--text-primary)}.text-brand{color:var(--brand)}.text-green{color:var(--green)}.text-red{color:var(--red)}.text-amber{color:var(--amber)}.mono{font-family:var(--font-mono)}.icon-btn{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;flex:0 0 auto;border:none;background:transparent;color:var(--text-secondary);border-radius:8px;cursor:pointer;transition:background var(--transition),color var(--transition)}.icon-btn:hover{color:var(--text-primary);background:color-mix(in srgb,var(--text-primary) 10%,transparent)}.icon-btn:active{background:color-mix(in srgb,var(--text-primary) 16%,transparent)}.icon-btn:focus-visible{outline:none;box-shadow:0 0 0 2px var(--brand-border)}.icon-btn:disabled{opacity:.45;cursor:not-allowed}.icon-btn.danger:hover{color:var(--red);background:color-mix(in srgb,var(--red) 15%,transparent)}.icon-btn.ok:hover{color:var(--green);background:color-mix(in srgb,var(--green) 15%,transparent)}.icon-btn-sm{width:24px;height:24px;border-radius:6px}.icon-btn-lg{width:32px;height:32px}.row-actions{display:inline-flex;align-items:center;gap:4px}.reveal-actions .row-actions{opacity:0;transition:opacity var(--transition)}.reveal-actions:hover .row-actions,.reveal-actions:focus-within .row-actions{opacity:1}@media(hover:none){.reveal-actions .row-actions{opacity:1}}.pills{display:inline-flex;align-items:center;gap:6px}.pill{display:inline-flex;align-items:center;gap:5px;background:var(--bg-surface);border:1px solid var(--border);color:var(--text-secondary);border-radius:999px;padding:6px 12px;font-size:12px;font-weight:600;cursor:pointer;white-space:nowrap;transition:background var(--transition),color var(--transition),border-color var(--transition)}.pill:hover{border-color:var(--border-muted);color:var(--text-primary);background:var(--bg-elevated)}.pill.on{background:var(--brand);border-color:transparent;color:#fff}.pill:focus-visible{outline:none;box-shadow:0 0 0 2px var(--brand-border)}.pill-n{display:inline-block;min-width:16px;padding:0 5px;border-radius:999px;background:var(--bg-base);color:var(--text-muted);font-size:10.5px;font-weight:700;line-height:16px;text-align:center;font-variant-numeric:tabular-nums}.pill.on .pill-n{background:#ffffff38;color:#fff}.field{display:flex;align-items:center;gap:8px;background:var(--bg-elevated);border:1px solid var(--border-muted);border-radius:var(--radius-input);padding:0 11px;color:var(--text-muted);transition:border-color var(--transition),box-shadow var(--transition)}.field:focus-within{border-color:var(--brand);box-shadow:0 0 0 3px #06b6d42e}.field input{flex:1;background:none;border:none;outline:none;color:var(--text-primary);font:inherit;font-size:13px;padding:9px 0}.field input::placeholder{color:var(--text-muted)}.field:has(>span){display:flex;flex-direction:column;align-items:stretch;gap:6px;background:none;border:none;padding:0;color:inherit;font-size:12px}.field:has(>span)>span{color:var(--text-muted);font-weight:500}.field:has(>span) input,.field:has(>span) select,.field:has(>span) textarea{width:100%;box-sizing:border-box;flex:none;background:var(--bg-elevated);border:1px solid var(--border-muted);border-radius:var(--radius-input);padding:9px 11px;color:var(--text-primary);font:inherit;font-size:13px;transition:border-color var(--transition),box-shadow var(--transition)}.field:has(>span) input:focus,.field:has(>span) select:focus,.field:has(>span) textarea:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 3px #06b6d42e}.btn-outline{background:transparent;color:var(--text-primary);border-color:var(--border-muted)}.btn-outline:hover:not(:disabled){background:var(--bg-elevated);border-color:var(--border-strong)}.btn-sm{padding:4px 10px;font-size:12px}.btn-icon{padding:6px;gap:0}.view-root{padding:32px 36px;display:flex;flex-direction:column;gap:28px;animation:fadeIn .2s ease}.view-header{display:flex;flex-direction:column;gap:4px}.view-title-row{display:flex;align-items:center;gap:12px}.view-subtitle{font-size:13px;color:var(--text-muted)}.count-badge{display:inline-flex;align-items:center;justify-content:center;min-width:24px;height:22px;padding:0 8px;background:var(--bg-elevated);border:1px solid var(--border);border-radius:20px;font-size:12px;font-weight:600;color:var(--text-secondary)}.toolbar{display:flex;gap:12px;align-items:center}.toolbar-spacer{flex:1}.panel{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-card);box-shadow:var(--shadow-card)}.panel-pad{padding:16px 18px}.section-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-bottom:10px;margin-bottom:14px;border-bottom:1px solid var(--border)}.section-title{font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted)}.divider{height:1px;background:var(--border);border:0;margin:0}.empty-state{display:flex;flex-direction:column;align-items:center;gap:12px;padding:60px 24px;text-align:center}.empty-icon{color:var(--text-muted)}.empty-text{font-size:14px;color:var(--text-secondary)}.empty-hint{font-size:12px;color:var(--text-muted)}@media(max-width:768px){.main-scroll{overflow-x:hidden}.view-root{padding:18px 16px!important}.users-table-wrap,.table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}.users-table,.audit-table,.grid{min-width:560px}.modal{width:min(560px,94vw)!important}}
