@charset "UTF-8";:root[data-theme=dark]{color-scheme:dark;--clr-bg: #0c1423;--clr-surface: #131f31;--clr-surface2: #17263b;--clr-surface3: #203650;--clr-border: #293c55;--clr-border-h: #45638a;--clr-primary: #75b8ff;--clr-primary-h: #a3d0ff;--clr-primary-d: #c2e0ff;--clr-accent: #86d1f5;--clr-gold: #75b8ff;--clr-success: #82d6ad;--clr-warning: #edc477;--clr-danger: #ffa1af;--clr-text: #e8f0fc;--clr-muted: #a1b2cb;--clr-faint: #8da3bf;--grad-primary: linear-gradient(120deg, #286fce, #2a75d1);--grad-text: linear-gradient(120deg, #f0f6ff, #aacdf3);--glass: linear-gradient(145deg, #17253a, #131f31);--highlight: inset 0 1px 0 rgba(174, 207, 250, .07);--ring: 0 0 0 4px rgba(117, 184, 255, .16);--shadow: 0 28px 80px -28px rgba(0, 0, 0, .65), 0 4px 18px rgba(0, 0, 0, .15);--shadow-glow: 0 8px 24px -7px rgba(38, 113, 211, .4)}:root[data-theme=dark] ::selection{color:#edf6ff;background:#2a507d}:root[data-theme=dark] *{scrollbar-color:#354f70 transparent}:root[data-theme=dark] ::-webkit-scrollbar-thumb{background:#354f70}:root[data-theme=dark] .auth-wrap{background:radial-gradient(ellipse at 0% 5%,#152c49,transparent 50%),radial-gradient(ellipse at 100% 90%,#142b40,transparent 50%),var(--clr-bg)}:root[data-theme=dark] .auth-wrap:before{background:#3a79cd1f}:root[data-theme=dark] .auth-wrap:after{background:#388abe1a}:root[data-theme=dark] .auth-shell{background:#131f31f5;border-color:#2b3e58;box-shadow:var(--shadow)}:root[data-theme=dark] .auth-card{background:var(--clr-surface)}:root[data-theme=dark] .auth-shell .auth-card{background:transparent}:root[data-theme=dark] .auth-aside{background:radial-gradient(ellipse at 95% 95%,rgba(56,119,191,.22),transparent 60%),linear-gradient(150deg,#183453,#162b46 60%,#13263d)}:root[data-theme=dark] .auth-aside:after{border-color:#a3d0ff1f;box-shadow:0 0 0 40px #a3d0ff06,0 0 0 80px #a3d0ff04}:root[data-theme=dark] .auth-aside-eyebrow,:root[data-theme=dark] .auth-aside-foot{color:#b4cff0}:root[data-theme=dark] .auth-aside-title>span{color:#85bfff}:root[data-theme=dark] .auth-aside-text{color:#a9bfda}:root[data-theme=dark] .auth-aside-foot{border-color:#93bcef29}:root[data-theme=dark] .auth-aside-foot svg{stroke:#8dc4ff}:root[data-theme=dark] .auth-heading-icon{background:linear-gradient(145deg,#253f61,#1c304d);border-color:#314e73;color:#9acbff;box-shadow:var(--highlight)}:root[data-theme=dark] .auth-eyebrow,:root[data-theme=dark] .auth-security-note,:root[data-theme=dark] .auth-divider{color:var(--clr-muted)}:root[data-theme=dark] .auth-security-note svg{stroke:#8db5e6}:root[data-theme=dark] .auth-footer{border-color:var(--clr-border)}:root[data-theme=dark] .auth-divider:before,:root[data-theme=dark] .auth-divider:after{background:var(--clr-border)}:root[data-theme=dark] .identity-glow{background:#3270b9;opacity:.3}:root[data-theme=dark] .identity-core{background:linear-gradient(145deg,#304e74,#1b3554);border-color:#4c719b;box-shadow:0 20px 45px -12px #00000073,inset 0 0 0 6px #92c1f90a}:root[data-theme=dark] .identity-core svg{fill:#254b75;stroke:#9dcfff}:root[data-theme=dark] .identity-node,:root[data-theme=dark] .identity-chip{background:#1b2f49eb;border-color:#39577c;box-shadow:0 12px 35px -10px #00000059}:root[data-theme=dark] .identity-node svg,:root[data-theme=dark] .chip-icon svg{stroke:#9ac9ff}:root[data-theme=dark] .identity-chip b{color:#d7e8ff}:root[data-theme=dark] .identity-chip small{color:#a5bad5}:root[data-theme=dark] .chip-icon{background:#253e5e}:root[data-theme=dark] .chip-check{background:#204b41;color:#93d4b7}:root[data-theme=dark] .orbit{border-color:#90bff842}:root[data-theme=dark] .orbit-inner{border-color:#90bff82e}:root[data-theme=dark] .form-group label{color:#b8cbe3}:root[data-theme=dark] .form-group:focus-within label{color:var(--clr-primary)}:root[data-theme=dark] .form-control{background:#101c2d;border-color:#2c405b}:root[data-theme=dark] .form-control:hover{border-color:var(--clr-border-h)}:root[data-theme=dark] .form-control:focus{background:#15253b;border-color:#6b9fe0}:root[data-theme=dark] .form-control::placeholder{color:#91a6c2}:root[data-theme=dark] .form-control:-webkit-autofill{-webkit-box-shadow:0 0 0 100px #15253b inset}:root[data-theme=dark] select.form-control option{background:var(--clr-surface2)}:root[data-theme=dark] .input-icon{stroke:#87a6cd}:root[data-theme=dark] .input-wrap:focus-within .input-icon{stroke:var(--clr-primary)}:root[data-theme=dark] .password-toggle{color:#98b4d8}:root[data-theme=dark] .password-toggle:hover{color:var(--clr-primary-h);background:#233d5e}:root[data-theme=dark] .btn-secondary{color:#b4d7ff;background:#203a5b;border-color:#34577f}:root[data-theme=dark] .btn-secondary:hover:not(:disabled){color:#d8ebff;background:#294a70}:root[data-theme=dark] .btn-ghost{color:#b7cae3;background:var(--clr-surface)}:root[data-theme=dark] .btn-ghost:hover:not(:disabled){background:var(--clr-surface2)}:root[data-theme=dark] .alert-error,:root[data-theme=dark] .captcha-error{color:#ffabb7;background:#35212f;border-color:#643749}:root[data-theme=dark] .alert-success{color:#9adcb7;background:#19362f;border-color:#2c5847}:root[data-theme=dark] .card-header{border-color:var(--clr-border)}:root[data-theme=dark] .page-eyebrow{color:#a0b9d8}:root[data-theme=dark] .badge{color:#b7c9e0;background:#233248;border-color:#344a65}:root[data-theme=dark] .badge-primary{color:#b1d6ff;background:#213c5b;border-color:#35587f}:root[data-theme=dark] .badge-success{color:#a0dcbb;background:#1f3d33;border-color:#345c4b}:root[data-theme=dark] .badge-warning{color:#f4d08e;background:#3e3423;border-color:#635234}:root[data-theme=dark] .badge-danger{color:#ffacb7;background:#402735;border-color:#65414e}:root[data-theme=dark] .modal-backdrop{background:#030812a6}:root[data-theme=dark] .modal{background:var(--clr-surface);border-color:#375172;box-shadow:var(--shadow)}:root[data-theme=dark] .modal-footer{background:#111e30}:root[data-theme=dark] .role-row:hover{background:#1b2d46}:root[data-theme=dark] .role-row--active{background:#213b59;border-color:#3b5b80}:root[data-theme=dark] button.method-check{background:var(--clr-surface2)}:root[data-theme=dark] button.method-check.checked{color:#b9dbff;background:#26456c;border-color:#5981b0}:root[data-theme=dark] .captcha-box{background:#101c2d;border-color:#2c405b}:root[data-theme=dark] .captcha-interactive:hover{border-color:var(--clr-primary)}:root[data-theme=dark] .captcha-box.captcha-error{background:#35212f;border-color:#643749}:root[data-theme=dark] .captcha-checkmark{background:var(--clr-surface2);border-color:#527197}:root[data-theme=dark] .captcha-checked .captcha-checkmark{background:#204135;border-color:#74b493}:root[data-theme=dark] .captcha-brand{color:#a1b9d5}:root[data-theme=dark] .captcha-verify-btn{background:var(--clr-surface)}:root[data-theme=dark] .captcha-passed{color:#a3d9b8;background:#19352e;border-color:#315447}:root[data-theme=dark] .captcha-ok{background:#254c3d}.app-shell{--shell-bg: var(--auth-light-canvas);--shell-elev: var(--auth-light-surface);--shell-sidebar: var(--auth-light-surface2);--shell-hover: var(--auth-light-surface3);--shell-active: #dfedff;--shell-border: var(--auth-light-border);--shell-text: var(--auth-light-text);--shell-muted: var(--auth-light-muted);--shell-faint: var(--auth-light-faint);--shell-nav-active-text: var(--auth-light-primary-hover);--shell-avatar: var(--auth-light-primary-gradient);--shell-input: var(--auth-light-input);display:flex;height:100dvh;overflow:hidden;background:var(--shell-bg);font:14px/1.5 var(--font)}:root[data-theme=dark] .app-shell{--shell-bg: #191919;--shell-elev: #202020;--shell-sidebar: #1c1c1c;--shell-hover: rgba(255,255,255,.055);--shell-active: rgba(255,255,255,.09);--shell-border: #2c2c2c;--shell-text: #ececea;--shell-muted: #a8a7a3;--shell-faint: #706f6b;--shell-nav-active-text: var(--shell-text);--shell-avatar: #8b5cf6;--shell-input: var(--shell-elev)}.app-shell .sidebar svg,.app-shell .workspace-bar svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.app-shell .sidebar{width:264px;flex-shrink:0;display:flex;flex-direction:column;padding:10px 8px 8px;background:var(--shell-sidebar);color:var(--shell-text);border-right:1px solid var(--shell-border);transition:margin-left .22s ease,visibility .22s}.app-shell.sidebar-hidden .sidebar{margin-left:-264px;visibility:hidden}.app-shell .sidebar-head{display:flex;align-items:center;justify-content:space-between;gap:4px;padding:4px 6px 10px}.app-shell .sidebar-brand{display:flex;align-items:center;gap:10px;min-width:0}.app-shell .sidebar-brand-mark{width:30px;height:30px;flex-shrink:0;border-radius:8px;display:grid;place-items:center;background:transparent}.app-shell .sidebar-brand-mark img{width:100%;height:100%;display:block;object-fit:contain}.app-shell .sidebar-brand-text,.app-shell .sidebar-user{min-width:0}.app-shell .sidebar-brand-name{font-weight:600;font-size:14px;letter-spacing:-.01em}.app-shell .sidebar-brand-sub{font-size:11.5px;color:var(--shell-faint);margin-top:-2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.app-shell .sidebar-navigation{flex:1;min-height:0;overflow-y:auto;padding-bottom:14px}.app-shell .nav-list{list-style:none;display:flex;flex-direction:column;gap:1px}.app-shell .nav-item{display:flex;align-items:center;gap:9px;padding:6px 10px;border-radius:6px;color:var(--shell-muted);font-weight:500;font-size:13.5px;text-decoration:none;transition:background .12s,color .12s}.app-shell .nav-item:hover{background:var(--shell-hover);color:var(--shell-text)}.app-shell .nav-item.active{background:var(--shell-active);color:var(--shell-nav-active-text)}.app-shell .sidebar-footer{display:flex;align-items:center;gap:2px;padding-top:8px;border-top:1px solid var(--shell-border)}.app-shell .sidebar-account{display:flex;align-items:center;gap:9px;flex:1;min-width:0;padding:4px 6px;border-radius:8px;color:var(--shell-text)}.app-shell .sidebar-account:hover{background:var(--shell-hover)}.app-shell .sidebar-account-avatar{display:grid;place-items:center;width:32px;height:32px;border-radius:50%;flex-shrink:0;background:var(--shell-avatar);color:#fff;font-size:12.5px;font-weight:600;box-shadow:0 0 0 2px var(--shell-elev)}.app-shell .sidebar-username{display:block;font-weight:600;font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.app-shell .sidebar-roles{display:block;font-size:11.5px;color:var(--shell-faint);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.app-shell .sidebar-role-name{text-transform:capitalize}.app-shell .sidebar-account-actions{display:flex;gap:2px;flex-shrink:0}.app-shell .sidebar-icon-button{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;flex-shrink:0;padding:0;border:0;border-radius:6px;background:transparent;color:var(--shell-muted);cursor:pointer;transition:background .12s,color .12s}.app-shell .sidebar-icon-button:hover{background:var(--shell-hover);color:var(--shell-text)}.app-shell .sidebar-collapse{opacity:0;transition:opacity .15s}.app-shell .sidebar:hover .sidebar-collapse,.app-shell .sidebar:focus-within .sidebar-collapse{opacity:1}.app-shell .main-content{flex:1;min-width:0;display:flex;flex-direction:column}.app-shell .workspace-bar{height:48px;flex-shrink:0;display:flex;align-items:center;gap:8px;padding:0 14px;border-bottom:1px solid transparent;background:color-mix(in srgb,var(--shell-bg) 85%,transparent);backdrop-filter:saturate(1.6) blur(10px);position:relative;z-index:5}.app-shell .workspace-bar.scrolled{border-bottom-color:var(--shell-border)}.app-shell .sidebar-open{display:none}.app-shell.sidebar-hidden .sidebar-open{display:inline-flex}.app-shell .workspace-breadcrumb{display:flex;align-items:center;gap:4px;min-width:0;font-size:13.5px;color:var(--shell-muted)}.app-shell .workspace-breadcrumb a,.app-shell .workspace-current{padding:3px 6px;border-radius:6px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:260px}.app-shell .workspace-breadcrumb a{color:var(--shell-muted)}.app-shell .workspace-breadcrumb a:hover{background:var(--shell-hover);color:var(--shell-text)}.app-shell .workspace-current{color:var(--shell-text);font-weight:500}.app-shell .workspace-separator{color:var(--shell-faint)}.app-shell .workspace-view{flex:1;min-height:0;overflow:auto;padding:24px 40px 40px}.app-shell .sidebar-backdrop{display:none}@media(max-width:1100px){.app-shell .workspace-view{padding:24px}}@media(max-width:820px){.app-shell .sidebar,.app-shell.sidebar-hidden .sidebar{position:fixed;inset:0 auto 0 0;z-index:901;margin-left:0;transform:translate(-100%);visibility:hidden;transition:transform .22s ease,visibility .22s;box-shadow:0 10px 38px #0f0f0f24}.app-shell .sidebar.is-open,.app-shell.sidebar-hidden .sidebar.is-open{transform:translate(0);visibility:visible}.app-shell .sidebar-collapse{opacity:1}.app-shell .sidebar-open{display:inline-flex}.app-shell .sidebar-backdrop{display:block;position:fixed;inset:0;z-index:900;border:0;background:#00000059}.app-shell .workspace-view{padding:24px 16px}}.table-scroll{--table-bg: var(--shell-elev, var(--clr-surface));--table-head: var(--shell-sidebar, var(--clr-surface2));--table-border: var(--shell-border, var(--clr-border));--table-text: var(--shell-text, var(--clr-text));--table-muted: var(--shell-muted, var(--clr-muted));--table-hover: var(--shell-hover, rgba(55, 53, 47, .06));--table-primary: var(--auth-light-primary-hover);--table-primary-bg: rgba(40, 115, 220, .1);--table-success: var(--auth-light-success);--table-success-bg: rgba(24, 121, 87, .1);--table-warning: var(--auth-light-warning);--table-warning-bg: rgba(148, 96, 7, .1);--table-danger: var(--auth-light-danger);--table-danger-bg: rgba(193, 61, 75, .08);width:100%;max-width:100%;overflow-x:auto;border:1px solid var(--table-border);border-radius:8px;background:var(--table-bg);color:var(--table-text);scrollbar-color:var(--table-border) transparent;overscroll-behavior-x:contain}.table-scroll:focus-visible{outline:2px solid var(--clr-primary);outline-offset:3px}.table-scroll .table{width:100%;border-collapse:separate;border-spacing:0;font:13.5px/1.5 var(--font);text-align:left}.table-scroll .table thead{background:var(--table-head)}.table-scroll .table th{padding:10px 12px;border-bottom:1px solid var(--table-border);font-size:11.5px;font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:var(--table-muted);white-space:nowrap}.table-scroll .table td{padding:12px;border-bottom:1px solid var(--table-border);vertical-align:middle;color:var(--table-text)}.table-scroll .table tbody tr:last-child td{border-bottom:0}.table-scroll .table tbody tr{transition:background .12s}.table-scroll .table tbody tr:hover,.table-scroll .table tbody tr:focus-within{background:var(--table-hover)}.table-scroll .table strong{font-weight:600}.table-scroll .table .table-text{min-width:140px;max-width:280px;overflow-wrap:anywhere;color:var(--table-muted)}.table-scroll .table .table-date,.table-scroll .table .table-id{white-space:nowrap}.table-scroll .table .table-date{color:var(--table-muted);font-size:12.5px}.table-scroll .table code{font:12px/1.5 ui-monospace,SFMono-Regular,Menlo,monospace;color:var(--table-muted)}.table-scroll .table-truncate{display:block;width:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--table-muted)}.table-scroll .table th.table-action-cell{text-align:right}.table-scroll .table .table-action-cell{width:1%;white-space:nowrap}.table-scroll .table-actions{display:flex;justify-content:flex-end;align-items:center;gap:6px}.table-scroll .table-badges{display:flex;flex-wrap:wrap;align-items:center;gap:4px;min-width:100px;max-width:260px}.table-scroll .table .table-empty{height:116px;text-align:center;color:var(--table-muted)}.table-scroll .table tbody tr:has(.table-empty):hover{background:transparent}.table-scroll .table .badge{padding:2px 7px;border:0;border-radius:5px;font-size:11.5px;font-weight:500;line-height:1.5;background:var(--table-hover);color:var(--table-muted);overflow-wrap:anywhere}.table-scroll .table .badge-primary{color:var(--table-primary);background:var(--table-primary-bg)}.table-scroll .table .badge-success{color:var(--table-success);background:var(--table-success-bg)}.table-scroll .table .badge-warning{color:var(--table-warning);background:var(--table-warning-bg)}.table-scroll .table .badge-danger{color:var(--table-danger);background:var(--table-danger-bg)}.table-scroll .table .btn{height:28px;padding:0 9px;border:1px solid var(--table-border);border-radius:6px;font-size:12.5px;font-weight:500;background:var(--table-bg);color:var(--table-muted);box-shadow:none;transition:background .12s,color .12s}.table-scroll .table .btn:hover:not(:disabled){transform:none;background:var(--table-hover);color:var(--table-text);border-color:var(--table-border)}.table-scroll .table .btn-danger{color:var(--table-danger);background:var(--table-danger-bg);border-color:transparent}.table-scroll .table .btn-danger:hover:not(:disabled){color:var(--table-danger);background:color-mix(in srgb,var(--table-danger) 16%,transparent);border-color:transparent}.table-scroll .table-users{min-width:980px}.table-scroll .table-roles,.table-scroll .table-features,.table-scroll .table-admin-sessions{min-width:720px}.table-scroll .table-sessions{min-width:880px}.table-scroll .table-role-features{min-width:480px}.table-scroll .table:has(.table-empty){min-width:0}:root[data-theme=dark] .table-scroll{--table-primary: #a5a5ff;--table-primary-bg: rgba(124, 124, 240, .16);--table-success: #4ade80;--table-success-bg: rgba(34, 197, 94, .16);--table-warning: #fbbf24;--table-warning-bg: rgba(245, 158, 11, .16);--table-danger: #f87171;--table-danger-bg: rgba(239, 68, 68, .12)}.profile-page{--shell-bg: var(--auth-light-canvas);--shell-elev: var(--auth-light-surface);--shell-sidebar: var(--auth-light-surface2);--shell-hover: var(--auth-light-surface3);--shell-active: #dfedff;--shell-border: var(--auth-light-border);--shell-text: var(--auth-light-text);--shell-muted: var(--auth-light-muted);--shell-faint: var(--auth-light-faint);--shell-nav-active-text: var(--auth-light-primary-hover);--shell-avatar: var(--auth-light-primary-gradient);--shell-input: var(--auth-light-input);--profile-accent: var(--auth-light-primary);--profile-accent-text: var(--auth-light-primary-hover);--profile-accent-soft: rgba(40, 115, 220, .1);--profile-button-bg: var(--auth-light-primary-gradient);--profile-focus-border: var(--auth-light-focus);--profile-danger: var(--auth-light-danger);--profile-danger-soft: rgba(193, 61, 75, .08);--profile-success: var(--auth-light-success);--profile-success-soft: rgba(24, 121, 87, .1);--profile-warning: var(--auth-light-warning);--profile-warning-soft: rgba(148, 96, 7, .1);--clr-text: var(--shell-text);--clr-muted: var(--shell-muted);--clr-border: var(--shell-border);--clr-primary: var(--profile-accent);--clr-danger: var(--profile-danger);height:100dvh;overflow-y:auto;background:var(--shell-bg);color:var(--shell-text);font:14px/1.5 var(--font)}:root[data-theme=dark] .profile-page{--shell-bg: #191919;--shell-elev: #202020;--shell-sidebar: #1c1c1c;--shell-hover: rgba(255,255,255,.055);--shell-active: rgba(255,255,255,.09);--shell-border: #2c2c2c;--shell-text: #ececea;--shell-muted: #a8a7a3;--shell-faint: #706f6b;--shell-nav-active-text: var(--shell-text);--shell-avatar: #8b5cf6;--shell-input: var(--shell-elev)}.profile-page svg{width:16px;height:16px;flex-shrink:0;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.profile-page button,.profile-page a,.profile-page input{transition:background .12s,border-color .12s,color .12s}.profile-page .profile-top{min-height:48px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:6px 20px;border-bottom:1px solid var(--shell-border);background:var(--shell-bg)}.profile-page .profile-breadcrumb{display:flex;align-items:center;gap:10px;min-width:0;font-size:13.5px}.profile-page .profile-brand{display:flex;align-items:center;gap:8px;color:var(--shell-muted)}.profile-page .profile-brand-mark{width:26px;height:26px;flex-shrink:0;display:grid;place-items:center}.profile-page .profile-brand-mark img{width:100%;height:100%;display:block;object-fit:contain}.profile-page .profile-separator{color:var(--shell-faint)}.profile-page .profile-top-actions{display:flex;align-items:center;gap:12px;min-width:0}.profile-page .profile-back{display:inline-flex;align-items:center;gap:6px;padding:5px 8px;border:0;border-radius:6px;background:transparent;color:var(--shell-muted);cursor:pointer;font-size:12.5px;white-space:nowrap;min-width:0}.profile-page .profile-back>span{overflow:hidden;text-overflow:ellipsis;max-width:280px}.profile-page .profile-back:hover{color:var(--shell-text);background:var(--shell-hover)}.profile-page .profile-content{max-width:1048px;margin:0 auto;padding:40px 24px}.profile-page .profile-page-heading{margin-bottom:24px}.profile-page .profile-page-heading h1{font:650 28px/1.25 var(--font);letter-spacing:-.03em}.profile-page .profile-page-heading p{margin-top:6px;color:var(--shell-muted);font-size:13.5px}.profile-page .profile-grid{display:grid;grid-template-columns:minmax(0,340px) minmax(0,1fr);gap:24px;align-items:start}.profile-page .profile-card{min-width:0;padding:24px;border:1px solid var(--shell-border);border-radius:8px;background:var(--shell-elev)}.profile-page .profile-section-heading{display:flex;align-items:center;gap:8px}.profile-page .profile-section-heading svg{color:var(--shell-muted)}.profile-page .profile-section-heading h2{font-size:14px;font-weight:600}.profile-page .profile-section-description{margin-top:6px;color:var(--shell-muted);font-size:13px}.profile-page .profile-head{display:flex;gap:14px;align-items:center;padding:24px 0}.profile-page .profile-avatar{width:48px;height:48px;flex-shrink:0;display:grid;place-items:center;border-radius:50%;background:var(--shell-avatar);color:#fff;font-size:20px;font-weight:600}.profile-page .profile-identity{min-width:0}.profile-page .profile-name{font-size:16px;font-weight:600;letter-spacing:-.015em;overflow-wrap:anywhere}.profile-page .profile-email{margin-top:3px;font-size:12.5px;color:var(--shell-muted);overflow-wrap:anywhere}.profile-page .profile-statuses,.profile-page .profile-roles{display:flex;flex-wrap:wrap;gap:4px}.profile-page .profile-statuses{margin-top:8px}.profile-page .profile-status,.profile-page .profile-role{padding:2px 7px;border-radius:5px;font-size:11.5px;font-weight:500;overflow-wrap:anywhere}.profile-page .profile-status{color:var(--profile-success);background:var(--profile-success-soft)}.profile-page .profile-status.is-inactive{color:var(--profile-danger);background:var(--profile-danger-soft)}.profile-page .profile-status.is-locked{color:var(--profile-warning);background:var(--profile-warning-soft)}.profile-page .profile-role{color:var(--profile-accent-text);background:var(--profile-accent-soft)}.profile-page .profile-details{display:flex;flex-direction:column;gap:18px;padding:20px 0;border-top:1px solid var(--shell-border)}.profile-page .profile-details dt{margin-bottom:5px;color:var(--shell-muted);font-size:12px}.profile-page .profile-details dd{font-size:13px;overflow-wrap:anywhere}.profile-page .profile-details .mono{font:12px/1.6 ui-monospace,SFMono-Regular,Menlo,monospace;color:var(--shell-muted)}.profile-page .profile-muted{color:var(--shell-muted);font-size:12px}.profile-page .profile-foot{display:flex;align-items:center;justify-content:space-between;gap:10px;padding-top:16px;border-top:1px solid var(--shell-border)}.profile-page .profile-sign-out{display:inline-flex;align-items:center;gap:6px;padding:5px 8px;border:0;border-radius:6px;background:transparent;color:var(--profile-danger);font-size:12.5px;white-space:nowrap;cursor:pointer}.profile-page .profile-sign-out:hover{background:var(--profile-danger-soft)}.profile-page .profile-password-form{margin-top:24px}.profile-page .profile-card .form-group{margin-bottom:18px}.profile-page .profile-card .form-group label{color:var(--shell-text);font-size:13px;margin-bottom:7px}.profile-page .profile-card .form-control{height:40px;padding:0 12px;border-radius:6px;border-color:var(--shell-border);background:var(--shell-input);color:var(--shell-text);font-size:14px;box-shadow:none}.profile-page .profile-card .form-control:hover{border-color:var(--shell-muted)}.profile-page .profile-card .form-control:focus{border-color:var(--profile-focus-border);background:var(--shell-elev);box-shadow:0 0 0 3px var(--profile-accent-soft)}.profile-page .profile-card .form-control:-webkit-autofill{-webkit-text-fill-color:var(--shell-text);-webkit-box-shadow:0 0 0 100px var(--shell-elev) inset;caret-color:var(--shell-text)}.profile-page .profile-card .form-hint{margin-top:7px;color:var(--shell-muted);font-size:12px}.profile-page .profile-card .form-hint-error{color:var(--profile-danger);margin-bottom:18px}.profile-page .profile-password-options{display:flex;flex-direction:column;gap:10px;padding-top:2px}.profile-page .profile-card .form-check{align-items:flex-start;font-size:13px;color:var(--shell-muted)}.profile-page .profile-card .form-check input{margin-top:3px;flex-shrink:0;accent-color:var(--profile-accent)}.profile-page .profile-form-footer{display:flex;justify-content:flex-end;margin-top:24px;padding-top:20px;border-top:1px solid var(--shell-border)}.profile-page .profile-save{height:34px;padding:0 14px;border:1px solid transparent;border-radius:6px;background:var(--profile-button-bg);color:#fff;font-size:13px;font-weight:500;cursor:pointer}.profile-page .profile-save:hover:not(:disabled){filter:brightness(1.08)}.profile-page .profile-save:disabled{opacity:.5;cursor:not-allowed}.profile-page .profile-card .alert,.profile-page .profile-load-error{border-radius:6px;font-size:13px;padding:10px 12px}.profile-page .profile-card .alert-success{color:var(--profile-success);background:var(--profile-success-soft);border-color:color-mix(in srgb,var(--profile-success) 20%,transparent)}.profile-page .profile-card .alert-error,.profile-page .profile-load-error.alert-error{color:var(--profile-danger);background:var(--profile-danger-soft);border-color:color-mix(in srgb,var(--profile-danger) 20%,transparent)}.profile-page .profile-loading{display:flex;align-items:center;justify-content:center;gap:10px;padding:64px 16px;color:var(--shell-muted)}.profile-page .profile-spinner{width:16px;height:16px;border:2px solid var(--shell-border);border-top-color:var(--profile-accent);border-radius:50%;animation:spin .7s linear infinite}@media(max-width:800px){.profile-page .profile-grid{grid-template-columns:minmax(0,1fr);gap:20px}.profile-page .profile-content{max-width:608px;padding-top:28px}.profile-page .profile-return-target{display:none}}@media(max-width:600px){.profile-page .profile-top{padding:6px 12px;gap:8px}.profile-page .profile-app-name{display:none}.profile-page .profile-top-actions{gap:4px}.profile-page .profile-breadcrumb{gap:7px}.profile-page .profile-content{padding:24px 16px 32px}.profile-page .profile-page-heading h1{font-size:24px}.profile-page .profile-card{padding:20px}.profile-page .profile-card .form-control{font-size:16px}.profile-page .profile-save{width:100%;height:38px}}:root[data-theme=dark] .profile-page{--profile-accent: #7c7cf0;--profile-accent-text: #a5a5ff;--profile-accent-soft: rgba(124, 124, 240, .16);--profile-button-bg: var(--profile-accent);--profile-focus-border: var(--profile-accent);--profile-danger: #f87171;--profile-danger-soft: rgba(239, 68, 68, .12);--profile-success: #4ade80;--profile-success-soft: rgba(34, 197, 94, .16);--profile-warning: #fbbf24;--profile-warning-soft: rgba(245, 158, 11, .16)}.overview-page{--overview-gold: var(--auth-light-primary);--overview-gold-text: var(--auth-light-primary-hover);--overview-gold-soft: rgba(40, 115, 220, .08);--overview-hero-bg: var(--auth-light-aside);--overview-hero-border: var(--auth-light-border);--overview-hero-text: var(--auth-light-text);--overview-hero-muted: var(--auth-light-muted);--overview-hero-label: #456d9c;--overview-hero-line: rgba(103, 147, 199, .18);--overview-hero-hover: rgba(40, 115, 220, .06);--overview-hero-shadow: rgba(47, 90, 142, .22);--overview-link-bg: rgba(255, 255, 255, .55);--overview-link-border: rgba(40, 115, 220, .3);--overview-link-hover-bg: var(--auth-light-surface);--overview-link-hover-border: rgba(40, 115, 220, .6);--overview-link-hover-text: var(--auth-light-primary-deep);max-width:1200px;margin:8px auto 0;color:var(--shell-text)}.overview-page svg{width:16px;height:16px;flex-shrink:0;stroke:currentColor;fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.overview-page a{text-decoration:none}.overview-page .overview-heading{margin-bottom:28px}.overview-page .overview-eyebrow{display:block;margin-bottom:9px;color:var(--overview-gold-text);font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.15em}.overview-page .overview-heading h1{font:600 28px/1.2 var(--font);letter-spacing:-.035em}.overview-page .overview-heading p{margin-top:8px;color:var(--shell-muted);font-size:13.5px}.overview-page .overview-hero{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);align-items:center;gap:40px;padding:32px;margin-bottom:24px;border:1px solid var(--overview-hero-border);border-radius:12px;background:var(--overview-hero-bg);color:var(--overview-hero-text);box-shadow:0 8px 28px -16px var(--overview-hero-shadow)}.overview-page .overview-brand{display:flex;align-items:center;gap:10px;margin-bottom:22px;color:var(--overview-gold);font-size:11px;letter-spacing:.055em}.overview-page .overview-brand img{display:block;flex-shrink:0}.overview-page .overview-welcome h2{max-width:540px;font:500 27px/1.3 var(--font);letter-spacing:-.035em;overflow-wrap:anywhere}.overview-page .overview-welcome>p{max-width:380px;margin-top:12px;color:var(--overview-hero-muted);font-size:13px;line-height:1.7}.overview-page .overview-profile-link{display:inline-flex;align-items:center;gap:16px;margin-top:24px;padding:8px 12px;border:1px solid var(--overview-link-border);border-radius:6px;color:var(--overview-gold);font-size:12.5px;font-weight:500;background:var(--overview-link-bg)}.overview-page .overview-profile-link:hover{background:var(--overview-link-hover-bg);color:var(--overview-link-hover-text);border-color:var(--overview-link-hover-border)}.overview-page .overview-metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;border-left:1px solid var(--overview-hero-line);padding-left:28px}.overview-page .overview-metric{display:flex;flex-direction:column;align-items:flex-start;padding:16px 10px;border-radius:8px;min-width:0;color:inherit;transition:background .15s}.overview-page .overview-metric:hover{background:var(--overview-hero-hover);color:inherit}.overview-page .overview-metric-heading{display:flex;flex-wrap:wrap;align-items:center;gap:7px;font-size:11.5px;color:var(--overview-hero-label)}.overview-page .overview-metric-heading svg{color:var(--overview-gold)}.overview-page .overview-metric-value{margin:18px 0 8px;font:500 38px/1 var(--font);letter-spacing:-.05em;font-variant-numeric:tabular-nums}.overview-page .overview-metric-caption{font-size:11px;line-height:1.6;color:var(--overview-hero-muted)}.overview-page .overview-panels{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.overview-page .overview-panel{min-width:0;padding:24px;border:1px solid var(--shell-border);border-radius:10px;background:var(--shell-elev)}.overview-page .overview-panel-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.overview-page .overview-panel-heading h2{font-size:14px;font-weight:600;letter-spacing:-.01em}.overview-page .overview-section-number{color:var(--shell-faint);font:11px ui-monospace,Menlo,monospace}.overview-page .overview-panel-description{max-width:350px;margin-top:8px;color:var(--shell-muted);font-size:12.5px;line-height:1.7}.overview-page .overview-access{display:flex;flex-direction:column}.overview-page .overview-role-list{display:flex;flex-wrap:wrap;align-items:flex-start;gap:8px;padding:24px 0}.overview-page .overview-role{display:inline-flex;align-items:center;gap:7px;max-width:100%;padding:6px 10px;border:1px solid color-mix(in srgb,var(--overview-gold-text) 18%,transparent);border-radius:6px;background:var(--overview-gold-soft);color:var(--overview-gold-text);font-size:12px;overflow-wrap:anywhere}.overview-page .overview-role svg{width:14px;height:14px}.overview-page .overview-empty{padding:8px 0;font-size:12.5px;color:var(--shell-muted)}.overview-page .overview-access-footer{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px;margin-top:auto;padding-top:16px;border-top:1px solid var(--shell-border);font-size:11.5px;color:var(--shell-muted)}.overview-page .overview-access-footer a{display:inline-flex;align-items:center;gap:8px;padding:3px 0;font-weight:500;color:var(--shell-text)}.overview-page .overview-access-footer a:hover{color:var(--overview-gold-text)}.overview-page .overview-actions nav{margin-top:16px}.overview-page .overview-action{display:flex;align-items:center;gap:12px;padding:14px 0;color:var(--shell-text);border-top:1px solid var(--shell-border)}.overview-page .overview-action:first-child{border-top:0;padding-top:4px}.overview-page .overview-action:last-child{padding-bottom:0}.overview-page .overview-action-icon{display:grid;place-items:center;width:34px;height:34px;flex-shrink:0;border:1px solid var(--shell-border);border-radius:8px;color:var(--shell-muted)}.overview-page .overview-action-text{display:flex;flex-direction:column;gap:4px;flex:1;min-width:0}.overview-page .overview-action-text strong{font-size:12.5px;font-weight:500}.overview-page .overview-action-text>span{color:var(--shell-muted);font-size:11.5px;line-height:1.5}.overview-page .overview-action-arrow{width:14px;height:14px;color:var(--shell-faint)}.overview-page .overview-action:hover{color:var(--overview-gold-text)}.overview-page .overview-action:hover .overview-action-icon{color:var(--overview-gold-text);background:var(--overview-gold-soft);border-color:color-mix(in srgb,var(--overview-gold-text) 25%,transparent)}.overview-page .overview-action:hover .overview-action-arrow{color:var(--overview-gold-text)}@media(max-width:1100px){.overview-page .overview-hero{grid-template-columns:minmax(0,1fr);gap:24px}.overview-page .overview-metrics{padding:20px 0 0;border-left:0;border-top:1px solid var(--overview-hero-line)}.overview-page .overview-metric{padding:8px}.overview-page .overview-panels{gap:16px}}@media(max-width:600px){.overview-page .overview-heading{margin-bottom:20px}.overview-page .overview-heading h1{font-size:25px}.overview-page .overview-hero{padding:24px 20px;margin-bottom:16px}.overview-page .overview-brand{margin-bottom:18px}.overview-page .overview-welcome h2{font-size:24px}.overview-page .overview-panels{grid-template-columns:minmax(0,1fr)}.overview-page .overview-panel{padding:20px}.overview-page .overview-metric{padding:4px}.overview-page .overview-metric-value{font-size:32px}}:root[data-theme=dark] .overview-page{--overview-gold: #d8be86;--overview-gold-text: #d8be86;--overview-gold-soft: rgba(216, 190, 134, .07);--overview-hero-bg: linear-gradient(115deg, #18263b, #101827);--overview-hero-border: #253247;--overview-hero-text: #f6f3eb;--overview-hero-muted: #aeb8c8;--overview-hero-label: #c6cbd5;--overview-hero-line: rgba(216, 190, 134, .18);--overview-hero-hover: rgba(255, 255, 255, .045);--overview-hero-shadow: rgba(17, 24, 39, .28);--overview-link-bg: rgba(216, 190, 134, .04);--overview-link-border: rgba(216, 190, 134, .35);--overview-link-hover-bg: rgba(216, 190, 134, .12);--overview-link-hover-border: rgba(216, 190, 134, .6);--overview-link-hover-text: #f3dfb3}.app-shell .management-page{--manage-gold: var(--auth-light-primary-hover);--manage-gold-soft: rgba(40, 115, 220, .08);--manage-danger: var(--auth-light-danger);--manage-danger-soft: rgba(193, 61, 75, .08);--manage-primary-bg: var(--auth-light-primary-gradient);--manage-primary-border: var(--auth-light-primary);--manage-primary-text: #fff;--manage-primary-hover-bg: var(--auth-light-primary-hover);--manage-primary-hover-border: var(--auth-light-primary-deep);--manage-primary-hover-text: #fff;--manage-focus-border: var(--auth-light-focus);--clr-text: var(--shell-text);--clr-muted: var(--shell-muted);--clr-border: var(--shell-border);--clr-primary: var(--manage-gold);--ring: 0 0 0 3px rgba(40, 115, 220, .13);max-width:1200px;margin:8px auto 0;color:var(--shell-text)}.app-shell .management-page svg{width:16px;height:16px;flex-shrink:0;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.app-shell .management-page .management-heading{display:flex;align-items:flex-end;justify-content:space-between;flex-wrap:wrap;gap:20px;margin-bottom:28px}.app-shell .management-page .management-eyebrow{display:block;margin-bottom:9px;color:var(--manage-gold);font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.15em}.app-shell .management-page .management-heading h1{font:600 28px/1.2 var(--font);letter-spacing:-.035em}.app-shell .management-page .management-heading p{margin-top:8px;color:var(--shell-muted);font-size:13.5px}.app-shell .management-page .management-panel{border:1px solid var(--shell-border);border-radius:10px;overflow:hidden;background:var(--shell-elev)}.app-shell .management-page .management-panel-header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:20px 24px}.app-shell .management-page .management-panel-title{display:flex;align-items:center;gap:12px;min-width:0}.app-shell .management-page .management-panel-icon{display:grid;place-items:center;width:36px;height:36px;flex-shrink:0;border-radius:8px;background:var(--manage-gold-soft);color:var(--manage-gold)}.app-shell .management-page .management-panel-header h2{font-size:14px;font-weight:600}.app-shell .management-page .management-panel-header p{margin-top:3px;font-size:12px;color:var(--shell-muted)}.app-shell .management-page .management-count{flex-shrink:0;padding:4px 8px;border:1px solid var(--shell-border);border-radius:6px;color:var(--shell-muted);font-size:11.5px;white-space:nowrap;font-variant-numeric:tabular-nums}.app-shell .management-page .management-search{display:grid;grid-template-columns:minmax(0,400px) auto;align-items:end;justify-content:start;column-gap:10px;row-gap:7px;padding:20px 24px 24px;border-top:1px solid var(--shell-border)}.app-shell .management-page .management-search-field{min-width:0}.app-shell .management-page .management-search-field label{display:block;margin-bottom:7px;color:var(--shell-text);font-size:12.5px;font-weight:500}.app-shell .management-page .management-search>.btn{height:40px}.app-shell .management-page .management-search .management-form-hint{grid-column:1/-1;margin:0}.app-shell .management-page .management-panel>.table-scroll{border:0;border-top:1px solid var(--shell-border);border-radius:0}.app-shell .management-page .management-panel>.table-scroll:focus-visible{outline-offset:-3px}.app-shell .management-page .management-scroll-hint{display:none}.app-shell .management-page .table-scroll{--table-primary: var(--manage-gold);--table-primary-bg: var(--manage-gold-soft)}.app-shell .management-page .table-scroll .table th{padding:12px 16px;font-size:10.5px;letter-spacing:.06em}.app-shell .management-page .table-scroll .table td{padding:14px 16px}.app-shell .management-page .table-scroll .table .table-empty{height:144px}.app-shell .management-page .btn{height:34px;gap:7px;padding:0 12px;border-radius:6px;border:1px solid var(--shell-border);font:500 12.5px var(--font);color:var(--shell-text);background:var(--shell-elev);box-shadow:none;transition:background .12s,color .12s,border-color .12s}.app-shell .management-page .btn:hover:not(:disabled){transform:none;box-shadow:none;background:var(--shell-hover);border-color:var(--shell-border);color:var(--shell-text)}.app-shell .management-page .btn-primary{background:var(--manage-primary-bg);border-color:var(--manage-primary-border);color:var(--manage-primary-text)}.app-shell .management-page .btn-primary:after{display:none}.app-shell .management-page .btn-primary:hover:not(:disabled){background:var(--manage-primary-hover-bg);border-color:var(--manage-primary-hover-border);color:var(--manage-primary-hover-text)}.app-shell .management-page .btn-danger{background:var(--manage-danger-soft);border-color:color-mix(in srgb,var(--manage-danger) 18%,transparent);color:var(--manage-danger)}.app-shell .management-page .btn-danger:hover:not(:disabled){background:color-mix(in srgb,var(--manage-danger) 14%,transparent);border-color:color-mix(in srgb,var(--manage-danger) 30%,transparent);color:var(--manage-danger)}.app-shell .management-page .table-scroll .table .btn{height:28px;padding:0 9px;font-size:12px}.app-shell .management-page .badge{border:0;border-radius:5px;padding:2px 7px;font-size:11.5px;color:var(--shell-muted);background:var(--shell-hover)}.app-shell .management-page .badge-primary{color:var(--manage-gold);background:var(--manage-gold-soft)}.app-shell .management-page .table-scroll .badge-success{color:var(--table-success);background:var(--table-success-bg)}.app-shell .management-page .table-scroll .badge-warning{color:var(--table-warning);background:var(--table-warning-bg)}.app-shell .management-page .table-scroll .badge-danger{color:var(--table-danger);background:var(--table-danger-bg)}.app-shell .management-page .modal-backdrop{background:#090f1975;backdrop-filter:blur(4px)}.app-shell .management-page .modal{border:1px solid var(--shell-border);border-radius:12px;background:var(--shell-elev);color:var(--shell-text);box-shadow:0 24px 80px -24px #00000059}.app-shell .management-page .modal-header{padding:20px 24px;border-color:var(--shell-border);gap:12px}.app-shell .management-page .modal-header h3{font:600 16px/1.4 var(--font);letter-spacing:-.02em;overflow-wrap:anywhere}.app-shell .management-page .modal-header>div{min-width:0}.app-shell .management-page .modal-description{margin-top:5px;color:var(--shell-muted);font-size:12px}.app-shell .management-page .modal-close{width:28px;height:28px;flex-shrink:0;padding:0;background:transparent}.app-shell .management-page .modal-body{padding:24px}.app-shell .management-page .modal-footer{padding:16px 24px;gap:8px;border-color:var(--shell-border);background:var(--shell-sidebar)}.app-shell .management-page .modal>.alert{margin:16px 24px 0}.app-shell .management-page .modal .form-group{margin-bottom:18px}.app-shell .management-page .modal .form-group:last-child{margin-bottom:0}.app-shell .management-page .modal .form-group label{color:var(--shell-text);font-size:12.5px;margin-bottom:7px}.app-shell .management-page .modal .form-control,.app-shell .management-page .management-search .form-control{height:40px;padding:0 12px;border:1px solid var(--shell-border);border-radius:6px;color:var(--shell-text);background-color:var(--shell-input);box-shadow:none;font-size:13.5px}.app-shell .management-page .modal .form-control:hover,.app-shell .management-page .management-search .form-control:hover{border-color:var(--shell-muted)}.app-shell .management-page .modal .form-control:focus,.app-shell .management-page .management-search .form-control:focus{background-color:var(--shell-elev);border-color:var(--manage-focus-border);box-shadow:var(--ring)}.app-shell .management-page .modal .form-control::placeholder,.app-shell .management-page .management-search .form-control::placeholder{color:var(--shell-faint);font-size:inherit}.app-shell .management-page .modal .form-control:-webkit-autofill,.app-shell .management-page .management-search .form-control:-webkit-autofill{-webkit-text-fill-color:var(--shell-text);-webkit-box-shadow:0 0 0 100px var(--shell-elev) inset;caret-color:var(--shell-text)}.app-shell .management-page .modal select.form-control{padding-right:32px}.app-shell .management-page .management-form-hint{color:var(--shell-muted);font-size:12px;margin-top:6px}.app-shell .management-page .management-permissions{display:flex;flex-wrap:wrap;gap:5px;margin-top:10px}.app-shell .management-page .management-assign{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.5fr);align-items:start;gap:16px;margin-bottom:24px;padding-bottom:24px;border-bottom:1px solid var(--shell-border)}.app-shell .management-page .management-assign .form-group{margin-bottom:0}.app-shell .management-page .management-assign .btn{grid-column:1/-1;justify-self:end}.app-shell .management-page .management-assign .management-permissions{margin-top:0}.app-shell .management-page button.method-check{min-height:28px;padding:3px 8px;border:1px solid var(--shell-border);border-radius:5px;color:var(--shell-muted);background:var(--shell-elev);font-size:11.5px}.app-shell .management-page button.method-check:hover{color:var(--manage-gold);border-color:var(--manage-gold)}.app-shell .management-page button.method-check.checked{color:var(--manage-gold);border-color:color-mix(in srgb,var(--manage-gold) 35%,transparent);background:var(--manage-gold-soft)}.app-shell .management-page .role-row{display:grid;grid-template-columns:16px minmax(0,1fr);align-items:start;gap:10px;padding:12px;margin-bottom:8px;border:1px solid var(--shell-border);border-radius:6px}.app-shell .management-page .role-row:hover{background:var(--shell-hover)}.app-shell .management-page .role-row--active{background:var(--manage-gold-soft);border-color:color-mix(in srgb,var(--manage-gold) 30%,transparent)}.app-shell .management-page .role-row input{margin-top:3px;accent-color:var(--manage-gold)}.app-shell .management-page .role-choice-text{display:flex;flex-direction:column;gap:4px;min-width:0;overflow-wrap:anywhere}.app-shell .management-page .role-name{color:var(--shell-text);font-size:13px;font-weight:500}.app-shell .management-page .role-desc{color:var(--shell-muted);font-size:12px;margin:0}.app-shell .management-page .alert-error{padding:10px 12px;border-radius:6px;font-size:13px;color:var(--manage-danger);background:var(--manage-danger-soft);border-color:color-mix(in srgb,var(--manage-danger) 20%,transparent)}@media(max-width:820px){.app-shell .management-page .management-scroll-hint{display:flex;align-items:center;gap:6px;padding:10px 16px;border-top:1px solid var(--shell-border);font-size:11px;color:var(--shell-muted)}}@media(max-width:600px){.app-shell .management-page .management-heading{align-items:flex-start;gap:16px;margin-bottom:20px}.app-shell .management-page .management-heading h1{font-size:25px}.app-shell .management-page .management-panel-header{flex-wrap:wrap;padding:16px;gap:12px}.app-shell .management-page .management-count{margin-left:48px}.app-shell .management-page .management-search{padding:16px}.app-shell .management-page .modal-header,.app-shell .management-page .modal-body{padding:20px}.app-shell .management-page .modal-footer{padding:16px 20px}.app-shell .management-page .modal .form-control,.app-shell .management-page .management-search .form-control{font-size:16px}.app-shell .management-page .management-assign{grid-template-columns:minmax(0,1fr)}.app-shell .management-page .management-assign .btn{justify-self:stretch}}:root[data-theme=dark] .management-page{--manage-gold: #d8be86;--manage-gold-soft: rgba(216, 190, 134, .07);--manage-danger: #f87171;--manage-danger-soft: rgba(239, 68, 68, .12);--manage-primary-bg: #162236;--manage-primary-border: #253247;--manage-primary-text: #e7d2a6;--manage-primary-hover-bg: #22324a;--manage-primary-hover-border: #3a4b65;--manage-primary-hover-text: #f3dfb3;--manage-focus-border: var(--manage-gold);--ring: 0 0 0 3px var(--manage-gold-soft)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--auth-light-bg: #eff6fc;--auth-light-canvas: #f4f8fc;--auth-light-surface: #ffffff;--auth-light-surface2: #f4f8fd;--auth-light-surface3: #e9f2fc;--auth-light-border: #dce7f2;--auth-light-border-hover: #b3cde8;--auth-light-primary: #2873dc;--auth-light-primary-hover: #1d60bd;--auth-light-primary-deep: #184f9e;--auth-light-text: #20334f;--auth-light-muted: #60738c;--auth-light-faint: #6e8199;--auth-light-input: #f8fafd;--auth-light-focus: #6b9fe0;--auth-light-success: #187957;--auth-light-warning: #946007;--auth-light-danger: #c13d4b;--auth-light-primary-gradient: linear-gradient(120deg, #2873dc, #2675d3);--auth-light-aside: radial-gradient(ellipse at 95% 95%, rgba(132, 194, 255, .34), transparent 60%), linear-gradient(150deg, #edf6ff, #dfedff 60%, #d8eafb);--clr-bg: var(--auth-light-bg);--clr-surface: var(--auth-light-surface);--clr-surface2: var(--auth-light-surface2);--clr-surface3: var(--auth-light-surface3);--clr-border: var(--auth-light-border);--clr-border-h: var(--auth-light-border-hover);--clr-primary: var(--auth-light-primary);--clr-primary-h: var(--auth-light-primary-hover);--clr-primary-d: var(--auth-light-primary-deep);--clr-accent: #167ba5;--clr-gold: #2873dc;--clr-success: var(--auth-light-success);--clr-warning: var(--auth-light-warning);--clr-danger: var(--auth-light-danger);--clr-text: var(--auth-light-text);--clr-muted: var(--auth-light-muted);--clr-faint: var(--auth-light-faint);--grad-primary: var(--auth-light-primary-gradient);--grad-text: linear-gradient(120deg, #20334f, #426787);--glass: linear-gradient(145deg, #ffffff, #fbfdff);--highlight: inset 0 1px 0 rgba(255, 255, 255, .9);--ring: 0 0 0 4px rgba(40, 115, 220, .13);--radius: 1.25rem;--radius-sm: .75rem;--shadow: 0 28px 80px -28px rgba(47, 90, 142, .22), 0 4px 18px rgba(47, 90, 142, .03);--shadow-glow: 0 8px 22px -7px rgba(40, 115, 220, .4);--font: "Inter", system-ui, -apple-system, "Segoe UI", sans-serif;--font-display: "Plus Jakarta Sans", "Inter", system-ui, sans-serif;--transition: .22s cubic-bezier(.2, .8, .2, 1);color-scheme:light}html{font-size:16px}body{font-family:var(--font);background:var(--clr-bg);color:var(--clr-text);min-height:100dvh;line-height:1.6;-webkit-font-smoothing:antialiased}button,input,select,textarea{font:inherit}button,a,input{-webkit-tap-highlight-color:transparent}::selection{background:#cce5ff;color:#184f9e}a{color:var(--clr-primary-h);text-decoration:none;transition:color var(--transition)}a:hover{color:var(--clr-primary-d)}:focus-visible{outline:2px solid var(--clr-primary);outline-offset:3px}svg{flex-shrink:0}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#c3d5e7;border-radius:999px}*{scrollbar-width:thin;scrollbar-color:#c3d5e7 transparent}.auth-wrap{min-height:100dvh;padding:2.25rem 2rem 1.5rem;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1.75rem;position:relative;isolation:isolate;background:radial-gradient(ellipse at 0% 5%,#e1effe,transparent 50%),radial-gradient(ellipse at 100% 90%,#e3f3ff,transparent 50%),var(--auth-light-canvas)}.auth-wrap:before,.auth-wrap:after{content:"";position:fixed;pointer-events:none;z-index:-1;border-radius:50%;filter:blur(55px);animation:ambientDrift 20s ease-in-out infinite alternate}.auth-wrap:before{width:42vw;height:42vw;background:#add3ff3b;top:-22vw;right:10%}.auth-wrap:after{width:36vw;height:36vw;background:#ace1fa33;bottom:-20vw;left:-5%;animation-delay:-8s}.auth-topbar,.auth-page-footer{width:100%;max-width:1120px;display:flex;align-items:center;justify-content:space-between;gap:1rem}.auth-topbar{padding:0 .35rem;animation:fadeIn .7s ease both}.auth-wordmark{display:inline-flex;gap:.7rem;align-items:center;font:800 1.1rem var(--font-display);letter-spacing:-.045em}.wordmark-dot{color:var(--clr-primary)}.brand-mark{display:grid;place-items:center;width:42px;height:42px;flex-shrink:0}.brand-mark img{width:100%;height:100%;display:block;object-fit:contain}.topbar-caption{font-size:.75rem;color:var(--clr-muted)}.auth-topbar-tools{display:flex;align-items:center;gap:1.5rem}.theme-switch{display:inline-flex;align-items:center;gap:2px;padding:3px;border:1px solid var(--clr-border);border-radius:12px;background:var(--clr-surface)}.theme-switch button{display:grid;place-items:center;width:30px;height:30px;border:0;border-radius:8px;color:var(--clr-muted);background:transparent;cursor:pointer;transition:background var(--transition),color var(--transition),transform var(--transition)}.theme-switch button:hover{color:var(--clr-primary-h);background:var(--clr-surface2)}.theme-switch button[aria-pressed=true]{color:var(--clr-primary-h);background:var(--clr-surface3)}.theme-switch button:active{transform:scale(.9)}.theme-switch svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.auth-page-footer{font-size:.7rem;color:var(--clr-muted);padding:0 .4rem;animation:fadeIn 1s .4s both}.footer-signature{display:inline-flex;gap:.5rem;align-items:center}.footer-signature>span{width:5px;height:5px;border-radius:50%;background:#6caae9}.auth-shell{width:100%;max-width:1120px;display:grid;grid-template-columns:1.05fr 1fr;padding:.75rem;background:#ffffffeb;border:1px solid white;border-radius:2rem;box-shadow:var(--shadow),0 0 0 1px #c3d7eb4d;animation:riseIn .8s cubic-bezier(.16,1,.3,1) both}.auth-aside{position:relative;overflow:hidden;border-radius:1.4rem;min-width:0;padding:2.65rem 2.65rem 2rem;display:flex;flex-direction:column;background:var(--auth-light-aside)}.auth-aside:before{content:"";position:absolute;inset:0;background-image:radial-gradient(#8badd8 .7px,transparent .7px);background-size:20px 20px;opacity:.18;mask-image:linear-gradient(transparent 20%,#000 70%);pointer-events:none}.auth-aside:after{content:"";position:absolute;width:350px;height:350px;border:1px solid rgba(255,255,255,.6);border-radius:50%;right:-235px;top:-155px;box-shadow:0 0 0 40px #ffffff26,0 0 0 80px #ffffff1a;pointer-events:none}.auth-aside-body{position:relative;z-index:1}.auth-aside-eyebrow{display:flex;gap:.5rem;align-items:center;font-size:.62rem;letter-spacing:.13em;text-transform:uppercase;color:#456d9c;font-weight:600;animation:riseIn .7s .15s both}.auth-aside-eyebrow>span{width:6px;height:6px;border-radius:50%;background:#428ee7;box-shadow:0 0 0 4px #428ee71a}.auth-aside-title{margin-top:1.45rem;font:800 clamp(2.3rem,3.4vw,3.1rem)/1.12 var(--font-display);letter-spacing:-.055em;animation:riseIn .8s .23s both}.auth-aside-title>span{color:#3981d6}.auth-aside-text{max-width:31ch;margin-top:1.2rem;font-size:.83rem;line-height:1.8;color:#526c8b;animation:riseIn .8s .3s both}.auth-aside-foot{position:relative;display:flex;flex-wrap:wrap;gap:1.1rem;margin-top:auto;padding-top:1rem;border-top:1px solid rgba(103,147,199,.18);font-size:.66rem;color:#456a94;animation:riseIn .8s .6s both}.auth-aside-foot>span{display:inline-flex;gap:.35rem;align-items:center}.auth-aside-foot svg{width:14px;height:14px;fill:none;stroke:#3981d6;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.identity-scene{position:relative;width:100%;max-width:390px;min-height:270px;flex:1;margin:.75rem auto 1rem;display:grid;place-items:center;animation:fadeIn 1.2s .45s both}.identity-glow{position:absolute;width:200px;height:200px;border-radius:50%;background:#b1d3ff;filter:blur(38px);opacity:.7;animation:glowBreathe 7s ease-in-out infinite}.orbit{position:absolute;border:1px solid rgba(86,143,214,.24);border-radius:50%;animation:orbitSpin 42s linear infinite}.orbit-outer{width:258px;height:258px}.orbit-inner{width:194px;height:194px;border-style:dashed;border-color:#568fd62e;animation-direction:reverse;animation-duration:60s}.orbit-dot{position:absolute;width:7px;height:7px;border-radius:50%;background:#6aa6ec;top:28px;left:36px;box-shadow:0 0 0 5px #6aa6ec1a}.orbit-inner .orbit-dot{width:5px;height:5px;top:22px;left:27px;background:#8ebef2}.identity-core{position:relative;width:112px;height:126px;display:grid;place-items:center;border-radius:32px;background:linear-gradient(145deg,#fffffff7,#f4faffb3);border:1px solid white;box-shadow:0 20px 45px -12px #3b74b83d,inset 0 0 0 6px #ffffff4d;transform:rotate(-8deg);animation:coreFloat 7s ease-in-out infinite}.identity-core svg{width:64px;height:64px;fill:#e4f0ff;stroke:#438de3;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.shield-check{fill:none;stroke-width:3.5;stroke-dasharray:35;animation:drawCheck 1.4s 1s both}.identity-node{position:absolute;width:43px;height:43px;border-radius:13px;background:#ffffffbf;border:1px solid white;display:grid;place-items:center;box-shadow:0 8px 20px #3f78bb14;animation:float 6s ease-in-out infinite}.identity-node svg,.chip-icon svg{width:20px;height:20px;fill:none;stroke:#5b96db;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.node-apps{top:18px;left:68px;transform:rotate(-10deg)}.node-key{right:48px;bottom:38px;animation-delay:-3s}.identity-spark{position:absolute;font-size:1.4rem;font-weight:300;color:#70a3df}.spark-one{right:55px;top:42px;animation:float 5s ease-in-out infinite}.spark-two{left:40px;bottom:72px;color:#9dbce4;animation:float 6s -3s ease-in-out infinite}.identity-chip{position:absolute;display:flex;gap:.6rem;align-items:center;padding:.7rem .85rem;border-radius:13px;background:#ffffffe0;border:1px solid white;box-shadow:0 12px 35px -10px #4271ad33;backdrop-filter:blur(8px);animation:float 7s ease-in-out infinite}.identity-chip b{display:block;font-size:.7rem;color:#335476;font-weight:600}.identity-chip small{display:block;font-size:.57rem;color:#60738c;margin-top:.05rem}.chip-account{top:65px;right:-4px;animation-delay:-2s}.chip-session{bottom:23px;left:5px;animation-duration:8s}.chip-icon{display:grid;place-items:center;width:32px;height:32px;border-radius:9px;background:#edf5ff}.chip-check{display:grid;place-items:center;width:17px;height:17px;margin-left:.2rem;background:#e6f5ee;color:#40896e;font-size:.6rem;border-radius:50%}.auth-card{width:100%;max-width:460px;padding:2.5rem;background:#fff;border:1px solid var(--clr-border);border-radius:1.5rem;box-shadow:var(--shadow);animation:riseIn .7s both}.auth-shell .auth-card{align-self:center;max-width:none;padding:2.1rem 3.25rem;border:0;border-radius:0;background:transparent;box-shadow:none;animation:none;min-width:0}.auth-heading{animation:riseIn .8s .2s both}.auth-heading-icon{width:45px;height:45px;display:grid;place-items:center;background:linear-gradient(145deg,#edf5ff,#e2efff);border:1px solid #dbeaff;border-radius:14px;margin-bottom:1.25rem;color:#3e83d5;box-shadow:0 5px 10px #3981d608}.auth-heading-icon svg{width:23px;height:23px;stroke:currentColor;stroke-width:1.6;fill:none;stroke-linecap:round;stroke-linejoin:round}.auth-eyebrow{display:block;font-size:.59rem;font-weight:600;letter-spacing:.17em;color:#5b7391;margin-bottom:.6rem}.auth-title{font:800 1.95rem/1.25 var(--font-display);letter-spacing:-.05em;margin-bottom:.55rem}.auth-title>span{color:#4a92e4}.auth-subtitle{color:var(--clr-muted);font-size:.79rem;margin-bottom:1.65rem}.auth-title:not(:has(+.auth-subtitle)){margin-bottom:1.5rem}.auth-form{animation:riseIn .8s .3s both}.auth-form .form-group{margin-bottom:1.05rem}.form-group{margin-bottom:1.15rem}.form-group label{display:block;font-size:.76rem;font-weight:500;color:#425a76;margin-bottom:.45rem;transition:color var(--transition)}.form-group:focus-within label{color:var(--clr-primary)}.form-control{width:100%;height:3rem;padding:0 1rem;background:#f8fafd;border:1px solid #dfe8f2;border-radius:var(--radius-sm);color:var(--clr-text);font-size:.82rem;font-family:var(--font);transition:border-color var(--transition),box-shadow var(--transition),background var(--transition);outline:none}.form-control:hover{border-color:var(--clr-border-h)}.form-control:focus{background:#fff;border-color:#6b9fe0;box-shadow:var(--ring)}.form-control::placeholder{color:#63768e;font-size:.78rem}.form-control:-webkit-autofill{-webkit-text-fill-color:var(--clr-text);-webkit-box-shadow:0 0 0 100px #f4f8ff inset;caret-color:var(--clr-text)}textarea.form-control{height:auto;min-height:5.5rem;padding:.7rem 1rem;line-height:1.5}select.form-control{cursor:pointer;appearance:none;padding-right:2.5rem;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%2360738c' d='M6 8L1 3h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 1rem center}.input-wrap{position:relative}.input-wrap .form-control{padding-left:2.75rem}.input-wrap.has-toggle .form-control{padding-right:3rem}.input-icon{position:absolute;left:1rem;top:50%;transform:translateY(-50%);width:17px;height:17px;stroke:#839bb7;stroke-width:1.6;fill:none;stroke-linecap:round;stroke-linejoin:round;transition:stroke var(--transition);pointer-events:none}.input-wrap:focus-within .input-icon{stroke:var(--clr-primary)}.password-toggle{position:absolute;top:50%;right:.5rem;transform:translateY(-50%);width:35px;height:35px;display:grid;place-items:center;border:0;background:transparent;color:#738baa;border-radius:8px;cursor:pointer;transition:background var(--transition),color var(--transition)}.password-toggle:hover{color:var(--clr-primary);background:#eaf2fe}.password-toggle svg{width:18px;height:18px;stroke:currentColor;stroke-width:1.6;fill:none;stroke-linecap:round}.form-check{display:flex;align-items:center;gap:.55rem;font-size:.76rem;color:var(--clr-muted);min-height:24px}.form-check label,.form-check input{cursor:pointer}.form-check input[type=checkbox]{width:15px;height:15px;accent-color:var(--clr-primary)}.auth-login-options{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:1.25rem}.auth-login-options a{font-size:.76rem;font-weight:600;white-space:nowrap}.account-type{border:0;padding:0;margin:0 0 1.4rem;min-width:0}.account-type legend{padding:0;margin-bottom:.7rem;font-size:.76rem;font-weight:600;color:var(--clr-text)}.account-type-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem}.account-type-card{position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:.35rem;padding:1rem;border:1px solid var(--clr-border);border-radius:var(--radius-sm);background:var(--clr-surface);cursor:pointer}.account-type-card.is-selected{border-color:var(--clr-primary);background:color-mix(in srgb,var(--clr-primary) 9%,var(--clr-surface));box-shadow:inset 0 0 0 1px var(--clr-primary)}.account-type-card:has(input:focus-visible){outline:2px solid var(--clr-primary);outline-offset:3px}.account-type-card input{position:absolute;top:1rem;right:1rem;width:16px;height:16px;margin:0;accent-color:var(--clr-primary);cursor:pointer}.account-type-card svg{width:23px;height:23px;margin-bottom:.25rem;fill:none;stroke:var(--clr-primary);stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.account-type-name{font-size:.87rem;font-weight:600;color:var(--clr-text)}.account-type-description{font-size:.73rem;line-height:1.5;color:var(--clr-muted)}.account-type-help{margin:.8rem 0 0;font-size:.73rem;line-height:1.6;color:var(--clr-muted)}.account-type:disabled .account-type-card{cursor:wait;opacity:.65}.registration-details-heading{font-size:.8rem;font-weight:600;margin-bottom:.85rem;color:var(--clr-text)}@media(hover:hover)and (pointer:fine){.account-type-card:not(.is-selected):hover{border-color:var(--clr-border-h)}}@media(max-width:380px){.account-type-card{padding:.8rem}.auth-login-options{gap:.4rem}.auth-login-options .form-check,.auth-login-options a{font-size:.7rem}}.auth-footer{text-align:center;font-size:.76rem;color:var(--clr-muted);border-top:1px solid #e9eff6;padding-top:1.25rem;margin-top:1.5rem;animation:riseIn .8s .4s both}.auth-footer a{font-weight:600;margin-left:.2rem}.auth-footer a span{display:inline-block;transition:transform var(--transition)}.auth-footer a:hover span{transform:translate(2px,-2px)}.auth-security-note{display:flex;justify-content:center;align-items:center;gap:.35rem;margin-top:1.3rem;color:#62768f;font-size:.62rem;animation:fadeIn 1s .6s both}.auth-security-note svg{width:13px;height:13px;fill:none;stroke:#7b9abc;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.auth-logo{display:flex;align-items:center;gap:.75rem;margin-bottom:2rem;font-family:var(--font-display);font-weight:700}.auth-logo-icon{width:44px;height:44px;background:#edf5ff;border-radius:13px;display:grid;place-items:center;color:#fff}.auth-logo-icon img{width:30px;height:30px}.white-image,.stroke-image{filter:none}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.55rem;height:2.7rem;padding:0 1.2rem;border-radius:var(--radius-sm);font-size:.8rem;font-weight:600;cursor:pointer;border:1px solid transparent;font-family:var(--font);text-decoration:none;white-space:nowrap;transition:transform var(--transition),box-shadow var(--transition),background var(--transition),border-color var(--transition),color var(--transition)}.btn:hover:not(:disabled){transform:translateY(-2px)}.btn:active:not(:disabled){transform:translateY(0)}.btn:disabled{opacity:.55;cursor:not-allowed}.btn-primary{position:relative;isolation:isolate;overflow:hidden;background:var(--grad-primary);color:#fff;border-color:#2873dc1a;box-shadow:var(--shadow-glow),inset 0 1px #ffffff26}.btn-primary:after{content:"";position:absolute;z-index:-1;inset:0;background:linear-gradient(110deg,transparent 20%,rgba(255,255,255,.22) 50%,transparent 80%);transform:translate(-120%);transition:transform .75s ease}.btn-primary:hover:not(:disabled){color:#fff;box-shadow:0 12px 25px -8px #2873dc80}.btn-primary:hover:not(:disabled):after{transform:translate(120%)}.auth-submit{width:100%;height:3.1rem;margin-top:1.15rem;font-size:.8rem}.button-arrow{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;margin-left:auto;transition:transform var(--transition)}.auth-submit>span:first-child{margin-left:auto}.auth-submit>span:last-child{margin-right:auto}.auth-submit:hover .button-arrow{transform:translate(3px)}.btn-secondary{background:#eaf3ff;color:#2867b5;border-color:#cfe1f8}.btn-secondary:hover:not(:disabled){background:#deecff;color:#184f9e}.btn-ghost{background:#fff;color:#546b87;border-color:var(--clr-border)}.btn-ghost:hover:not(:disabled){background:#f3f8ff;color:var(--clr-primary-h);border-color:var(--clr-border-h)}.btn-danger{background:#c84150;color:#fff}.btn-danger:hover:not(:disabled){background:#b52f3e;color:#fff}.btn-sm{height:2rem;padding:0 .75rem;font-size:.72rem;border-radius:.5rem}.alert{display:flex;align-items:center;gap:.6rem;padding:.85rem 1rem;border-radius:var(--radius-sm);font-size:.8rem;margin-bottom:1.2rem;animation:riseIn .35s both}.alert-error{background:#fff2f3;border:1px solid #f5d4d9;color:#ae3545}.alert-success{background:#edf8f1;border:1px solid #c9e7d6;color:#26704e}.button-spinner,.captcha-spinner{width:16px;height:16px;flex-shrink:0;border:2px solid var(--clr-border);border-top-color:var(--clr-primary);border-radius:50%;animation:spin .8s linear infinite}.button-spinner{border-color:#ffffff59;border-top-color:#fff}.page-header{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem;margin-bottom:1.65rem}.page-header h2{font:800 1.7rem/1.25 var(--font-display);letter-spacing:-.045em}.page-description{color:var(--clr-muted);font-size:.8rem;margin-top:.5rem}.page-eyebrow{display:block;font-size:.6rem;color:#6b89ac;letter-spacing:.16em;font-weight:600;text-transform:uppercase;margin-bottom:.6rem}.card{background:var(--glass);border:1px solid var(--clr-border);border-radius:var(--radius);box-shadow:0 8px 30px -15px #37629524}.card-header{display:flex;gap:.6rem;align-items:center;padding:1.15rem 1.5rem;border-bottom:1px solid #e9eff6;font-family:var(--font-display);font-size:.85rem;font-weight:700}.card-header svg{width:18px;height:18px;fill:none;stroke:#638bb7;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.card-body{padding:1.25rem 1.5rem}.badge{display:inline-flex;align-items:center;padding:.23rem .65rem;border-radius:7px;font-size:.66rem;font-weight:500;background:#f0f4f8;color:#61778f;border:1px solid #e0e8f0}.badge-primary{color:#2868b6;background:#edf5ff;border-color:#d7e7fa}.badge-success{color:#25734f;background:#ecf8f0;border-color:#cfe9da}.badge-warning{color:#875c0d;background:#fff8e8;border-color:#f1e2bc}.badge-danger{color:#b03f4b;background:#fff0f2;border-color:#f2d5db}.modal-backdrop{position:fixed;inset:0;background:#253e5f47;backdrop-filter:blur(6px);z-index:1000;animation:fadeIn .2s both}.modal{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);width:calc(100% - 2rem);max-width:480px;max-height:calc(100dvh - 2rem);overflow-y:auto;background:#fff;border:1px solid #dfebf7;border-radius:1.25rem;box-shadow:0 30px 100px -20px #2448764d;z-index:1001;animation:modalIn .35s cubic-bezier(.16,1,.3,1) both}.modal.modal-wide{max-width:700px}.modal-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1.2rem 1.5rem;border-bottom:1px solid var(--clr-border)}.modal-header h3{font:700 1rem var(--font-display);letter-spacing:-.025em}.modal-body{padding:1.5rem}.modal-footer{display:flex;justify-content:flex-end;gap:.5rem;padding:1rem 1.5rem;border-top:1px solid var(--clr-border);background:#f8fbff}.role-row{display:flex;align-items:center;gap:.75rem;padding:.7rem .8rem;border-radius:var(--radius-sm);border:1px solid transparent;cursor:pointer;transition:background var(--transition),border-color var(--transition)}.role-row:hover{background:#f6f9ff}.role-row--active{background:#edf5ff;border-color:#cee2fa}.role-row input[type=checkbox]{accent-color:var(--clr-primary);width:16px;height:16px}.role-name{font-size:.82rem;font-weight:500}.role-desc{color:var(--clr-muted);font-size:.75rem;margin-left:auto}button.method-check{display:inline-flex;align-items:center;padding:.3rem .8rem;border-radius:8px;font-size:.72rem;font-weight:500;cursor:pointer;border:1px solid var(--clr-border);background:#f5f8fc;color:var(--clr-muted);-webkit-user-select:none;user-select:none;transition:background var(--transition),border-color var(--transition),color var(--transition)}button.method-check:hover{border-color:#8cb4e7;color:var(--clr-primary)}button.method-check.checked{background:#e7f1ff;color:#2768ba;border-color:#a8c8ef}.captcha-widget{margin-top:1.2rem}.captcha-box{display:flex;align-items:center;gap:.65rem;padding:.8rem .9rem;border-radius:var(--radius-sm);border:1px solid #dfe8f3;background:#f8fafd;font-size:.74rem;min-height:3rem;transition:border-color var(--transition),background var(--transition);animation:fadeIn .35s both}.captcha-pending{color:var(--clr-muted)}.captcha-error{color:#b03f4b;background:#fff4f5;border-color:#efcfd5}.captcha-interactive{justify-content:space-between}.captcha-interactive:hover{border-color:#8fb8e9}.captcha-checkbox-label{display:flex;gap:.6rem;align-items:center;position:relative;cursor:pointer;-webkit-user-select:none;user-select:none;font-weight:500}.captcha-checkbox{position:absolute;width:20px;height:20px;left:0;opacity:0;cursor:pointer}.captcha-checkmark{display:grid;place-items:center;flex-shrink:0;width:20px;height:20px;border:1.5px solid #b9cde4;border-radius:5px;background:#fff;color:var(--clr-success);transition:background var(--transition),border-color var(--transition)}.captcha-checkbox:focus-visible+.captcha-checkmark{outline:2px solid var(--clr-primary);outline-offset:3px}.captcha-checked .captcha-checkmark{background:#e7f5ec;border-color:#6ea78c}.captcha-brand{display:flex;gap:.25rem;align-items:center;font-size:.58rem;color:#607891}.captcha-brand svg{width:12px;height:12px;fill:none;stroke:currentColor;stroke-width:1.6}.captcha-math{flex-direction:column;align-items:stretch;gap:.7rem}.captcha-img{display:block;width:min(220px,100%);height:auto;border-radius:8px;border:1px solid var(--clr-border);-webkit-user-select:none;user-select:none;pointer-events:none}.captcha-math-row{display:flex;gap:.5rem;align-items:center}.captcha-answer{flex:1;min-width:0}.captcha-verify-btn{background:#fff;border:1px solid var(--clr-border);color:var(--clr-text)}.captcha-passed{background:#f0f8f3;border-color:#d1e8d9;color:#3a7957}.captcha-ok{width:20px;height:20px;display:grid;place-items:center;border-radius:50%;background:#deefe5;font-size:.7rem;animation:popIn .4s both}.google-btn{display:flex;justify-content:center;min-height:44px;max-width:100%;overflow:hidden;animation:riseIn .7s .25s both}.auth-divider{display:flex;align-items:center;gap:.75rem;margin:1.15rem 0;color:#7d8fa6;font-size:.65rem}.auth-divider:before,.auth-divider:after{content:"";flex:1;height:1px;background:#e6edf5}.form-hint{font-size:.72rem;color:var(--clr-muted);margin-top:.35rem}.form-hint-error{color:var(--clr-danger);margin:-.25rem 0 .75rem}.strength{display:grid;grid-template-columns:repeat(4,1fr);gap:4px;margin-top:.5rem}.strength span{height:4px;border-radius:2px;background:var(--clr-border);transition:background var(--transition)}.strength-1 span:nth-child(-n+1){background:var(--clr-danger)}.strength-2 span:nth-child(-n+2){background:#d5a746}.strength-3 span:nth-child(-n+3),.strength-4 span{background:#5b9e7f}@keyframes riseIn{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes ambientDrift{to{transform:translate(7vw,5vh) scale(1.15)}}@keyframes glowBreathe{0%,to{opacity:.5;transform:scale(.9)}50%{opacity:.8;transform:scale(1.1)}}@keyframes orbitSpin{to{transform:rotate(360deg)}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes coreFloat{0%,to{transform:translateY(0) rotate(-8deg)}50%{transform:translateY(-8px) rotate(-4deg)}}@keyframes drawCheck{0%{stroke-dashoffset:35}to{stroke-dashoffset:0}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes popIn{0%{opacity:0;transform:scale(.65)}to{opacity:1;transform:scale(1)}}@keyframes modalIn{0%{opacity:0;transform:translate(-50%,calc(-50% + 16px)) scale(.97)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}@media(min-width:1500px){.auth-shell{min-height:690px}.auth-aside{padding:3rem}}@media(max-width:1100px){.auth-shell .auth-card,.auth-aside{padding:2rem}}@media(max-width:860px){.auth-wrap{padding:1.5rem;gap:1.5rem}.auth-topbar,.auth-page-footer{max-width:480px}.auth-shell{max-width:480px;grid-template-columns:1fr;border-radius:1.5rem}.auth-aside{display:none}.auth-shell .auth-card{padding:2rem 1.75rem}.topbar-caption{display:none}.auth-page-footer{justify-content:center}.footer-signature{display:none}.auth-heading-icon{margin-bottom:1.5rem}}@media(max-width:600px){.auth-wrap{padding:1.5rem 1rem;gap:1.5rem}.auth-shell .auth-card{padding:1.5rem 1rem}.auth-title{font-size:1.85rem}.auth-subtitle{font-size:.76rem}.auth-wordmark{font-size:1rem}.form-control{font-size:16px}.page-header h2{font-size:1.45rem}.toolbar{flex-wrap:wrap}}@media(max-height:760px)and (min-width:861px){.auth-wrap{padding-top:1.25rem;padding-bottom:1.25rem;gap:1.25rem}.auth-shell .auth-card{padding-top:1.5rem;padding-bottom:1.5rem}.auth-heading-icon{width:38px;height:38px;margin-bottom:.9rem}.auth-aside{padding-top:2rem}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
