/* Admin-only spacing and hierarchy; guest walls retain their existing layout. */
body.admin-mode { --admin-muted:#9da8ba; }
body.admin-mode .app { max-width:1280px; padding:24px; }
body.admin-mode.livewall-compact-admin .topbar { padding:16px 0 24px; margin-bottom:24px; gap:20px; border-bottom:1px solid var(--border); box-shadow:none; }
body.admin-mode.livewall-compact-admin .topbar>.actions { gap:8px; flex-wrap:wrap; }
body.admin-mode .topbar .btn { min-height:40px; font-size:13px; padding:9px 13px; }
body.admin-mode .mobile-nav { display:none!important; }
body.admin-mode.livewall-compact-admin #wallView { gap:24px; }
body.admin-mode .card { padding:24px; border-radius:16px; box-shadow:none; }
body.admin-mode .admin-section-title { margin-bottom:24px; align-items:flex-start; gap:20px; }
body.admin-mode .admin-section-title h3 { font-size:20px; margin:0 0 8px; letter-spacing:-.025em; }
body.admin-mode .admin-section-title p { margin:0; max-width:700px; color:var(--admin-muted); font-size:13px; line-height:1.65; }
body.admin-mode .btn { border-radius:9px; min-height:42px; font-weight:600; }
body.admin-mode .actions { gap:10px; }
body.livewall-compact-admin #compactAdminNav { position:static; justify-content:flex-start; gap:5px; padding:5px; width:max-content; max-width:100%; margin:0; background:rgba(0,0,0,.18); border:1px solid var(--border); border-radius:12px; }
body.livewall-compact-admin #compactSessionNav { position:static; justify-content:flex-start; gap:5px; padding:5px; width:max-content; max-width:100%; margin:0; background:transparent; }
body.livewall-compact-admin #compactAdminNav .btn,body.livewall-compact-admin #compactSessionNav .btn { background:transparent; border-color:transparent; font-size:13px; padding:10px 18px; box-shadow:none; }
body.livewall-compact-admin #compactAdminNav .btn.active,body.livewall-compact-admin #compactSessionNav .btn.active { background:rgba(133,171,225,.17); border-color:rgba(133,171,225,.28); color:#dceaff; }
body.livewall-compact-admin #compactAdminContext { text-align:left; margin:0; font-size:13px; line-height:1.6; color:var(--admin-muted); }
body.livewall-compact-admin #compactLiveSummary { gap:14px; grid-template-columns:repeat(4,minmax(0,1fr)); }
body.livewall-compact-admin .compact-stat { padding:20px; border-radius:12px; background:var(--card); box-shadow:none; }
body.livewall-compact-admin .compact-stat span { font-size:10px; font-weight:550; letter-spacing:.09em; }
body.livewall-compact-admin .compact-stat strong { margin-top:10px; font-size:18px; font-weight:600; }
body.livewall-compact-admin #compactLiveControls { border:1px solid var(--border); border-radius:14px; background:var(--card); overflow:hidden; }
#compactLiveControls>summary { padding:18px 22px; cursor:pointer; font-size:14px; font-weight:600; }
#compactLiveControls>summary span { margin-left:12px; color:var(--admin-muted); font-size:12px; font-weight:400; }
body.livewall-compact-admin #compactSessionControlCard { border:0; border-top:1px solid var(--border); border-radius:0; padding:24px; }
body.admin-mode .session-line { gap:12px; margin-bottom:24px; align-items:end; }
body.admin-mode .session-line-title { margin:0 0 12px; }
body.admin-mode .layout { grid-template-columns:minmax(0,1fr); gap:24px; margin:0; }
body.admin-mode .right-column { width:100%; max-width:none; }
body.admin-mode #uploadPanel,body.admin-mode #messagePanel,body.admin-mode #audioPanel { display:none!important; }
body.admin-mode #heroSection,body.admin-mode #carouselFilterCard { margin:0; border-radius:16px; }
/* Dashboard: centered content, explicit feature status, quieter secondary actions. */
body.admin-mode .wall-card { padding:0; border-radius:16px; text-align:center; box-shadow:none; }
body.admin-mode .wall-card-inner { padding:26px 22px; display:grid; gap:20px; }
body.admin-mode .wall-card-header { display:grid; justify-items:center; gap:12px; }
body.admin-mode .wall-card-title h4 { margin:0 0 7px; font-size:23px; font-weight:600; letter-spacing:-.025em; }
body.admin-mode .wall-card-date { font-size:12px; color:var(--admin-muted); }
body.admin-mode .wall-card-status { padding:5px 10px; font-size:11px; font-weight:500; }
body.admin-mode .wall-card-stats { display:flex; justify-content:center; gap:0; margin:0; }
body.admin-mode .wall-card-stat { flex:1; background:transparent; border:0; border-radius:0; padding:4px 22px; }
body.admin-mode .wall-card-stat+.wall-card-stat { border-left:1px solid var(--border); }
body.admin-mode .wall-card-stat strong { font-size:28px; font-weight:550; }
body.admin-mode .wall-card-stat span { font-size:11px; }
body.admin-mode .wall-card-flags { display:flex; flex-wrap:wrap; justify-content:center; gap:8px; margin:0; }
.wall-feature { display:inline-flex; align-items:center; gap:10px; padding:7px 10px; border:1px solid var(--border); border-radius:7px; color:var(--admin-muted); font-size:11px; }
.wall-feature strong { display:inline-flex; align-items:center; gap:5px; color:#a2abb9; font-size:10px; font-weight:600; }
.wall-feature strong::before { content:''; width:5px; height:5px; border-radius:50%; background:#748093; }
.wall-feature.enabled strong { color:#b1d9c2; }.wall-feature.enabled strong::before { background:#8bc3a3; }
body.admin-mode .wall-card .actions { display:flex; flex-wrap:wrap; justify-content:center; gap:8px; }
.wall-card-more { border-top:1px solid var(--border); padding-top:14px; text-align:left; }
.wall-card-more>summary { color:var(--admin-muted); cursor:pointer; font-size:12px; text-align:center; }
.wall-card-more .actions { margin-top:14px; }
/* Settings tabs move native inputs; switching tabs never discards in-progress edits. */
body.livewall-compact-admin:not([data-admin-area="live"]) .audience-action-row,
body.livewall-compact-admin .admin-session-back { display:none !important; }
#compactSettingsTabs { display:flex; flex-wrap:wrap; gap:4px; padding-bottom:18px; margin-bottom:24px; border-bottom:1px solid var(--border); }
#compactSettingsTabs [role="tab"] { background:transparent; border:1px solid transparent; border-radius:9px; color:var(--admin-muted); padding:12px 16px; font:inherit; font-size:13px; cursor:pointer; }
#compactSettingsTabs [aria-selected="true"] { background:rgba(133,171,225,.15); border-color:rgba(133,171,225,.28); color:#d6e6fb; }
body.admin-mode [role="tabpanel"] { display:grid; gap:24px; min-width:0; }
body.livewall-compact-admin [role="tabpanel"]>.settings-detail-panel { margin:0; padding:22px; border:1px solid var(--border); border-radius:12px; background:rgba(0,0,0,.08); box-shadow:none; }
body.livewall-compact-admin [role="tabpanel"] h3 { margin:0 0 10px; font-size:17px; font-weight:600; letter-spacing:-.02em; }
body.livewall-compact-admin [role="tabpanel"] p { color:var(--admin-muted); font-size:13px; line-height:1.65; }
body.admin-mode .category-editor { display:grid; gap:14px; margin:20px 0; }
body.admin-mode .category-row { padding:14px; gap:12px; border:1px solid var(--border); border-radius:10px; align-items:center; }
body.admin-mode .mission-row { margin-bottom:14px; padding:18px; gap:12px; }
body.admin-mode #compactFeatureSettings { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; }
body.admin-mode .settings-card { padding:20px; border-radius:12px; box-shadow:none; }
.compact-feature-details { margin-top:16px; width:100%; }
#compactSettingsSave { display:flex; justify-content:space-between; align-items:center; gap:20px; margin-top:26px; padding-top:20px; border-top:1px solid var(--border); }
#compactSettingsSave p { margin:0; color:var(--admin-muted); font-size:12px; line-height:1.6; }
body.admin-mode #saveCompetitionBtn,body.admin-mode #saveSessionPolicyBtn { display:none; }
body.admin-mode #compactResultsBody { display:grid; gap:24px; }
body.admin-mode #compactResultsBody>.integration-panel,body.admin-mode #compactResultsBody>.settings-detail-panel { margin:0; padding:22px; border-radius:12px; box-shadow:none; }
/* Session listings and focused previews. */
body.admin-mode .session-item { display:grid; gap:14px; padding:22px; border-radius:12px; box-shadow:none; }
.workspace-session-heading { display:flex; justify-content:space-between; align-items:flex-start; gap:16px; }
.workspace-session-heading strong { font-size:17px; font-weight:600; letter-spacing:-.02em; }.workspace-session-heading .pill { font-size:10px; white-space:nowrap; }
.workspace-session-meta { display:flex; flex-wrap:wrap; gap:8px 18px; color:var(--admin-muted); font-size:12px; line-height:1.6; }
.workspace-session-link { color:#b0c9ed; font-size:12px; text-decoration:underline; text-underline-offset:3px; }
.workspace-session-tools { padding-top:12px; border-top:1px solid var(--border); }.workspace-session-tools>summary { cursor:pointer; font-size:12px; color:var(--admin-muted); }
.workspace-session-tools .file-meta { margin:16px 0; overflow-wrap:anywhere; }
body.admin-mode .session-item>.actions { justify-content:flex-start; margin:0; }
body.admin-mode #reviewSessionList { display:grid; grid-template-columns:repeat(auto-fit,minmax(240px,1fr)); gap:12px; }
body.admin-mode #reviewSessionList [data-review-session] { display:grid; gap:9px; text-align:left; white-space:normal; min-height:110px; padding:20px; }
.workspace-review-card-name { font-weight:600; font-size:15px; }.workspace-review-card-meta { color:var(--admin-muted); font-size:12px; line-height:1.6; }.workspace-review-card-action { color:#bbd2f4; font-size:12px; }
#adminSessionOverlay .workspace-session-modal { width:min(1120px,96vw); max-width:1120px; max-height:92dvh; overflow:auto; padding:26px; border-radius:16px; }
.workspace-dialog-header { display:flex; justify-content:space-between; align-items:flex-start; gap:24px; padding-bottom:20px; margin-bottom:20px; border-bottom:1px solid var(--border); }
.workspace-dialog-header h3 { margin:0 0 8px; font-size:24px; letter-spacing:-.03em; }.workspace-dialog-header p { margin:0; color:var(--admin-muted); font-size:12px; line-height:1.6; }
.workspace-dialog-actions { display:flex; flex-wrap:wrap; gap:10px; margin-bottom:20px; }
.workspace-session-media-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(150px,1fr)); gap:14px; }
.workspace-upload-card { display:grid; gap:10px; padding:10px; background:rgba(255,255,255,.025); border:1px solid var(--border); border-radius:10px; color:var(--text); cursor:pointer; text-align:left; font:inherit; }
.workspace-upload-card img { width:100%; height:130px; object-fit:cover; border-radius:6px; }.workspace-upload-card span { font-size:12px; overflow-wrap:anywhere; }.workspace-upload-card small { font-size:10px; color:var(--admin-muted); }
.workspace-audio-placeholder { height:130px; display:grid; place-items:center; background:rgba(133,171,225,.09); border-radius:6px; }
.workspace-media-focus { display:grid; gap:18px; }.workspace-media-focus>img,.workspace-media-focus>video { max-width:100%; max-height:58dvh; object-fit:contain; justify-self:center; }.workspace-media-focus>audio { width:100%; }
.workspace-review-picker { display:flex; gap:9px; overflow:auto; padding:4px 2px 16px; margin-bottom:18px; }
.workspace-review-choice { position:relative; width:76px; min-width:76px; height:64px; padding:3px; background:transparent; border:1px solid var(--border); border-radius:7px; color:var(--text); cursor:pointer; }
.workspace-review-choice.active { border:2px solid #9cbbeb; }.workspace-review-choice img { width:100%; height:100%; object-fit:cover; border-radius:4px; }.workspace-review-choice small { position:absolute; bottom:3px; right:4px; padding:1px 4px; background:#0a101ccc; font-size:10px; border-radius:3px; }
.workspace-review-overview { display:flex; justify-content:space-between; gap:14px; color:var(--admin-muted); font-size:12px; }
#adminSessionOverlay #reviewItem { margin:0; }
body.admin-mode button:focus-visible,body.admin-mode summary:focus-visible,body.admin-mode a:focus-visible { outline:2px solid #abc9ed; outline-offset:3px; }
@media(max-width:1000px) { body.admin-mode #compactFeatureSettings { grid-template-columns:1fr; } }
@media(max-width:700px) { body.admin-mode .app { padding:14px; }body.admin-mode.livewall-compact-admin .topbar { padding:8px 0 18px; gap:14px; }body.admin-mode .card { padding:18px; }body.livewall-compact-admin #compactAdminNav { width:100%; }#compactAdminNav .btn { flex:1; padding:10px 12px; }body.livewall-compact-admin #compactLiveSummary { grid-template-columns:repeat(2,minmax(0,1fr)); }#compactLiveControls>summary span { display:block; margin:5px 0 0; }#compactSettingsTabs { gap:7px; }#compactSettingsTabs [role="tab"] { flex:1; min-width:100px; padding:10px; font-size:12px; }#compactSettingsSave { flex-direction:column; align-items:stretch; }.workspace-session-heading { flex-wrap:wrap; }#adminSessionOverlay .workspace-session-modal { width:100%; max-height:94dvh; padding:18px; border-radius:14px; }.workspace-dialog-header h3 { font-size:20px; }.workspace-session-media-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }.workspace-review-overview { display:grid; } }
