/* 운영 화면: 데이터 대조에 필요한 밀도와 명확한 관리 계층. 로그인 스타일은 별도 유지함. */
.workspace { --canvas:#f3f5f7; --line:#dfe4eb; --ink:#253247; --muted:#69778b; background:var(--canvas); height:100dvh; min-height:0; overflow:hidden; grid-template-rows:minmax(0,1fr); grid-template-columns:220px minmax(0,1fr); }
.workspace .sidebar { background:#182332; border:0; padding:25px 16px 18px; color:#dfe6ee; min-height:0; height:100%; position:static; overflow:auto; }
.workspace .wordmark { padding:0 10px 25px; gap:10px; font-size:18px; color:#fff; border-bottom:1px solid #ffffff12; letter-spacing:-.4px; }
.workspace .brand-icon { width:32px; height:32px; background:#325fe8; color:#fff; border-radius:6px; font-size:22px; font-family:inherit; box-shadow:none; }
.workspace .sidebar-content { margin-top:26px; }
.workspace .nav-button { color:#aebacc; gap:10px; padding:11px 12px; border-radius:5px; font-size:12px; margin-bottom:5px; }
.workspace .nav-button:hover { background:#ffffff08; color:#fff; }
.workspace .nav-button.selected { background:#2b3b54; color:#fff; box-shadow:inset 3px 0 #7596ff; }
.workspace .nav-button svg { width:17px; height:17px; }
.workspace .sidebar-account { border-color:#ffffff12; padding:18px 10px 0; margin-top:auto; flex-shrink:0; }
.workspace .sidebar-account strong { color:#e1e8f0; }
.workspace .sidebar-account span:not(.avatar) { color:#8b9db4; }
.workspace .sidebar-account .avatar { width:30px; height:30px; border-radius:5px; background:#2c3b51; color:#b1c3df; }
.workspace .topbar { flex:0 0 56px; height:56px; padding:0 28px; background:#fff; border-color:var(--line); }
.console-tag { padding:0!important; color:#3a485e!important; font-size:11px; font-weight:700; }
.workspace .breadcrumb span:not(.console-tag) { padding:0 12px; }
.workspace .page-content { width:100%; max-width:1600px; margin:0 auto; padding:26px 28px 20px; flex:1; min-height:0; overflow:auto; display:flex; flex-direction:column; overscroll-behavior:contain; }
.workspace .page-heading { flex-shrink:0; margin-bottom:22px; gap:12px; }
.workspace .page-heading h1 { font-size:23px; font-weight:700; letter-spacing:-.6px; }
.workspace .page-heading .eyebrow { font-size:10px; color:#77869c; letter-spacing:0; margin-bottom:8px; }
.workspace .page-heading .muted { margin-top:9px; font-size:12px; color:#6c7b90; line-height:1.7; }
.workspace .card { border-radius:6px; box-shadow:none; }
.workspace .primary, .workspace .secondary, .workspace .ghost { border-radius:5px; font-size:11px; }
.workspace .primary { box-shadow:none; }
.workspace .catalog-filters { padding:16px; gap:12px; background:#fff; overflow:visible; }
.workspace .catalog-filters>label { font-size:11px; color:#58677b; gap:7px; min-width:130px; }
.workspace .catalog-filter-actions { gap:6px; }
.workspace .catalog-filter-actions button { height:38px; padding:0 16px; }
.workspace .catalog-toolbar { min-height:76px; }
.workspace .catalog-toolbar h2 { font-size:13px; letter-spacing:0; margin:0; }
.workspace .catalog-toolbar p { margin:6px 0 0; font-size:11px; color:#6c7a8e; }
.read-only-tag { display:inline-block; margin-left:7px; padding:3px 5px; font-size:9px; line-height:1; border:1px solid #dce3ec; border-radius:3px; color:#73839a; vertical-align:middle; font-weight:500; }
.reference-table-wrap { width:100%; flex:1; max-height:none; min-height:160px; overflow:auto; background:#fff; border:1px solid var(--line); border-radius:6px; scrollbar-color:#c7ced8 transparent; scrollbar-width:thin; }
.reference-table-wrap:has(tbody:empty) { display:none; }
.reference-table { width:100%; min-width:880px; table-layout:fixed; }
.reference-table thead { position:sticky; top:0; z-index:1; }
.reference-table th { padding:12px 16px; background:#eaf0f5; border-bottom:1px solid #d9e1eb; color:#5c6c82; font-size:10px; font-weight:650; white-space:nowrap; }
.reference-table th:first-child { width:36%; }
.reference-table th:nth-child(2) { width:11%; }
.reference-table th:nth-child(3) { width:13%; }
.reference-table th:nth-child(4) { width:14%; }
.reference-table th:nth-child(5), .reference-table th:nth-child(6) { width:13%; }
.reference-table td { padding:10px 16px; font-size:11px; border-bottom:1px solid #edf0f4; color:#536177; vertical-align:middle; }
.reference-table tr:last-child td { border-bottom:0; }
.reference-table tbody tr:hover { background:#f7f9fd; }
.reference-table .reference-tile { display:flex; flex-direction:row; align-items:center; gap:12px; padding:0; border:0; border-radius:3px; background:transparent; width:100%; box-shadow:none; overflow:visible; }
.reference-table .reference-tile:hover { box-shadow:none; border:0; }
.reference-table .reference-preview { width:52px; height:58px; flex-shrink:0; aspect-ratio:auto; border:1px solid #e4e8ef; border-radius:3px; overflow:hidden; background:#f2f4f7; }
.reference-table .reference-count { display:none; }
.reference-table .reference-tile-info { padding:0; gap:7px; min-width:0; }
.reference-table .reference-tile-info strong { font-size:12px; font-weight:650; color:#2d3d56; }
.reference-table .reference-ad-id { font-family:ui-monospace,SFMono-Regular,Menlo,monospace; font-size:10px; color:#8692a2; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.reference-table .row-secondary { display:block; color:#8692a2; font-size:10px; margin-top:6px; }
.reference-table .date-cell { color:#6e7e91; font-size:10px; white-space:nowrap; }
.reference-table .badge { border-radius:4px; font-size:10px; }
.reference-table .media-placeholder { padding:4px; font-size:9px; line-height:1.5; }
.workspace .catalog-pagination { padding:16px 0 0; justify-content:flex-end; gap:6px; }
.workspace .catalog-pagination button { padding:8px 13px; }
.workspace .catalog-state:not(:empty) { margin:0; border-radius:6px; padding:32px 20px; font-size:12px; }
.workspace .stats { gap:12px; margin-bottom:18px; }
.workspace .stat { border-radius:6px; padding:17px 20px; }
.workspace .stat strong { font-size:24px; margin:9px 0 4px; }
.workspace .stat>span:first-child { font-size:11px; }
.workspace .card-toolbar { padding:19px 20px; }
.workspace .card-toolbar h2 { font-size:14px; }
.workspace .team-card th { background:#eaf0f5; color:#627288; }
.workspace .team-card td { padding-block:14px; }
.workspace .team-card .table-account .avatar { border-radius:5px; width:30px; height:30px; font-size:10px; }
.workspace .table-footer { padding:13px 20px; }
.workspace .permission-guide { padding-top:18px; }
.custom-dropdown { display:block; position:relative; min-width:0; }
.dropdown-trigger { width:100%; min-height:38px; display:flex; align-items:center; justify-content:space-between; gap:12px; padding:9px 11px; border:1px solid #d8e0e9; border-radius:5px; background:#fff; color:#3e4b60; font-size:12px; font-weight:500; text-align:left; line-height:1.4; }
.dropdown-trigger:hover:not(:disabled) { border-color:#99acc8; background:#fafbfe; }
.dropdown-trigger[aria-expanded="true"] { border-color:#6688e7; box-shadow:0 0 0 3px #4169db12; }
.dropdown-trigger:focus-visible { outline:2px solid #5679d9; outline-offset:2px; }
.dropdown-trigger:disabled { cursor:not-allowed; opacity:.5; }
.dropdown-value { flex:1; min-width:0; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.dropdown-chevron { width:7px; height:7px; border-right:1.5px solid #8b99ad; border-bottom:1.5px solid #8b99ad; transform:rotate(45deg); margin:-4px 2px 0 4px; transition:transform .12s; flex-shrink:0; }
.dropdown-trigger[aria-expanded="true"] .dropdown-chevron { transform:rotate(225deg); margin-top:3px; }
.dropdown-menu { position:fixed; inset:auto; margin:0; padding:5px; border:1px solid #dce3ed; border-radius:7px; background:#fff; color:#35445b; box-shadow:0 8px 28px #152c5124,0 2px 4px #152c5108; z-index:1000; overflow-y:auto; overscroll-behavior:contain; font-family:inherit; font-size:12px; }
.dropdown-menu::backdrop { background:transparent; }
.dropdown-option { position:relative; padding:10px 32px 10px 10px; min-height:36px; border-radius:4px; color:#536178; line-height:1.4; cursor:pointer; font-weight:400; }
.dropdown-option:hover, .dropdown-option.is-active { background:#f0f4fa; color:#2a4469; }
.dropdown-option[aria-selected="true"] { color:#335dc0; font-weight:650; }
.dropdown-option[aria-selected="true"]::after { content:""; position:absolute; width:5px; height:9px; right:14px; top:12px; border-right:1.5px solid currentColor; border-bottom:1.5px solid currentColor; transform:rotate(45deg); }
.dropdown-option[aria-disabled="true"] { color:#a9b1be; cursor:not-allowed; }
@media(max-width:1100px) {
  .workspace { grid-template-columns:190px minmax(0,1fr); }
  .workspace .page-content { padding:22px 20px 20px; }
  .workspace .topbar { padding-inline:20px; }
  .workspace .catalog-filters>label { min-width:calc(25% - 12px); }
  .workspace .catalog-filter-actions { margin-left:auto; }
}
@media(max-width:760px) {
  .workspace { display:flex; flex-direction:column; }
  .workspace .sidebar { position:static; min-height:0; height:auto; padding:15px 16px 0; flex-shrink:0; }
  .workspace .wordmark { border:0; padding:0; font-size:15px; }
  .workspace .sidebar-content { margin-top:14px; }
  .workspace .sidebar nav { gap:4px; }
  .workspace .nav-button { width:auto; font-size:11px; padding:10px; margin-bottom:0; border-radius:4px 4px 0 0; }
  .workspace .nav-button.selected { box-shadow:inset 0 -2px #87a4ff; }
  .workspace .sidebar-account { display:none; }
  .workspace .topbar { flex-basis:46px; height:46px; padding:0 16px; }
  .workspace .page-content { padding:22px 16px 20px; }
  .workspace .page-heading h1 { font-size:21px; }
  .workspace .page-heading .muted { font-size:11px; }
  .workspace .catalog-filters { padding:14px; gap:12px; }
  .workspace .catalog-filters>label { min-width:calc(50% - 12px); }
  .workspace .catalog-filter-actions { width:100%; justify-content:flex-end; }
  .workspace .catalog-toolbar { min-height:80px; }
  .workspace .catalog-toolbar a { padding:7px 9px; font-size:10px; }
  .reference-table th:first-child, .reference-table td:first-child { padding-left:16px; }
  .reference-table th:last-child { width:13%; }
  .workspace .stat { padding:14px 12px; }
  .workspace .stats { gap:8px; }
}

body:has(#session:not([hidden])) { overflow:hidden; }
.workspace-main { display:flex; flex-direction:column; min-width:0; min-height:0; overflow:hidden; flex:1; }
#catalog-panel, #operator-management { display:flex; flex-direction:column; flex:1; min-height:0; }
#workspace-message { flex-shrink:0; }
#workspace-message:empty, #catalog-state:empty { display:none; }
.catalog-filters, .catalog-toolbar, .catalog-state, .catalog-pagination { flex-shrink:0; }
.workspace .stats, .workspace .permission-guide { flex-shrink:0; }
.workspace .team-card { display:flex; flex-direction:column; flex:1; min-height:340px; }
.workspace .team-card .table-wrap { flex:1; min-height:100px; overflow:auto; }
.workspace .team-card .card-toolbar, .workspace .team-card .table-footer, #operator-message { flex-shrink:0; }
.workspace .team-card thead { position:sticky; top:0; z-index:1; }

#logs-panel { display:flex; flex-direction:column; flex:1; min-height:0; }
.log-table-wrap { flex:1; min-height:160px; overflow:auto; border:1px solid var(--line); border-radius:6px; background:#fff; }
.log-table { min-width:1080px; width:100%; table-layout:fixed; }
.log-table thead { position:sticky; top:0; z-index:1; }
.log-table th { background:#eaf0f5; color:#5c6c82; font-size:10px; white-space:nowrap; }
.log-table th:nth-child(1) { width:145px; }
.log-table th:nth-child(2) { width:80px; }
.log-table th:nth-child(3) { width:32%; }
.log-table th:nth-child(4) { width:70px; }
.log-table th:nth-child(5) { width:105px; }
.log-table th:nth-child(6) { width:265px; }
.log-table th, .log-table td { padding:12px 14px; }
.log-table td { font-size:11px; border-bottom:1px solid #edf0f4; color:#536177; }
.log-table tbody tr:hover { background:#f7f9fd; }
.log-table td small { display:block; font-size:10px; color:#8491a4; margin-top:7px; }
.log-mono { font-family:ui-monospace,SFMono-Regular,Menlo,monospace; }
.log-route { overflow-wrap:anywhere; }
.log-time, .log-id, .log-duration { white-space:nowrap; }
.log-server-error { color:#a83445; background:#fce8eb; }
.log-client-error { color:#936110; background:#fff3d9; }
.badge.developer { color:#246777; background:#e4f3f4; }
.log-toolbar-actions { display:flex; gap:14px; align-items:center; }
.log-health-toggle { display:flex; align-items:center; gap:6px; font-size:11px; color:#65778e; }
.log-health-toggle input { width:14px; height:14px; accent-color:#4369cd; }
#log-filters .log-request-filter { flex:1; min-width:240px; }
#log-request-id { font-size:12px; padding:9px 11px; min-height:38px; }
.log-footnote { flex-shrink:0; font-size:11px; color:#7b8798; margin:14px 0 0; line-height:1.6; }
#log-message { flex-shrink:0; padding:0 0 14px; }
#log-message:empty { display:none; }
@media(max-width:760px) {
  .log-toolbar-actions { gap:8px; flex-wrap:wrap; justify-content:flex-end; }
  #log-filters .log-request-filter { min-width:100%; }
}

.environment-badge { font-size: 11px; font-weight: 750; letter-spacing: .04em; padding: 3px 7px; border-radius: 5px; background: #edf2f7; color: #475569; }
.environment-badge:empty { display: none; }
.environment-badge[data-environment="staging"] { background: #e8f1ff; color: #1d4ed8; }
.environment-badge[data-environment="prod"] { background: #fff0e5; color: #9a3412; }
