*,:after,:before{box-sizing:border-box;margin:0;padding:0}:root{--bg:#0d1117;--bg2:#161b22;--bg3:#1c2128;--bg4:#21262d;--border:#30363d;--border2:#3d444d;--txt:#e6edf3;--txt2:#8b949e;--txt3:#484f58;--accent:#1f6feb;--accent-h:#388bfd;--accent-bg:#1f6feb1f;--green:#3fb950;--green-bg:#3fb9501f;--red:#f85149;--red-bg:#f851491f;--amber:#d29922;--amber-bg:#d299221f;--purple:#a371f7;--purple-bg:#a371f71f;--r:8px;--rl:12px}#root,body,html{background:#0d1117;background:var(--bg);color:#e6edf3;color:var(--txt);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:14px;height:100%;line-height:1.5}button{cursor:pointer}button,input,select,textarea{font-family:inherit;font-size:13px}::-webkit-scrollbar{height:5px;width:5px}::-webkit-scrollbar-track{background:#0000}::-webkit-scrollbar-thumb{background:#3d444d;background:var(--border2);border-radius:3px}.page-shell{margin:0 auto;max-width:1600px;width:100%}.detail-header,.page-header{align-items:center;display:flex;gap:16px;justify-content:space-between;margin-bottom:20px}.detail-header h1,.page-header h1{color:var(--txt);font-size:20px;font-weight:700;line-height:1.25}.detail-header p,.page-header p,.panel-toolbar p{color:var(--txt2);font-size:12px;margin-top:2px}.action-row{flex-wrap:wrap}.action-row,.filter-bar,.filter-grid{align-items:center;display:flex;gap:8px}.filter-bar,.filter-grid{margin-bottom:14px}.filter-bar select,.filter-grid select{background:var(--bg3);border:1px solid var(--border);border-radius:var(--r);color:var(--txt2);height:34px;min-width:150px;padding:0 10px}.filter-grid{align-items:start;display:grid;grid-template-columns:minmax(240px,2fr) repeat(6,minmax(120px,1fr))}.filter-grid>div{margin-bottom:0}.search-field{align-items:center;background:var(--bg3);border:1px solid var(--border);border-radius:var(--r);color:var(--txt3);display:flex;flex:1 1;gap:8px;height:34px;min-width:220px;padding:0 10px}.search-field input{background:#0000;border:0;color:var(--txt);min-width:0;outline:0;width:100%}.bulk-bar{align-items:center;background:var(--accent-bg);border:1px solid #1f6feb59;border-radius:var(--r);display:flex;gap:10px;margin-bottom:12px;padding:9px 12px}.bulk-bar strong{color:var(--accent);font-size:12px;margin-right:auto}.loading-box{justify-content:center;min-height:260px}.loading-box,.pagination{align-items:center;display:flex}.pagination{gap:8px;justify-content:flex-end;padding:12px 14px}.pagination span{color:var(--txt3);font-size:11px;margin-right:auto}.identity-cell{align-items:center;display:flex;gap:9px;min-width:0}.identity-cell>div{min-width:0}.identity-cell strong{color:var(--txt);display:block;font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cell-sub,.identity-cell span{color:var(--txt3);display:block;font-size:10px;margin-top:1px}.sort-button{background:none;border:0;color:var(--txt2);font-size:12px;font-weight:600;padding:0}.form-section{border-bottom:1px solid var(--border);margin-bottom:16px;padding-bottom:15px}.form-section:last-child{border-bottom:0;margin-bottom:0}.form-section h3,.panel-toolbar h3,.raw-payload h3,.section-body h3{color:var(--txt);font-size:13px;margin-bottom:12px}.form-grid{grid-gap:0 12px;display:grid;gap:0 12px;grid-template-columns:1fr 1fr}.modal-note{color:var(--txt2);font-size:12px;line-height:1.6;margin:8px 0 14px}.check-list{border:1px solid var(--border);border-radius:var(--r);display:flex;flex-direction:column;overflow:hidden}.check-list label{grid-gap:8px;align-items:center;border-bottom:1px solid var(--border);display:grid;gap:8px;grid-template-columns:20px 1fr auto;padding:10px 12px}.check-list label:last-child{border-bottom:0}.summary-strip{grid-gap:8px;display:grid;gap:8px;grid-template-columns:repeat(4,1fr);margin-bottom:14px}.summary-strip span{background:var(--bg3);border:1px solid var(--border);border-radius:var(--r);color:var(--txt2);display:flex;flex-direction:column;font-size:11px;padding:10px}.summary-strip strong{color:var(--txt);font-size:20px}.preview-table{border:1px solid var(--border);border-radius:var(--r);max-height:360px;overflow:auto}.error-text{color:var(--red)!important}.back-link{align-items:center;background:none;border:0;color:var(--txt2);display:inline-flex;gap:6px;margin-bottom:12px;padding:0}.employee-profile{align-items:center;display:flex;gap:13px;min-width:0}.profile-photo{border:1px solid var(--border);border-radius:50%;height:58px;object-fit:cover;width:58px}.title-line{align-items:center;display:flex;gap:9px;min-width:0}.title-line h1{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.two-column-layout{grid-gap:12px;display:grid;gap:12px;grid-template-columns:1fr 1fr}.section-body{padding:16px}.detail-grid{grid-gap:15px 20px;display:grid;gap:15px 20px;grid-template-columns:1fr 1fr}.detail-grid dt{color:var(--txt3);font-size:10px;margin-bottom:3px}.detail-grid dd{color:var(--txt);font-size:13px;word-break:break-word}.panel-toolbar{align-items:center;border-bottom:1px solid var(--border);display:flex;gap:12px;justify-content:space-between;padding:13px 16px}.panel-toolbar h3{margin-bottom:0}.icon-actions{display:flex;gap:4px}.icon-actions button{align-items:center;background:var(--bg3);border:1px solid var(--border);border-radius:var(--r);color:var(--txt2);display:inline-flex;height:30px;justify-content:center;padding:0;width:30px}.raw-payload{margin-top:18px}.raw-payload pre{font:11px/1.6 monospace;max-height:360px;padding:12px}.raw-payload pre,.review-json{background:var(--bg);border:1px solid var(--border);border-radius:var(--r);color:var(--txt2);overflow:auto;white-space:pre-wrap;word-break:break-word}.review-json{font:11px/1.5 monospace;max-height:240px;padding:10px}.security-note,.warning-note{align-items:flex-start;border-radius:var(--r);display:flex;font-size:12px;gap:8px;line-height:1.5;margin-top:10px;padding:10px 12px}.security-note{background:var(--accent-bg);border:1px solid #1f6feb4d;color:var(--accent)}.warning-note{background:var(--amber-bg);border:1px solid #d299224d;color:var(--amber)}.warning-icon{color:var(--amber);display:inline-block;margin-left:6px;vertical-align:middle}.toggle-row{align-items:center;display:flex;gap:12px;justify-content:space-between;padding:10px 0}.toggle-row small,.toggle-row strong{display:block}.toggle-row small{color:var(--txt3);font-size:11px;margin-top:2px}.toggle-grid{grid-gap:0 18px;display:grid;gap:0 18px;grid-template-columns:repeat(2,minmax(0,1fr));padding:12px 0}.inline-toggle,.toggle-grid>label{align-items:center;color:var(--txt);display:flex;font-size:12px;gap:12px;justify-content:space-between;min-height:42px}.toggle-grid.section-body{padding:12px 16px}.capability-list{display:flex;flex-direction:column;margin-bottom:16px}.capability-list>div{align-items:center;border-bottom:1px solid var(--border);color:var(--txt2);display:flex;font-size:12px;gap:12px;justify-content:space-between;min-height:38px}.subsection-title{padding-top:4px}.capability-dots{align-items:center;display:flex;gap:5px;min-width:94px}.capability-dots span{align-items:center;background:var(--green-bg);border-radius:var(--r);color:var(--green);display:inline-flex;height:24px;justify-content:center;width:24px}.mode-segments{background:var(--bg3);border:1px solid var(--border);border-radius:var(--r);display:grid;grid-template-columns:repeat(4,minmax(0,1fr));padding:4px}.mode-segments button{background:#0000;border:0;border-radius:4px;color:var(--txt2);font-size:12px;min-height:34px}.mode-segments button.active{background:var(--accent);color:#fff}.dashboard-stats{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:16px}.dashboard-layout{grid-gap:16px;display:grid;gap:16px;grid-template-columns:minmax(0,1fr) 340px;margin-bottom:16px}.dashboard-side{display:flex;flex-direction:column;gap:12px}.dashboard-list{padding:4px 16px}.dashboard-list-row{align-items:center;border-bottom:1px solid var(--border);display:flex;gap:10px;padding:10px 0}.dashboard-list-row:last-child{border-bottom:0}.dashboard-list-row>div:nth-child(2){flex:1 1;min-width:0}.dashboard-list-row strong{color:var(--txt);display:block;font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dashboard-list-row small{color:var(--txt3);display:block;font-size:10px;margin-top:2px}.door-actions{grid-gap:8px;display:grid;gap:8px;grid-template-columns:1fr 1fr;padding:14px}.door-actions button{justify-content:center;min-height:42px}.nav-section-label{color:var(--txt3);font-size:10px;font-weight:700;padding:14px 10px 5px;text-transform:uppercase}.sidebar-action{background:#0000;display:flex;gap:6px;margin-top:6px;padding:6px 10px;text-align:start;width:100%}.login-language,.sidebar-action{align-items:center;border:1px solid var(--border);border-radius:var(--r);color:var(--txt2);cursor:pointer;font-size:12px}.login-language{background:var(--bg2);display:inline-flex;gap:7px;inset-block-start:18px;inset-inline-end:18px;padding:7px 11px;position:fixed;z-index:2}.product-credit{color:var(--txt3);font-size:9px;line-height:1.5;padding:10px 5px 0;text-align:center}.product-credit a{color:var(--txt2);display:block;font-weight:600;text-decoration:none}.product-credit a:hover{color:var(--accent)}.login-credit{border-top:1px solid var(--border);font-size:10px;margin-top:20px;padding-top:16px}.forbidden-state{align-items:center;color:var(--red);display:flex;flex-direction:column;gap:10px;justify-content:center;min-height:65vh;text-align:center}.forbidden-state h1{color:var(--txt);font-size:20px}.forbidden-state p{color:var(--txt2);font-size:12px}.password-gate{align-items:center;background:var(--bg);display:flex;justify-content:center;min-height:100vh;padding:18px}.password-gate form{width:min(400px,100%)}.password-gate form,.two-factor-gate{background:var(--bg2);border:1px solid var(--border);border-radius:var(--r);padding:28px}.two-factor-gate{width:min(440px,100%)}.two-factor-gate h1{font-size:20px;margin:12px 0 3px;text-align:center}.two-factor-gate>p{color:var(--txt2);font-size:12px;margin-bottom:22px;text-align:center}.qr-enrollment{background:#fff;border-radius:var(--r);display:flex;justify-content:center;margin-bottom:14px;padding:16px}.password-gate h1{font-size:20px;margin:12px 0 3px;text-align:center}.password-gate p{color:var(--txt2);font-size:12px;margin-bottom:22px;text-align:center}.gate-icon{border-radius:var(--r);height:48px;margin:auto;width:48px}.admin-avatar,.gate-icon{align-items:center;background:var(--accent-bg);color:var(--accent);display:flex;justify-content:center}.admin-avatar{border-radius:50%;flex:0 0 auto;font-size:12px;font-weight:700;height:32px;width:32px}.access-review{grid-gap:10px;display:grid;gap:10px;grid-template-columns:1fr 1fr}.access-review>div,.preview-stats>div{background:var(--bg3);border:1px solid var(--border);border-radius:var(--r);padding:12px}.access-review small,.access-review span,.preview-stats span{color:var(--txt3);display:block;font-size:10px}.access-review strong,.preview-stats strong{color:var(--txt);display:block;margin:3px 0}.account-actions{border-top:1px solid var(--border);display:flex;flex-wrap:wrap;gap:8px;margin-top:18px;padding-top:18px}.modal-save{display:flex;justify-content:flex-end;padding-top:14px}.exception-add{grid-gap:8px;display:grid;gap:8px;grid-template-columns:minmax(0,1fr) 140px auto;margin-bottom:12px}.exception-add select{background:var(--bg3);border:1px solid var(--border);border-radius:var(--r);color:var(--txt);height:34px;min-width:0;padding:0 9px}.allow-mark,.deny-mark{align-items:center;border-radius:var(--r);display:flex;height:24px;justify-content:center;width:24px}.deny-mark{background:var(--red-bg);color:var(--red)}.allow-mark{background:var(--green-bg);color:var(--green)}.status-light{background:var(--green);border-radius:50%;height:8px;width:8px}.role-layout{grid-gap:14px;align-items:start;display:grid;gap:14px;grid-template-columns:280px minmax(0,1fr)}.role-builder{display:flex;flex-direction:column;gap:12px;min-width:0}.role-list{max-height:calc(100vh - 190px);overflow:auto}.role-list button{grid-gap:8px;align-items:center;background:#0000;border:0;border-bottom:1px solid var(--border);color:var(--txt2);display:grid;gap:8px;grid-template-columns:28px minmax(0,1fr) auto;padding:11px 12px;text-align:left;width:100%}.role-list button.active{background:var(--accent-bg);color:var(--accent)}.role-list small,.role-list strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.role-list strong{color:var(--txt);font-size:12px}.role-list small{color:var(--txt3);font-size:10px;margin-top:2px}.role-icon{align-items:center;background:var(--bg3);border-radius:var(--r);display:flex;height:26px;justify-content:center;width:26px}.builder-header,.permission-module-head,.permission-toolbar{align-items:center;display:flex;gap:12px;justify-content:space-between}.builder-header{min-height:58px}.builder-header h2{font-size:18px}.builder-header p,.permission-toolbar>span{color:var(--txt3);font-size:11px}.permission-toolbar .search-field{max-width:520px}.permission-modules{display:flex;flex-direction:column;gap:10px}.permission-module-head{border-bottom:1px solid var(--border);padding:10px 12px}.permission-module-head strong{text-transform:capitalize}.permission-module-head small{color:var(--txt3);margin-left:8px}.permission-row{border-bottom:1px solid var(--border);display:grid;grid-template-columns:150px minmax(0,1fr);min-height:45px}.permission-row:last-child{border-bottom:0}.resource-name{align-items:center;border-right:1px solid var(--border);color:var(--txt2);display:flex;font-size:12px;padding:10px 12px;text-transform:capitalize}.permission-actions{align-items:center;display:flex;flex-wrap:wrap;gap:6px;padding:8px}.permission-actions label{align-items:center;border:1px solid var(--border);border-radius:var(--r);color:var(--txt2);display:inline-flex;font-size:10px;gap:5px;min-height:28px;padding:4px 7px}.permission-actions label.selected{background:var(--accent-bg);border-color:#1f6feb8c;color:var(--accent)}.preview-stats{grid-gap:8px;display:grid;gap:8px;grid-template-columns:repeat(4,1fr)}.preview-stats strong{font-size:20px}.security-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:1fr 1fr}.security-grid .panel-toolbar h3{align-items:center;display:flex;gap:7px}.role-preview-list{grid-gap:12px;border-top:1px solid var(--border);display:grid;font-size:11px;gap:12px;grid-template-columns:140px minmax(0,1fr);margin-top:12px;padding-top:12px}.role-preview-list span{color:var(--txt2);line-height:1.6;overflow-wrap:anywhere}.segmented{background:var(--bg3);border:1px solid var(--border);border-radius:var(--r);display:inline-flex;overflow:hidden}.segmented button{background:#0000;border:0;border-right:1px solid var(--border);color:var(--txt2);padding:7px 11px}.segmented button:last-child{border-right:0}.segmented button.active{background:var(--accent-bg);color:var(--accent)}.icon-button{align-items:center;background:var(--bg3);border:1px solid var(--border);border-radius:var(--r);color:var(--txt2);display:inline-flex;height:30px;justify-content:center;padding:0;width:30px}.stats-grid{grid-gap:8px;display:grid;gap:8px;grid-template-columns:repeat(4,1fr);margin-bottom:18px}.mini-stat{background:var(--bg3);border:1px solid var(--border);border-radius:var(--r);padding:10px}.mini-stat span{color:var(--txt3);display:block;font-size:10px}.mini-stat strong{color:var(--txt);font-size:16px}.calendar-scroll{max-height:calc(100vh - 190px);overflow:auto;width:100%}.schedule-calendar{border-collapse:initial;border-spacing:0;min-width:100%;width:-webkit-max-content;width:max-content}.schedule-calendar td,.schedule-calendar th{border-bottom:1px solid var(--border);border-right:1px solid var(--border);min-width:130px;padding:6px;vertical-align:top}.schedule-calendar th{color:var(--txt2);font-size:11px;height:44px;top:0;z-index:4}.schedule-calendar .person-column,.schedule-calendar th{background:var(--bg2);position:-webkit-sticky;position:sticky}.schedule-calendar .person-column{left:0;min-width:210px;width:210px;z-index:3}.schedule-calendar thead .person-column{z-index:5}.schedule-calendar .person-column label{align-items:center;display:flex;gap:8px}.schedule-calendar .person-column span{display:flex;flex-direction:column;min-width:0}.schedule-calendar .person-column small{color:var(--txt3)}.shift-cell{-webkit-border-start:3px solid var(--border);background:var(--bg3);border-inline-start:3px solid var(--border);border-radius:4px;cursor:pointer;display:flex;flex-direction:column;height:48px;overflow:hidden;padding:5px 7px}.shift-cell span{color:var(--txt);font-size:11px;font-weight:600}.shift-cell small,.shift-cell span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.shift-cell small{color:var(--txt3);font-size:9px}.shift-cell.unassigned{border-inline-start-style:dashed;opacity:.65}.conflict-list{background:var(--red-bg);border:1px solid #f8514959;border-radius:var(--r);margin-bottom:12px;padding:8px}.conflict-list div{color:var(--red);display:flex;font-size:12px;justify-content:space-between;padding:5px}.trace-list{grid-gap:7px;display:grid;gap:7px;margin-top:16px}.trace-step{align-items:center;border:1px solid var(--border);border-radius:var(--r);display:flex;gap:10px;padding:8px}.trace-step div{display:flex;flex-direction:column}.trace-step span{color:var(--txt3);font-size:11px}.field-label{color:var(--txt2);display:block;font-size:12px;font-weight:500;margin-bottom:5px}.color-input{background:var(--bg3);border:1px solid var(--border);border-radius:var(--r);height:34px;padding:2px;width:44px}.selection-list{grid-gap:6px;display:grid;gap:6px;margin-top:12px;max-height:320px;overflow:auto;padding-right:4px}.selection-list label{align-items:center;background:var(--bg3);border:1px solid var(--border);border-radius:var(--r);cursor:pointer;display:flex;gap:10px;padding:10px}.selection-list label span{grid-gap:2px;display:grid;gap:2px}.selection-list label small{color:var(--txt3)}html[dir=rtl] body{font-family:Tahoma,Arial,sans-serif}html[dir=rtl] .sidebar{border-left:1px solid var(--border)!important;border-right:0!important}html[dir=rtl] input:not([type=number]):not([type=date]):not([type=datetime-local]):not([inputmode=numeric]),html[dir=rtl] select,html[dir=rtl] textarea{text-align:right}html[dir=rtl] .bulk-bar strong,html[dir=rtl] .pagination span{margin-left:auto;margin-right:0}html[dir=rtl] .role-list button{text-align:right}html[dir=rtl] .resource-name{border-left:1px solid var(--border);border-right:0}html[dir=rtl] .schedule-calendar .person-column{left:auto;right:0}html[dir=rtl] .warning-icon{margin-left:0;margin-right:6px}html[dir=rtl] .permission-module-head small{margin-left:0;margin-right:8px}html[dir=rtl] .segmented button{border-left:1px solid var(--border);border-right:0}html[dir=rtl] .segmented button:last-child{border-left:0}html[dir=rtl] .selection-list{padding-left:4px;padding-right:0}@media(max-width:1200px){.filter-grid{grid-template-columns:repeat(4,minmax(140px,1fr))}.filter-grid .search-field{grid-column:span 2}.dashboard-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-layout{grid-template-columns:minmax(0,1fr) 300px}.role-layout{grid-template-columns:240px minmax(0,1fr)}}@media(max-width:820px){.detail-header,.page-header{align-items:flex-start;flex-direction:column}.filter-grid{grid-template-columns:1fr 1fr}.filter-grid .search-field{grid-column:span 2}.dashboard-layout,.form-grid,.security-grid,.two-column-layout{grid-template-columns:1fr}.summary-strip{grid-template-columns:1fr 1fr}.detail-grid{grid-template-columns:1fr}.action-row{overflow-x:auto;padding-bottom:3px;width:100%}.mode-segments{grid-template-columns:repeat(2,1fr)}.role-layout{grid-template-columns:1fr}.role-list{display:flex;max-height:none;overflow-x:auto}.role-list button{border-right:1px solid var(--border);min-width:230px}.permission-row{grid-template-columns:120px minmax(0,1fr)}.schedule-calendar .person-column{min-width:150px;width:150px}.schedule-calendar td,.schedule-calendar th{min-width:112px}}@media(max-width:520px){.filter-grid{grid-template-columns:1fr}.filter-grid .search-field{grid-column:auto}.filter-bar{align-items:stretch;flex-direction:column}.filter-bar select{width:100%}.employee-profile{align-items:flex-start}.profile-photo{height:48px;width:48px}.title-line{align-items:flex-start;flex-direction:column;gap:4px}.access-review,.preview-stats,.summary-strip{grid-template-columns:1fr 1fr}.exception-add,.permission-row{grid-template-columns:1fr}.resource-name{border-bottom:1px solid var(--border);border-left:0;border-right:0}.builder-header,.permission-module-head,.permission-toolbar{align-items:flex-start;flex-direction:column}.permission-toolbar .search-field{width:100%}}