/* Compact responsive operations shell and administrative workspace. */

/* 2026 shell: calm hierarchy, compact controls, and predictable spacing. */
body { font-size:14px; }
.desktop-sidebar { width:15.5rem; padding:.75rem !important; }
.sidebar-brand { margin-bottom:.75rem !important; padding:.25rem .35rem .75rem; border-bottom:1px solid rgba(148,163,184,.18); }
.desktop-sidebar nav { gap:.15rem !important; }
.nav-item { min-height:2.25rem; padding:.45rem .65rem !important; border-radius:.55rem !important; }
.nav-group { margin-bottom:.15rem !important; }
.nav-group > summary { min-height:2.25rem !important; padding:.4rem .55rem !important; }
.nav-group-items { gap:.1rem !important; padding:.1rem 0 .3rem .45rem !important; }
.nav-item.is-active { box-shadow:0 4px 12px rgba(109,94,252,.24) !important; }
.app-topbar { min-height:3.75rem; }
.topbar-search input { min-height:2.25rem; }
.topbar-user { max-width:13rem; }
#mainContent { padding:1rem !important; }
#mainContent > :first-child { margin-top:0; }
#mainContent .mb-6 { margin-bottom:1rem; }
#mainContent .mb-5 { margin-bottom:.875rem; }
#mainContent .p-6 { padding:1rem; }
#mainContent .gap-4 { gap:.75rem; }
#themeToggle { width:2.25rem !important; height:2.25rem !important; right:.75rem !important; }
@media (min-width:640px) { #themeToggle { top:4.35rem !important; } }
@media (min-width:1024px) { #mainContent { padding:1.25rem 1.5rem !important; } }
@media (max-width:639px) {
    .app-topbar { min-height:3.5rem; }
    .command-palette-trigger { width:2.25rem; justify-content:center; }
    .command-palette-trigger kbd { font-size:0; }
    .command-palette-trigger kbd::after { content:'K'; font-size:.7rem; }
    #mainContent { padding:.75rem !important; }
}
.dashboard-action-card { display:flex; min-width:0; align-items:center; gap:.75rem; padding:.85rem; border:1px solid #e2e8f0; border-radius:.75rem; background:rgba(255,255,255,.82); box-shadow:0 4px 14px rgba(15,23,42,.035); transition:border-color .15s ease,transform .15s ease,box-shadow .15s ease; }
.dashboard-action-card:hover { border-color:var(--admin-accent); transform:translateY(-1px); box-shadow:0 10px 24px rgba(15,23,42,.08); }
.dashboard-action-icon { display:grid; place-items:center; flex:0 0 2.25rem; width:2.25rem; height:2.25rem; border-radius:.65rem; color:var(--admin-accent); background:var(--admin-accent-soft); }
.dashboard-action-card strong,.dashboard-action-card small { display:block; }
.dashboard-action-card strong { font-size:.82rem; line-height:1.2; }
.dashboard-action-card small { margin-top:.2rem; color:#64748b; font-size:.68rem; line-height:1.25; }
.dark .dashboard-action-card { border-color:#1e293b; background:rgba(15,23,42,.82); }
.dark .dashboard-action-card:hover { border-color:var(--admin-accent); }
.dark .dashboard-action-card small { color:#94a3b8; }
@media (max-width:639px) { .dashboard-action-card { align-items:flex-start; padding:.7rem; } .dashboard-action-card small { display:none; } }
.nav-item-row { display:flex; align-items:center; min-width:0; }
.nav-item-row > .nav-item { flex:1; min-width:0; }
.nav-favorite-toggle { display:grid; place-items:center; flex:0 0 1.8rem; width:1.8rem; height:1.8rem; border-radius:.45rem; color:#94a3b8; opacity:0; transition:opacity .15s,color .15s,background .15s; }
.nav-favorite-toggle.is-favorite svg { fill:currentColor; }
.nav-item-row:hover .nav-favorite-toggle,.nav-favorite-toggle:focus,.nav-favorite-toggle.is-favorite { opacity:1; }
.nav-favorite-toggle:hover,.nav-favorite-toggle.is-favorite { color:#d97706; background:rgba(245,158,11,.12); }
.desktop-sidebar.is-compact .nav-favorite-toggle { display:none; }
.productivity-nav-link { display:block; overflow:hidden; padding:.45rem .65rem; border-radius:.5rem; color:#64748b; font-size:.78rem; text-overflow:ellipsis; white-space:nowrap; }
.productivity-nav-link:hover { color:var(--admin-accent); background:var(--admin-accent-soft); }
.command-palette-trigger { display:inline-flex; align-items:center; gap:.5rem; min-height:2.35rem; padding:.35rem .55rem; border:1px solid #cbd5e1; border-radius:.55rem; color:#475569; font-size:.75rem; }
.command-palette-trigger kbd { padding:.15rem .35rem; border:1px solid #cbd5e1; border-radius:.3rem; font-size:.65rem; }
.command-palette { display:none; position:fixed; inset:0; z-index:180; align-items:flex-start; justify-content:center; padding:10vh 1rem 1rem; background:rgba(2,6,23,.65); }
.command-palette.is-open { display:flex; }
.command-palette-panel { width:min(38rem,100%); overflow:hidden; border:1px solid #cbd5e1; border-radius:1rem; background:#fff; box-shadow:0 30px 90px rgba(2,6,23,.4); }
#commandPaletteSearch { width:100%; padding:1rem; border:0; border-bottom:1px solid #e2e8f0; outline:0; background:transparent; font-size:1rem; }
.command-palette-results { max-height:min(55vh,28rem); overflow-y:auto; padding:.45rem; }
.command-palette-option { display:flex; align-items:center; gap:.5rem; border-radius:.65rem; }
.command-palette-option.is-selected { background:var(--admin-accent-soft); }
.command-palette-option > a { display:flex; flex:1; min-width:0; flex-direction:column; padding:.7rem .8rem; }
.command-palette-option strong { font-size:.88rem; }
.command-palette-option small { color:#64748b; font-size:.7rem; }
.palette-favorite { flex:0 0 2.2rem; height:2.2rem; margin-right:.4rem; border-radius:.5rem; color:#d97706; }
.palette-favorite:hover { background:rgba(245,158,11,.12); }
.command-palette-help,.command-palette-empty { padding:.7rem 1rem; color:#64748b; font-size:.72rem; }
.command-palette-help { border-top:1px solid #e2e8f0; }
.dark .command-palette-trigger,.dark .command-palette-trigger kbd,.dark .command-palette-panel { border-color:#334155; }
.dark .command-palette-trigger { color:#cbd5e1; }
.dark .command-palette-panel { background:#0f172a; }
.dark #commandPaletteSearch,.dark .command-palette-help { border-color:#334155; }
@media (max-width:640px) { .command-palette-trigger span { display:none; } .command-palette-trigger kbd { border:0; padding:0; } .command-palette { padding-top:4rem; } .nav-favorite-toggle { opacity:1; } }

:root {
    --admin-accent: #6d5efc;
    --admin-accent-soft: rgba(109, 94, 252, .12);
    --admin-shadow: 0 18px 50px rgba(15, 23, 42, .08);
}

html { scroll-behavior: smooth; }

/* Shared desktop/mobile navigation groups. */
.desktop-sidebar { width:17rem; transition:width .2s ease; }
.nav-group { margin-bottom:.35rem; }
.nav-group > summary { display:flex; align-items:center; gap:.6rem; min-height:2.5rem; padding:.55rem .7rem; border-radius:.6rem; cursor:pointer; list-style:none; color:#64748b; font-size:.74rem; font-weight:800; letter-spacing:.05em; text-transform:uppercase; }
.nav-group > summary::-webkit-details-marker { display:none; }
.nav-group > summary:hover { color:#0f172a; background:rgba(148,163,184,.1); }
.nav-group-icon { display:grid; place-items:center; flex:0 0 1.7rem; width:1.7rem; height:1.7rem; border-radius:.5rem; color:var(--admin-accent); background:var(--admin-accent-soft); }
.nav-chevron { display:grid; place-items:center; margin-left:auto; transition:transform .18s ease; opacity:.6; }
.nav-group[open] > summary .nav-chevron { transform:rotate(90deg); }
.nav-group-items { display:grid; gap:.2rem; padding:.2rem 0 .45rem .55rem; margin-left:.35rem; border-left:1px solid rgba(148,163,184,.18); }
.nav-icon { display:grid; place-items:center; flex:0 0 1.3rem; width:1.3rem; height:1.3rem; opacity:.85; }
.nav-item.is-active .nav-icon,.nav-item:hover .nav-icon { opacity:1; }
/* Active item accent bar + softer active tint. */
.nav-item { position:relative; }
.nav-item.is-active { background:linear-gradient(135deg,var(--admin-accent),#8a7dff); box-shadow:0 6px 16px rgba(109,94,252,.35); }
.nav-item.is-active::before { content:''; position:absolute; left:-.35rem; top:50%; width:.22rem; height:1.1rem; transform:translateY(-50%); border-radius:999px; background:var(--admin-accent); }
.sidebar-collapse-button { display:flex; width:100%; align-items:center; justify-content:center; gap:.55rem; min-height:2.35rem; border:1px solid #cbd5e1; border-radius:.55rem; color:#475569; font-size:.75rem; font-weight:700; }
.sidebar-collapse-button svg { transition:transform .2s ease; }
.desktop-sidebar.is-compact .sidebar-collapse-button svg { transform:rotate(180deg); }
.sidebar-collapse-button:hover { border-color:var(--admin-accent); color:var(--admin-accent); }
.desktop-sidebar.is-compact { width:4.5rem; padding-inline:.55rem; }
.desktop-sidebar.is-compact .nav-label,.desktop-sidebar.is-compact .nav-chevron { display:none; }
.desktop-sidebar.is-compact .sidebar-brand { justify-content:center; }
.desktop-sidebar.is-compact .nav-group > summary,.desktop-sidebar.is-compact .nav-item { justify-content:center; padding-inline:.45rem; }
.desktop-sidebar.is-compact .nav-group-items { padding-left:0; }
.desktop-sidebar.is-compact .nav-group-icon { flex-basis:1.5rem; width:1.5rem; height:1.5rem; }
.breadcrumbs { display:flex; align-items:center; gap:.35rem; color:#64748b; font-size:.68rem; line-height:1.2; }
.breadcrumbs a:hover { color:var(--admin-accent); }
.polling-status::before { content:''; width:.42rem; height:.42rem; border-radius:50%; background:currentColor; }
.polling-status.is-success { color:#059669; }
.polling-status.is-warning,.polling-status.is-offline { color:#d97706; }
.polling-status.is-loading::before { animation:ui-pulse 1s ease-in-out infinite; }
.dark .nav-group > summary { color:#94a3b8; }
.dark .nav-group > summary:hover { color:#f8fafc; background:rgba(51,65,85,.55); }
.dark .sidebar-collapse-button { border-color:#334155; color:#cbd5e1; }
.dark .nav-item.is-active::before { background:#a99fff; }
@media (max-width:767px) { .polling-status { display:none; } }

/* --- Redesigned shell polish: crisper sidebar, topbar, and command palette. --- */
.sidebar-brand { padding-block:.35rem; }
.sidebar-brand .nav-label { letter-spacing:-.01em; }
.command-palette-trigger { transition:border-color .15s ease, color .15s ease, background .15s ease; }
.command-palette-trigger:hover { border-color:var(--admin-accent); color:var(--admin-accent); background:var(--admin-accent-soft); }
.command-palette-panel { animation:ui-palette-in .16s ease; }
@keyframes ui-palette-in { from { opacity:0; transform:translateY(-8px) scale(.98); } to { opacity:1; transform:none; } }
.command-palette-option > a:hover { background:var(--admin-accent-soft); }
/* Themed thin scrollbars for the nav and scroll regions. */
.desktop-sidebar nav, .command-palette-results, .admin-message-stream, .admin-chat-list, .automation-campaign-rail { scrollbar-width:thin; scrollbar-color:rgba(148,163,184,.5) transparent; }
.desktop-sidebar nav::-webkit-scrollbar, .command-palette-results::-webkit-scrollbar, .admin-message-stream::-webkit-scrollbar, .admin-chat-list::-webkit-scrollbar, .automation-campaign-rail::-webkit-scrollbar { width:.5rem; }
.desktop-sidebar nav::-webkit-scrollbar-thumb, .command-palette-results::-webkit-scrollbar-thumb, .admin-message-stream::-webkit-scrollbar-thumb, .admin-chat-list::-webkit-scrollbar-thumb, .automation-campaign-rail::-webkit-scrollbar-thumb { border-radius:999px; background:rgba(148,163,184,.45); }
.desktop-sidebar nav::-webkit-scrollbar-thumb:hover { background:rgba(109,94,252,.5); }
/* Header stays glassy while scrolling. */
body > .flex.min-h-screen > .flex > header { box-shadow:0 1px 0 rgba(15,23,42,.04); }
.dark body > .flex.min-h-screen > .flex > header { box-shadow:0 1px 0 rgba(255,255,255,.04); }

/* Shared semantic UI states. */
.status-badge { display:inline-flex; align-items:center; gap:.35rem; border-radius:999px; padding:.2rem .55rem; font-size:.7rem; font-weight:750; line-height:1.2; background:rgba(100,116,139,.12); color:#475569; }
.status-badge::before { content:''; width:.45rem; height:.45rem; border-radius:50%; background:currentColor; }
.status-badge.is-success { background:rgba(16,185,129,.12); color:#047857; }
.status-badge.is-warning { background:rgba(245,158,11,.13); color:#b45309; }
.status-badge.is-error { background:rgba(244,63,94,.12); color:#be123c; }
.status-badge.is-info,.status-badge.is-loading { background:var(--admin-accent-soft); color:var(--admin-accent); }
.status-badge.is-loading::before { animation:ui-pulse 1s ease-in-out infinite; }
.ui-state { display:flex; min-height:9rem; flex-direction:column; align-items:center; justify-content:center; gap:.5rem; padding:1.5rem; border:1px dashed #cbd5e1; border-radius:.8rem; color:#64748b; text-align:center; }
.ui-state.is-error { border-color:rgba(244,63,94,.45); color:#be123c; background:rgba(244,63,94,.05); }
.ui-state.is-loading { border-style:solid; border-color:var(--admin-accent-soft); color:var(--admin-accent); }
.ui-state__title { font-weight:750; font-size:.9rem; color:#334155; }
.ui-state__hint { font-size:.78rem; color:#64748b; }
.ui-spinner { width:1.6rem; height:1.6rem; border-radius:50%; border:2px solid var(--admin-accent-soft); border-top-color:var(--admin-accent); animation:spin .7s linear infinite; }
@keyframes spin { to { transform:rotate(360deg); } }
.ui-reconnect { display:flex; align-items:center; justify-content:space-between; gap:1rem; margin-bottom:1rem; padding:.65rem .9rem; border:1px solid rgba(245,158,11,.4); border-radius:.7rem; background:rgba(245,158,11,.12); color:#b45309; font-size:.8rem; font-weight:600; }
.ui-reconnect button { display:inline-flex; align-items:center; padding:.35rem .7rem; border:1px solid rgba(245,158,11,.55); border-radius:.5rem; background:rgba(245,158,11,.18); color:#92400e; font-size:.75rem; font-weight:700; cursor:pointer; }
.ui-reconnect button:hover { background:rgba(245,158,11,.28); }
.dark .ui-state.is-loading { color:#c7b8ff; }
.dark .ui-state__title { color:#e2e8f0; }
.dark .ui-reconnect { border-color:rgba(245,158,11,.45); background:rgba(245,158,11,.16); color:#fcd34d; }
.dark .ui-reconnect button { border-color:rgba(245,158,11,.5); background:rgba(245,158,11,.22); color:#fde68a; }
.polling-status { display:inline-flex; align-items:center; gap:.4rem; color:#64748b; font-size:.72rem; }
@keyframes ui-pulse { 50% { opacity:.3; transform:scale(.75); } }
.dark .status-badge { color:#cbd5e1; }
.dark .status-badge.is-success { color:#6ee7b7; }
.dark .status-badge.is-warning { color:#fcd34d; }
.dark .status-badge.is-error,.dark .ui-state.is-error { color:#fda4af; }
.dark .ui-state { border-color:#334155; }
body { background-image: radial-gradient(circle at 85% 0, rgba(109,94,252,.08), transparent 28rem); }
body > .flex.min-h-screen > aside { box-shadow: 8px 0 30px rgba(15,23,42,.035); }
body > .flex.min-h-screen > .flex > header { position: sticky; top: 0; z-index: 30; }
#mainContent { width: 100%; max-width: 1600px; margin-inline: auto; }

main section.rounded-xl,
main div.rounded-xl.border { transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease; }
main section.rounded-xl:hover { box-shadow: var(--admin-shadow); }
main table { border-collapse: separate; border-spacing: 0; }
main thead { background: rgba(148,163,184,.07); }
main tbody tr { transition: background-color .15s ease; }
main tbody tr:hover { background: rgba(109,94,252,.045); }
main input, main select, main textarea { transition: border-color .15s ease, box-shadow .15s ease, background-color .15s ease; }
main textarea { resize: vertical; }
main details > summary { list-style: none; }
main details > summary::-webkit-details-marker { display: none; }
main details > summary::after { content: '+'; float: right; color: var(--admin-accent); font-size: 1.2rem; }
main details[open] > summary::after { content: '−'; }

.admin-sync-strip { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)) auto; gap:.5rem; align-items:center; margin-top:1rem; padding:.65rem; border:1px solid #e2e8f0; border-radius:.8rem; background:rgba(148,163,184,.06); font-size:.72rem; color:#64748b; }
.admin-sync-strip span { min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.admin-sync-strip b { display:block; color:#0f172a; font-size:.62rem; text-transform:uppercase; letter-spacing:.06em; }
.admin-sync-error { margin-top:.5rem; padding:.55rem .7rem; border-radius:.65rem; background:rgba(244,63,94,.1); color:#be123c; font-size:.75rem; }
.admin-chat-grid { display:grid; grid-template-columns:minmax(14rem,18rem) minmax(0,1fr); gap:.65rem; align-items:start; min-height:calc(100vh - 13rem); }
.admin-chat-list, .admin-chat-panel { margin-bottom: 0 !important; }
.admin-chat-list { max-height: 48rem; overflow-y: auto; }
.admin-chat-panel { padding-bottom: 0 !important; overflow: hidden; }
.admin-message-stream {
    min-height: 28rem;
    max-height: 38rem;
    overflow-y: auto;
    padding: 1.25rem .25rem;
    background-image: radial-gradient(circle at 1px 1px, rgba(148,163,184,.16) 1px, transparent 0);
    background-size: 22px 22px;
}
.admin-message-row { display: flex; margin-bottom: .75rem; }
.admin-message-row.is-outgoing { justify-content: flex-end; }
.admin-message-row.is-incoming { justify-content: flex-start; }
.admin-message-bubble { width: fit-content; max-width: min(78%, 44rem); border-radius: 1rem; padding: .7rem .9rem; box-shadow: 0 5px 18px rgba(15,23,42,.08); }
.admin-message-row.is-incoming .admin-message-bubble { background: #fff; border: 1px solid #e2e8f0; border-bottom-left-radius: .3rem; }
.admin-message-row.is-outgoing .admin-message-bubble { color: #fff; background: linear-gradient(135deg, #6d5efc, #8a7dff); border-bottom-right-radius: .3rem; }
.admin-chat-composer { position: sticky; bottom: 0; margin: 0 -1rem; padding: 1rem; border-top: 1px solid #e2e8f0; background: rgba(255,255,255,.94); backdrop-filter: blur(14px); }

.dark body { background-image: radial-gradient(circle at 85% 0, rgba(109,94,252,.13), transparent 30rem); }
.dark main thead { background: rgba(15,23,42,.55); }
.dark main tbody tr:hover { background: rgba(109,94,252,.08); }
.dark .admin-message-row.is-incoming .admin-message-bubble { background: #172033; border-color: #334155; }
.dark .admin-chat-composer { border-color: #1e293b; background: rgba(15,23,42,.94); }
.dark .admin-sync-strip { border-color:#334155; background:rgba(15,23,42,.55); color:#94a3b8; }
.dark .admin-sync-strip b { color:#f1f5f9; }

.admin-filter-chip { display:inline-flex; align-items:center; gap:.4rem; border:1px solid #cbd5e1; border-radius:999px; padding:.35rem .65rem; font-size:.75rem; }
.admin-search-result { display:flex; align-items:flex-start; gap:.75rem; border:1px solid #e2e8f0; border-radius:.75rem; padding:.75rem; }
.admin-search-result:hover { border-color:var(--admin-accent); background:var(--admin-accent-soft); }
.admin-type-chip,.admin-status-chip { display:inline-flex; border-radius:999px; padding:.15rem .5rem; font-size:.65rem; font-weight:700; text-transform:uppercase; letter-spacing:.04em; }
.admin-type-chip { background:var(--admin-accent-soft); color:var(--admin-accent); }
.admin-status-chip { background:rgba(100,116,139,.12); color:#64748b; }
.admin-bulk-bar { display:flex; flex-wrap:wrap; align-items:center; gap:.5rem; margin-bottom:.5rem; }
.admin-bulk-bar select,.admin-bulk-bar input { min-height:2.5rem; border:1px solid #cbd5e1; border-radius:.5rem; background:#fff; padding:.45rem .65rem; font-size:.8rem; }
.dark .admin-filter-chip,.dark .admin-search-result { border-color:#334155; }
.dark .admin-bulk-bar select,.dark .admin-bulk-bar input { border-color:#334155; background:#020617; }

/* Telegram automation operational workspace. */
.automation-workspace { display:grid; grid-template-columns:minmax(18rem,24rem) minmax(0,1fr); gap:1rem; align-items:start; }
.automation-campaign-rail { position:sticky; top:5rem; max-height:calc(100vh - 6rem); overflow-y:auto; }
.automation-campaign-card { border:1px solid #e2e8f0; border-radius:.9rem; padding:1rem; background:rgba(255,255,255,.65); }
.automation-campaign-card:hover { border-color:var(--admin-accent); background:var(--admin-accent-soft); }
.automation-stat { border:1px solid #e2e8f0; border-radius:1rem; padding:1rem 1.15rem; background:rgba(255,255,255,.8); box-shadow:0 8px 24px rgba(15,23,42,.04); }
.automation-stat span { display:block; color:#64748b; font-size:.72rem; font-weight:700; text-transform:uppercase; letter-spacing:.07em; }
.automation-stat strong { display:block; margin-top:.25rem; font-size:1.65rem; line-height:1; }
.automation-step { display:flex; gap:1rem; border:1px solid #e2e8f0; border-radius:1rem; padding:1.15rem; background:rgba(148,163,184,.035); }
.automation-step-number { display:grid; place-items:center; flex:0 0 2rem; width:2rem; height:2rem; border-radius:999px; color:#fff; background:linear-gradient(135deg,#6d5efc,#8a7dff); font-weight:800; }
.automation-review { border-color:rgba(109,94,252,.35); background:rgba(109,94,252,.06); }
.automation-picker { overflow-y:auto; border:1px solid #e2e8f0; border-radius:.8rem; }
.automation-picker-row { display:flex; align-items:flex-start; gap:.75rem; padding:.75rem 1rem; border-bottom:1px solid #e2e8f0; cursor:pointer; }
.automation-picker-row:last-child { border-bottom:0; }
.automation-picker-row:hover { background:var(--admin-accent-soft); }
.automation-picker-row input { margin-top:.2rem; }
.automation-picker-row small { display:block; color:#94a3b8; }
.automation-choice { display:inline-flex; align-items:center; gap:.5rem; border:1px solid #cbd5e1; border-radius:999px; padding:.5rem .75rem; cursor:pointer; }
.automation-choice:hover { border-color:var(--admin-accent); }
.automation-status { display:inline-flex; align-items:center; border-radius:999px; padding:.25rem .55rem; background:rgba(109,94,252,.12); color:#6d5efc; font-size:.68rem; font-weight:800; text-transform:uppercase; letter-spacing:.04em; }
.automation-builder { overflow:hidden; }
.automation-builder > div:first-child { margin:-1.5rem -1.5rem 1.5rem; padding:1.5rem; border-bottom:1px solid #e2e8f0; background:linear-gradient(135deg,rgba(109,94,252,.1),rgba(14,165,233,.04)); }
.automation-toggle-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:.75rem; margin-top:1rem; }
.automation-toggle { display:flex; align-items:flex-start; gap:.65rem; min-height:4.5rem; padding:.8rem; border:1px solid #e2e8f0; border-radius:.8rem; cursor:pointer; background:rgba(255,255,255,.65); }
.automation-toggle:hover { border-color:var(--admin-accent); background:var(--admin-accent-soft); }
.automation-toggle input { margin-top:.2rem; accent-color:var(--admin-accent); }
.automation-toggle strong,.automation-toggle small { display:block; }
.automation-toggle small { margin-top:.15rem; color:#94a3b8; font-size:.72rem; line-height:1.35; }
.automation-advanced { margin-top:1rem; border:1px solid #e2e8f0; border-radius:.8rem; padding:.85rem 1rem; background:rgba(148,163,184,.04); }
.automation-advanced > summary { cursor:pointer; color:#475569; font-size:.82rem; font-weight:700; }
.automation-advanced[open] > summary { margin-bottom:.75rem; }
#automationActivityModal > div { box-shadow:0 30px 90px rgba(2,6,23,.45); }
#automationActivityModal header { background:linear-gradient(135deg,rgba(109,94,252,.12),rgba(14,165,233,.04)); }
#automationActivityModal tbody td { vertical-align:top; line-height:1.45; }
.automation-health-banner { margin-bottom:.8rem; padding:.85rem 1rem; border:1px solid #cbd5e1; border-radius:.8rem; font-size:.85rem; font-weight:700; }
.automation-health-banner.is-good { border-color:rgba(16,185,129,.4); background:rgba(16,185,129,.1); color:#047857; }
.automation-health-banner.is-warn { border-color:rgba(245,158,11,.45); background:rgba(245,158,11,.1); color:#b45309; }
.automation-health-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:.75rem; }
.automation-health-card { min-width:0; padding:.85rem; border:1px solid #e2e8f0; border-radius:.8rem; background:rgba(148,163,184,.04); }
.automation-health-card span,.automation-health-card small { display:block; color:#64748b; }
.automation-health-card span { font-size:.65rem; font-weight:800; text-transform:uppercase; letter-spacing:.06em; }
.automation-health-card strong { display:block; margin:.2rem 0; font-size:.95rem; }
.automation-health-card small { font-size:.72rem; overflow-wrap:anywhere; }
.automation-guidance { margin-top:.75rem; padding:.7rem .85rem; border-left:3px solid var(--admin-accent); background:var(--admin-accent-soft); border-radius:.35rem; font-size:.8rem; }
.automation-reason { text-transform:capitalize; font-size:.72rem; font-weight:800; color:var(--admin-accent); }
.dark .automation-health-card { border-color:#334155; }
.dark .automation-health-banner.is-good { color:#6ee7b7; }
.dark .automation-health-banner.is-warn { color:#fcd34d; }
.dark .automation-campaign-card,.dark .automation-stat,.dark .automation-step { border-color:#334155; background:rgba(15,23,42,.62); }
.dark .automation-picker,.dark .automation-picker-row,.dark .automation-choice,.dark .automation-toggle,.dark .automation-advanced { border-color:#334155; }
.dark .automation-toggle { background:rgba(15,23,42,.55); }
.dark .automation-advanced > summary { color:#cbd5e1; }
.dark .automation-builder > div:first-child { border-color:#334155; }
.dark .automation-review { border-color:rgba(138,125,255,.4); background:rgba(109,94,252,.1); }
.dark .automation-status { color:#a99fff; }

/* Telegram profile bulk editor. */
.profile-workspace { display:grid; gap:1rem; }
.profile-workspace > section { margin-bottom:0; }
.profile-section { overflow:hidden; }
.profile-section-heading { display:flex; align-items:flex-start; justify-content:space-between; gap:1rem; margin-bottom:1rem; }
.profile-section-heading > div:first-child { min-width:0; }
.profile-section-heading h2 { display:inline; font-size:1rem; font-weight:750; color:#0f172a; }
.profile-section-heading p { margin:.3rem 0 0 2.75rem; color:#64748b; font-size:.8rem; }
.profile-step { display:inline-grid; place-items:center; width:2rem; height:2rem; margin-right:.65rem; border-radius:999px; color:#fff; background:linear-gradient(135deg,#6d5efc,#8a7dff); font-size:.8rem; font-weight:800; }
.profile-selection-tools { display:flex; align-items:center; gap:.75rem; flex-wrap:wrap; font-size:.78rem; }
.profile-selection-tools label { display:flex; align-items:center; gap:.4rem; cursor:pointer; }
.profile-count { border-radius:999px; padding:.3rem .65rem; color:#5a4bf0; background:rgba(109,94,252,.12); font-weight:800; }
.profile-account-list { display:grid; gap:.6rem; }
.profile-account-row { display:grid; grid-template-columns:2rem minmax(10rem,1fr) minmax(13rem,1.4fr) minmax(15rem,1.2fr); align-items:center; gap:.8rem; padding:.85rem; border:1px solid #e2e8f0; border-radius:.85rem; background:rgba(248,250,252,.7); }
.profile-account-row:hover,.profile-account-row.is-selected { border-color:rgba(109,94,252,.55); background:rgba(109,94,252,.055); }
.profile-account-check { display:grid; place-items:center; cursor:pointer; }
.profile-account-check input { width:1.1rem; height:1.1rem; accent-color:var(--admin-accent); }
.profile-account-identity strong,.profile-account-identity small,.profile-current span,.profile-current strong,.profile-current small,.profile-username-edit > span { display:block; }
.profile-account-identity small,.profile-current span,.profile-current small,.profile-username-edit > span { color:#64748b; font-size:.7rem; }
.profile-current strong { margin:.1rem 0; font-size:.8rem; }
.profile-current small { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.profile-username-input { display:flex; align-items:center; margin-top:.25rem; border:1px solid #cbd5e1; border-radius:.65rem; background:#fff; overflow:hidden; }
.profile-username-input:focus-within { border-color:var(--admin-accent); box-shadow:0 0 0 3px rgba(109,94,252,.18); }
.profile-username-input b { padding-left:.7rem; color:#94a3b8; }
.profile-username-input input { min-width:0; width:100%; border:0; outline:0; padding:.55rem .65rem .55rem .2rem; background:transparent; font-size:.8rem; }
.profile-username-input input.is-invalid { color:#be123c; }
.profile-empty { padding:2rem; border:1px dashed #cbd5e1; border-radius:.8rem; text-align:center; color:#64748b; }
.profile-generator { display:grid; grid-template-columns:minmax(14rem,1fr) minmax(10rem,.6fr) auto; align-items:end; gap:.8rem; }
.profile-generator label > span,.profile-normalized > span { display:block; margin-bottom:.35rem; color:#64748b; font-size:.72rem; font-weight:700; }
.profile-generator input { width:100%; min-height:2.6rem; border:1px solid #cbd5e1; border-radius:.65rem; padding:.55rem .75rem; background:#fff; }
.profile-normalized code { display:block; min-height:2.6rem; padding:.65rem .75rem; border:1px solid #e2e8f0; border-radius:.65rem; background:rgba(148,163,184,.08); color:#5a4bf0; font-weight:800; }
.profile-generator-actions { display:flex; gap:.5rem; flex-wrap:wrap; }
.profile-candidate-note { margin-top:.75rem; color:#64748b; font-size:.78rem; }
.profile-availability-warning { margin-top:.75rem; padding:.75rem .9rem; border-left:3px solid #f59e0b; border-radius:.4rem; background:rgba(245,158,11,.09); color:#92400e; font-size:.78rem; }
.profile-field-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.75rem; }
.profile-field-card { display:block; padding:1rem; border:1px solid #e2e8f0; border-radius:.85rem; background:rgba(248,250,252,.65); }
.profile-field-card:focus-within { border-color:var(--admin-accent); }
.profile-field-wide { grid-column:1 / -1; }
.profile-field-toggle { display:flex; align-items:center; gap:.55rem; }
.profile-field-toggle input { accent-color:var(--admin-accent); }
.profile-field-card p,.profile-field-card small { display:block; margin-top:.55rem; color:#64748b; font-size:.72rem; line-height:1.45; }
.profile-file { display:block; width:100%; margin-top:.75rem; font-size:.78rem; }
.profile-submit-bar { display:flex; align-items:center; justify-content:space-between; gap:1rem; margin-top:1rem; padding:1rem; border:1px solid rgba(109,94,252,.25); border-radius:.85rem; background:rgba(109,94,252,.06); }
.profile-submit-bar strong,.profile-submit-bar span { display:block; }
.profile-submit-bar span { margin-top:.15rem; color:#64748b; font-size:.75rem; }
.dark .profile-section-heading h2 { color:#f1f5f9; }
.dark .profile-account-row,.dark .profile-field-card { border-color:#334155; background:rgba(15,23,42,.55); }
.dark .profile-username-input,.dark .profile-generator input { border-color:#475569; background:#020617; }
.dark .profile-normalized code { border-color:#334155; color:#a99fff; }
.dark .profile-availability-warning { color:#fcd34d; }

@media (max-width: 1023px) {
    .profile-account-row { grid-template-columns:2rem minmax(10rem,1fr) minmax(14rem,1.2fr); }
    .profile-current { display:none; }
    .profile-generator { grid-template-columns:1fr 1fr; }
    .profile-generator-actions { grid-column:1 / -1; }
    .automation-workspace { grid-template-columns:1fr; }
    .automation-campaign-rail { position:static; max-height:none; }

    .admin-chat-grid { grid-template-columns: 1fr; }
    .admin-chat-list { max-height: 24rem; }
}
/* Shared responsive data tables, bulk controls, pagination and sticky action bars. */
@media (max-width: 767px) {
    .responsive-table thead { display:none; }
    .responsive-table,.responsive-table tbody,.responsive-table tr,.responsive-table td { display:block; width:100%; }
    .responsive-table tr { margin-bottom:.75rem; padding:.5rem; border:1px solid #e2e8f0; border-radius:.75rem; }
    .dark .responsive-table tr { border-color:#334155; }
    .responsive-table td[data-label] { display:grid; grid-template-columns:minmax(6.5rem,35%) minmax(0,1fr); gap:.75rem; align-items:start; min-width:0 !important; }
    .responsive-table td[data-label]::before { content:attr(data-label); color:#64748b; font-size:.68rem; font-weight:800; text-transform:uppercase; letter-spacing:.04em; }
    .responsive-table tr[data-empty-row] td { display:block; }
}
.dark .discovery-import-bar { border-color:#334155; background:rgba(15,23,42,.94); }
.risk-badge.is-verified { background:rgba(16,185,129,.12); color:#047857; }
.risk-badge.is-danger { background:rgba(244,63,94,.12); color:#be123c; }
.risk-badge.is-warning { background:rgba(245,158,11,.13); color:#b45309; }
.risk-badge.is-imported { background:var(--admin-accent-soft); color:var(--admin-accent); }
.dark .risk-badge.is-verified { color:#6ee7b7; }
.dark .risk-badge.is-danger { color:#fda4af; }
.dark .risk-badge.is-warning { color:#fcd34d; }
.responsive-table { width:100%; }
.bulk-scope { color:#64748b; font-size:.75rem; }
.bulk-action:disabled { cursor:not-allowed; opacity:.45; }
.pagination-window { display:flex; flex-wrap:wrap; align-items:center; gap:.4rem; }
.pagination-ellipsis { padding:.35rem .2rem; color:#94a3b8; }
.discovery-import-bar { position:sticky; bottom:.75rem; z-index:20; display:flex; align-items:center; justify-content:space-between; gap:1rem; margin-top:1rem; padding:.8rem 1rem; border:1px solid #cbd5e1; border-radius:.85rem; background:rgba(255,255,255,.94); box-shadow:0 14px 35px rgba(15,23,42,.16); backdrop-filter:blur(12px); }
.risk-badge { display:inline-flex; margin:.1rem; border-radius:999px; padding:.18rem .5rem; font-size:.68rem; font-weight:750; }
.risk-badge.is-safe { color:#047857; background:rgba(16,185,129,.12); }
.risk-badge.is-risk { color:#be123c; background:rgba(244,63,94,.12); }
.risk-badge.is-neutral { color:#475569; background:rgba(100,116,139,.12); }
.dark .discovery-import-bar { border-color:#334155; background:rgba(15,23,42,.94); }
.dark .risk-badge.is-safe { color:#6ee7b7; }
.dark .risk-badge.is-risk { color:#fda4af; }
.dark .risk-badge.is-neutral { color:#cbd5e1; }

@media (max-width: 640px) {
    .responsive-table thead { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; }
    .responsive-table,.responsive-table tbody,.responsive-table tr,.responsive-table td { display:block; width:100%; }
    .responsive-table tbody { display:grid; gap:.75rem; }
    .responsive-table tr { padding:.75rem; border:1px solid #e2e8f0 !important; border-radius:.8rem; background:rgba(255,255,255,.72); }
    .responsive-table td { display:grid; grid-template-columns:minmax(6.5rem,38%) minmax(0,1fr); gap:.65rem; padding:.35rem 0 !important; min-width:0 !important; overflow-wrap:anywhere; }
    .responsive-table td::before { content:attr(data-label); color:#64748b; font-size:.7rem; font-weight:750; text-transform:uppercase; letter-spacing:.04em; }
    .responsive-table td[data-label=""]::before { display:none; }
    .responsive-table td[data-label=""] { grid-template-columns:1fr; }
    .dark .responsive-table tr { border-color:#334155 !important; background:rgba(15,23,42,.65); }
    .discovery-import-bar { bottom:.4rem; align-items:stretch; flex-direction:column; }
    .discovery-import-bar button { width:100%; }

    #mainContent { padding: .75rem; }
    .profile-section-heading,.profile-submit-bar { display:block; }
    .profile-selection-tools { margin-top:.75rem; }
    .profile-section-heading p { margin-left:0; }
    .profile-account-row { grid-template-columns:1.5rem minmax(0,1fr); align-items:start; }
    .profile-username-edit { grid-column:1 / -1; }
    .profile-generator,.profile-field-grid { grid-template-columns:1fr; }
    .profile-generator-actions,.profile-field-wide { grid-column:auto; }
    .profile-generator-actions > button,.profile-submit-bar button { width:100%; }
    .profile-submit-bar button { margin-top:.8rem; }
    .automation-step { display:block; padding:1rem; }
    .automation-step-number { margin-bottom:.75rem; }
    .automation-toggle-grid { grid-template-columns:1fr; }
    .automation-builder > div:first-child { margin:-1rem -1rem 1rem; padding:1rem; }
    .automation-campaign-card .flex.flex-wrap { gap:.4rem; }
    #automationActivityModal { padding:0; align-items:stretch; }
    #automationActivityModal > div { max-height:100vh; border-radius:0; border-width:0; }
    #automationActivityModal header,#automationActivityModal .overflow-y-auto { padding:1rem; }
    .admin-sync-strip { grid-template-columns:1fr 1fr; }
    .admin-sync-strip form { grid-column:1 / -1; }
    .admin-sync-strip button { width:100%; }
    .admin-message-bubble { max-width: 92%; }
    .admin-message-stream { min-height: 22rem; max-height: 32rem; }
    main table { min-width: 42rem; }
    main .overflow-x-auto { border-radius: .75rem; }
}
@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; }
}

/* =====================================================================
   Design refresh — wider, calmer sidebar, clearer cards, better reading.
   Additive layer; overrides earlier rules where needed. Light + dark aware.
   ===================================================================== */

/* --- Navigation: roomier rows, larger touch targets, clearer labels --- */
.nav-item { padding-top:.6rem; padding-bottom:.6rem; padding-left:.75rem; padding-right:.75rem; border-radius:.65rem; }
.nav-item .nav-label { font-size:.9rem; letter-spacing:.005em; line-height:1.2; }
.nav-item:not(.is-active):hover { transform:translateX(2px); }
.nav-group > summary .nav-label { font-size:.75rem; }
.sidebar-brand .nav-label { font-size:1rem; font-weight:700; }
.productivity-nav-link { font-size:.85rem; padding:.5rem .7rem; }
/* Slightly stronger active state so the current page is obvious. */
.nav-item.is-active { box-shadow:0 8px 20px rgba(109,94,252,.4); }

/* --- Global readability bumps for the main content area --- */
#mainContent { font-size:.95rem; line-height:1.55; }
main h1 { letter-spacing:-.01em; }
main .text-xs { font-size:.78rem; }        /* lift the smallest labels a touch */
main p.text-sm, main .help-text { line-height:1.6; }
.breadcrumbs { font-size:.72rem; }

/* --- Card system: dashboard stat cards, ui_stat_card, generic panels ---
   These target the exact markup produced by lib/layout.php helpers and
   dashboard.php without needing per-page class changes. */

/* Stat / metric cards (ui_stat_card + dashboard .rounded-xl.border cards) */
main .rounded-xl.border.bg-white,
.dark main .rounded-xl.border {
    border-radius:1rem;
}
main section.rounded-xl:hover,
main .rounded-xl.border.bg-white:hover {
    transform:translateY(-2px);
    box-shadow:var(--admin-shadow);
    border-color:rgba(109,94,252,.35);
}

/* Legacy dashboard cards from style.css (.cards/.card) — modernize them. */
.cards { grid-template-columns:repeat(auto-fit,minmax(200px,1fr)); gap:18px; }
.card {
    border-radius:1rem;
    padding:20px 22px;
    background:
        linear-gradient(180deg, rgba(109,94,252,.06), transparent 60%),
        var(--bg-card, #fff);
    transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease;
    position:relative;
    overflow:hidden;
}
.card::before {
    content:'';
    position:absolute; left:0; top:0; bottom:0; width:.28rem;
    background:linear-gradient(180deg,#6d5efc,#8a7dff);
    opacity:.9;
}
.card:hover { transform:translateY(-2px); box-shadow:0 16px 40px rgba(15,23,42,.12); border-color:rgba(109,94,252,.35); }
.card-label { font-size:.8rem; font-weight:600; text-transform:uppercase; letter-spacing:.05em; opacity:.8; }
.card-value { font-size:2rem; font-weight:800; line-height:1.1; letter-spacing:-.02em; }

/* Generic content panels (panel_cls) get a hair more breathing room. */
main section.rounded-xl { border-radius:1rem; }
main section.rounded-xl h2,
main .rounded-xl.border h2 { letter-spacing:-.01em; }

/* Automation & profile stat cards: bigger numbers, clearer labels. */
.automation-stat { border-radius:1.1rem; padding:1.15rem 1.3rem; }
.automation-stat span { font-size:.74rem; letter-spacing:.06em; }
.automation-stat strong { font-size:1.9rem; letter-spacing:-.02em; }
.automation-stat:hover { transform:translateY(-2px); box-shadow:0 14px 34px rgba(15,23,42,.08); border-color:rgba(109,94,252,.35); }
.automation-campaign-card { border-radius:1rem; transition:transform .16s ease, border-color .16s ease, background .16s ease; }
.automation-campaign-card:hover { transform:translateY(-1px); }

/* Section step badges and card accents share the brand gradient already;
   just make the numbers a touch larger and easier to read. */
.automation-step-number, .profile-step { font-size:.9rem; }

/* Softer, more legible table rows on desktop. */
main table td { padding-top:.85rem; padding-bottom:.85rem; }
main thead th { font-size:.72rem; letter-spacing:.05em; }

/* Buttons: comfortable minimum height for easier clicking. */
main .inline-flex.min-h-10 { min-height:2.6rem; }
