.app-alert-backdrop[data-v-2b9361c6]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:20000;display:flex;align-items:center;justify-content:center;padding:1.25rem;background:#00000073;box-sizing:border-box}.app-alert-dialog[data-v-2b9361c6]{width:min(400px,100%);max-height:min(70vh,480px);overflow:auto;background:var(--bg-panel, #151b28);border:1px solid var(--border, #2a3444);border-radius:var(--radius, 12px);padding:1.25rem 1.35rem;box-shadow:0 16px 48px #00000073}.app-alert-message[data-v-2b9361c6]{margin:0 0 1.15rem;font-size:.95rem;line-height:1.55;color:var(--text, #e8ecf4);white-space:pre-wrap;word-break:break-word}.app-alert-actions[data-v-2b9361c6]{display:flex;justify-content:flex-end;gap:.5rem}.app-alert-actions--confirm .btn-primary[data-v-2b9361c6],.app-alert-actions--confirm .btn-ghost[data-v-2b9361c6]{min-width:5.5rem;padding:.5rem 1rem;margin:0;width:auto}.app-alert-actions:not(.app-alert-actions--confirm) .btn-primary[data-v-2b9361c6]{min-width:5.5rem;padding:.5rem 1rem;margin:0;width:auto}.app-alert-fade-enter-active[data-v-2b9361c6],.app-alert-fade-leave-active[data-v-2b9361c6]{transition:opacity .18s ease}.app-alert-fade-enter-active .app-alert-dialog[data-v-2b9361c6],.app-alert-fade-leave-active .app-alert-dialog[data-v-2b9361c6]{transition:transform .18s ease,opacity .18s ease}.app-alert-fade-enter-from[data-v-2b9361c6],.app-alert-fade-leave-to[data-v-2b9361c6]{opacity:0}.app-alert-fade-enter-from .app-alert-dialog[data-v-2b9361c6],.app-alert-fade-leave-to .app-alert-dialog[data-v-2b9361c6]{opacity:0;transform:scale(.96) translateY(6px)}.global-loading-root[data-v-7d1bd0b6]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:15000;display:grid;place-items:center;background:#0b122094;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);pointer-events:all}.global-loading-card[data-v-7d1bd0b6]{display:flex;flex-direction:column;align-items:center;gap:.75rem;padding:1.25rem 1.75rem;border-radius:var(--radius-sm, 8px);background:var(--bg-panel, #111827);border:1px solid var(--border, rgba(148, 163, 184, .15));box-shadow:var(--shadow, 0 18px 50px rgba(0, 0, 0, .45))}.global-loading-spinner[data-v-7d1bd0b6]{width:40px;height:40px;border-radius:50%;border:3px solid rgba(245,158,11,.25);border-top-color:var(--accent, #f59e0b);animation:global-loading-spin-7d1bd0b6 .75s linear infinite}.global-loading-text[data-v-7d1bd0b6]{font-size:.88rem;color:var(--text-muted, #94a3b8)}@keyframes global-loading-spin-7d1bd0b6{to{transform:rotate(360deg)}}.global-loading-fade-enter-active[data-v-7d1bd0b6],.global-loading-fade-leave-active[data-v-7d1bd0b6]{transition:opacity .18s ease}.global-loading-fade-enter-from[data-v-7d1bd0b6],.global-loading-fade-leave-to[data-v-7d1bd0b6]{opacity:0}.pending-notice-modal[data-v-e8f9d004]{max-width:520px}.pending-notice-backdrop{z-index:20000}.intro[data-v-e8f9d004]{margin:0 0 1rem;font-size:.9rem;line-height:1.5}.notice-block+.notice-block[data-v-e8f9d004]{margin-top:1rem}.notice-block-title[data-v-e8f9d004]{display:flex;align-items:center;gap:.5rem;margin:0 0 .5rem;font-size:.95rem}.notice-list[data-v-e8f9d004]{margin:0;padding:0;list-style:none;max-height:180px;overflow:auto;border:1px solid rgba(148,163,184,.18);border-radius:10px}.notice-list li[data-v-e8f9d004]{padding:.55rem .75rem;font-size:.84rem;line-height:1.45;border-bottom:1px solid rgba(148,163,184,.1)}.notice-list li[data-v-e8f9d004]:last-child{border-bottom:none}.notice-main[data-v-e8f9d004]{font-weight:700}.notice-time[data-v-e8f9d004]{display:block;margin-top:.15rem;font-size:.78rem}:root{--bg-deep: #0b1220;--bg-panel: #111827;--bg-elevated: #1a2332;--border: rgba(148, 163, 184, .12);--text: #e5e7eb;--text-muted: #94a3b8;--accent: #f59e0b;--accent-soft: rgba(245, 158, 11, .15);--cyan: #22d3ee;--success: #34d399;--warning: #fbbf24;--danger: #f87171;--radius: 12px;--radius-sm: 8px;--shadow: 0 18px 50px rgba(0, 0, 0, .45);--font: "DM Sans", "Segoe UI", system-ui, -apple-system, sans-serif;--font-nums: ui-monospace, "Segoe UI Mono", "Cascadia Mono", "SF Mono", Menlo, Consolas, "PingFang SC", "Microsoft YaHei UI", "Microsoft YaHei", sans-serif;--scrollbar-size: 8px;--scrollbar-thumb: rgba(148, 163, 184, .32);--scrollbar-thumb-hover: rgba(148, 163, 184, .5);--scrollbar-track: transparent}*,*:before,*:after{box-sizing:border-box}html{font-size:15px}body{margin:0;min-height:100vh;font-family:var(--font);background:radial-gradient(1200px 600px at 10% -10%,rgba(34,211,238,.08),transparent),radial-gradient(900px 500px at 100% 0%,rgba(245,158,11,.06),transparent),var(--bg-deep);color:var(--text);line-height:1.5}*,html,body{scrollbar-width:thin;scrollbar-color:var(--scrollbar-thumb) var(--scrollbar-track)}*::-webkit-scrollbar{width:var(--scrollbar-size);height:var(--scrollbar-size)}*::-webkit-scrollbar-track{background:var(--scrollbar-track)}*::-webkit-scrollbar-thumb{background-color:var(--scrollbar-thumb);border-radius:999px;border:2px solid transparent;background-clip:padding-box}*::-webkit-scrollbar-thumb:hover{background-color:var(--scrollbar-thumb-hover)}*::-webkit-scrollbar-corner{background:transparent}a{color:inherit;text-decoration:none}.login-page{min-height:100vh;display:grid;place-items:center;padding:24px}.login-card{width:min(420px,100%);background:var(--bg-panel);border:1px solid var(--border);border-radius:calc(var(--radius) + 4px);padding:2rem;box-shadow:var(--shadow)}.login-brand{display:flex;align-items:center;gap:12px;margin-bottom:1.5rem}.login-brand-icon{width:48px;height:48px;border-radius:14px;background:#fff;border:1px solid var(--border);display:grid;place-items:center;overflow:hidden;padding:5px;box-sizing:border-box;flex-shrink:0}.brand-logo-img{width:100%;height:100%;object-fit:contain;display:block}.login-brand h1{margin:0;font-size:1.35rem;font-weight:700;letter-spacing:-.02em}.login-brand p{margin:0;font-size:.85rem;color:var(--text-muted)}.field{margin-bottom:1rem}.field label{display:block;font-size:.8rem;color:var(--text-muted);margin-bottom:.35rem}.field input:not([type=checkbox]):not([type=radio]){width:100%;padding:.65rem .85rem;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--bg-elevated);color:var(--text);font:inherit}.field input:not([type=checkbox]):not([type=radio]):focus{outline:none;border-color:#f59e0b73;box-shadow:0 0 0 3px var(--accent-soft)}.field textarea{width:100%;min-height:5.5rem;padding:.65rem .85rem;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--bg-elevated);color:var(--text);font:inherit;line-height:1.5;resize:vertical;box-sizing:border-box}.field textarea:focus{outline:none;border-color:#f59e0b73;box-shadow:0 0 0 3px var(--accent-soft)}.field textarea::placeholder{color:var(--text-muted);opacity:.85}.admin-layout input[type=number],.admin-layout input[type=date],.admin-layout input[type=datetime-local],.admin-layout input[type=time],.admin-layout input[type=month]{font-family:var(--font-nums);font-variant-numeric:tabular-nums;font-feature-settings:"tnum" 1}.field>label:has(>input[type=checkbox]){display:flex;flex-direction:row;align-items:center;gap:.625rem;margin-bottom:0;font-size:.9rem;font-weight:500;color:var(--text);cursor:pointer;min-height:2.5rem}.field input[type=checkbox]{width:1.05rem;height:1.05rem;margin:0;padding:0;flex-shrink:0;border-radius:4px;accent-color:var(--accent);cursor:pointer}.field input[type=radio]{width:1rem;height:1rem;margin:0;accent-color:var(--accent);cursor:pointer}.field .field-label-text{display:block;font-size:.8rem;color:var(--text-muted);margin-bottom:.35rem}.field label.field-check-row{display:flex;flex-direction:row;align-items:center;gap:.625rem;margin:0;font-size:.9rem;font-weight:500;color:var(--text);cursor:pointer;min-height:2.5rem}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;padding:.55rem 1rem;border-radius:var(--radius-sm);border:1px solid transparent;font:inherit;font-weight:600;cursor:pointer;transition:transform .12s ease,background .15s ease,border-color .15s ease}.btn:active{transform:scale(.98)}.btn-primary{background:linear-gradient(135deg,#f59e0b,#d97706);color:#0b1220}.btn-primary:hover{filter:brightness(1.05)}.login-card form .btn-primary,.login-card form button[type=submit].btn-primary{width:100%;padding:.75rem;margin-top:.5rem;box-sizing:border-box}.btn-ghost{background:transparent;border-color:var(--border);color:var(--text)}.btn-ghost:hover{background:var(--bg-elevated)}.btn-sm{padding:.35rem .65rem;font-size:.8rem}.btn-danger{background:#f8717126;border-color:#f8717159;color:#fecaca}.admin-layout{display:grid;grid-template-columns:260px 1fr;min-height:100vh;align-items:start}@media(max-width:1024px){.admin-layout{grid-template-columns:72px 1fr}.sidebar .nav-label,.sidebar .brand-text{display:none}.sidebar .brand{justify-content:center}}.sidebar{position:sticky;top:0;height:100vh;max-height:100vh;background:var(--bg-panel);border-right:1px solid var(--border);padding:1rem .75rem 0;display:flex;flex-direction:column;gap:.5rem;overflow:hidden;box-sizing:border-box}.sidebar nav{flex:1;min-height:0;overflow-y:auto;padding-bottom:.25rem}.sidebar-footer{flex-shrink:0;padding:.75rem 0;margin-top:auto;border-top:1px solid var(--border)}.sidebar-logout-btn{width:100%;justify-content:center}.sidebar .brand{display:flex;align-items:center;gap:10px;padding:.5rem .75rem 1rem;border-bottom:1px solid var(--border);margin-bottom:.5rem}.sidebar .brand-icon{width:40px;height:40px;border-radius:10px;background:#fff;border:1px solid var(--border);display:grid;place-items:center;overflow:hidden;padding:4px;box-sizing:border-box;flex-shrink:0}.sidebar nav a{display:flex;align-items:center;gap:10px;padding:.65rem .75rem;border-radius:var(--radius-sm);color:var(--text-muted);font-size:.92rem}.sidebar nav a:hover,.sidebar nav a.active{background:var(--bg-elevated);color:var(--text)}.sidebar nav a.active{border-left:3px solid var(--accent);padding-left:calc(.75rem - 3px)}.sidebar nav svg{width:20px;height:20px;flex-shrink:0}.main-wrap{display:flex;flex-direction:column;min-width:0}.topbar{height:56px;padding:0 1.25rem;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--border);background:#111827d9;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);position:sticky;top:0;z-index:10}.topbar h2{margin:0;font-size:1.1rem;font-weight:600}.topbar-actions{display:flex;align-items:center;gap:.75rem}.avatar-pill{display:flex;align-items:center;gap:8px;padding:4px 10px 4px 4px;border-radius:999px;background:var(--bg-elevated);border:1px solid var(--border);font-size:.85rem}.avatar-pill img{width:28px;height:28px;border-radius:50%;object-fit:cover}.content{padding:1.25rem;flex:1;font-variant-numeric:tabular-nums;font-feature-settings:"tnum" 1}.grid{display:grid;gap:1rem}.grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}@media(max-width:1200px){.grid-4{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:640px){.grid-4{grid-template-columns:1fr}}.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}@media(max-width:900px){.grid-2{grid-template-columns:1fr}}.card{background:var(--bg-panel);border:1px solid var(--border);border-radius:var(--radius);padding:1rem 1.15rem;box-shadow:0 4px 24px #0003}.card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem;gap:1rem;flex-wrap:wrap}.card-title{margin:0;font-size:1rem;font-weight:600}.stat-card .label{font-size:.8rem;color:var(--text-muted);margin:0 0 .25rem}.stat-card .value{font-size:1.45rem;font-weight:700;margin:0;letter-spacing:-.02em;font-family:var(--font-nums);font-variant-numeric:tabular-nums;font-feature-settings:"tnum" 1}.stat-card .hint{font-size:.75rem;color:var(--text-muted);margin:.35rem 0 0}.admin-layout .card p.value{font-family:var(--font-nums);font-variant-numeric:tabular-nums;font-feature-settings:"tnum" 1}.table-wrap{overflow-x:auto;border-radius:var(--radius-sm);border:1px solid var(--border)}table.data-table{width:100%;border-collapse:collapse;font-size:.88rem;font-variant-numeric:tabular-nums;font-feature-settings:"tnum" 1}.data-table thead th{font-variant-numeric:tabular-nums;font-feature-settings:"tnum" 1}.data-table tbody td{font-family:var(--font-nums);font-variant-numeric:tabular-nums;font-feature-settings:"lnum" 1,"tnum" 1}.admin-layout table.data-table tbody td .btn{font-family:var(--font);font-variant-numeric:normal;font-feature-settings:normal}.data-table .cell-datetime,.data-table .rbac-time-cell{font-family:var(--font-nums);font-variant-numeric:tabular-nums;font-feature-settings:"tnum" 1;letter-spacing:0}.data-table th,.data-table td{padding:.65rem .85rem;text-align:left;border-bottom:1px solid var(--border)}.data-table th{background:var(--bg-elevated);color:var(--text-muted);font-weight:600;white-space:nowrap}.data-table tbody tr:hover{background:#ffffff08}.data-table tbody tr:last-child td{border-bottom:none}.data-table td.table-actions{white-space:nowrap}.data-table td.table-actions .btn+.btn{margin-left:.25rem}table.data-table.ledger-table{table-layout:fixed}.ledger-table th:nth-child(1),.ledger-table td:nth-child(1){width:8.5rem}.ledger-table th:nth-child(2),.ledger-table td:nth-child(2){width:7.5rem}.ledger-table th:nth-child(3),.ledger-table td:nth-child(3){width:13rem}.ledger-table th:nth-child(4),.ledger-table td:nth-child(4){width:13rem}.ledger-table th:nth-child(5),.ledger-table td:nth-child(5){width:auto;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}table.data-table.finance-ledger-table{table-layout:fixed}.finance-ledger-table th:nth-child(1),.finance-ledger-table td:nth-child(1){width:5rem}.finance-ledger-table th:nth-child(2),.finance-ledger-table td:nth-child(2){width:5rem}.finance-ledger-table th:nth-child(3),.finance-ledger-table td:nth-child(3){width:15rem}.finance-ledger-table th:nth-child(4),.finance-ledger-table td:nth-child(4){width:7rem}.finance-ledger-table th:nth-child(5),.finance-ledger-table td:nth-child(5){width:15rem}.finance-ledger-table th:nth-child(6),.finance-ledger-table td:nth-child(6){width:15rem}.finance-ledger-table th:nth-child(7),.finance-ledger-table td:nth-child(7){overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.finance-ledger-table th:nth-child(8),.finance-ledger-table td:nth-child(8){width:12rem}.badge{display:inline-flex;align-items:center;padding:.15rem .5rem;border-radius:999px;font-size:.72rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em}.badge-success{background:#34d39926;color:var(--success)}.badge-warning{background:#fbbf2426;color:var(--warning)}.badge-danger{background:#f8717126;color:var(--danger)}.badge-neutral{background:#94a3b81f;color:var(--text-muted)}.badge-cyan{background:#22d3ee1f;color:var(--cyan)}.progress{height:8px;border-radius:999px;background:var(--bg-elevated);overflow:hidden;min-width:80px}.progress>span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--cyan),var(--accent))}.toolbar{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center}.finance-toolbar-one-line{flex-wrap:nowrap;margin-bottom:1rem;gap:.35rem .45rem;overflow-x:auto;overflow-y:hidden;padding-bottom:.2rem;-webkit-overflow-scrolling:touch}.finance-toolbar-one-line .filter-label{font-size:.8rem;color:var(--text-muted);white-space:nowrap;flex-shrink:0}.finance-toolbar-one-line .filter-between{font-size:.8rem;flex-shrink:0}.finance-toolbar-one-line .finance-filter-select{min-width:5.75rem;flex-shrink:0}.finance-toolbar-one-line .finance-filter-date{min-width:7.75rem;max-width:9rem;flex-shrink:0}.finance-toolbar-one-line .btn,.finance-toolbar-one-line select.select{flex-shrink:0}.search-input{min-width:200px;padding:.45rem .75rem;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--bg-elevated);color:var(--text);font:inherit}.search-input[type=search]::-webkit-search-cancel-button{cursor:pointer;opacity:.7}.search-input[type=search]::-webkit-search-cancel-button:hover{opacity:1}.finance-toolbar-one-line .search-input.finance-toolbar-kw{flex:1 1 9rem;min-width:9rem;max-width:18rem}select.select{display:inline-block;width:auto;max-width:100%;min-height:2.5rem;padding:.55rem 2.5rem .55rem .85rem;border-radius:var(--radius-sm);border:1px solid var(--border);background-color:var(--bg-elevated);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' 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/svg%3E");background-repeat:no-repeat;background-position:right .55rem center;background-size:1.1rem 1.1rem;color:var(--text);font:inherit;font-weight:500;line-height:1.35;cursor:pointer;color-scheme:dark;appearance:none;-webkit-appearance:none;-moz-appearance:none;transition:border-color .15s ease,box-shadow .15s ease,background-color .15s ease}select.select::-ms-expand{display:none}select.select:hover:not(:disabled){border-color:#94a3b847;background-color:#1e2939}select.select:focus{outline:none;border-color:#f59e0b80;box-shadow:0 0 0 3px var(--accent-soft)}select.select:disabled{opacity:.55;cursor:not-allowed}select.select option{background-color:var(--bg-panel);color:var(--text);font-weight:500;padding:.35rem .5rem}.pagination{display:flex;align-items:center;justify-content:flex-end;gap:.5rem;margin-top:1rem;flex-wrap:wrap}.pagination>span:first-child{font-size:.85rem;color:var(--text-muted);margin-right:auto}.admin-layout .pagination>span:first-child{font-family:var(--font-nums);font-variant-numeric:tabular-nums;font-feature-settings:"tnum" 1}.pagination-pages{display:inline-flex;align-items:center;gap:.25rem;flex-wrap:wrap}.pagination-page{min-width:2rem;padding-left:.4rem;padding-right:.4rem;font-variant-numeric:tabular-nums}.pagination-page-active{background:var(--accent, #2563eb);color:#fff;border-color:transparent;cursor:default}.pagination-page-active:hover{background:var(--accent, #2563eb);color:#fff}.pagination-ellipsis{display:inline-flex;align-items:center;justify-content:center;min-width:1.25rem;color:var(--text-muted);font-size:.85rem;-webkit-user-select:none;user-select:none}.pagination-jump{display:inline-flex;align-items:center;gap:.35rem;margin-left:.15rem;padding:.12rem .2rem .12rem .65rem;border:1px solid var(--border);border-radius:var(--radius-sm);background:linear-gradient(180deg,#1a2332f2,#111827e6);box-shadow:inset 0 1px #ffffff08;transition:border-color .15s ease,box-shadow .15s ease}.pagination-jump:focus-within{border-color:#f59e0b73;box-shadow:0 0 0 3px var(--accent-soft)}.pagination-jump-label,.pagination-jump-suffix{font-size:.8rem;color:var(--text-muted);white-space:nowrap;-webkit-user-select:none;user-select:none}.pagination-jump-suffix{font-family:var(--font-nums);font-variant-numeric:tabular-nums;min-width:2.2rem}.pagination-jump-input{width:2.6rem;height:1.7rem;margin:0;padding:0 .25rem;border:1px solid transparent;border-radius:6px;background:#0b1220a6;color:var(--text);font-family:var(--font-nums);font-size:.85rem;font-variant-numeric:tabular-nums;text-align:center;outline:none;transition:background .15s ease,border-color .15s ease}.pagination-jump-input:hover:not(:disabled){background:#0b1220e6}.pagination-jump-input:focus{border-color:#f59e0b59;background:#0b1220f2}.pagination-jump-input:disabled{opacity:.55;cursor:not-allowed}.pagination-jump-go{height:1.7rem;margin:0;padding:0 .7rem;border:none;border-radius:6px;background:var(--accent);color:#111827;font-size:.78rem;font-weight:600;letter-spacing:.02em;cursor:pointer;transition:filter .15s ease,transform .1s ease}.pagination-jump-go:hover:not(:disabled){filter:brightness(1.08)}.pagination-jump-go:active:not(:disabled){transform:translateY(1px)}.pagination-jump-go:disabled{opacity:.55;cursor:not-allowed}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0000008c;display:none;align-items:center;justify-content:center;z-index:100;padding:1rem}.modal-backdrop.open{display:flex}.modal{width:min(520px,100%);max-height:90vh;overflow:auto;background:var(--bg-panel);border:1px solid var(--border);border-radius:var(--radius);padding:1.25rem;box-shadow:var(--shadow)}.modal.modal-lg{width:min(40rem,100%)}.modal.modal-xl{width:min(48rem,100%)}.modal.modal-2xl{width:min(60rem,100%)}.w-e-drop-panel,.w-e-bar-item-menus-container,.w-e-select-list,.w-e-modal,.w-e-full-screen-container{z-index:200!important}.wangeditor-wrap .w-e-text-container,.wangeditor-wrap .w-e-text-container [data-slate-editor],.wangeditor-wrap .w-e-text-container [contenteditable=true]{color:#0f172a!important;caret-color:#0f172a}.wangeditor-wrap .w-e-text-container p,.wangeditor-wrap .w-e-text-container span,.wangeditor-wrap .w-e-text-container li,.wangeditor-wrap .w-e-text-container h1,.wangeditor-wrap .w-e-text-container h2,.wangeditor-wrap .w-e-text-container h3{color:#0f172a!important}.wangeditor-wrap .w-e-text-placeholder{color:#64748b!important}.modal h3{margin:0 0 1rem;font-size:1.1rem}.modal input[type=number],.modal input[type=date],.modal input[type=datetime-local],.modal input[type=time],.modal input[type=month]{font-family:var(--font-nums);font-variant-numeric:tabular-nums;font-feature-settings:"tnum" 1}.modal .field input[readonly]:not([type=checkbox]):not([type=radio]){font-family:var(--font-nums);font-variant-numeric:tabular-nums;font-feature-settings:"tnum" 1}.modal-actions{display:flex;justify-content:flex-end;align-items:center;gap:.5rem;margin-top:1.25rem}.modal-actions .btn{min-width:6.25rem;min-height:2.375rem;padding:.5rem 1rem;font-size:.875rem;box-sizing:border-box}.modal-actions .btn-primary{width:auto;margin-top:0}.modal-actions.modal-actions-split{justify-content:space-between;align-items:center;flex-wrap:wrap;gap:.75rem}.modal-actions-split .modal-actions-right{display:flex;flex-wrap:wrap;gap:.5rem;justify-content:flex-end}.chart-box{position:relative;height:260px}.chart-box.sm{height:220px}.muted{color:var(--text-muted);font-size:.85rem}.tabs{display:flex;gap:.25rem;border-bottom:1px solid var(--border);margin-bottom:1rem}.tabs button{background:none;border:none;color:var(--text-muted);font:inherit;padding:.5rem .85rem;cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-1px}.tabs button.active{color:var(--accent);border-bottom-color:var(--accent)}.login-hint{margin-top:1rem;font-size:.8rem;color:var(--text-muted);text-align:center}.perm-pill{font-size:.72rem;padding:3px 10px;border-radius:999px;background:var(--bg-elevated);border:1px solid var(--border);max-width:140px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.perm-matrix{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:.5rem 1rem;max-height:360px;overflow:auto;padding:.25rem 0}.perm-matrix .perm-group-title{grid-column:1 / -1;font-size:.75rem;font-weight:700;color:var(--accent);margin-top:.75rem;text-transform:uppercase;letter-spacing:.06em}.perm-matrix .perm-group-title:first-child{margin-top:0}.perm-matrix label{display:flex;gap:.45rem;align-items:flex-start;font-size:.82rem;color:var(--text-muted);cursor:pointer}.perm-matrix label input{margin-top:.2rem;flex-shrink:0}.rbac-code{font-family:ui-monospace,monospace;font-size:.8rem;color:var(--cyan)}
