/* Account domain layouts adapted from legacy 8abcc18; shared/ui owns theme and primitives. */
nav a:hover { color: var(--ui-surface); background: rgba(255,255,255,.1); }

main:has(.profile-grid),.topbar:has(+ main .profile-grid) > div { width: min(var(--ui-container-wide),calc(100% - var(--ui-container-gutter) * 2)); }
.card,.auth-card { padding: 20px; border: 1px solid #d8e0dc; border-radius: 12px; background: var(--ui-surface); box-shadow: 0 18px 60px rgba(18,56,46,.13); }
h1,h2,p { margin-top: 0; }
.error { color: var(--ui-error); }.success { color: var(--ui-primary); }
.form-link { margin: 22px 0 0; text-align: center; }
.setup { padding: 14px; border-radius: 8px; background: #eef8f4; }.setup img { display: block; width: 180px; margin: 12px auto; }.setup code { display: block; overflow-wrap: anywhere; }
dl { display: grid; grid-template-columns: repeat(2,1fr); gap: 12px; } dl div { padding: 14px; border-radius: 8px; background: #f3f7f5; } dt { color:#60716b;font-size:12px;font-weight:700; } dd { margin:6px 0 0;font-weight:800; }
.approval { display:grid; gap:14px; padding:16px 0; border-top:1px solid #dce5e1; }
.approval:first-of-type { border-top:0; }
.approval small { display:block; margin-top:4px; color:#60716b; }
.approval form { grid-template-columns:auto minmax(90px,1fr) auto minmax(90px,1fr) auto; align-items:center; }
.approval form label { display:flex; align-items:center; gap:7px; }
.service-approval { grid-template-columns:minmax(0,1fr) auto; align-items:center; }
.service-approval form { display:block; }
.service-approval button { min-height:36px; padding:0 12px; }
button:disabled { opacity:.5; cursor:not-allowed; }
.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse}th,td{padding:13px 10px;border-bottom:1px solid #dce5e1;text-align:left;vertical-align:top}th{color:#60716b;font-size:12px;text-transform:uppercase}.service-link{font-weight:800}.button-link,.secondary{display:inline-flex;align-items:center;justify-content:center;min-height:36px;padding:0 11px;border-radius:7px;color:var(--ui-primary);background:#edf7f3;font-weight:800;text-decoration:none}.secondary{border:1px solid #cbd7d2;background:var(--ui-surface)}.compact-form{max-width:520px}.cabinet-sections{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px;margin-top:28px;padding-top:28px;border-top:1px solid #dce5e1}.section-title{margin-bottom:12px}.cabinet-section h2{margin:0}.info-row{display:flex;justify-content:space-between;gap:14px;padding:10px 0;border-top:1px solid #dce5e1;font-size:14px}.info-row span{color:#60716b}.info-row strong{text-align:right}.inline-disclosure{margin-top:12px}.inline-disclosure summary{display:inline-flex;align-items:center;min-height:34px;color:var(--ui-primary);font-size:13px;font-weight:800;cursor:pointer}.inline-disclosure form{margin-top:14px;padding-top:14px;border-top:1px solid #dce5e1}.users-access-table td{min-width:190px}.users-access-table small{display:block;margin-top:4px;color:#60716b}.service-access-form{display:grid;grid-template-columns:minmax(108px,1fr) auto;gap:7px;margin-top:9px}.service-access-form select,.service-access-form button{min-height:36px;font-size:13px}.account-action{display:inline-block;margin-top:10px}.account-action button{min-height:34px;font-size:12px}
.admin-create-user{margin:16px 0 20px}.danger{border:1px solid #c83e3e;background:#fff1f1;color:#a52626}.delete-user-form{display:flex;align-items:center;gap:8px;margin-left:8px}.delete-user-form label{display:flex;align-items:center;gap:5px;color:#7b2b2b;font-size:11px}.delete-user-form input{width:auto;margin:0}
.user-password-reset{margin-top:9px}.user-password-reset summary{color:var(--ui-primary);font-size:12px;font-weight:800;cursor:pointer}.user-password-reset form{min-width:240px;margin-top:8px;padding:10px;border:1px solid #dce5e1;border-radius:7px;background:#f8fbfa}.user-password-reset label{font-size:11px}.user-password-reset input,.user-password-reset button{min-height:34px;font-size:12px}
.services-card{padding:18px 20px}.services-card h2{margin-bottom:8px}.services-card>p{margin-bottom:12px;font-size:13px}.services-table{table-layout:fixed}.services-table th:nth-child(1){width:33%}.services-table th:nth-child(2){width:34%}.services-table th:nth-child(3){width:33%}.service-access-state{display:flex;align-items:center;gap:10px;min-height:30px}.service-request-form{display:inline-flex;gap:0}.service-request-form button{min-height:30px;padding:0 10px;font-size:12px;white-space:nowrap}.service-notice{padding:10px 12px;border-radius:7px;color:#245b4c;background:#edf7f3;font-weight:650}.services-empty{margin:0;padding:14px 16px;border:1px solid #e3eaf0;border-radius:7px;color:#64738c;font-size:13px}
.muted{margin-bottom:0;color:#60716b;font-size:13px}.auth-incidents-heading{display:flex;justify-content:space-between;gap:16px}.auth-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:18px 0}.auth-summary-item{padding:12px;border-radius:8px;background:#f3f7f5}.auth-summary-item span{display:block;color:#60716b;font-size:12px;line-height:1.3}.auth-summary-item strong{display:block;margin-top:5px;font-size:22px}.auth-incidents{margin-top:18px}.auth-incidents td{font-size:13px}.auth-incidents th:nth-child(1){min-width:190px}.auth-incidents th:nth-child(2){min-width:180px}.auth-incidents th:nth-child(3){min-width:230px}.auth-incidents th:nth-child(4){min-width:125px}.auth-incidents code{font:inherit;color:#38524a}.auth-user-agent{min-width:250px;max-width:420px;overflow-wrap:anywhere;color:#60716b}
@media(max-width:760px){.brand small{display:none}main,main:has(.profile-grid),.topbar:has(+ main .profile-grid)>div{width:min(100% - 20px,1120px)}.profile-grid,.cabinet-sections{grid-template-columns:1fr}dl{grid-template-columns:1fr}.approval form{grid-template-columns:1fr 1fr}.approval form button{grid-column:1/-1}.auth-summary{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.delete-user-form{display:grid;margin-left:0}.delete-user-form label{grid-template-columns:auto 1fr}}
@media(max-width:760px){.services-card{padding:16px}.service-access-state{align-items:flex-start;flex-direction:column;gap:6px}.services-table{table-layout:auto}.services-table th:nth-child(1),.services-table th:nth-child(2),.services-table th:nth-child(3){width:auto}.service-approval{grid-template-columns:1fr}}

/* Dense admin workspace: keep the complete data visible with less scrolling. */
table { font-size: 13px; }
th, td { padding: 8px 7px; }
.users-access-table td { min-width: 155px; }
.users-access-table small { margin-top: 3px; }
.service-access-form { grid-template-columns: minmax(92px, 1fr) auto; gap: 5px; margin-top: 6px; }
.service-access-form select, .service-access-form button, .account-action button { min-height: 30px; font-size: 12px; }
.auth-incidents td { font-size: 12px; }
.auth-incidents th:nth-child(1) { min-width: 165px; }
.auth-incidents th:nth-child(2) { min-width: 175px; }
.auth-incidents th:nth-child(3) { min-width: 150px; }

/* Compact user-access workspace. Forms retain the existing POST and CSRF contracts. */
.users-management { padding: 26px 18px 20px; }
.users-management-header { display:flex; align-items:center; justify-content:space-between; gap:20px; }
.users-management-header h2 { margin: 2px 0 4px; font-size: 25px; color:#101a35; }
.users-management-header .eyebrow { margin-bottom:0; }
.users-management-controls { display:flex; align-items:center; gap:10px; }
.users-search,.users-filter { display:flex; align-items:center; gap:9px; min-height:44px; padding:0 12px; border:1px solid #cbd7d2; border-radius:8px; background:var(--ui-surface); color:#32435c; }
.users-search { width:min(370px,38vw); }.users-search input,.users-filter select { min-height:40px; padding:0; border:0; outline:0; background:transparent; }
.users-search input { width:100%; }.users-filter select { min-width:150px; color:#18233d; }
.users-management-description { margin:16px 0; color:#60716b; font-size:13px; }
.users-table-wrap { border:1px solid #dce5e1; border-radius:10px; }.users-access-table { table-layout:fixed; }
.users-access-table th { padding:12px 18px; background:#f5f8f7; color:#53627a; font-size:12px; text-transform:none; }.users-access-table td { min-width:0; padding:14px 18px; vertical-align:middle; }
.users-access-table th:nth-child(1) { width:15%; }.users-access-table th:nth-child(2) { width:5%; }.users-access-table th:nth-child(3) { width:18%; }.users-access-table th:nth-child(4) { width:12%; }.users-access-table th:nth-child(5) { width:7%; }.users-access-table th:nth-child(6),.users-access-table th:nth-child(7),.users-access-table th:nth-child(8) { width:10%; }.users-access-table th:nth-child(9) { width:13%; }
.users-sort { min-height:auto; padding:0; border:0; color:inherit; background:transparent; font-size:inherit; }.users-sort span { color:#8b9ab1; font-size:16px; }
.users-access-table small { display:flex; align-items:center; gap:6px; color:#71809a; }.user-status-dot { width:9px; height:9px; border-radius:50%; background:#12a46e; }.users-access-table tr[data-user-state='disabled'] .user-status-dot { background:var(--ui-error); }
.service-access-form { display:block; margin-top:0; }.service-access-form strong { display:none; }.service-access-form select { width:100%; min-height:40px; padding:0 12px; border-radius:8px; font-size:13px; }
.user-actions-cell { white-space:nowrap; }.save-user-access { min-height:40px; padding:0 13px; border-radius:8px; background:#079266; font-size:13px; }.user-actions-menu { position:relative; display:inline-block; margin-left:8px; vertical-align:middle; }.user-actions-menu > summary { display:flex; align-items:center; justify-content:center; width:40px; min-height:40px; border:1px solid #dce5e1; border-radius:8px; color:#273752; background:#f7faf9; font-size:24px; font-weight:900; line-height:1; cursor:pointer; list-style:none; }.user-actions-menu > summary::-webkit-details-marker { display:none; }
.user-actions-popover { position:absolute; z-index:5; right:0; top:47px; width:252px; padding:6px; border:1px solid #d8e0dc; border-radius:9px; background:var(--ui-surface); box-shadow:0 12px 28px rgba(18,56,46,.18); white-space:normal; }.user-actions-popover .account-action { display:block; margin:0; }.menu-action { display:flex; align-items:center; width:100%; min-height:38px; padding:0 10px; border:0; border-radius:6px; color:#24334d; background:transparent; text-align:left; font-size:13px; font-weight:700; cursor:pointer; }.menu-action:hover { background:#edf7f3; }.menu-disclosure { margin:0; }.menu-disclosure summary { list-style:none; }.menu-disclosure summary::-webkit-details-marker { display:none; }.menu-disclosure form { display:grid; gap:8px; margin:3px 4px 7px; padding:10px; border-radius:7px; background:#f6f9f8; }.menu-disclosure label { gap:4px; color:#5e6e86; font-size:11px; }.menu-disclosure input,.menu-disclosure button { min-height:34px; font-size:12px; }.menu-delete-confirm { border-top:1px solid #e7ece9; }.menu-delete-confirm form { background:#fff5f5; }.menu-delete-confirm p { margin:0; color:#8b3131; font-size:12px; line-height:1.35; }.menu-action.danger { color:#b42318; }.menu-action.danger:hover { background:#fff1f1; }
.users-access-table tr:last-child .user-actions-popover { top:auto; bottom:47px; }
.users-count { margin:14px 8px 0; color:#8090aa; font-size:12px; }
@media(max-width:900px) { .users-management-header { align-items:flex-start; flex-direction:column; }.users-management-controls { width:100%; }.users-search { width:100%; }.users-access-table { min-width:910px; } }
@media(max-width:760px) { .users-management { padding:18px 12px; }.users-management-controls { align-items:stretch; flex-direction:column; }.users-filter { width:100%; }.users-filter select { width:100%; }.users-management-header h2 { font-size:22px; } }
.auth-incidents th:nth-child(4) { min-width: 115px; }
.auth-incidents small { display: block; margin-top: 3px; font-size: 11px; }
.auth-user-agent { min-width: 190px; max-width: 360px; }
.logout-cancel { text-align: center; }

/* Profile workspace: same compact visual language as the management table. */
body { color:var(--ui-text); background:var(--ui-background); }
.topbar { box-shadow:none; }.topbar > div { min-height:68px; }
.profile-grid .wide { grid-column:1 / -1; }
.profile-grid { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.08fr); align-items:start; gap:16px; }.card,.auth-card { border-color:#e3eaf0; border-radius:10px; box-shadow:0 10px 34px rgba(29,57,83,.08); }
.cabinet-card { padding:20px 22px 18px; }.cabinet-identity { display:flex; align-items:center; gap:14px; }.identity-icon,.workspace-icon { display:inline-flex; align-items:center; justify-content:center; flex:0 0 auto; width:48px; height:48px; border-radius:10px; color:#07845f; background:#eaf8f4; }.ui-icon { width:25px; height:25px; fill:none; stroke:currentColor; stroke-width:1.9; stroke-linecap:round; stroke-linejoin:round; }.cabinet-identity h1 { margin:2px 0 3px; color:#101a35; font-size:24px; }.cabinet-identity > div > p:last-child { margin:0; color:#63738d; font-size:13px; }.cabinet-identity .eyebrow { margin:0; font-size:10px; }
.cabinet-summary { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; margin:16px 0 18px; }.cabinet-summary > div { display:flex; align-items:center; gap:12px; min-height:54px; padding:10px 14px; border-radius:8px; background:#f5f8fa; }.cabinet-summary .summary-icon { display:inline-flex; color:#30435f; }.cabinet-summary .ui-icon { width:23px; height:23px; }.cabinet-summary dt { color:#697990; font-size:12px; }.cabinet-summary dd { margin:2px 0 0; color:#17233b; font-size:14px; font-weight:800; }
.cabinet-sections { grid-template-columns:minmax(0,1fr); gap:24px; margin-top:0; padding-top:16px; border-top-color:#e3eaf0; }.cabinet-section h2 { color:#16233b; font-size:16px; }.info-row { padding:8px 10px; border:1px solid #e3eaf0; border-bottom:0; font-size:12px; }.info-row:first-of-type { border-radius:7px 7px 0 0; }.info-row + .info-row { border-bottom:1px solid #e3eaf0; border-radius:0 0 7px 7px; }.security-factor-row { border-bottom:1px solid #e3eaf0; border-radius:7px; }.info-row span { flex:0 1 42%; min-width:0; color:#6e7d94; }.info-row strong { min-width:0; overflow-wrap:anywhere; }.inline-disclosure { margin-top:9px; }.inline-disclosure summary { min-height:28px; color:#07845f; }
.workspace-heading { display:flex; align-items:center; gap:12px; }.workspace-heading .workspace-icon { width:42px; height:42px; border-radius:9px; }.workspace-heading .ui-icon { width:23px; height:23px; }.workspace-heading h2 { margin:0 0 3px; color:#14213a; font-size:17px; }.workspace-heading .muted { font-size:12px; }.services-card,.audit-card,.requests-card { padding:18px 22px; }.services-card > .workspace-heading { margin-bottom:12px; }.services-table-wrap { border:1px solid #e3eaf0; border-radius:7px; }.services-table th { color:#64738c; background:#f4f7f9; font-size:11px; }.services-table td { padding:8px 10px; border-color:#e3eaf0; font-size:12px; }.service-access-state { min-height:22px; }.service-access-state > span::before { content:''; display:inline-block; width:8px; height:8px; margin:0 7px 1px 0; border-radius:50%; background:#0bae70; }.service-access-state > span { color:#34445f; }.service-access-state > span:not(:is(:only-child)) { white-space:nowrap; }
.audit-card .workspace-heading { margin-bottom:10px; }.auth-incidents { margin-top:10px; border:1px solid #e3eaf0; border-radius:7px; }.auth-incidents th { color:#64738c; background:#f4f7f9; font-size:11px; }.auth-incidents td { border-color:#e3eaf0; }.service-tag { display:inline-flex; align-items:center; min-height:22px; padding:0 8px; border-radius:99px; color:#087e5d; background:#eaf8f4; font-size:11px; font-weight:800; }.requests-card .workspace-heading { margin-bottom:12px; }.requests-empty { padding-left:50px; }
@media(max-width:760px) { .cabinet-summary { grid-template-columns:1fr; }.cabinet-card,.services-card,.audit-card,.requests-card { padding:16px; }.requests-empty { padding-left:0; }.cabinet-identity h1 { font-size:21px; } }

/* Compact profile and administrative separation. */
.profile-edit-link { margin-left:auto; white-space:nowrap; }.profile-badges { display:flex; flex-wrap:wrap; gap:7px; margin:14px 0 2px; }.profile-badges span { padding:5px 9px; border-radius:999px; color:var(--ui-primary); background:#eaf8f4; font-size:12px; font-weight:750; }.security-factor-row { align-items:center; flex-wrap:wrap; }.security-factor-row .inline-disclosure,.info-row .inline-disclosure { margin:0 0 0 auto; }.security-factor-row .inline-disclosure form,.info-row .inline-disclosure form { min-width:min(420px,80vw); }.admin-section-heading { grid-column:1/-1; margin-top:12px; padding:22px 0 0; border-top:2px solid #dbe6e1; }.admin-section-heading .eyebrow { margin:0; color:var(--ui-primary); }.audit-filters { display:grid; grid-template-columns:minmax(180px,1fr) repeat(4,minmax(100px,auto)) auto; align-items:end; gap:8px; margin:14px 0 10px; }.audit-filters input,.audit-filters select,.audit-filters button { min-height:36px; font-size:12px; }.audit-filters button { padding:0 12px; }.users-access-table tr[data-dirty='true'] { background:#f1faf6; }.save-user-access:disabled { color:#67758d; background:#edf1f4; }
.profile-edit-form { width:100%; max-width:none; gap:7px; margin-top:10px; padding-top:12px; }.profile-edit-form label { grid-template-columns:120px minmax(0,1fr); align-items:center; gap:12px; color:#6e7d94; font-size:12px; }.profile-edit-form input,.profile-edit-form select { width:100%; min-height:38px; height:38px; padding:0 10px; border-color:#e3eaf0; border-radius:7px; background:var(--ui-surface); font-size:13px; }.profile-edit-form input[readonly] { color:#17233b; background:#f5f8fa; }.profile-edit-form button { grid-column:2; justify-self:start; min-height:38px; padding:0 14px; font-size:12px; }
.profile-grid .compact-form { gap:7px; }.profile-grid .compact-form label { grid-template-columns:120px minmax(0,1fr); align-items:center; gap:12px; color:#6e7d94; font-size:12px; }.profile-grid .compact-form input,.profile-grid .compact-form select,.profile-grid .menu-disclosure input { min-height:38px; height:38px; padding:0 10px; border-color:#e3eaf0; border-radius:7px; font-size:13px; }.profile-grid .compact-form button,.profile-grid .menu-disclosure button { min-height:38px; padding:0 14px; font-size:12px; }.profile-grid .info-row .compact-form { margin-top:8px; }.profile-grid .admin-create-user .compact-form { max-width:620px; }.profile-grid .menu-disclosure form { gap:7px; }.profile-grid .menu-disclosure label { display:grid; grid-template-columns:1fr; gap:4px; color:#6e7d94; font-size:12px; }
.modal { width:min(560px,calc(100% - 32px)); max-width:560px; padding:24px; border:1px solid #d8e5e1; border-radius:12px; color:#17233b; background:var(--ui-surface); box-shadow:0 24px 80px rgba(18,56,46,.24); }.modal::backdrop { background:rgba(16,35,31,.45); }.modal h2 { margin:0 0 18px; font-size:18px; }.modal-close { position:absolute; top:10px; right:12px; width:32px; min-height:32px; padding:0; color:#60716b; background:transparent; font-size:25px; line-height:1; }.modal-close:hover { color:var(--ui-primary); background:#edf7f3; }.modal-actions { display:flex; justify-content:flex-end; gap:8px; margin-top:8px; }.modal-actions button { min-height:38px; }.text-action { min-height:30px; margin-left:auto; padding:0; color:#07845f; background:transparent; font-size:12px; font-weight:800; }.text-action:hover { color:#056246; }.profile-edit-link { border:0; cursor:pointer; font:inherit; }
.sessions-modal { width:min(680px,calc(100% - 32px)); max-width:680px; }.sessions-list { display:grid; gap:8px; margin:16px 0 0; padding:0; list-style:none; }.session-item { display:flex; align-items:center; justify-content:space-between; gap:16px; padding:12px; border:1px solid #e3eaf0; border-radius:8px; }.session-item > div { min-width:0; }.session-item strong,.session-item small { display:block; overflow-wrap:anywhere; }.session-item small { margin-top:4px; color:#6e7d94; font-size:12px; }.session-item form { display:block; flex:0 0 auto; }.session-item button { min-height:34px; }.session-current { flex:0 0 auto; color:#07845f; font-size:12px; font-weight:800; }.session-feedback { margin:12px 0 0; }
@media(max-width:760px) { .cabinet-identity { align-items:flex-start; flex-wrap:wrap; }.profile-edit-link { margin-left:62px; }.audit-filters { grid-template-columns:1fr; }.security-factor-row .inline-disclosure,.info-row .inline-disclosure { width:100%; margin:4px 0 0; }.security-factor-row .inline-disclosure form,.info-row .inline-disclosure form { min-width:0; } }
@media(max-width:760px) { .session-item { align-items:flex-start; flex-direction:column; gap:10px; }.session-item form,.session-current { align-self:flex-end; } }
@media(max-width:760px) { .profile-edit-form label,.profile-grid .compact-form label { grid-template-columns:1fr; gap:4px; }.profile-edit-form button,.profile-grid .compact-form button { grid-column:auto; width:100%; } }
@media(max-width:760px) { .profile-grid { display:grid; grid-template-columns:minmax(0,1fr); }.cabinet-sections { grid-template-columns:minmax(0,1fr); } }
@media(min-width:761px) { .services-table-wrap { overflow-x:visible; }.services-table { table-layout:fixed; }.services-table th,.services-table td { padding:8px 8px; text-align:center; vertical-align:middle; }.services-table th:nth-child(1) { width:22%; }.services-table th:nth-child(2) { width:33%; }.services-table th:nth-child(3) { width:20%; }.services-table th:nth-child(4) { width:25%; }.services-table .service-access-state { justify-content:center; gap:6px; }.services-table .service-request-form button,.services-table .button-link { padding-left:8px; padding-right:8px; font-size:11px; white-space:nowrap; } }

.audit-filters { grid-template-columns:minmax(180px,1fr) repeat(3,minmax(100px,auto)); align-items:center; }
.audit-footer { display:grid; grid-template-columns:1fr auto 1fr; align-items:center; gap:12px; margin-top:14px; font-size:12px; }
.audit-count { color:#64738c; }
.audit-pagination { display:flex; flex-wrap:wrap; align-items:center; justify-content:center; gap:5px; }
.audit-pagination a,.audit-pagination .current,.audit-pagination .disabled,.audit-pagination .ellipsis { display:inline-grid; place-items:center; min-width:32px; height:32px; padding:0 6px; border:1px solid #dce5e9; border-radius:7px; text-decoration:none; color:#17233b; }
.audit-pagination .current { border-color:var(--ui-primary); color:var(--ui-surface); background:var(--ui-primary); font-weight:700; }
.audit-pagination .disabled,.audit-pagination .ellipsis { color:#8794a5; border-color:transparent; }
.audit-size-form { justify-self:end; }
.audit-size-form select { min-width:78px; min-height:34px; font-size:12px; }
@media(max-width:760px) { .audit-filters { grid-template-columns:1fr; }.audit-footer { grid-template-columns:1fr; }.audit-pagination { justify-content:center; }.audit-size-form { justify-self:end; } }
.users-access-table { min-width:1160px; }.users-2fa-cell { text-align:center; }.readonly-check { display:inline-grid; place-items:center; width:20px; height:20px; border-radius:5px; color:var(--ui-surface); background:#0b956b; font-weight:800; }.users-access-table time { white-space:nowrap; font-size:12px; }

/* Account reference login layout; appearance comes from shared primitives. */
.oidc-login { width: min(440px, 100%); padding: var(--ui-space-6); margin: var(--ui-space-7) auto; text-align: center; }
.oidc-login h1 { margin-bottom: var(--ui-space-4); }
.login-description { margin-bottom: var(--ui-space-6); color: var(--ui-text-muted); }
.oidc-login-button { width: 100%; min-height: 54px; }
@media(max-width:480px) { .oidc-login { padding: var(--ui-space-5); margin-block: var(--ui-space-5); } }

.modal { max-width: calc(100vw - 32px); max-height: calc(100dvh - 32px); overflow-y: auto; }
@media(max-width:760px) { .cabinet-identity { flex-wrap: wrap; } .profile-edit-link { margin-left: 0; } .info-row strong { overflow-wrap: anywhere; } }

/* Keep theme values in the shared design layer. */
.card,.auth-card { background:var(--ui-surface); border-color:var(--ui-border); border-radius:var(--ui-radius-md); box-shadow:var(--ui-shadow-card); }
.cabinet-identity h1,.workspace-heading h2,.users-management-header h2 { color:var(--ui-text); }
.modal button,.text-action,.profile-edit-link,.modal-close { min-height:44px; }
.modal-close { min-width:44px; }
@media(max-width:760px) { .info-row { flex-wrap:wrap; } .session-item { flex-wrap:wrap; } .session-current { white-space:normal; } .cabinet-card { min-width:0; } }

/* OIDC user table has eight columns; no local 2FA column. */
.users-access-table th:nth-child(1) { width:18%; }
.users-access-table th:nth-child(2) { width:22%; }
.users-access-table th:nth-child(3) { width:15%; }
.users-access-table th:nth-child(4) { width:6%; }
.users-access-table th:nth-child(5),.users-access-table th:nth-child(6),.users-access-table th:nth-child(7) { width:9%; }
.users-access-table th:nth-child(8) { width:12%; }
.users-access-table td:nth-child(2) { overflow-wrap:anywhere; }
