:root{--bg:#f4f6f9;--panel:#fff;--line:#d6dee4;--text:#1f2d3d;--muted:#6c757d;--green:#00a65a;--blue:#007bff;--blue-dark:#003c80;--amber:#f39c12;--red:#dd4b39;--sidebar:#343a40;--sidebar-soft:#3f474e;--shadow:0 2px 10px #1f2d3d14}*{box-sizing:border-box}html,body{background:var(--bg);min-height:100%;color:var(--text);margin:0;font-family:Source Sans Pro,Arial,Helvetica,sans-serif}a{color:inherit;text-decoration:none}.shell{grid-template-columns:256px minmax(0,1fr);min-height:100vh;display:grid}.sidebar{background:var(--sidebar);color:#f4f6f9;border-right:1px solid #2f353a;flex-direction:column;padding:0 12px 18px;display:flex}.brand{background:#30363b;border-bottom:1px solid #ffffff1f;align-items:center;gap:12px;min-height:58px;margin:0 -12px 18px;padding:0 14px;display:flex}.brandLockup{min-width:0}.brandLogoMark{background:#fff;border-radius:3px;flex:none;width:58px;height:34px;display:block;overflow:hidden}.brandLogoMark img{width:92px;max-width:none;display:block;transform:translate(-17px,-7px)}.brandText,.brandText strong,.brandText span{min-width:0;display:block}.brandText strong{color:inherit;letter-spacing:0;text-overflow:ellipsis;white-space:nowrap;font-weight:700;overflow:hidden}.brandText span{color:#c2c7d0;text-overflow:ellipsis;white-space:nowrap;margin-top:2px;font-size:13px;overflow:hidden}.sidebarContext{background:#ffffff0d;border:1px solid #ffffff1f;border-radius:8px;gap:4px;margin-bottom:22px;padding:12px;display:grid}.sidebarContext span,.navGroupLabel{color:#c2c7d0;letter-spacing:0;text-transform:uppercase;font-size:11px;font-weight:800}.sidebarContext strong,.sidebarContext small{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.sidebarContext strong{color:#fff;font-size:14px}.sidebarContext small{color:#c2c7d0;font-size:12px}.nav{gap:18px;display:grid}.navGroup{gap:6px;display:grid}.navGroupLabel{padding:0 10px 2px}.sessionActions{grid-template-columns:minmax(0,1fr) 42px 42px;gap:8px;display:grid}.sessionUser{color:#c2c7d0;text-overflow:ellipsis;white-space:nowrap;background:#ffffff0d;border:1px solid #ffffff29;border-radius:8px;align-items:center;min-width:0;height:42px;padding:0 10px;font-size:12px;font-weight:700;display:flex;overflow:hidden}.sidebarIconLink{color:#c2c7d0;cursor:pointer;background:#ffffff0d;border:1px solid #ffffff29;border-radius:8px;place-items:center;width:42px;height:42px;display:grid}button.sidebarIconLink{font:inherit}.sidebarIconLink:hover{color:#fff;background:#ffffff1f}.navItem{color:#c2c7d0;border-radius:8px;align-items:center;gap:10px;min-height:42px;padding:0 10px;font-size:14px;display:flex}.navItem svg{flex:none}.navItem.active{background:var(--blue);color:#fff}.navItem:hover{color:#fff;background:#ffffff1f}.sidebarFooter{gap:10px;margin-top:auto;padding-top:24px;display:grid}.realtimeStatus{color:#c2c7d0;background:#ffffff0d;border:1px solid #ffffff29;border-radius:8px;grid-template-columns:22px minmax(0,1fr);align-items:center;gap:9px;min-height:54px;padding:8px 10px;display:grid}.realtimeStatus svg{color:#7dd3fc}.realtimeStatus.connected svg{color:#8ee0bd}.realtimeStatus.draining svg,.realtimeStatus.reconnecting svg{color:#f1d48a}.realtimeStatus.offline svg{color:#f0a4a4}.realtimeStatus strong,.realtimeStatus small{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.realtimeStatus strong{font-size:12px}.realtimeStatus small{color:#c2c7d0;margin-top:2px;font-size:11px}.workspace{padding:28px}.topbar{justify-content:space-between;align-items:center;gap:20px;margin-bottom:24px;display:flex}.compactLogTopbar,.compactPageTopbar{align-items:end;margin-bottom:12px}.compactLogTopbar h1,.compactPageTopbar h1{font-size:28px}.compactLogSummary,.compactPageSummary{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.compactLogChip,.compactPageChip{border:1px solid var(--line);min-height:34px;color:var(--muted);background:var(--panel);white-space:nowrap;border-radius:8px;align-items:center;gap:6px;padding:0 10px;font-size:12px;font-weight:800;display:inline-flex}.compactLogChip svg,.compactPageChip svg{color:var(--blue);flex:none}.compactLogChip strong,.compactPageChip strong{color:var(--text);font-size:13px}.compactLogChip.granted svg,.compactLogChip.granted strong,.compactPageChip.good svg,.compactPageChip.good strong{color:var(--green)}.compactLogChip.denied svg,.compactLogChip.denied strong,.compactPageChip.danger svg,.compactPageChip.danger strong{color:var(--red)}.compactPageChip.warning svg,.compactPageChip.warning strong{color:#b97812}.commandHeader{align-items:flex-start}.topbarActions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.topbarActions .actionButton{background:var(--panel);min-height:40px}.exportMenu{color:var(--muted);flex-wrap:wrap;align-items:center;gap:6px;font-size:12px;font-weight:800;display:inline-flex}.exportButton{border:1px solid var(--line);background:var(--panel);min-height:34px;color:var(--text);border-radius:8px;align-items:center;gap:5px;padding:0 9px;font-size:12px;font-weight:800;text-decoration:none;display:inline-flex}.exportButton:hover{background:#fbfcfd;border-color:#b8c7d0}.exportButton svg{color:var(--blue)}.eyebrow{color:var(--muted);letter-spacing:0;text-transform:uppercase;margin:0 0 6px;font-size:12px;font-weight:700}h1,h2{letter-spacing:0;margin:0}h1{font-size:32px}h2{font-size:22px}.status{text-align:center;border:1px solid var(--line);background:var(--panel);border-radius:8px;min-width:100px;padding:9px 14px;font-weight:700}.status.ready{color:var(--green)}.status.starting{color:var(--amber)}.status.failed{color:#a83232}.compactStatus{text-transform:capitalize;min-width:auto;padding:7px 10px;font-size:13px}.metrics{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-bottom:18px;display:grid}.overviewMetrics{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:18px;display:grid}.metric,.panel{border:1px solid var(--line);background:var(--panel);box-shadow:var(--shadow);border-radius:8px}.metric{gap:8px;min-height:130px;padding:18px;display:grid}.metric svg{color:var(--blue)}.metric span{color:var(--muted);font-size:13px}.metric strong{font-size:18px}.workbenchGrid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:18px;display:grid}.workbenchCard{border:1px solid var(--line);background:var(--panel);min-height:82px;box-shadow:var(--shadow);border-radius:8px;grid-template-columns:44px minmax(0,1fr) minmax(112px,.7fr) 20px;align-items:center;gap:12px;padding:12px;display:grid}.workbenchCard:hover{background:#fbfcfd;border-color:#b8c7d0}.workbenchIcon{width:44px;height:44px;color:var(--blue-dark);background:#edf4f7;border-radius:8px;place-items:center;display:grid}.workbenchCard span,.workbenchValue{min-width:0}.workbenchCard strong,.workbenchCard small{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.workbenchCard small{color:var(--muted);text-transform:capitalize;font-size:12px;font-weight:700}.workbenchValue{text-align:right}.workbenchValue strong{font-size:18px}.workbenchCard>svg{color:var(--muted)}.dashboardGrid{grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr);gap:18px;margin-bottom:18px;display:grid}.dashboardList{margin-top:12px}.panel{padding:20px}.panelHeader{justify-content:space-between;align-items:start;gap:16px;margin-bottom:18px;display:flex}.phase{border:1px solid var(--line);color:var(--muted);border-radius:8px;align-items:center;gap:6px;padding:7px 10px;font-size:13px;display:inline-flex}.phase.completed,.phase.relocated{color:var(--green);background:#eef9f4;border-color:#b7dfce}.phase.failed{color:#a83232;background:#fff5f5;border-color:#f0c7c7}.phase.running,.phase.processing{color:var(--amber);background:#fff9e8;border-color:#f1d48a}.capabilityGrid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.capability{border:1px solid var(--line);min-height:48px;color:var(--text);text-transform:capitalize;background:#fbfcfd;border-radius:8px;align-items:center;gap:10px;padding:0 12px;display:flex}.capability svg{color:var(--green);flex:none}.capability span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.roleList{gap:10px;display:grid}.compactRoleList{margin-top:12px}.roleRow{border:1px solid var(--line);background:var(--panel);box-shadow:var(--shadow);border-radius:8px;grid-template-columns:44px minmax(0,1fr);gap:12px;padding:14px;display:grid}.roleIcon{width:44px;height:44px;color:var(--green);background:#eaf6f1;border-radius:8px;place-items:center;display:grid}.roleBody{min-width:0}.roleTitle{justify-content:space-between;align-items:center;gap:12px;display:flex}.roleTitle span{color:var(--muted);text-transform:capitalize;font-size:13px}.roleBody p{color:var(--muted);margin:6px 0 10px;font-size:14px;line-height:1.4}.permissionStrip{flex-wrap:wrap;gap:6px;display:flex}.permissionStrip span{border:1px solid var(--line);color:var(--muted);text-transform:capitalize;background:#fbfcfd;border-radius:8px;padding:5px 8px;font-size:12px}.roleButtonRow{margin-top:10px}.permissionEditor{border-top:1px solid var(--line);gap:12px;margin-top:12px;padding-top:12px;display:grid}.permissionGroup{gap:8px;display:grid}.permissionGroup>strong{color:var(--muted);text-transform:uppercase;font-size:12px}.permissionCheckGrid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:8px;display:grid}.permissionCheck{border:1px solid var(--line);background:#fbfcfd;border-radius:8px;align-items:flex-start;min-height:52px;padding:8px}.permissionCheck span{min-width:0}.permissionCheck strong,.permissionCheck small{text-overflow:ellipsis;white-space:nowrap;min-width:0;display:block;overflow:hidden}.permissionCheck small{color:var(--muted);margin-top:3px;font-size:12px}.cleanupProgress{margin-bottom:12px}.cleanupActions{margin-bottom:14px}.emptyState{text-align:center;align-content:center;place-items:center;gap:12px;min-height:220px;display:grid}.emptyState svg{color:var(--blue)}.findingList{gap:8px;display:grid}.finding{border:1px solid var(--line);min-height:42px;color:var(--muted);text-transform:capitalize;border-radius:8px;justify-content:space-between;align-items:center;gap:12px;padding:0 12px;display:flex}.finding strong{color:var(--amber)}.finding span{min-width:0}.finding small{color:var(--muted);text-transform:none;margin-top:2px;font-size:12px;font-weight:400;display:block}.conflictGrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.conflictItem{border:1px solid var(--line);background:#fbfcfd;border-radius:8px;gap:12px;min-width:0;padding:14px;display:grid}.conflictTitle{grid-template-columns:24px minmax(0,1fr);align-items:start;gap:10px;display:grid}.conflictTitle svg{color:var(--amber);margin-top:1px}.conflictTitle strong,.conflictTitle small{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.conflictTitle small,.conflictStats,.conflictUsers small{color:var(--muted);font-size:12px}.conflictStats{text-transform:capitalize;flex-wrap:wrap;gap:6px;display:flex}.conflictStats span,.conflictUsers a{border:1px solid var(--line);background:var(--panel);border-radius:8px}.conflictStats span{padding:5px 8px}.conflictUsers{gap:6px;display:grid}.conflictUsers a{min-width:0;color:var(--text);gap:2px;padding:7px 9px;font-size:13px;font-weight:700;display:grid}.conflictUsers a:hover{background:#f2f6f8;border-color:#b8c7d0}.conflictUsers a,.conflictUsers small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.userTypeGrid{grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:12px;display:grid}.userTypeItem{border:1px solid var(--line);background:#fbfcfd;border-radius:8px;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:6px 12px;min-width:0;padding:14px;display:grid}.userTypeItem>small{color:var(--muted);grid-column:1/-1}.userTypeItem span,.userTypeItem span strong,.userTypeItem span small{min-width:0;display:block}.userTypeItem span small{color:var(--muted);margin-top:4px}.tablePanel{margin-top:18px}.directoryToolbar{grid-template-columns:minmax(240px,1fr) auto auto;align-items:center;gap:10px;margin-bottom:12px;display:grid}.adminActionGroup .directoryToolbar{grid-template-columns:1fr}.adminActionGroup .directoryToolbar .segmentedControl{grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-flow:column}.adminActionGroup .directoryToolbar .segmentedControl button{min-width:0}.adminActionGroup .toolbarCount{justify-self:start}.searchControl{border:1px solid var(--line);min-height:42px;color:var(--muted);background:#fbfcfd;border-radius:8px;grid-template-columns:38px minmax(0,1fr);align-items:center;display:grid}.searchControl svg{justify-self:center}.searchControl input{width:100%;min-width:0;height:40px;color:var(--text);font:inherit;background:0 0;border:0;border-radius:0 8px 8px 0;outline:none;font-size:14px}.searchControl:focus-within{border-color:var(--blue);box-shadow:0 0 0 3px #007bff29}.segmentedControl{border:1px solid var(--line);background:#fbfcfd;border-radius:8px;grid-auto-flow:column;align-items:center;display:inline-grid;overflow:hidden}.segmentedControl button{border:0;border-right:1px solid var(--line);min-width:64px;min-height:40px;color:var(--muted);font:inherit;cursor:pointer;background:0 0;font-size:13px;font-weight:800}.segmentedControl button:last-child{border-right:0}.segmentedControl button.active,.segmentedControl button:hover{color:var(--text);background:#edf4f7}.compactSegments button{min-width:74px}.toolbarCount{border:1px solid var(--line);min-height:42px;color:var(--muted);background:var(--panel);white-space:nowrap;border-radius:8px;justify-content:center;align-items:center;gap:7px;padding:0 11px;font-size:13px;font-weight:800;display:inline-flex}.dataTable{border:1px solid var(--line);border-radius:8px;display:grid;overflow:hidden}.dataRow{border-bottom:1px solid var(--line);grid-template-columns:minmax(260px,1.6fr) minmax(120px,.7fr) minmax(90px,.5fr) minmax(90px,.5fr);align-items:center;gap:12px;min-height:54px;padding:8px 12px;display:grid}.dataRow:last-child{border-bottom:0}.dataHead{min-height:42px;color:var(--muted);text-transform:uppercase;background:#f2f6f8;font-size:12px;font-weight:700}.dataRow strong,.dataRow small,.tablePrimary{display:block}.tablePrimary{min-width:0;color:var(--text);text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.dataRow small{color:var(--muted);margin-top:3px;font-size:12px;font-weight:400}.passDataRow{grid-template-columns:minmax(180px,1fr) minmax(190px,1.1fr) minmax(190px,1fr) minmax(130px,.7fr) minmax(90px,.5fr) 42px}.passRecipientDataRow{grid-template-columns:minmax(200px,1.1fr) minmax(180px,.95fr) minmax(150px,.8fr) minmax(100px,.5fr) 42px}.vehicleDataRow{grid-template-columns:minmax(200px,1.2fr) minmax(120px,.7fr) minmax(190px,1fr) minmax(100px,.5fr)}.vehicleDirectoryRow{grid-template-columns:minmax(180px,1fr) minmax(180px,.95fr) minmax(170px,.9fr) minmax(90px,.45fr) minmax(120px,.6fr) minmax(105px,.5fr) 42px}.vendorDataRow{grid-template-columns:minmax(210px,1.1fr) minmax(180px,.95fr) minmax(92px,.45fr) minmax(92px,.45fr) minmax(105px,.5fr) 42px}.enforcementDataRow{grid-template-columns:minmax(170px,1fr) minmax(130px,.65fr) minmax(170px,.9fr) minmax(110px,.55fr) minmax(100px,.5fr) minmax(130px,.7fr) 42px}.communityDataRow{grid-template-columns:minmax(220px,1.2fr) minmax(130px,.65fr) minmax(180px,.9fr) minmax(130px,.65fr) minmax(100px,.5fr) 42px}.activityDataRow{grid-template-columns:minmax(170px,1fr) minmax(190px,1.1fr) minmax(150px,.8fr) minmax(80px,.4fr) minmax(90px,.5fr)}.accessLogDataRow{grid-template-columns:96px minmax(150px,.85fr) minmax(145px,.7fr) minmax(150px,.78fr) minmax(150px,.8fr) minmax(160px,.85fr) minmax(170px,.9fr) minmax(92px,.45fr)}.visitorLogDataRow{grid-template-columns:100px 82px 82px minmax(130px,.72fr) minmax(150px,.82fr) minmax(145px,.76fr) minmax(130px,.7fr) minmax(165px,.9fr) minmax(150px,.78fr) minmax(92px,.45fr)}.logTablePanel{overflow:hidden}.logFilterGrid{grid-template-columns:minmax(220px,1.2fr) repeat(4,minmax(130px,.72fr));align-items:end;gap:10px;margin-bottom:12px;display:grid}.logSearchControl{align-self:end}.logFilterActions{flex-wrap:wrap;align-items:end;gap:8px;display:flex}.logDataTable{overflow-x:auto}.logDataTable .dataRow{align-items:start;min-width:1160px;font-size:13px}.logDataTable .tablePrimary{font-weight:400}.logDataTable .eventState{font-weight:700}.logThumb{border:1px solid var(--line);cursor:pointer;background:#eef3f6;border-radius:6px;width:58px;height:42px;padding:0;display:block;overflow:hidden}.logThumb img{object-fit:cover;width:100%;height:100%}.logThumb:hover,.logThumb:focus-visible{border-color:var(--blue);outline:none;box-shadow:0 0 0 3px #007bff29}.mediaLightbox{z-index:80;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.mediaLightboxBackdrop{cursor:pointer;background:#10212a9e;border:0;position:absolute;inset:0}.mediaLightboxCard{z-index:1;border:1px solid var(--line);background:var(--panel);border-radius:8px;grid-template-rows:auto minmax(0,1fr) auto;width:min(920px,100vw - 32px);max-height:calc(100vh - 48px);display:grid;position:relative;overflow:hidden;box-shadow:0 24px 80px #10212a47}.mediaLightboxHeader{border-bottom:1px solid var(--line);justify-content:space-between;align-items:start;gap:16px;padding:16px;display:flex}.mediaLightboxHeader h3{margin:0;font-size:20px}.mediaLightboxActions{align-items:center;gap:8px;display:flex}.mediaLightboxActions .iconButton{border:1px solid var(--line);border-radius:8px;width:42px}.mediaLightboxImage{background:#eef3f6;place-items:center;min-height:260px;padding:16px;display:grid;overflow:auto}.mediaLightboxImage img{border:1px solid var(--line);object-fit:contain;background:#fff;border-radius:6px;max-width:100%;max-height:calc(100vh - 240px)}.mediaLightboxMeta{border-top:1px solid var(--line);color:var(--muted);flex-wrap:wrap;gap:10px 16px;padding:12px 16px;font-size:13px;display:flex}.mediaLightboxMeta strong{color:var(--text);margin-right:4px;font-weight:700}.mediaChip,.mutedCell{border:1px solid var(--line);min-height:28px;color:var(--muted);white-space:nowrap;background:#fbfcfd;border-radius:8px;align-items:center;gap:5px;padding:0 8px;font-size:12px;font-weight:600;display:inline-flex}.mediaChip.relocated{color:var(--green);background:#eef9f4;border-color:#b7dfce}.mediaChip.failed{color:#a83232;background:#fff5f5;border-color:#f0c7c7}.paginationBar{flex-wrap:wrap;justify-content:flex-end;gap:8px;margin-top:12px;display:flex}.inlineTableButton{color:var(--blue);font:inherit;cursor:pointer;background:0 0;border:0;padding:0;font-size:13px}.inlineTableButton:hover{text-decoration:underline}.modalOverlay{z-index:20;background:#10212a6b;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.modalPanel{border:1px solid var(--line);background:var(--panel);border-radius:8px;width:min(720px,100%);max-height:calc(100vh - 48px);padding:20px;overflow:auto;box-shadow:0 24px 80px #10212a3d}.wideModalPanel{width:min(920px,100%)}.modalActions{justify-content:flex-end;margin-top:14px}.eventMediaCell,.eventState{align-items:center;gap:6px;display:inline-flex}.eventMediaCell svg{color:var(--blue)}.eventState{text-transform:capitalize;font-weight:800}.eventState.granted{color:var(--green)}.eventState.denied{color:#a83232}@media print{body:has(.mediaLightbox) *{visibility:hidden!important}:is(body:has(.mediaLightbox) .mediaLightbox,body:has(.mediaLightbox) .mediaLightbox *){visibility:visible!important}body:has(.mediaLightbox) .mediaLightbox{background:#fff;padding:0;display:block;position:fixed;inset:0}:is(body:has(.mediaLightbox) .mediaLightboxBackdrop,body:has(.mediaLightbox) .mediaLightboxActions){display:none!important}body:has(.mediaLightbox) .mediaLightboxCard{width:100%;max-height:none;box-shadow:none;border:0}body:has(.mediaLightbox) .mediaLightboxImage{background:#fff;min-height:auto;overflow:visible}body:has(.mediaLightbox) .mediaLightboxImage img{max-height:none}}.passState{text-transform:capitalize;align-items:center;gap:6px;font-weight:800;display:inline-flex}.passState.active{color:var(--green)}.passState.expired,.passState.inactive{color:var(--amber)}.ticketState{color:var(--text);text-transform:capitalize;align-items:center;gap:6px;display:inline-flex}.ticketState.paid{color:var(--green)}.ticketState.unpaid{color:var(--amber)}.mediaDataRow{grid-template-columns:minmax(210px,1.2fr) minmax(140px,.7fr) minmax(120px,.5fr)}.mediaJobDataRow{grid-template-columns:minmax(170px,.95fr) minmax(120px,.65fr) minmax(130px,.65fr) minmax(110px,.5fr) minmax(130px,.6fr)}.migrationJobDataRow{grid-template-columns:minmax(260px,1.3fr) minmax(130px,.55fr) minmax(130px,.55fr) minmax(210px,.9fr)}.sessionDataRow{grid-template-columns:minmax(180px,1fr) minmax(120px,.6fr) minmax(150px,.7fr) minmax(120px,.6fr)}.userDataRow{grid-template-columns:minmax(220px,1.2fr) minmax(160px,.8fr) minmax(170px,.9fr) minmax(150px,.7fr) 42px}.rowAction{border:1px solid var(--line);width:34px;height:34px;color:var(--muted);background:var(--panel);border-radius:8px;place-items:center;text-decoration:none;display:grid}button.rowAction{font:inherit;cursor:pointer}.rowAction:hover{color:var(--text);background:#f2f6f8;border-color:#b8c7d0}.emptyDataRow{color:var(--muted)}.emptyDataRow>span:first-child{grid-column:1/-1}.inlineLink{color:var(--blue)}.inlineLink:hover{text-decoration:underline}.userDetailGrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;display:grid}.detailList{color:var(--muted);gap:8px;margin-top:14px;font-size:13px;display:grid}.identityGrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.identityItem{border:1px solid var(--line);background:#fbfcfd;border-radius:8px;align-items:center;gap:10px;min-width:0;min-height:54px;padding:9px 12px;display:flex}.identityItem svg{color:var(--blue);flex:none}.identityItem span{min-width:0}.identityItem strong,.identityItem small{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.identityItem small{color:var(--muted);margin-top:3px;font-size:12px}.adminActionGrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.adminActionGroup{border:1px solid var(--line);background:#fbfcfd;border-radius:8px;gap:10px;min-width:0;padding:12px;display:grid}.adminActionGroup small{color:var(--muted);font-size:12px}.compactAdminTable{min-width:0}.compactAdminTable .dataRow{min-height:48px}.householdAdminDataRow{grid-template-columns:minmax(190px,1fr) minmax(82px,.42fr) minmax(92px,.48fr) 42px}.residentAdminDataRow{grid-template-columns:minmax(180px,1fr) minmax(150px,.82fr) minmax(190px,1.05fr) minmax(105px,.54fr) 42px}.importResultTable{margin-top:16px}.importDataRow{grid-template-columns:70px minmax(110px,.55fr) minmax(170px,1fr) minmax(170px,1fr) minmax(130px,.7fr)}.vehicleCredentialDataRow{grid-template-columns:minmax(180px,1fr) minmax(160px,.9fr) minmax(105px,.54fr) 42px}.vendorContactDataRow{grid-template-columns:minmax(160px,.95fr) minmax(190px,1fr) minmax(90px,.45fr) 42px}.vendorAssignmentDataRow{grid-template-columns:minmax(180px,1fr) minmax(150px,.82fr) minmax(100px,.5fr) 42px}.vendorVehicleDataRow{grid-template-columns:minmax(190px,1fr) minmax(180px,.9fr) minmax(90px,.45fr) minmax(105px,.5fr) 42px}.entranceDataRow{grid-template-columns:minmax(190px,1fr) minmax(170px,.9fr) minmax(100px,.5fr) minmax(130px,.6fr) minmax(105px,.5fr) 42px}.deviceDataRow{grid-template-columns:minmax(190px,1fr) minmax(170px,.9fr) minmax(140px,.7fr) minmax(105px,.5fr) minmax(105px,.5fr)}.entranceDeviceDataRow{grid-template-columns:minmax(180px,1fr) minmax(105px,.55fr) minmax(130px,.65fr) 42px}.guardDeviceDataRow{grid-template-columns:minmax(190px,1fr) minmax(165px,.82fr) minmax(130px,.65fr) minmax(120px,.55fr) minmax(105px,.5fr)}.guardCommandDataRow{grid-template-columns:minmax(170px,.95fr) minmax(190px,1fr) minmax(90px,.45fr) minmax(125px,.6fr) minmax(105px,.5fr)}.selectableDataRow{appearance:none;color:inherit;cursor:pointer;font:inherit;text-align:left;background:0 0;border-top:0;border-left:0;border-right:0;width:100%}.selectableDataRow:hover{background:#f7fafb}.detailGrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.detailItem{border:1px solid var(--line);background:#f7fafb;border-radius:8px;min-width:0;padding:10px}.detailItem span,.detailItem strong,.detailItem small{display:block}.detailItem span{color:var(--muted);text-transform:uppercase;font-size:11px;font-weight:800}.detailItem strong{color:var(--text);margin-top:3px;font-size:14px}.detailItem small{color:var(--muted);overflow-wrap:anywhere;margin-top:3px;font-size:12px}.detailItem svg{color:var(--blue);vertical-align:-2px}.residentContactList{gap:3px;display:grid}.residentContactList small{text-overflow:ellipsis;white-space:nowrap;align-items:center;gap:5px;min-width:0;display:flex;overflow:hidden}.residentContactList svg{color:var(--blue);flex:none}.apiLibraryPanel{margin-top:18px}.apiLibraryGrid{grid-template-columns:180px minmax(0,1fr);gap:14px;display:grid}.apiTagRail{align-content:start;gap:6px;display:grid}.apiTagRail button{border:1px solid var(--line);min-height:38px;color:var(--muted);font:inherit;text-align:left;cursor:pointer;background:#fbfcfd;border-radius:8px;padding:0 10px;font-size:13px;font-weight:800}.apiTagRail button.active,.apiTagRail button:hover{color:var(--text);background:#edf4f7}.apiEndpointPane{gap:12px;min-width:0;display:grid}.apiSearch{max-width:none}.apiEndpointList{gap:10px;display:grid}.apiEndpoint{border:1px solid var(--line);background:#fbfcfd;border-radius:8px;gap:8px;padding:12px;display:grid}.apiEndpointTitle{grid-template-columns:62px minmax(0,1fr) auto;align-items:center;gap:8px;display:grid}.apiEndpointTitle strong,.apiEndpointTitle small{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.apiEndpointTitle small,.apiEndpoint p{color:var(--muted)}.apiEndpoint p{margin:0;font-size:13px;line-height:1.4}.methodBadge{color:#fff;border-radius:8px;justify-content:center;align-items:center;min-height:28px;font-size:12px;font-weight:900;display:inline-flex}.methodBadge.get{background:var(--green)}.methodBadge.post{background:var(--blue)}.methodBadge.patch{background:var(--amber)}.apiEndpointMeta{flex-wrap:wrap;gap:6px;display:flex}.apiEndpointMeta span{border:1px solid var(--line);background:var(--panel);min-height:28px;color:var(--muted);border-radius:8px;align-items:center;gap:5px;padding:0 8px;font-size:12px;font-weight:800;display:inline-flex}.apiShapeGrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.apiShapeGrid code{border:1px solid var(--line);background:var(--panel);min-width:0;color:var(--text);border-radius:8px;gap:2px;padding:8px;font-family:Consolas,Courier New,monospace;font-size:12px;display:grid}.apiShapeGrid span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.adminButtonRow{flex-wrap:wrap;gap:8px;display:flex}.adminStack{gap:8px;display:grid}.adminInputGrid{grid-template-columns:minmax(92px,.45fr) minmax(0,1fr);gap:8px;display:grid}.adminMiniField{min-width:0;color:var(--muted);gap:6px;font-size:12px;font-weight:700;display:grid}.adminMiniField input,.adminMiniField select{border:1px solid var(--line);width:100%;min-width:0;height:38px;color:var(--text);background:var(--panel);font:inherit;border-radius:8px;outline:none;padding:0 10px;font-size:13px}.adminMiniField input:focus,.adminMiniField select:focus{border-color:var(--blue);box-shadow:0 0 0 3px #007bff29}.adminFullWidth{grid-column:1/-1}.sectionDivider{background:var(--line);height:1px;margin:18px 0}.compactCheck{min-height:38px;font-size:13px}.actionButton{border:1px solid var(--line);min-height:38px;color:var(--text);background:var(--panel);font:inherit;cursor:pointer;border-radius:8px;justify-content:center;align-items:center;gap:7px;padding:0 10px;font-size:13px;font-weight:800;display:inline-flex}.actionButton:hover:not(:disabled){background:#f2f6f8;border-color:#b8c7d0}.actionButton.danger{color:#a83232}.actionButton.wide{width:100%}.actionButton:disabled,.actionButton.disabled{cursor:wait;opacity:.64;pointer-events:none}.authPage{background:linear-gradient(90deg, #343a400a, #007bff0d), var(--bg);grid-template-columns:minmax(320px,460px) minmax(240px,1fr);min-height:100vh;display:grid}.loginAuthPage{background:linear-gradient(#f4f6f92e,#f4f6f92e),url(/brand/login-community-bg.jpg) top/cover no-repeat;grid-template-columns:1fr;place-items:center;padding:32px}.authPanel{border-right:1px solid var(--line);background:var(--panel);align-content:center;gap:28px;min-height:100vh;padding:44px;display:grid}.loginAuthPage .authPanel{background:#fffffff5;border:0;border-radius:4px;align-content:start;width:min(390px,100%);min-height:auto;padding:28px;box-shadow:0 12px 32px #1f2d3d38}.compactAuthPanel{max-width:520px}.authBrand{align-items:center;gap:12px;display:flex}.authBrand .brandLogoMark{border:1px solid var(--line)}.authBrand .brandText strong{color:var(--blue-dark)}.authBrand .brandText span{color:var(--muted);margin-top:2px;font-size:13px}.loginAuthPage .authBrand{justify-content:center;margin-bottom:2px}.loginAuthPage .authBrand .brandLogoMark{width:86px;height:52px}.loginAuthPage .authBrand .brandLogoMark img{width:136px;transform:translate(-25px,-10px)}.loginAuthPage .authBrand .brandText strong{font-size:24px}.authForm{gap:16px;width:100%;display:grid}.authSubtext{color:var(--muted);margin:8px 0 0;font-size:13px}.field{color:var(--muted);gap:7px;font-size:13px;font-weight:700;display:grid}.field input{border:1px solid var(--line);width:100%;height:44px;color:var(--text);font:inherit;background:#fbfcfd;border-radius:8px;outline:none;padding:0 12px;font-size:15px}.field input:focus{border-color:var(--blue);box-shadow:0 0 0 3px #007bff29}.passwordInput{border:1px solid var(--line);background:#fbfcfd;border-radius:8px;grid-template-columns:minmax(0,1fr) 44px;display:grid}.passwordInput:focus-within{border-color:var(--blue);box-shadow:0 0 0 3px #007bff29}.passwordInput input{box-shadow:none;border:0}.passwordInput input:focus{box-shadow:none}.iconButton{border:0;border-left:1px solid var(--line);width:44px;height:42px;color:var(--muted);cursor:pointer;background:0 0;border-radius:0 8px 8px 0;place-items:center;display:grid}.iconButton:hover{color:var(--text)}.checkField{color:var(--muted);align-items:center;gap:10px;font-size:14px;display:flex}.checkField input{width:16px;height:16px;accent-color:var(--blue)}.primaryButton{color:#fff;background:var(--blue);width:100%;min-height:44px;font:inherit;cursor:pointer;border:0;border-radius:8px;justify-content:center;align-items:center;gap:9px;font-weight:800;display:inline-flex}.primaryButton:hover:not(:disabled){background:#0069d9}.primaryButton:disabled{cursor:wait;opacity:.72}.formError,.formSuccess{border-radius:8px;align-items:center;gap:9px;min-height:40px;padding:9px 12px;font-size:14px;font-weight:700;display:flex}.formError{color:#a83232;background:#fff5f5;border:1px solid #f0c7c7}.formSuccess{color:var(--green);background:#eef9f4;border:1px solid #b7dfce}.authSide{color:var(--blue-dark);align-content:center;justify-items:start;gap:12px;padding:44px;display:grid}.loginAuthPage .authSide{display:none}.authSide svg{color:var(--green)}.authSide strong{font-size:26px}.authSide span{max-width:360px;color:var(--muted);line-height:1.5}.passwordRules{flex-wrap:wrap;gap:8px;display:flex}.passwordRules span{border:1px solid var(--line);color:var(--muted);background:#fbfcfd;border-radius:8px;padding:6px 9px;font-size:12px;font-weight:700}.loadingLine{min-height:44px;color:var(--muted);font-weight:700}.loadingShell{min-height:100vh}.loadingSidebar{pointer-events:none}.loadingSidebarContext{border:1px solid #ffffff1f;border-radius:8px;gap:8px;margin:0 16px 18px;padding:12px;display:grid}.loadingNav{gap:8px;padding:0 16px;display:grid}.loadingStatus{border:1px solid var(--line);background:var(--panel);min-height:38px;color:var(--muted);border-radius:8px;align-items:center;gap:7px;padding:0 12px;font-size:13px;font-weight:800;display:inline-flex}.loadingStatus svg{color:var(--blue);animation:.9s linear infinite loadingSpin}.loadingPanel{overflow:hidden}.loadingToolbar{grid-template-columns:minmax(240px,1.2fr) minmax(260px,1fr) minmax(120px,.45fr);gap:10px;margin:16px 0 12px;display:grid}.loadingDataTable{border:1px solid var(--line)}.loadingTableRow{border-bottom:1px solid var(--line);grid-template-columns:minmax(220px,1.2fr) minmax(160px,.8fr) minmax(160px,.8fr) 42px;align-items:center;gap:12px;min-height:54px;padding:8px 12px;display:grid}.loadingTableRow:last-child{border-bottom:0}.loadingSkeleton{background:linear-gradient(90deg,#e8eef2 0%,#f6f9fb 48%,#e8eef2 100%) 0 0/220% 100%;border-radius:8px;min-height:12px;animation:1.2s ease-in-out infinite loadingPulse;display:block}.loadingSidebar .loadingSkeleton{background:linear-gradient(90deg,#ffffff1f 0%,#ffffff47 48%,#ffffff1f 100%) 0 0/220% 100%}.loadingSkeleton.short{width:84px}.loadingSkeleton.medium{width:128px}.loadingSkeleton.wide{width:172px}.loadingSkeleton.navLine{width:100%;min-height:34px}.loadingSkeleton.headingLine{width:220px;min-height:24px;margin-top:8px}.loadingSkeleton.chipLine{width:130px;min-height:34px}.loadingSkeleton.searchLine,.loadingSkeleton.filterLine{min-height:40px}.loadingSkeleton.tablePrimaryLine{min-height:24px}.loadingSkeleton.tableLine{min-height:18px}.loadingSkeleton.tableActionLine{width:34px;height:34px}@keyframes loadingPulse{0%{background-position:120% 0}to{background-position:-120% 0}}@keyframes loadingSpin{to{transform:rotate(360deg)}}@media (max-width:860px){.shell{grid-template-columns:1fr}.sidebar{border-right:0;position:static}.nav{grid-template-columns:repeat(2,minmax(0,1fr))}.sidebarContext{max-width:420px}.topbar,.panelHeader{flex-direction:column;align-items:stretch}.topbarActions{justify-content:flex-start}.metrics,.overviewMetrics,.capabilityGrid,.workbenchGrid,.dashboardGrid,.directoryToolbar,.logFilterGrid,.userDetailGrid,.identityGrid,.conflictGrid,.userTypeGrid,.adminActionGrid,.adminInputGrid,.detailGrid,.apiLibraryGrid,.apiShapeGrid,.loadingToolbar,.loadingTableRow{grid-template-columns:1fr}.workbenchCard{grid-template-columns:44px minmax(0,1fr) 20px}.workbenchValue{text-align:left;grid-column:2}.dataRow{grid-template-columns:1fr;gap:4px;padding:12px}.dataHead{display:none}.segmentedControl{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-flow:row}.segmentedControl button{border-right:1px solid var(--line);border-bottom:1px solid var(--line)}.segmentedControl button:nth-child(2n){border-right:0}.segmentedControl button:nth-last-child(-n+2){border-bottom:0}.authPage{grid-template-columns:1fr}.authPanel{border-right:0;min-height:auto;padding:28px}.authSide{display:none}}
