/* TRUE Network Administration - Phase 1 */
.true-admin-body,
.admin-login-body {
  margin: 0;
  background: #f2f5f6;
  color: var(--ink);
}

.admin-login-body {
  min-height: 100vh;
  background:
    radial-gradient(circle at 14% 12%, rgba(26,167,162,.18), transparent 27%),
    radial-gradient(circle at 86% 82%, rgba(214,166,74,.16), transparent 24%),
    linear-gradient(145deg, #eaf1f2, #f8f9f8);
}
.admin-login-shell {
  min-height: 100vh;
  display: grid;
  place-items: center;
  padding: 34px 18px;
}
.admin-login-card {
  width: min(470px, 100%);
  padding: 42px;
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 20px;
  box-shadow: var(--shadow);
}
.admin-setup-card { width: min(560px, 100%); }
.admin-login-brand {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 34px;
  text-decoration: none;
}
.admin-login-brand > span:last-child {
  display: flex;
  flex-direction: column;
  line-height: 1.08;
}
.admin-login-brand strong { font-size: 20px; }
.admin-login-brand small { margin-top: 4px; color: var(--muted); font-size: 11px; text-transform: uppercase; letter-spacing: .12em; }
.admin-login-card h1 { margin: 0; font-size: 38px; line-height: 1.05; letter-spacing: -.035em; }
.admin-login-intro { margin: 15px 0 28px; color: var(--muted); }
.admin-login-form { display: grid; gap: 18px; }
.admin-login-form label { display: grid; gap: 7px; font-size: 13px; font-weight: 800; }
.admin-login-form input {
  width: 100%;
  min-height: 48px;
  padding: 10px 13px;
  border: 1px solid #cbd5da;
  border-radius: 8px;
  background: white;
  color: var(--ink);
  font: inherit;
  outline: none;
}
.admin-login-form input:focus { border-color: var(--blue-bright); box-shadow: 0 0 0 3px rgba(23,132,173,.12); }
.admin-full-button { width: 100%; border: 0; cursor: pointer; }
.admin-alert { margin: 0 0 20px; padding: 13px 15px; border-radius: 8px; font-size: 14px; }
.admin-alert.error { background: #fff0f0; border: 1px solid #efc0c0; color: #8a2525; }
.admin-first-run { margin-top: 24px; padding: 16px; border: 1px solid #d8e5e6; border-radius: 10px; background: #f6fbfb; }
.admin-first-run p { margin: 4px 0; color: var(--muted); }
.admin-first-run a { color: var(--blue); font-weight: 800; text-decoration: none; }
.admin-login-links { margin-top: 25px; padding-top: 20px; border-top: 1px solid var(--line); }
.admin-login-links a { color: var(--muted); text-decoration: none; font-size: 14px; }
.admin-help { color: var(--muted); font-size: 13px; }
.admin-help code { background: #eef2f3; padding: 2px 5px; border-radius: 4px; }

.admin-shell { min-height: 100vh; display: grid; grid-template-columns: 250px minmax(0, 1fr); }
.admin-sidebar {
  position: sticky;
  top: 0;
  height: 100vh;
  display: flex;
  flex-direction: column;
  padding: 26px 18px;
  background: #0b1d2c;
  color: white;
}
.admin-brand { display: flex; align-items: center; gap: 11px; padding: 0 9px 25px; color: white; text-decoration: none; }
.admin-brand .brand-text strong { color: white; }
.admin-brand .brand-text small { color: rgba(255,255,255,.52); }
.admin-nav { display: grid; gap: 6px; }
.admin-nav-link {
  display: flex;
  align-items: center;
  min-height: 45px;
  padding: 0 13px;
  border-radius: 8px;
  color: rgba(255,255,255,.72);
  text-decoration: none;
  font-weight: 700;
  font-size: 14px;
}
.admin-nav-link:hover,
.admin-nav-link.active { background: rgba(255,255,255,.09); color: white; }
.admin-sidebar-bottom { margin-top: auto; padding: 18px 10px 4px; border-top: 1px solid rgba(255,255,255,.12); }
.admin-sidebar-bottom a { color: rgba(255,255,255,.65); text-decoration: none; font-size: 13px; }
.admin-main-column { min-width: 0; display: flex; flex-direction: column; }
.admin-topbar {
  min-height: 76px;
  display: flex;
  justify-content: flex-end;
  align-items: center;
  padding: 0 30px;
  background: white;
  border-bottom: 1px solid var(--line);
}
.admin-user-block { display: flex; align-items: center; gap: 17px; }
.admin-user-block > div { display: flex; flex-direction: column; text-align: right; line-height: 1.15; }
.admin-user-block small { margin-top: 4px; color: var(--muted); font-size: 11px; text-transform: uppercase; letter-spacing: .08em; }
.admin-logout { border: 1px solid var(--line); background: white; border-radius: 999px; padding: 8px 13px; cursor: pointer; font-weight: 700; }
.admin-menu-button { display: none; }
.admin-content { width: min(1240px, calc(100% - 56px)); margin: 0 auto; padding: 42px 0 60px; flex: 1; }
.admin-page-heading { display: flex; justify-content: space-between; gap: 26px; align-items: end; margin-bottom: 30px; }
.admin-page-heading h1 { margin: 0; font-size: clamp(36px,4vw,54px); line-height: 1.03; letter-spacing: -.04em; }
.admin-page-heading p:not(.section-kicker) { max-width: 720px; margin: 12px 0 0; color: var(--muted); font-size: 16px; }
.admin-heading-actions { flex: 0 0 auto; }
.admin-stat-grid { display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: 16px; margin-bottom: 24px; }
.admin-stat-card { padding: 22px; background: white; border: 1px solid var(--line); border-radius: 13px; }
.admin-stat-card span { display: block; color: var(--muted); font-size: 13px; font-weight: 700; }
.admin-stat-card strong { display: block; margin: 5px 0; font-size: 34px; line-height: 1; }
.admin-stat-card small { color: #87919a; }
.admin-dashboard-grid { display: grid; grid-template-columns: minmax(0, 2fr) minmax(300px, .85fr); gap: 20px; }
.admin-panel { padding: 26px; background: white; border: 1px solid var(--line); border-radius: 14px; }
.admin-panel-heading h2,
.admin-status-panel h2 { margin: 0 0 20px; font-size: 27px; }
.admin-action-grid { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 13px; }
.admin-action-card { min-height: 145px; display: flex; flex-direction: column; justify-content: flex-end; padding: 20px; border: 1px solid var(--line); border-radius: 12px; background: var(--paper); text-decoration: none; transition: .18s ease; }
.admin-action-card:hover { transform: translateY(-2px); border-color: #b9cdd4; box-shadow: 0 9px 24px rgba(16,32,50,.07); }
.admin-action-card strong { font-size: 20px; }
.admin-action-card span { margin-top: 5px; color: var(--muted); font-size: 13px; }
.admin-status-row { display: flex; justify-content: space-between; gap: 15px; padding: 12px 0; border-bottom: 1px solid var(--line); font-size: 14px; }
.status-good { color: #1d7b52; }
.admin-status-note { margin: 20px 0 0; color: var(--muted); font-size: 13px; }
.admin-build-panel { min-height: 390px; display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; }
.admin-build-panel h2 { margin: 15px 0 8px; font-size: 30px; }
.admin-build-panel p { max-width: 650px; margin: 0 0 24px; color: var(--muted); }
.admin-footer { display: flex; justify-content: space-between; gap: 20px; padding: 20px 30px; border-top: 1px solid var(--line); color: var(--muted); background: white; font-size: 12px; }

@media (max-width: 1050px) {
  .admin-stat-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .admin-dashboard-grid { grid-template-columns: 1fr; }
}
@media (max-width: 820px) {
  .admin-shell { display: block; }
  .admin-sidebar { position: fixed; z-index: 80; left: -270px; width: 250px; transition: left .2s ease; box-shadow: 12px 0 30px rgba(0,0,0,.18); }
  .admin-sidebar.open { left: 0; }
  .admin-topbar { justify-content: space-between; padding: 0 18px; }
  .admin-menu-button { display: inline-flex; border: 1px solid var(--line); background: white; border-radius: 8px; padding: 8px 12px; font-weight: 800; }
  .admin-content { width: min(100% - 30px, 1240px); padding-top: 30px; }
  .admin-action-grid { grid-template-columns: 1fr; }
}
@media (max-width: 560px) {
  .admin-login-card { padding: 30px 22px; }
  .admin-stat-grid { grid-template-columns: 1fr; }
  .admin-page-heading { align-items: flex-start; flex-direction: column; }
  .admin-user-block > div { display: none; }
  .admin-footer { flex-direction: column; }
}

/* TRUE Network Administration - Phase 2 Event Manager */
.admin-alert.success { background:#eef9f3; border:1px solid #b9dfc8; color:#17633d; }
.btn.btn-outline { background:white; color:var(--ink); border:1px solid var(--line); }
.admin-filter-tabs { display:flex; flex-wrap:wrap; gap:8px; margin:0 0 18px; }
.admin-filter-tab { display:inline-flex; align-items:center; gap:8px; padding:9px 13px; border:1px solid var(--line); border-radius:999px; background:white; color:var(--muted); text-decoration:none; font-size:13px; font-weight:800; }
.admin-filter-tab span { min-width:22px; padding:2px 6px; border-radius:999px; background:#eef2f3; text-align:center; font-size:11px; }
.admin-filter-tab.active { background:#0b1d2c; border-color:#0b1d2c; color:white; }
.admin-filter-tab.active span { background:rgba(255,255,255,.14); color:white; }
.admin-table-panel { padding:0; overflow:hidden; }
.admin-table-wrap { overflow-x:auto; }
.admin-table { width:100%; border-collapse:collapse; min-width:850px; }
.admin-table th { padding:13px 16px; background:#f7f9fa; border-bottom:1px solid var(--line); color:var(--muted); font-size:11px; text-align:left; text-transform:uppercase; letter-spacing:.06em; }
.admin-table td { padding:15px 16px; border-bottom:1px solid var(--line); vertical-align:middle; font-size:14px; }
.admin-table tbody tr:last-child td { border-bottom:0; }
.admin-table-title { display:block; margin-bottom:4px; font-size:15px; }
.admin-table td small { display:block; color:#8a949c; font-size:11px; }
.admin-banner-cell { width:92px; }
.admin-event-thumb { width:76px; height:50px; display:block; object-fit:cover; border-radius:8px; background:#e8edef; }
.admin-event-thumb-empty { display:grid; place-items:center; background:#0b1d2c; color:white; font-weight:900; font-size:18px; }
.admin-featured-badge { display:inline-flex; margin-top:7px; padding:3px 7px; background:#fff6df; border:1px solid #ead49c; border-radius:999px; color:#765817; font-size:10px; font-weight:900; text-transform:uppercase; letter-spacing:.04em; }
.admin-status-pill { display:inline-flex; padding:5px 9px; border-radius:999px; font-size:11px; font-weight:900; }
.admin-status-pill.published { background:#e8f7ef; color:#17633d; }
.admin-status-pill.draft { background:#eef1f3; color:#59646c; }
.admin-status-pill.cancelled { background:#fff0f0; color:#8a2525; }
.admin-table-action { text-align:right; }
.admin-edit-link { color:var(--blue); font-weight:900; text-decoration:none; }
.admin-empty-state { min-height:320px; display:flex; flex-direction:column; justify-content:center; align-items:center; text-align:center; }
.admin-empty-state h2 { margin:14px 0 6px; }
.admin-empty-state p { max-width:600px; margin:0 0 22px; color:var(--muted); }
.admin-editor-form { display:block; }
.admin-editor-grid { display:grid; grid-template-columns:minmax(0,1fr) 330px; gap:20px; align-items:start; }
.admin-editor-sidebar { display:grid; gap:20px; position:sticky; top:96px; }
.admin-form-panel { padding:28px; }
.admin-form-section-heading { margin-bottom:22px; }
.admin-form-section-heading h2, .admin-publish-panel h2, .admin-banner-panel h2 { margin:0; font-size:24px; }
.admin-form-section-heading p { margin:6px 0 0; color:var(--muted); font-size:13px; }
.admin-form-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; }
.admin-field { display:grid; gap:7px; align-content:start; }
.admin-field-wide { grid-column:1/-1; }
.admin-field > span { font-size:12px; font-weight:900; }
.admin-field input:not([type=file]), .admin-field textarea, .admin-field select { width:100%; box-sizing:border-box; border:1px solid #cbd5da; border-radius:8px; background:white; color:var(--ink); font:inherit; padding:11px 12px; outline:none; }
.admin-field input:not([type=file]), .admin-field select { min-height:46px; }
.admin-field textarea { resize:vertical; line-height:1.55; }
.admin-field input:focus, .admin-field textarea:focus, .admin-field select:focus { border-color:var(--blue-bright); box-shadow:0 0 0 3px rgba(23,132,173,.10); }
.admin-field small, .admin-form-note { color:var(--muted); font-size:11px; line-height:1.5; }
.admin-publish-panel, .admin-banner-panel { display:grid; gap:17px; }
.admin-checkbox { display:flex; gap:9px; align-items:flex-start; font-size:13px; font-weight:800; cursor:pointer; }
.admin-checkbox input { margin-top:2px; }
.admin-save-button { width:100%; border:0; cursor:pointer; }
.admin-current-banner img { width:100%; aspect-ratio:16/9; object-fit:cover; border-radius:10px; background:#e8edef; }
.admin-current-banner small { display:block; margin-top:7px; color:var(--muted); overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.admin-banner-placeholder { min-height:150px; display:grid; place-items:center; align-content:center; border:1px dashed #c7d2d7; border-radius:10px; background:#f7f9fa; color:var(--muted); text-align:center; }
.admin-banner-placeholder span { width:42px; height:42px; display:grid; place-items:center; border-radius:10px; background:#0b1d2c; color:white; font-weight:900; }
.admin-banner-placeholder p { margin:8px 0 0; font-size:12px; }
.admin-file-input { width:100%; font:inherit; font-size:12px; }
.admin-remove-checkbox { color:#8a2525; }
@media (max-width: 980px) {
  .admin-editor-grid { grid-template-columns:1fr; }
  .admin-editor-sidebar { position:static; grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width: 620px) {
  .admin-form-grid { grid-template-columns:1fr; }
  .admin-field-wide { grid-column:auto; }
  .admin-editor-sidebar { grid-template-columns:1fr; }
}

/* TRUE Network Administration - Phase 2.1 User Manager */
.admin-user-stat-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.admin-users-table { min-width: 900px; }
.admin-you-badge { display:inline-flex; vertical-align:middle; margin-left:6px; padding:2px 6px; border-radius:999px; background:#e7f2f6; color:#175d78; font-size:9px; font-weight:900; text-transform:uppercase; letter-spacing:.05em; }
.admin-role-pill, .admin-account-pill { display:inline-flex; align-items:center; padding:5px 9px; border-radius:999px; font-size:11px; font-weight:900; }
.admin-role-pill.admin { background:#eef0ff; color:#474e9a; }
.admin-role-pill.manager { background:#eef7f1; color:#2e6847; }
.admin-account-pill.active { background:#e8f7ef; color:#17633d; }
.admin-account-pill.inactive { background:#f2f3f4; color:#69737a; }
.admin-lock-note { margin-top:5px; color:#9a3a32 !important; font-weight:700; }
.admin-user-editor-grid { grid-template-columns:minmax(0,1fr) 360px; }
.admin-account-active-check { min-height:46px; align-items:center; padding:10px 0; }
.admin-info-note { margin-top:20px; padding:13px 15px; border:1px solid #c7dce5; border-radius:9px; background:#f1f8fb; color:#275b70; font-size:12px; line-height:1.5; }
.admin-user-security-summary { display:grid; gap:10px; padding:14px 0; border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.admin-user-security-summary div { display:flex; justify-content:space-between; gap:16px; align-items:flex-start; }
.admin-user-security-summary span { color:var(--muted); font-size:11px; font-weight:800; }
.admin-user-security-summary strong { max-width:190px; text-align:right; font-size:11px; overflow-wrap:anywhere; }
@media (max-width: 980px) {
  .admin-user-editor-grid { grid-template-columns:1fr; }
}
@media (max-width: 620px) {
  .admin-user-stat-grid { grid-template-columns:1fr; }
}

/* Phase 2.2 role hierarchy */
.admin-role-pill.superuser {
  border-color: rgba(113, 84, 255, .28);
  background: rgba(113, 84, 255, .10);
  font-weight: 800;
}
.admin-edit-disabled {
  display: inline-block;
  opacity: .55;
  font-size: .88rem;
  font-weight: 700;
}

/* TRUE Network Phase 3.1 - Dynamic Page Manager */
.admin-pages-table { min-width: 760px; }
.admin-page-public-link { color: var(--blue); text-decoration: none; font-weight: 700; font-size: 12px; }
.admin-page-public-link:hover { text-decoration: underline; }
.admin-status-pill.published { background:#e8f7ef; color:#17633d; }
.admin-status-pill.draft { background:#eef1f3; color:#59646c; }
.admin-page-editor-grid { grid-template-columns:minmax(0,1fr) 330px; }
.admin-page-content-editor { min-height: 390px; }
.admin-page-info-panel { display:grid; gap:8px; }
.admin-page-info-panel h2 { margin:0 0 8px; }
.admin-page-info-panel p { margin:0 0 10px; color:var(--muted); line-height:1.55; }
.admin-page-info-panel a { color:var(--blue); overflow-wrap:anywhere; }
@media (max-width: 980px) {
  .admin-page-editor-grid { grid-template-columns:1fr; }
}

/* TRUE Network Phase 3.2 - General Dynamic Page Manager */
.admin-pages-table { min-width: 940px; }
.admin-heading-actions { display:flex; flex-wrap:wrap; gap:10px; }
.admin-page-editor-grid .admin-checkbox { padding-top:4px; }


/* Phase 3.3 - TRUE Network visual page editor (self-hosted) */
.true-editor { border:1px solid #c9d6db; border-radius:12px; overflow:hidden; background:#fff; }
.true-editor-toolbar { display:flex; flex-wrap:wrap; gap:6px; align-items:center; background:#f4f8f9; border-bottom:1px solid #dce5e8; padding:10px; }
.true-editor-toolbar button, .true-editor-toolbar select { appearance:auto; font:inherit; font-size:13px; background:#fff; border:1px solid #c8d4d9; border-radius:6px; padding:6px 10px; color:#233946; cursor:pointer; min-height:34px; }
.true-editor-toolbar button:hover, .true-editor-toolbar select:hover { background:#e9f4f6; border-color:#78a2b3; }
.true-editor-toolbar button:focus-visible { outline:3px solid #62abc6; outline-offset:2px; }
.true-editor-select-label { font-size:12px; font-weight:800; color:#56656d; }
.true-tool-sep { width:1px; height:28px; background:#ccd7dc; margin:0 3px; }
.true-editor-surface { min-height:430px; padding:23px 24px; outline:none; line-height:1.72; font-size:16px; color:#253844; overflow-wrap:anywhere; }
.true-editor-surface:focus { box-shadow:inset 0 0 0 2px rgba(31,142,173,.12); }
.true-editor-surface:empty::before { content:'Start writing your page here...'; color:#89979f; pointer-events:none; }
.true-editor-surface h2 { font-size:29px; line-height:1.3; margin:20px 0 9px; }
.true-editor-surface h3 { font-size:22px; line-height:1.35; margin:16px 0 9px; }
.true-editor-surface p { margin:0 0 15px; }
.true-editor-surface ul,.true-editor-surface ol { padding-left:25px; margin:0 0 17px; }
.true-editor-surface blockquote { border-left:3px solid #4c9ca1; padding-left:16px; margin-left:0; color:#576c77; }
.true-editor-surface img { display:block; max-width:100%; height:auto; margin:16px 0; border-radius:9px; }
.true-editor-surface table { width:100%; border-collapse:collapse; margin:16px 0; }
.true-editor-surface th,.true-editor-surface td { border:1px solid #bacbd2; padding:8px 10px; min-width:60px; }
.true-editor-surface th { background:#edf4f6; }
.true-editor-bottom { display:flex; flex-wrap:wrap; gap:10px; justify-content:space-between; padding:10px 14px; background:#f8fafb; border-top:1px solid #e0e7ea; font-size:11px; color:#697880; }
.true-editor-bottom .error { color:#a02727; font-weight:800; }
.true-editor-bottom .success { color:#1d754f; font-weight:800; }
@media (max-width:680px) { .true-editor-surface { min-height:300px; padding:16px; } .true-editor-toolbar { padding:8px; } }

/* TRUE Network Phase 4.1 - Central Media Library */
.true-media-layout { display:grid; grid-template-columns:minmax(0,2fr) minmax(260px,.7fr); gap:20px; margin-bottom:20px; }
.true-media-upload-form { display:grid; grid-template-columns:210px minmax(0,1fr) minmax(260px,1fr) auto; gap:14px; align-items:end; }
.true-media-upload-form .btn { min-height:46px; white-space:nowrap; }
.true-media-summary-panel { display:flex; flex-direction:column; justify-content:center; }
.true-media-total { display:block; font-size:48px; line-height:1; margin:7px 0 2px; letter-spacing:-.04em; }
.true-media-summary-panel > span { color:var(--muted); font-weight:800; }
.true-media-summary-panel > p:last-child { color:var(--muted); line-height:1.5; font-size:12px; margin-bottom:0; }
.true-media-filter-panel { margin-bottom:20px; padding:18px 22px; }
.true-media-filters { display:grid; grid-template-columns:minmax(220px,1fr) 190px 170px auto; gap:13px; align-items:end; }
.true-media-filter-actions { display:flex; gap:8px; align-items:center; min-height:46px; }
.true-media-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:18px; }
.true-media-card { min-width:0; background:#fff; border:1px solid var(--line); border-radius:14px; overflow:hidden; display:flex; flex-direction:column; }
.true-media-image-link { display:block; background:#edf2f4; aspect-ratio:16/10; overflow:hidden; }
.true-media-image-link img { width:100%; height:100%; object-fit:cover; display:block; transition:transform .2s ease; }
.true-media-image-link:hover img { transform:scale(1.02); }
.true-media-missing { aspect-ratio:16/10; display:grid; place-items:center; padding:18px; background:#fff0f0; color:#9a2e2e; text-align:center; font-weight:900; font-size:12px; }
.true-media-card-body { padding:15px; display:flex; flex-direction:column; gap:9px; flex:1; }
.true-media-card-top { display:flex; justify-content:space-between; align-items:center; gap:8px; }
.true-media-type { color:var(--muted); font-size:10px; font-weight:900; text-transform:uppercase; letter-spacing:.06em; }
.true-media-state { padding:4px 7px; border-radius:999px; font-size:9px; font-weight:900; text-transform:uppercase; letter-spacing:.04em; }
.true-media-state.public { background:#e0f4e9; color:#146039; }
.true-media-state.used { background:#fff3d9; color:#775811; }
.true-media-state.unused { background:#edf1f3; color:#59646c; }
.true-media-state.missing { background:#ffe2e2; color:#922727; }
.true-media-name { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-size:14px; }
.true-media-alt { margin:0; min-height:34px; color:var(--muted); font-size:12px; line-height:1.4; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.true-media-meta { display:flex; justify-content:space-between; gap:8px; color:#7c8991; font-size:10px; }
.true-media-usage { border-top:1px solid var(--line); padding-top:9px; display:grid; gap:3px; }
.true-media-usage strong { font-size:11px; }
.true-media-usage small { color:var(--muted); font-size:10px; }
.true-media-manage { margin-top:auto; text-align:center; }
.true-media-pagination { display:flex; justify-content:center; align-items:center; gap:14px; margin-top:22px; }
.true-media-pagination span { color:var(--muted); font-size:12px; font-weight:800; }
.true-media-edit-grid { display:grid; grid-template-columns:minmax(0,1.3fr) minmax(320px,.7fr); gap:20px; align-items:start; }
.true-media-edit-preview > a { display:block; background:#eef2f4; border-radius:11px; overflow:hidden; }
.true-media-edit-preview img { display:block; width:100%; max-height:620px; object-fit:contain; background:#eef2f4; }
.true-media-large-missing { min-height:360px; display:grid; place-items:center; border:1px dashed #e0b6b6; border-radius:10px; background:#fff3f3; color:#922727; font-weight:900; }
.true-media-file-info { margin-top:20px; }
.true-media-file-info h2 { margin:0 0 14px; font-size:22px; overflow-wrap:anywhere; }
.true-media-file-info dl { margin:0; display:grid; gap:0; }
.true-media-file-info dl div { display:grid; grid-template-columns:120px minmax(0,1fr); gap:14px; padding:9px 0; border-top:1px solid var(--line); }
.true-media-file-info dt { color:var(--muted); font-size:11px; font-weight:900; }
.true-media-file-info dd { margin:0; font-size:12px; overflow-wrap:anywhere; }
.true-media-edit-side { display:grid; gap:20px; }
.true-media-usage-stats { display:grid; grid-template-columns:repeat(3,1fr); gap:8px; margin:12px 0 16px; }
.true-media-usage-stats div { padding:12px; border:1px solid var(--line); border-radius:10px; background:#f8fafb; text-align:center; }
.true-media-usage-stats strong { display:block; font-size:24px; }
.true-media-usage-stats span { color:var(--muted); font-size:10px; font-weight:800; text-transform:uppercase; }
.true-media-linked-list { margin-top:15px; }
.true-media-linked-list h3 { margin:0 0 7px; font-size:13px; }
.true-media-linked-list a { display:flex; justify-content:space-between; gap:12px; padding:9px 0; border-top:1px solid var(--line); color:var(--ink); text-decoration:none; }
.true-media-linked-list a strong { font-size:12px; }
.true-media-linked-list a span { color:var(--muted); font-size:10px; }
.true-media-unused-note { color:var(--muted); font-size:12px; line-height:1.5; }
.true-media-danger-panel { border-color:#edc9c9; background:#fffafa; }
.true-media-danger-panel p:not(.section-kicker) { color:#715454; font-size:12px; line-height:1.5; }
.true-media-delete-button { border:1px solid #a92f2f; background:#a92f2f; color:#fff; cursor:pointer; }
.true-media-delete-button:hover { background:#8c2424; }
@media (max-width:1150px) {
  .true-media-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .true-media-upload-form { grid-template-columns:1fr 1fr; }
  .true-media-filters { grid-template-columns:1fr 1fr; }
}
@media (max-width:850px) {
  .true-media-layout,.true-media-edit-grid { grid-template-columns:1fr; }
  .true-media-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:560px) {
  .true-media-upload-form,.true-media-filters,.true-media-grid { grid-template-columns:1fr; }
  .true-media-filter-actions { align-items:stretch; }
  .true-media-file-info dl div { grid-template-columns:1fr; gap:3px; }
}


/* TRUE Network Phase 4.2 - Official Admin logo */
.admin-brand {
  justify-content: center;
  padding: 0 4px 24px;
  line-height: 0;
}
.admin-brand-logo {
  display: block;
  width: 205px;
  max-width: 100%;
  height: auto;
  max-height: 112px;
  object-fit: contain;
}
@media (max-width: 820px) {
  .admin-brand-logo { width: 195px; }
}
