/* Reference-inspired presentation only. Existing API handlers remain in templates. */
/* Shared controls and full-height conversations. */
.theme-reference { --bg-muted:#f0f4f9; --border:#e2e9f2; }
.theme-reference button,.theme-reference input,.theme-reference textarea,.theme-reference select { font-family:inherit; }
.theme-reference .btn-outline-admin,.theme-reference .chat-filter-btn,.theme-reference .btn-archive,.theme-reference .btn-attach,.theme-reference .sql-toggle { color:#44607f; background:#f5f8fc; border:1px solid #dce5ef; border-radius:7px; box-shadow:none; min-height:38px; }
.theme-reference .btn-outline-admin:hover,.theme-reference .chat-filter-btn:hover,.theme-reference .btn-archive:hover,.theme-reference .btn-attach:hover,.theme-reference .sql-toggle:hover { color:#075dd0; background:#eaf3ff; }
.theme-reference .chat-filter-btn.active { color:#075dd0; background:#e6f0ff; border-color:#bcd6fc; box-shadow:none; }
.theme-reference .admin-btn,.theme-reference .support-send-btn { border:0; border-radius:7px; padding:11px 17px; background:#0867ee; color:white; cursor:pointer; font-size:13px; font-weight:600; }
.theme-reference .admin-btn:hover,.theme-reference .support-send-btn:hover { background:#0052ca; }
.theme-reference textarea.form-control { height:auto; min-height:120px; padding:12px 14px; line-height:1.6; }
.theme-reference input[type=file].form-control { height:auto; padding:12px; background:#f8faff; border:1px dashed #b9cce4; }
.theme-reference input::file-selector-button { border:0; padding:8px 12px; background:#e6effc; color:#205aa7; border-radius:5px; margin-right:12px; cursor:pointer; }
.theme-reference .admin-form { max-width:760px; }
.theme-reference .form-select { border-radius:7px; height:44px; }
.theme-reference .alert-admin { border-radius:8px; font-size:13px; line-height:1.6; }
.theme-reference .admin-main h2,.theme-reference .admin-main h3 { font-size:18px; letter-spacing:-.2px; }
.theme-reference .admin-main pre { overflow:auto; padding:16px; background:#f0f4f9; border-radius:8px; font-size:12px; }
.theme-reference .ref-tag { border-radius:6px; background:#eef4fc; font-size:12px; }
.theme-reference .chats-layout { display:grid; grid-template-columns:310px minmax(0,1fr); gap:16px; height:calc(100dvh - 170px); min-height:420px; }
.theme-reference .chats-sidebar,.theme-reference .chats-main { min-height:0; overflow:hidden; display:flex; flex-direction:column; }
.theme-reference .chat-filters { display:flex; gap:8px; padding:16px; border-bottom:1px solid var(--card-border); }
.theme-reference .chats-list { overflow:auto; flex:1; }
.theme-reference .chat-item { border-radius:7px; margin:6px 8px; padding:16px; border:1px solid transparent; background:white; color:var(--text); }
.theme-reference .chat-item.active { background:#eaf3ff; border-color:#cee3ff; }
.theme-reference .chat-item-title { color:var(--text); font-size:13px; overflow-wrap:anywhere; }
.theme-reference .chat-item-meta { color:var(--text-muted); font-size:12px; line-height:1.6; overflow-wrap:anywhere; }
.theme-reference .chat-empty,.theme-reference .support-panel-empty { display:flex; flex:1; flex-direction:column; align-items:center; justify-content:center; gap:16px; padding:40px; text-align:center; font-size:14px; color:var(--text-muted); line-height:1.7; }
.theme-reference .chat-empty::before,.theme-reference .support-panel-empty::before { content:'…'; display:grid; place-items:center; width:64px; height:56px; background:#eaf3ff; color:#0867ee; border-radius:18px; font-size:32px; font-weight:700; }
.theme-reference .support-panel { display:none; }
.theme-reference .chat-header-row { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:12px; padding:16px 20px; border-bottom:1px solid var(--card-border); background:white; }
.theme-reference .chat-header { color:var(--text); font-size:13px; overflow-wrap:anywhere; padding:0; }
.theme-reference .chat-header-actions { display:flex; gap:8px; }
.theme-reference .status-select { max-width:200px; }
.theme-reference .chat-messages { flex:1; min-height:0; overflow:auto; padding:20px; background:#fafcfe; }
.theme-reference .chat-msg { background:#eef2f7; color:var(--text); border:0; border-radius:12px 12px 12px 3px; box-shadow:none; padding:12px 16px; max-width:78%; overflow-wrap:anywhere; }
.theme-reference .chat-msg.admin { background:#e4efff; border-radius:12px 12px 3px 12px; margin-left:auto; }
.theme-reference .msg-author,.theme-reference .msg-time { color:#6b7c97; font-size:11px; }
.theme-reference .msg-text { color:var(--text); font-size:14px; line-height:1.6; }
.theme-reference .chat-input-row { display:flex; flex-wrap:nowrap; padding:16px; gap:10px; border-top:1px solid var(--card-border); background:white; }
.theme-reference .chat-input-row .form-control { flex:1; }
.theme-reference .support-shell { height:calc(100dvh - 215px); min-height:420px!important; }
.theme-reference .support-sidebar,.theme-reference .support-main { min-height:0; }
.theme-reference .support-panel-header { flex-shrink:0; }
.theme-reference .support-composer { flex-shrink:0; }
.theme-reference .support-chat-list { flex:1; }
.theme-reference .support-messages { min-height:0; background:#fafcfe; }
.theme-reference .support-panel-user { overflow-wrap:anywhere; }
.theme-reference .promo-card { flex-wrap:wrap; }
@media(max-width:900px) { .theme-reference .chats-layout { grid-template-columns:230px minmax(0,1fr); } }
@media(max-width:650px) { .theme-reference .chats-layout { grid-template-columns:1fr; height:auto; } .theme-reference .chats-sidebar { max-height:250px; } .theme-reference .chats-main { min-height:450px; } .theme-reference .support-shell { height:auto; } .theme-reference .support-main { min-height:450px; } .theme-reference .support-composer,.theme-reference .chat-input-row { flex-wrap:wrap; } .theme-reference .support-input,.theme-reference .chat-input-row .form-control { flex-basis:65%; } .theme-reference .page-header { flex-wrap:wrap; gap:14px; } }
body.theme-reference {
  --sidebar-bg: #1d2936; --sidebar-text: #c6d4e5; --sidebar-hover: #293d54;
  --accent: #0867ee; --accent-hover: #0052ca; --content-bg: #f4f7fb;
  --card-bg: #fff; --card-border: #e2e9f2; --text: #101b36;
  --text-muted: #6b7c97; --danger: #e63749; --success: #2dab61;
  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
}
.theme-reference .admin-sidebar { width: 224px; background: linear-gradient(160deg,#202e3c,#182431); border-right: 1px solid #31404f; }
.theme-reference .admin-sidebar-brand { margin: 0 20px; padding: 22px 0 18px; border-bottom: 1px solid #394858; }
.theme-reference .admin-sidebar-brand .logo { display:block; font-size:28px; letter-spacing:-1px; }
.theme-reference .admin-sidebar-brand .brand-text { display:block; font-size:12px; color:#b9cde5; letter-spacing:1px; margin-top:3px; }
.theme-reference .admin-sidebar-nav { padding: 16px 8px; }
.theme-reference .nav-group { color:#8397af; font-size:10px; padding-top:14px; }
.theme-reference .admin-sidebar-nav a, .nav-planned { border-radius:7px; padding:12px 13px; font-size:13px; font-weight:500; gap:12px; }
.theme-reference .admin-sidebar-nav a.active { color:#fff; background:linear-gradient(100deg,#214a80,#254d7d); border-left:4px solid #087cff; padding-left:10px; }
.theme-reference .nav-icon { width:23px; text-align:center; font-size:17px; flex-shrink:0; }
.nav-planned { display:flex; align-items:center; color:#95a9be; }
.nav-planned small { display:inline-block; margin-left:4px; font-size:9px; padding:2px 4px; background:#35485b; border-radius:4px; }
.theme-reference .admin-sidebar-footer { margin:0 20px; padding:16px 0; border-top:1px solid #394858; }
.theme-reference .admin-main { margin-left:224px; padding:88px 28px 28px; min-width:0; }
.admin-topbar { position:absolute!important; top:0; left:0; right:0; height:64px; display:flex; align-items:center; gap:20px; padding:0 28px; border-bottom:1px solid #e1e8f0; background:#fbfcfe; }
.sidebar-toggle { border:0; background:transparent; color:#253a54; font-size:22px; cursor:pointer; padding:8px; border-radius:6px; }
.sidebar-toggle:hover { background:#eaf0f8; }
.admin-breadcrumb { display:flex; align-items:center; gap:16px; font-size:12px; }
.admin-breadcrumb a { color:var(--text-muted); text-decoration:none; }
.admin-profile { margin-left:auto; display:flex; align-items:center; gap:10px; font-size:12px; }
.admin-profile small { display:block; margin-top:4px; color:var(--text-muted); }
.admin-avatar { display:grid; place-items:center; width:38px; height:38px; border-radius:50%; color:white; background:linear-gradient(140deg,#89aee0,#354b65); }
.theme-reference .page-header { padding:0; margin-bottom:22px; }
.theme-reference .page-title { font-size:30px; letter-spacing:-.7px; text-transform:none; }
.theme-reference .page-subtitle { line-height:1.6; font-size:14px; }
.theme-reference .stats-grid { padding:0; gap:16px; }
.theme-reference .admin-card,.theme-reference .table-wrapper,.theme-reference .chats-sidebar,.theme-reference .chats-main { border-radius:10px; box-shadow:0 2px 4px #16304f04; border:1px solid var(--card-border); background:white; }
.theme-reference .admin-card { padding:20px; }
.theme-reference .admin-card h5 { font-size:13px; font-weight:500; letter-spacing:0; text-transform:none; }
.theme-reference .admin-card .card-value { font-size:30px; }
.theme-reference .admin-table th { background:#eef3f8; text-transform:none; letter-spacing:0; font-size:12px; padding:12px 16px; }
.theme-reference .admin-table td { padding:13px 16px; border-bottom:1px solid #e8edf4; font-size:13px; }
.theme-reference .admin-table tr:last-child td { border-bottom:0; }
.theme-reference .admin-table tbody tr:hover { background:#f7faff; }
.theme-reference .btn-admin { border-radius:7px; background:linear-gradient(110deg,#3987f4,#0060ed); box-shadow:0 3px 7px #0060ed18; letter-spacing:0; text-transform:none; }
.theme-reference .btn-outline-admin,.theme-reference .form-control { border-radius:7px; }
.theme-reference .form-control { background:#fff; border:1px solid #dbe4ef; color:var(--text); }
.theme-reference :focus-visible { outline:3px solid #8cbcff; outline-offset:3px; }
.theme-reference .chats-layout { padding:0; }
.theme-reference .support-shell { display:grid; grid-template-columns:310px minmax(0,1fr); gap:16px; min-height:70vh; }
.theme-reference .support-sidebar,.theme-reference .support-main { display:flex; flex-direction:column; overflow:hidden; border:1px solid var(--card-border); border-radius:10px; background:white; }
.theme-reference .support-toolbar,.theme-reference .support-panel-header { display:flex; justify-content:space-between; align-items:center; gap:12px; padding:18px; border-bottom:1px solid var(--card-border); }
.theme-reference .support-toolbar-title,.theme-reference .support-panel-user { font-weight:700; }
.theme-reference .support-toolbar-note,.theme-reference .support-chat-meta,.theme-reference .support-panel-contact,.theme-reference .support-panel-context { color:var(--text-muted); font-size:12px; line-height:1.6; }
.theme-reference .support-filter-row { display:flex; gap:8px; padding:12px; }
.theme-reference .support-chat-list { overflow:auto; padding:8px; }
.theme-reference .support-chat-card { padding:14px; border-radius:7px; border:1px solid transparent; cursor:pointer; margin-bottom:6px; }
.theme-reference .support-chat-card:hover { background:#f4f7fb; }
.theme-reference .support-chat-card.active { background:#eaf3ff; border-color:#cee3ff; }
.theme-reference .support-chat-topline { display:flex; justify-content:space-between; gap:8px; }
.theme-reference .support-chat-title { font-size:13px; font-weight:600; overflow-wrap:anywhere; }
.theme-reference .support-pill,.theme-reference .support-mode-badge { font-size:11px; padding:4px 8px; background:#eaf3ff; color:#0867ee; border-radius:5px; }
.theme-reference .support-empty { display:grid; place-content:center; text-align:center; flex:1; padding:32px; color:var(--text-muted); }
.theme-reference .support-panel { flex:1; flex-direction:column; min-height:0; }
.theme-reference .support-messages { flex:1; overflow:auto; padding:20px; max-height:65vh; }
.theme-reference .support-msg { padding:12px 16px; margin-bottom:12px; max-width:80%; width:fit-content; background:#f0f4f9; border-radius:10px; overflow-wrap:anywhere; }
.theme-reference .support-msg.admin { margin-left:auto; background:#e7f1ff; }
.theme-reference .support-msg-author,.theme-reference .support-msg-time { font-size:11px; color:var(--text-muted); margin:4px 0; }
.theme-reference .support-msg-text { font-size:14px; line-height:1.5; white-space:pre-wrap; }
.theme-reference .support-msg-media img { max-width:100%; max-height:260px; border-radius:7px; }
.theme-reference .support-composer { display:flex; gap:10px; padding:16px; border-top:1px solid var(--card-border); }
.theme-reference .support-input { flex:1; min-width:0; border:1px solid #dbe4ef; border-radius:7px; padding:12px; font:inherit; }
.theme-reference .support-attach-btn { border:1px solid #dbe4ef; background:#f5f8fc; border-radius:7px; color:#36516f; cursor:pointer; }
.theme-reference.sidebar-collapsed .admin-sidebar { width:72px; }
.theme-reference.sidebar-collapsed .admin-main { margin-left:72px; }
.theme-reference.sidebar-collapsed .brand-text,.theme-reference.sidebar-collapsed .nav-text,.theme-reference.sidebar-collapsed .nav-group { display:none; }
.theme-reference.sidebar-collapsed .admin-sidebar-brand { margin:0 8px; }
.theme-reference.sidebar-collapsed .admin-sidebar-brand .logo { font-size:21px; }
@media(max-width:1000px) { .theme-reference .stats-grid-dashboard { grid-template-columns:repeat(3,minmax(0,1fr)); } .theme-reference .support-shell { grid-template-columns:250px minmax(0,1fr); } }
@media(max-width:768px) { .theme-reference .admin-sidebar { width:72px; } .theme-reference .admin-main { margin-left:72px; padding:84px 14px 20px; } .theme-reference .admin-sidebar-brand { margin:0 8px; } .theme-reference .admin-sidebar-brand .logo { font-size:21px; } .theme-reference .admin-sidebar-brand .brand-text { display:none; } .theme-reference .admin-topbar { padding:0 14px; gap:8px; } .admin-profile strong,.admin-profile small { display:none; } .theme-reference .page-title { font-size:25px; } .theme-reference .support-shell { grid-template-columns:1fr; } .theme-reference .support-chat-list { max-height:230px; } .theme-reference .stats-grid-dashboard { grid-template-columns:repeat(2,minmax(0,1fr)); } }
