:root{color:#1a2028;background:#f4f6f8;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box}body{min-width:320px;min-height:100vh;margin:0}button,input,textarea,select{font:inherit}button{min-height:42px;padding:0 16px;border:1px solid #145c54;border-radius:6px;color:#fff;background:#145c54;font-weight:700;letter-spacing:0;cursor:pointer}button:disabled{cursor:not-allowed;opacity:.55}#root{min-height:100vh}.admin-shell{display:grid;grid-template-rows:auto 1fr;min-height:100vh;background:#f4f6f8}.admin-shell__header{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:78px;padding:16px clamp(18px,4vw,48px);border-bottom:1px solid #d7dde3;background:#fff}.admin-shell__eyebrow{margin:0 0 4px;color:#536575;font-size:.78rem;font-weight:700;letter-spacing:0;text-transform:uppercase}.admin-shell h1,.admin-shell h2{margin:0;color:#17202a;font-weight:760;letter-spacing:0;line-height:1.15}.admin-shell h1{font-size:1.65rem}.admin-shell h2{font-size:1.35rem}.admin-shell__badge{flex:0 0 auto;padding:7px 10px;border:1px solid #9cb9b4;border-radius:6px;color:#145c54;background:#e7f3f0;font-size:.82rem;font-weight:700;letter-spacing:0}.admin-shell__badge--denied{border-color:#d39d98;color:#8f2e24;background:#fff0ee}.admin-shell__badge--warning{border-color:#d1a446;color:#765309;background:#fff6dc}.admin-shell__main{display:grid;align-items:start;justify-items:stretch;min-height:0;padding:clamp(18px,4vw,48px)}.admin-panel{width:min(100%,860px);border:1px solid #d7dde3;border-radius:8px;background:#fff;box-shadow:0 12px 32px #15202b14}.admin-console{width:100%;border:1px solid #d7dde3;border-radius:8px;background:#fff;box-shadow:0 12px 32px #15202b14}.admin-panel{display:grid;gap:20px;padding:clamp(22px,4vw,34px)}.admin-panel--login{max-width:460px}.admin-panel--center{max-width:640px;justify-items:start}.panel-copy,.admin-panel p{max-width:58ch;margin:0;color:#4b5d6b;line-height:1.5}.notice{width:100%;padding:12px 14px;border-radius:6px;line-height:1.45}.notice--error{border:1px solid #d39d98;color:#7e2c23;background:#fff4f2}.notice--info{border:1px solid #b9c5cf;color:#253544;background:#f8fafb}.notice--warning{border:1px solid #d6b45f;color:#5f4200;background:#fff8e1}.notice--success{border:1px solid #83b79e;color:#246344;background:#eef8f2}.login-form{display:grid;gap:10px}.login-form--dev{margin-top:4px;padding-top:18px;border-top:1px solid #d7dde3}.login-form label{color:#283847;font-size:.9rem;font-weight:700}.login-form input{min-height:44px;width:100%;padding:0 12px;border:1px solid #b9c5cf;border-radius:6px;color:#17202a;background:#fff}.login-form input:focus{border-color:#145c54;outline:3px solid rgba(20,92,84,.15)}.secondary-button{border-color:#b9c5cf;color:#253544;background:#fff}.button-row{display:flex;flex-wrap:wrap;gap:10px}.loader{width:32px;aspect-ratio:1;border:3px solid #d7dde3;border-top-color:#145c54;border-radius:50%;animation:spin .9s linear infinite}.admin-console{overflow:hidden}.admin-workspace{display:grid;gap:18px;width:100%}.workspace-header,.console-header{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:22px clamp(20px,4vw,32px);border-bottom:1px solid #d7dde3;background:#fbfcfd}.workspace-header{border:1px solid #d7dde3;border-radius:8px;background:#fff;box-shadow:0 10px 28px #15202b12}.operation-tabs{display:flex;flex-wrap:wrap;gap:6px;padding:6px;border:1px solid #d7dde3;border-radius:8px;background:#fff}.operation-tabs__button{min-height:38px;border-color:transparent;color:#425363;background:transparent}.operation-tabs__button--active{border-color:#145c54;color:#fff;background:#145c54}.workspace-section{display:grid;gap:18px;min-width:0;padding:clamp(18px,3vw,28px);border:1px solid #d7dde3;border-radius:8px;background:#fff;box-shadow:0 10px 28px #15202b12}.section-header,.table-panel__header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.section-header p,.table-panel__header span,.toolbar-row span,.operation-card p{margin:6px 0 0;color:#536575;line-height:1.45}.metric-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.metric-strip div,.operation-card,.table-panel,.detail-panel,.status-grid{border:1px solid #d7dde3;border-radius:8px;background:#fbfcfd}.metric-strip div{display:grid;gap:4px;min-height:76px;padding:14px}.metric-strip span{color:#536575;font-size:.83rem;font-weight:700}.metric-strip strong{min-width:0;color:#17202a;overflow-wrap:anywhere}.action-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.onboarding-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.operation-card{display:grid;align-content:space-between;gap:14px;min-height:190px;padding:16px}.operation-card h3,.table-panel h3,.detail-panel h3{margin:0;color:#17202a;font-size:1rem;letter-spacing:0}.onboarding-card{min-height:150px}.toolbar-row{display:flex;flex-wrap:wrap;align-items:center;gap:12px}.system-error-view-switcher{display:inline-flex;width:fit-content;max-width:100%;padding:4px;border:1px solid #b9c5cf;border-radius:8px;background:#f1f5f7}.system-error-view-switcher__button{min-height:38px;padding:0 16px;border:0;border-radius:6px;color:#425566;background:transparent;box-shadow:none}.system-error-view-switcher__button:hover{background:#e4ecef}.system-error-view-switcher__button--active,.system-error-view-switcher__button--active:hover{color:#fff;background:#145c54;box-shadow:0 2px 8px #145c5433}.system-error-view-panel{display:grid;gap:18px;min-width:0}.system-error-summary-table{min-width:1120px}.data-table.system-error-raw-table{min-width:1040px;table-layout:fixed}.system-error-raw-table__column--time{width:14%}.system-error-raw-table__column--source{width:11%}.system-error-raw-table__column--module{width:12%}.system-error-raw-table__column--message{width:39%}.system-error-raw-table__column--status{width:14%}.system-error-raw-table__column--action{width:10%}.system-error-raw-table td{overflow-wrap:normal;word-break:normal}.system-error-raw-table__message{display:block;width:100%;white-space:normal;overflow-wrap:anywhere;word-break:normal}.system-error-raw-table__cell--status,.system-error-raw-table__cell--action{white-space:nowrap}.system-error-detail-modal{width:min(100%,960px);min-width:0}.system-error-detail-modal__header{align-items:center}.system-error-detail-modal__body{min-width:0;min-height:0;overflow:auto;background:#fff}.system-error-detail-modal__id{display:flex;min-width:0;align-items:center;flex-wrap:wrap;gap:8px}.system-error-detail-modal__id code{min-width:0;overflow-wrap:anywhere}.system-error-detail-modal__copy-feedback{flex-basis:100%;font-size:.86rem;font-weight:700}.system-error-detail-modal__copy-feedback--success{color:#246344}.system-error-detail-modal__copy-feedback--pending{color:#536575}.system-error-detail-modal__copy-feedback--error{color:#a5372e}.system-error-detail-modal__details{max-width:100%;margin:0;overflow-wrap:anywhere;white-space:pre-wrap;word-break:normal;font-family:SFMono-Regular,Consolas,Liberation Mono,monospace;font-size:.86rem;line-height:1.45}.system-error-pagination-row{display:flex;justify-content:center}.search-field,.edit-form label,.full-field{display:grid;gap:6px;color:#283847;font-size:.9rem;font-weight:700}.search-field{width:min(100%,420px)}.search-field input,.search-field select,.edit-form input,.edit-form select,.edit-form textarea{min-height:40px;width:100%;padding:0 10px;border:1px solid #b9c5cf;border-radius:6px;color:#17202a;background:#fff}.edit-form textarea{min-height:84px;padding:10px;resize:vertical}.search-field input:focus,.search-field select:focus,.edit-form input:focus,.edit-form select:focus,.edit-form textarea:focus{border-color:#145c54;outline:3px solid rgba(20,92,84,.15)}.split-layout{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(360px,.75fr);gap:14px;align-items:start}.split-layout--wide-detail{grid-template-columns:minmax(0,1fr) minmax(360px,.9fr)}.data-table tbody tr{cursor:pointer;transition:background-color .12s ease,box-shadow .12s ease}.data-table tbody tr:hover{background:#f4f8f7}.data-table tbody tr.selected-row,.data-table tbody tr.selected-row:hover{background:#dbeafe;box-shadow:inset 4px 0 #3b82f6}.data-table tbody tr.selected-row td{border-bottom-color:#bfdbfe}.data-table tbody tr.selected-row td:first-child{color:#17202a;font-weight:800}.cell-subtext{display:block;margin-top:3px;color:#536575;font-size:.85rem;font-weight:500}.status-pill{display:inline-flex;align-items:center;white-space:nowrap;min-height:24px;padding:2px 8px;border:1px solid #b9c5cf;border-radius:6px;color:#253544;background:#fff;font-size:.82rem;font-weight:700;text-transform:capitalize}.role-pill,.user-status-pill{justify-content:center;max-width:100%;text-align:center;white-space:normal}.role-pill--superadmin{border-color:#dc2626;color:#fff;background:#dc2626}.role-pill--admin{border-color:#059669;color:#fff;background:#059669}.role-pill--maintenance{border-color:#7c6f43;color:#4f4319;background:#fff4c2}.role-pill--owner{border-color:#22945f;color:#155f3d;background:#e8f8ef}.role-pill--manager{border-color:#3b82f6;color:#1e40af;background:#dbeafe}.role-pill--user{border-color:#94a3b8;color:#334155;background:#f1f5f9}.user-status-pill--active{border-color:#34a46d;color:#17633f;background:#dcfce7}.user-status-pill--contact{border-color:#38a3c7;color:#155e75;background:#e0f2fe}.user-status-pill--pending{border-color:#d1a446;color:#765309;background:#fff6dc}.user-status-pill--inactive{border-color:#dc2626;color:#991b1b;background:#fee2e2}.edit-form{display:grid;gap:16px;padding:16px;background:#fff}.user-admin-form{align-content:start}.form-section{display:grid;gap:12px;min-width:0;margin:0;padding:14px;border:1px solid #d7dde3;border-radius:6px;background:#fbfcfd}.form-section legend{padding:0 6px;color:#425363;font-size:.86rem;font-weight:800}.form-help{margin:0;color:#536575;font-size:.86rem;line-height:1.45}.form-help--error{color:#8f2e24}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.form-grid--compact{grid-template-columns:repeat(3,minmax(0,1fr))}.toggle-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 14px}.toggle-row label{display:flex;align-items:center;gap:8px;color:#283847;font-size:.9rem;font-weight:700}.toggle-row input{width:auto;min-height:auto}.segmented-options{display:flex;flex-wrap:wrap;gap:10px}.segmented-options label{display:inline-flex;align-items:center;gap:8px;min-height:38px;padding:0 10px;border:1px solid #b9c5cf;border-radius:6px;color:#283847;background:#fff;font-size:.9rem;font-weight:700}.segmented-options input{width:auto;min-height:auto}.password-options{display:grid;gap:10px}.inline-input-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:10px}.inline-input-row label{min-width:0}.empty-detail{padding:18px;color:#536575;line-height:1.45;background:#fff}.table-panel,.detail-panel{overflow:hidden}.table-panel--full{width:100%}.table-panel__header{padding:14px 16px;border-bottom:1px solid #d7dde3;background:#fff}.data-table-wrap{width:100%;overflow-x:auto}.data-table{width:100%;min-width:760px;border-collapse:collapse}.user-directory-table{min-width:1040px;table-layout:fixed}.user-directory-table th:nth-child(1){width:19%}.user-directory-table th:nth-child(2){width:24%}.user-directory-table th:nth-child(3){width:17%}.user-directory-table th:nth-child(4){width:16%}.user-directory-table th:nth-child(5){width:13%}.user-directory-table th:nth-child(6){width:11%}.data-table--compact{min-width:560px}.data-table th,.data-table td{padding:11px 14px;border-bottom:1px solid #edf0f3;text-align:left;vertical-align:top;line-height:1.35}.data-table th{color:#536575;font-size:.82rem;font-weight:800;background:#f8fafb}.data-table td{color:#253544;overflow-wrap:anywhere}.user-directory-table__name strong,.user-directory-table__email span,.user-directory-table__access,.user-directory-table__last-login{display:block;min-width:0;overflow-wrap:anywhere}.user-directory-table__role,.user-directory-table__status{min-width:0}.link-button{min-height:auto;padding:0;border:0;color:#145c54;background:transparent;font-weight:700;text-align:left}.compact-button{min-height:34px;padding:0 10px}.danger-button{border-color:#a5372e;color:#fff;background:#a5372e}.detail-stack{display:grid;gap:14px;background:#fff}.detail-subsection{display:grid;gap:0;border-top:1px solid #d7dde3;background:#fff}.subsection-body{display:grid;gap:12px;padding:14px 16px;color:#425363;line-height:1.45}.passkey-list,.assignment-list{display:grid;gap:10px}.passkey-row,.assignment-row{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:12px;border:1px solid #edf0f3;border-radius:6px;background:#fbfcfd}.assignment-form{display:grid;gap:12px;padding:12px;border:1px solid #d7dde3;border-radius:6px;background:#fff}.assignment-form label{display:grid;gap:6px;color:#283847;font-size:.9rem;font-weight:700}.assignment-form input,.assignment-form select{min-height:40px;width:100%;padding:0 10px;border:1px solid #b9c5cf;border-radius:6px;color:#17202a;background:#fff}.assignment-form input:focus,.assignment-form select:focus{border-color:#145c54;outline:3px solid rgba(20,92,84,.15)}.invite-box{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:10px;padding:12px;border:1px solid #83b79e;border-radius:6px;background:#eef8f2}.invite-box label{display:grid;gap:6px;color:#283847;font-size:.9rem;font-weight:700}.invite-box input{min-height:38px;width:100%;padding:0 10px;border:1px solid #83b79e;border-radius:6px;color:#17202a;background:#fff;font-family:SFMono-Regular,Consolas,Liberation Mono,monospace;font-size:.82rem}.result-secret{display:block;margin-top:6px;overflow-wrap:anywhere;font-family:SFMono-Regular,Consolas,Liberation Mono,monospace;font-size:.86rem}.status-grid .status-list,.detail-panel .status-list{background:#fff}.template-detail-stack{display:grid;gap:0}.json-field,.json-preview{font-family:SFMono-Regular,Consolas,Liberation Mono,monospace;font-size:.88rem;line-height:1.45}.json-preview-wrap{border-top:1px solid #d7dde3;background:#fff}.json-preview{max-height:360px;margin:0;padding:14px 16px;overflow:auto;color:#17202a;background:#fbfcfd;white-space:pre-wrap}.onboarding-json-preview{max-height:460px}.onboarding-modal{display:grid;grid-template-rows:auto 1fr;width:min(100%,980px);max-height:min(90vh,860px);overflow:hidden;border:1px solid #d7dde3;border-radius:8px;background:#fff;box-shadow:0 20px 60px #0c12183d}.onboarding-modal__body{min-height:0;overflow:auto}.onboarding-row-list{display:grid;gap:14px}.onboarding-row{display:grid;gap:12px;padding:14px;border:1px solid #d7dde3;border-radius:8px;background:#fbfcfd}.onboarding-check{display:inline-flex;align-items:center;gap:8px;color:#283847;font-size:.9rem;font-weight:700}.onboarding-check input{width:auto;min-height:auto}.onboarding-review{display:grid;gap:14px;padding:16px;background:#fff}.status-list--compact{grid-template-columns:minmax(130px,.3fr) minmax(0,1fr)}.modal-scrim{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;display:grid;place-items:center;padding:20px;background:#17202a70}.admin-modal-scrim{align-items:start;overflow-y:auto;padding-block:clamp(18px,4vh,42px)}.admin-modal{display:grid;grid-template-rows:auto minmax(0,1fr);width:min(100%,1080px);max-height:min(92vh,900px);overflow:hidden;border:1px solid #d7dde3;border-radius:8px;background:#fff;box-shadow:0 20px 60px #0c12183d}.user-detail-modal__header{align-items:center}.user-detail-modal__body{min-height:0;overflow:auto;background:#fff}.user-detail-modal .detail-stack{padding:16px}.user-detail-modal .edit-form+.detail-subsection{border-top:0}.confirm-dialog{display:grid;gap:18px;width:min(100%,440px);padding:24px;border:1px solid #d7dde3;border-radius:8px;background:#fff;box-shadow:0 20px 60px #0c12183d}.confirm-dialog p{margin:0;color:#425363;line-height:1.45}.confirm-dialog__field{display:grid;gap:8px;color:#283847;font-size:.9rem;font-weight:700}.confirm-dialog__field input{min-height:42px;padding:0 12px;border:1px solid #b9c5cf;border-radius:6px}.status-list{display:grid;grid-template-columns:minmax(170px,.42fr) minmax(0,1fr);margin:0;padding:0}.status-row{display:grid;grid-column:1 / -1;grid-template-columns:subgrid;min-height:46px;border-bottom:1px solid #edf0f3}.status-row:last-child{border-bottom:0}.status-row dt,.status-row dd{min-width:0;margin:0;padding:12px clamp(14px,3vw,24px);overflow-wrap:anywhere;line-height:1.35}.status-row dt{color:#536575;font-size:.88rem;font-weight:700}.status-row dd{color:#17202a}.status-pill--success{border-color:#83b79e;color:#246344;background:#eef8f2}.status-pill--warning{border-color:#d1a446;color:#765309;background:#fff6dc}.status-pill--error{border-color:#d39d98;color:#7e2c23;background:#fff4f2}.import-panel__body{display:grid;gap:16px;padding:16px;background:#fff}.import-subsection,.import-report-section{display:grid;gap:0;min-width:0;overflow:hidden;border:1px solid #d7dde3;border-radius:6px;background:#fff}.import-subsection>.table-panel__header,.import-report-section>.table-panel__header{background:#fbfcfd}.import-report-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.import-row-list{padding:14px}.import-row-header{display:flex;align-items:center;justify-content:space-between;gap:12px}.import-row-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,.45fr);gap:12px}.import-message-stack{display:grid;align-content:start;gap:8px}.import-toggle-row{grid-template-columns:repeat(2,minmax(0,1fr))}.download-link{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:0 16px;border:1px solid #b9c5cf;border-radius:6px;color:#253544;background:#fff;font-weight:700;letter-spacing:0;text-decoration:none}@keyframes spin{to{transform:rotate(360deg)}}@media(max-width:680px){.admin-shell__header,.workspace-header,.section-header,.table-panel__header,.console-header{align-items:flex-start;flex-direction:column}.admin-shell__badge{align-self:flex-start}.status-list,.status-row{display:block}.status-row dt{padding-bottom:2px}.status-row dd{padding-top:2px}.metric-strip,.action-grid,.onboarding-grid,.split-layout,.split-layout--wide-detail,.import-report-grid,.import-row-grid,.form-grid,.form-grid--compact,.toggle-row,.invite-box{grid-template-columns:1fr}.passkey-row,.assignment-row{display:grid}.operation-tabs{display:grid;grid-template-columns:1fr}.system-error-view-switcher{display:grid;width:100%;grid-template-columns:1fr}}@media(min-width:681px)and (max-width:1040px){.action-grid,.onboarding-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
