:root{color-scheme:light;--bg:#f4f6f8;--surface:#ffffff;--surface-strong:#eef2f6;--line:#d8dee7;--line-strong:#c1cad6;--text:#182230;--muted:#5d6b7c;--muted-strong:#344054;--accent:#1d5fba;--accent-dark:#174f9b;--danger:#b42318;--danger-bg:#fff1f0;--success:#087443;--success-bg:#ecfdf3;--warning-bg:#fffaeb;--warning-text:#93370d;--shadow:0 18px 50px rgba(16,24,40,0.16)}*{box-sizing:border-box}body,html{min-height:100%;margin:0}body{background:var(--bg);color:var(--text);font-family:Arial,Apple SD Gothic Neo,Malgun Gothic,sans-serif;font-size:14px;letter-spacing:0}button,input,select,textarea{font:inherit;letter-spacing:0}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.6}.appShell{min-height:100vh;padding:24px}.authShell,.loadingScreen{align-items:center;display:flex;justify-content:center}.loadingScreen{color:var(--muted);min-height:280px}.authPanel{background:var(--surface);border:1px solid var(--line);border-radius:8px;box-shadow:var(--shadow);display:grid;grid-gap:28px;gap:28px;max-width:440px;padding:28px;width:100%}.eyebrow{color:var(--muted);font-size:12px;font-weight:700;margin:0 0 6px;text-transform:uppercase}h1,h2{margin:0}h1{font-size:24px;line-height:1.25}h2{font-size:18px;line-height:1.3}.authForm,.formField,.searchField{display:grid;grid-gap:7px;gap:7px}.authForm label,.formField span,.searchField span{color:var(--muted-strong);font-size:12px;font-weight:700}input,select,textarea{background:#fff;border:1px solid var(--line-strong);border-radius:6px;color:var(--text);min-height:34px;outline:none;padding:7px 9px;width:100%}textarea{min-height:82px;resize:vertical}input:focus,select:focus,textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px rgba(29,95,186,.14)}input:disabled,select:disabled,textarea:disabled{background:var(--surface-strong);color:var(--muted-strong);cursor:not-allowed}.authActions,.modalActions,.pagination,.searchRow,.topActions{align-items:center;display:flex;gap:10px}.authActions{justify-content:flex-end}.dangerButton,.ghostButton,.iconButton,.primaryButton,.secondaryButton,.tableButton{align-items:center;border-radius:6px;display:inline-flex;font-weight:700;justify-content:center;min-height:34px;padding:7px 12px;white-space:nowrap}.primaryButton{background:var(--accent);border:1px solid var(--accent);color:#fff}.primaryButton:hover{background:var(--accent-dark)}.iconButton,.secondaryButton,.tableButton{background:#fff;border:1px solid var(--line-strong);color:var(--muted-strong)}.dangerButton{background:var(--danger-bg);border:1px solid #fecdca;color:var(--danger)}.dangerButton:hover{border-color:var(--danger)}.iconButton:hover,.secondaryButton:hover,.tableButton:hover{border-color:var(--accent);color:var(--accent)}.ghostButton{background:transparent;border:1px solid transparent;color:var(--muted-strong)}.ghostButton:hover{background:var(--surface-strong)}.topBar{align-items:center;background:var(--surface);border:1px solid var(--line);border-radius:8px;display:flex;justify-content:space-between;margin:0 auto 14px;max-width:none;padding:18px 20px}.topActions{align-items:center;justify-content:flex-end}.topNav{background:var(--surface-strong);border:1px solid var(--line);border-radius:7px;display:inline-flex;padding:3px}.topNavButton{background:transparent;border:0;border-radius:5px;color:var(--muted-strong);font-weight:800;min-height:32px;padding:6px 12px;white-space:nowrap}.topNavButton:hover{color:var(--accent)}.topNavButton.active{background:var(--surface);box-shadow:0 1px 2px rgba(16,24,40,.08);color:var(--accent)}.sessionBox{align-items:center;border-left:1px solid var(--line);display:flex;gap:10px;margin-left:2px;padding-left:12px}.currentUserBox{align-items:start;display:grid;grid-gap:1px;gap:1px;min-width:68px;text-align:left}.currentUserBox strong{color:var(--text);font-size:12px;line-height:1.25}.currentUserBox span{color:var(--muted);font-size:11px;font-weight:800;line-height:1.25}.logoutButton{background:transparent;border:0;border-radius:5px;color:var(--muted);font-size:12px;font-weight:800;min-height:32px;padding:5px 8px;white-space:nowrap}.logoutButton:hover{background:var(--surface-strong);color:var(--muted-strong)}.controlBand,.tableBand{background:var(--surface);border:1px solid var(--line);border-radius:8px;margin:0 auto 14px;max-width:1680px}.controlBand{padding:14px}.searchRow{align-items:flex-end;border-bottom:1px solid var(--line);padding-bottom:12px}.searchField{flex:1 1;min-width:240px}.searchField input,.searchRow>button{min-height:38px}.activeFilterBar{align-items:center;border-bottom:1px solid var(--line);display:flex;flex-wrap:wrap;gap:8px;padding:12px 0}.activeFilterBar>span{color:var(--muted);font-size:12px;font-weight:800;margin-right:2px}.activeFilterChip,.clearAllButton{align-items:center;border-radius:999px;display:inline-flex;font-size:12px;font-weight:800;min-height:28px;padding:5px 9px;white-space:nowrap}.activeFilterChip{background:#eef4ff;border:1px solid #b2ccff;color:#1849a9;gap:8px}.activeFilterChip span{color:#3865c7;font-size:11px}.activeFilterChip:hover{background:#dfeaff}.clearAllButton{background:transparent;border:1px solid transparent;color:var(--muted-strong)}.clearAllButton:hover{background:var(--surface-strong)}.sideFilterGroups{display:grid;grid-gap:14px;gap:14px}.filterGroup{display:grid;grid-gap:8px;gap:8px;min-width:0}.filterGroup.compact{align-content:start}.filterGroupLabel{color:var(--muted-strong);font-size:12px;font-weight:800}.filterChipRow{display:flex;flex-wrap:wrap;gap:6px}.savedViewsPanel .filterChipRow{align-items:flex-start}.filterChip{background:#fff;border:1px solid var(--line-strong);border-radius:999px;color:var(--muted-strong);font-size:12px;font-weight:800;min-height:28px;padding:5px 9px;white-space:nowrap}.filterChip:hover{border-color:var(--accent);color:var(--accent)}.filterChip.active{background:#eaf2ff;border-color:#84adf4;color:var(--accent)}.savedViewsPanel .filterChip{min-height:30px;padding:5px 10px}.tableBand{overflow:hidden}.tableSummary{align-items:center;border-bottom:1px solid var(--line);color:var(--muted);display:flex;font-size:13px;justify-content:space-between;min-height:48px;padding:10px 14px}.tableSummary strong{color:var(--text);font-size:16px;margin-right:2px}.tableSummary span{margin-left:8px}.tableMessage{border-bottom:1px solid var(--line);font-weight:700;padding:10px 14px}.tableMessage.error{background:var(--danger-bg);color:var(--danger)}.tableScroll{overflow-x:auto;width:100%}table{border-collapse:collapse;width:100%}td,th{border-bottom:1px solid var(--line);padding:13px 16px;text-align:center;vertical-align:middle;white-space:nowrap;word-break:keep-all}th{background:#f8fafc;color:var(--muted-strong);font-size:12px;font-weight:800;position:-webkit-sticky;position:sticky;top:0;z-index:1}td{color:var(--text);font-size:14px;max-width:220px;overflow:hidden;text-overflow:ellipsis}tbody tr:hover{background:#f9fbfd}tbody tr.archivedRow{background:#f8fafc;color:var(--muted)}tbody tr.archivedRow:hover{background:#f2f5f8}.sortButton{align-items:center;background:transparent;border:0;color:inherit;display:inline-flex;font-weight:800;gap:6px;justify-content:center;min-height:28px;padding:0;width:100%}.sortButton.active{color:var(--accent)}.sortIcon{align-items:center;display:inline-flex;flex-direction:column;gap:2px;justify-content:center;min-height:16px;min-width:12px}.sortIcon span{border-left:4px solid transparent;border-right:4px solid transparent;display:block;height:0;opacity:.35;width:0}.sortIcon span:first-child{border-bottom:5px solid}.sortIcon span:last-child{border-top:5px solid}.sortIcon.asc span:first-child,.sortIcon.desc span:last-child{opacity:1}.sortIcon.asc span:last-child,.sortIcon.desc span:first-child{opacity:.18}.monoCell{font-family:SFMono-Regular,Consolas,Liberation Mono,monospace;font-size:12px}.memoCell{color:var(--muted-strong);max-width:320px;min-width:220px}.dateCell{min-width:132px}.passwordCell{min-width:120px}.helperDateCell{color:var(--muted);min-width:168px}.emptyCell{color:var(--muted);height:110px;text-align:center}.blankCell{display:inline-block;min-width:1px}.archiveBadge,.statusPill{align-items:center;border:1px solid var(--line);border-radius:999px;color:var(--muted-strong);display:inline-flex;font-size:12px;font-weight:700;max-width:160px;min-height:24px;overflow:hidden;padding:3px 8px;text-overflow:ellipsis;white-space:nowrap}.archiveBadge,.statusPill.good{background:var(--success-bg);border-color:#abefc6;color:var(--success)}.archiveBadge.archived{background:#f2f4f7;border-color:var(--line-strong);color:var(--muted)}.passwordValue{color:var(--text);display:inline-block;font-family:SFMono-Regular,Consolas,Liberation Mono,monospace;font-size:12px;max-width:180px;overflow:hidden;text-overflow:ellipsis;vertical-align:middle;white-space:nowrap}.passwordValue.pending{color:var(--warning-text);font-family:inherit;font-weight:700}.passwordValue.empty{color:var(--muted)}.statusPill.bad{background:var(--danger-bg);border-color:#fecdca;color:var(--danger)}.statusPill.neutral{background:var(--warning-bg);border-color:#fedf89;color:var(--warning-text)}.pagination{justify-content:flex-end;min-height:54px;padding:10px 14px}.pagination span{color:var(--muted-strong);font-weight:700;min-width:86px;text-align:center}.modalBackdrop{background:rgba(15,23,42,.38);display:flex;inset:0;position:fixed;z-index:20}.modalPanel{background:var(--surface);box-shadow:var(--shadow);overflow:auto;padding:18px;width:100%}.modalHeader{align-items:flex-start;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;margin:-2px 0 14px;padding-bottom:12px}.iconButton{font-size:16px;min-height:32px;padding:4px 10px}.formGrid{display:grid;grid-gap:12px;gap:12px;grid-template-columns:repeat(2,minmax(0,1fr))}.formField.wide{grid-column:1/-1}.inlineError{background:var(--danger-bg);border:1px solid #fecdca;border-radius:6px;color:var(--danger);font-weight:700;margin:0;padding:9px 10px}.modalActions{border-top:1px solid var(--line);justify-content:flex-end;margin-top:16px;padding-top:14px}.toast{border-radius:8px;bottom:20px;box-shadow:var(--shadow);color:#fff;font-weight:800;max-width:min(420px,calc(100vw - 32px));padding:12px 14px;position:fixed;right:20px;z-index:30}.toast.success{background:var(--success)}.toast.error{background:var(--danger)}.topDescription{color:var(--muted);font-size:13px;margin:6px 0 0}.consoleLayout{align-items:start;display:grid;grid-gap:12px;gap:12px;grid-template-columns:190px minmax(0,1fr);margin:0 auto;max-width:none}.consoleMain{min-width:0}.savedViewsPanel{background:var(--surface);border:1px solid var(--line);border-radius:8px;display:grid;grid-gap:16px;gap:16px;padding:14px;position:-webkit-sticky;position:sticky;top:16px}.sideSection{display:grid;grid-gap:10px;gap:10px}.sideSection+.sideSection{border-top:1px solid var(--line);padding-top:14px}.sideSection h2{font-size:14px}.savedViewList{display:grid;grid-gap:8px;gap:8px}.savedViewButton{align-items:flex-start;background:#fff;border:1px solid var(--line);border-radius:7px;color:var(--text);display:grid;grid-gap:3px;gap:3px;justify-items:start;min-height:48px;padding:9px 10px;text-align:left}.savedViewButton strong{font-size:13px}.savedViewButton span{color:var(--muted);font-size:12px;line-height:1.45}.savedViewButton.active,.savedViewButton:hover{background:var(--success-bg);border-color:#abefc6;color:var(--success)}.metricGrid{display:grid;grid-gap:10px;gap:10px;grid-template-columns:repeat(5,minmax(120px,1fr));margin-bottom:12px}.metricCard{background:var(--surface);border:1px solid var(--line);border-radius:8px;display:grid;grid-gap:5px;gap:5px;min-height:86px;padding:13px 14px}.metricCard span{color:var(--muted);font-size:12px;font-weight:800}.metricCard strong{color:var(--text);font-size:24px;line-height:1}.metricCard small{color:var(--muted);font-size:12px}.consoleMain .controlBand,.consoleMain .tableBand{margin:0 0 12px;max-width:none}.filterChip{min-height:30px}.bulkActionBar{align-items:center;background:var(--success-bg);border:1px solid #abefc6;border-radius:8px;color:var(--success);display:flex;gap:12px;justify-content:space-between;margin-bottom:12px;min-height:52px;padding:10px 14px}.bulkActionBar>div:first-child{display:flex;flex-wrap:wrap;gap:8px}.bulkActionBar span{color:var(--muted-strong)}.bulkActions{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}.tableSummaryActions{align-items:center;display:flex;gap:10px}table{min-width:3200px}.userTableBand{max-width:none}.userTable{min-width:980px}.roleBadge{align-items:center;background:#f2f4f7;border:1px solid var(--line);border-radius:999px;color:var(--muted-strong);display:inline-flex;font-size:12px;font-weight:800;min-height:24px;padding:3px 8px}.roleBadge.admin{background:#eef4ff;border-color:#b2ccff;color:#1849a9}.selectColumn{min-width:42px;padding-left:14px;padding-right:10px;position:-webkit-sticky;position:sticky;left:0;width:42px;z-index:2}th.selectColumn{background:#f8fafc;z-index:4}td.selectColumn{background:inherit}.selectColumn input{min-height:auto;padding:0;width:auto}.loginCell{min-width:150px}.rowOpenButton{background:none;border:none;color:inherit;cursor:pointer;font:inherit;padding:0}.rowOpenButton:hover{text-decoration:underline}tbody tr.selectedRow{background:#eff8ff}tbody tr.selectedRow:hover{background:#e0f2fe}tbody tr.clickableRow{cursor:pointer}tbody tr.activeDetailRow{background:#eef6ff;outline:1px solid #84adf4;outline-offset:-1px}tbody tr.activeDetailRow:hover{background:#e4f0ff}.detailDrawerLayer{background:rgba(15,23,42,.12);display:flex;inset:0;justify-content:flex-end;position:fixed;z-index:19}.accountDetailPanel{animation:detailDrawerIn .18s ease-out;background:var(--surface);border-left:1px solid var(--line);border-radius:12px 0 0 12px;box-shadow:-24px 0 50px rgba(16,24,40,.2);display:flex;flex-direction:column;height:100vh;overflow:hidden;width:min(480px,calc(100vw - 32px))}.detailEyebrow{color:var(--muted);font-size:12px;font-weight:800}.detailHeader{align-items:flex-start;background:var(--surface);border-bottom:1px solid var(--line);display:flex;gap:12px;justify-content:space-between;padding:18px 20px 16px}.detailHeader h2{font-size:22px;margin-top:5px;word-break:break-all}.compactIconButton{min-height:30px;padding:3px 9px}.detailDrawerBody{display:grid;grid-gap:16px;gap:16px;overflow:auto;padding:16px 18px 22px}.detailSection{border-top:1px solid var(--line);display:grid;grid-gap:12px;gap:12px;padding-top:16px}.detailSection h3{font-size:14px;margin:0;text-align:left}.detailMetaStrip{display:flex;flex-wrap:wrap;gap:8px 18px}.detailMetaStrip div{align-items:baseline;display:flex;gap:6px}.detailMetaStrip span{color:var(--muted);font-size:12px;font-weight:800}.detailMetaStrip strong{color:var(--text);font-size:12px;font-weight:800}.detailEditList{display:grid}.detailEditRow{align-items:center;border-bottom:1px solid var(--line);display:grid;grid-gap:10px;gap:10px;grid-template-columns:92px minmax(0,1fr);min-height:42px;padding:7px 0;text-align:left}.detailEditRow.editing{grid-template-columns:92px minmax(0,1fr) auto}.detailEditRow:last-child{border-bottom:none}.detailEditRow .rowLabel{color:var(--muted);font-size:12px;font-weight:800}.detailEditRow .rowValue{color:var(--text);font-size:13px;font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.detailEditRow .rowEditControl{min-width:0}.detailEditRow .rowEditControl input,.detailEditRow .rowEditControl select,.detailEditRow .rowEditControl textarea{font-size:13px;min-height:32px}.detailEditRow .rowEditActions{display:flex;gap:6px}.detailEditRow .rowValueButton{align-items:center;background:none;border:none;border-radius:6px;color:inherit;cursor:pointer;display:flex;font:inherit;gap:8px;justify-content:space-between;margin:-5px -8px;min-height:30px;padding:5px 8px;text-align:left;width:calc(100% + 16px)}.detailEditRow .rowValueButton .rowValue{flex:1 1;min-width:0}.detailEditRow .rowValueButton:focus-visible,.detailEditRow .rowValueButton:hover{background:var(--surface-strong)}.rowEditHint{color:var(--accent);flex-shrink:0;font-size:12px;font-weight:800;opacity:0}.detailEditRow .rowValueButton:focus-visible .rowEditHint,.detailEditRow .rowValueButton:hover .rowEditHint{opacity:1}.detailEditRow.editing{background:#f4f8ff;border-bottom-color:transparent;border-radius:8px;margin:2px 0;padding:8px}.detailEditRow.textareaRow{align-items:stretch;gap:8px;grid-template-columns:1fr}.detailEditRow.textareaRow .rowValue{white-space:pre-wrap;word-break:break-word}.detailEditRow.textareaRow .rowEditActions{justify-content:flex-end}.passwordValueButton{align-items:center;background:#fff;border:1px solid var(--line-strong);border-radius:8px;color:var(--text);cursor:pointer;display:flex;font:inherit;gap:10px;justify-content:space-between;min-height:46px;padding:9px 9px 9px 14px;text-align:left;width:100%}.passwordValueButton .rowValue{flex:1 1;font-size:16px;min-width:0}.passwordValueButton:focus-visible,.passwordValueButton:hover{border-color:var(--accent)}.passwordValueButton.readonly{cursor:default}.passwordChangeHint{background:var(--accent);border-radius:6px;color:#fff;flex-shrink:0;font-size:12px;font-weight:800;padding:6px 12px}.passwordEditRow{align-items:center;display:grid;grid-gap:8px;gap:8px;grid-template-columns:minmax(0,1fr) auto}.passwordEditRow .rowEditControl input{min-height:40px}@keyframes detailDrawerIn{0%{transform:translateX(28px)}to{transform:translateX(0)}}.modalBackdrop{align-items:center;justify-content:center;padding:20px}.modalPanel{border:1px solid var(--line);border-radius:8px;display:flex;flex-direction:column;max-height:min(760px,calc(100vh - 40px));max-width:1080px;overflow:hidden;padding:0;width:min(1080px,calc(100vw - 40px))}.compactModal{max-width:640px;width:min(640px,calc(100vw - 40px))}.archivePanel{background:var(--surface);border:1px solid var(--line);border-radius:8px;box-shadow:var(--shadow);display:flex;flex-direction:column;max-height:min(620px,calc(100vh - 40px));max-width:480px;overflow:hidden;width:min(480px,calc(100vw - 40px))}.modalHeader{margin:0;padding:18px 20px}.drawerForm{overflow:auto;padding:16px 20px 4px}.drawerForm,.drawerSection{display:grid;grid-gap:12px;gap:12px}.drawerSection{border:1px solid var(--line);border-radius:8px;padding:14px}.drawerSectionHeader{display:grid;grid-gap:4px;gap:4px}.drawerSectionHeader h3{font-size:14px;margin:0}.drawerSectionHeader p{color:var(--muted);font-size:12px;margin:0}.drawerSection .formGrid{gap:10px}.modalPanel:not(.compactModal) .drawerSection .formGrid{grid-template-columns:repeat(3,minmax(0,1fr))}.checkboxControl{align-items:center;background:#fff;border:1px solid var(--line-strong);border-radius:6px;display:flex;gap:8px;min-height:34px;padding:7px 9px}.checkboxControl input{min-height:auto;padding:0;width:auto}.checkboxControl strong{color:var(--muted-strong);font-size:13px}.modalActions{background:var(--surface);margin-top:auto;padding:14px 20px}.archiveBody{display:grid;grid-gap:16px;gap:16px;overflow:auto;padding:18px 20px}.archiveSummary{background:var(--surface-strong);border:1px solid var(--line);border-radius:8px;color:var(--muted-strong);margin:0;padding:12px 14px}.archiveSummary strong{color:var(--text)}.archiveReasonGrid{display:grid;grid-gap:8px;gap:8px;grid-template-columns:repeat(2,minmax(0,1fr))}.archiveReasonButton{background:#fff;border:1px solid var(--line-strong);border-radius:7px;color:var(--muted-strong);font-weight:800;min-height:40px;padding:8px 10px;text-align:center}.archiveReasonButton.active,.archiveReasonButton:hover{background:var(--success-bg);border-color:#abefc6;color:var(--success)}.archiveHint{background:var(--warning-bg);border:1px solid #fedf89;border-radius:8px;color:var(--warning-text);font-size:12px;font-weight:700;line-height:1.5;margin:0;padding:10px 12px}@media (max-width:1180px){.consoleLayout{grid-template-columns:1fr}.savedViewsPanel{position:static}.metricGrid{grid-template-columns:repeat(3,minmax(120px,1fr))}}@media (max-width:760px){.appShell{padding:12px}.bulkActionBar,.searchRow,.tableSummary,.topBar{align-items:stretch;flex-direction:column}.authActions,.searchRow,.topActions{width:100%}.topActions{align-items:stretch;flex-wrap:wrap}.sessionBox,.topNav{width:100%}.topNavButton{flex:1 1}.sessionBox{border-left:0;border-top:1px solid var(--line);justify-content:space-between;margin-left:0;padding:10px 0 0}.currentUserBox{width:100%}.searchField{min-width:0}.formGrid,.metricGrid,.modalPanel:not(.compactModal) .drawerSection .formGrid{grid-template-columns:1fr}.savedViewsPanel{gap:12px}.savedViewList{grid-template-columns:repeat(2,minmax(0,1fr))}.tableSummaryActions{align-items:stretch;flex-direction:column}.activeFilterBar{align-items:flex-start;flex-direction:column}.detailDrawerLayer{background:rgba(15,23,42,.18)}.accountDetailPanel{border-radius:0;width:100%}.filterChipRow{overflow-x:auto;padding-bottom:2px}.pagination{justify-content:space-between}.modalBackdrop{align-items:center;justify-content:center;padding:10px}.archivePanel,.modalPanel{max-height:calc(100vh - 20px);max-width:none;width:100%}.archiveReasonGrid{grid-template-columns:1fr}.toast{bottom:12px;left:12px;right:12px}}