@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@600;700;800&display=swap');

:root {
  color-scheme: dark;
  --bg: #070b14;
  --surface: #0d1320;
  --surface-2: #121a2a;
  --surface-3: #182235;
  --line: rgba(148, 163, 184, .14);
  --muted: #8d9bb0;
  --text: #f5f7fb;
  --brand: #36d399;
  --brand-2: #35b8ff;
  --warning: #fbbf24;
  --danger: #fb7185;
  --shadow: 0 24px 70px rgba(0, 0, 0, .3);
}

* { box-sizing: border-box; }
.hidden { display: none !important; }
html { background: var(--bg); }
body { margin: 0; font-family: "DM Sans", ui-sans-serif, system-ui, sans-serif; background: var(--bg); color: var(--text); }
button, input, select, textarea { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
html, body { min-height: 100%; }

.crm-shell { min-height: 100vh; min-height: 100dvh; display: grid; grid-template-columns: 248px minmax(0, 1fr); background: radial-gradient(circle at 70% -20%, rgba(53,184,255,.09), transparent 34%), var(--bg); }
.sidebar { height: 100vh; height: 100dvh; overflow-y: auto; padding: 22px 16px; border-right: 1px solid var(--line); background: rgba(9, 14, 25, .9); backdrop-filter: blur(18px); display: flex; flex-direction: column; position: sticky; top: 0; z-index: 20; }
.brand-lockup { display: flex; align-items: center; gap: 12px; padding: 0 8px 24px; }
.brand { width: 42px; height: 42px; border-radius: 14px; display: grid; place-items: center; background: linear-gradient(145deg, var(--brand), var(--brand-2)); color: #04100d; box-shadow: 0 10px 30px rgba(54,211,153,.2); font-size: 18px; }
.brand-title { font-family: Manrope, sans-serif; font-weight: 800; letter-spacing: -.03em; }
.brand-subtitle { color: var(--muted); font-size: 11px; }
.env-badge { display: inline-flex; align-items: center; gap: 5px; margin-top: 5px; color: #a7f3d0; font-size: 10px; font-weight: 700; text-transform: uppercase; letter-spacing: .08em; }
.env-badge::before { content: ""; width: 6px; height: 6px; border-radius: 50%; background: var(--brand); box-shadow: 0 0 0 4px rgba(54,211,153,.1); }
.nav-label { padding: 8px 12px; color: #64748b; font-size: 10px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.side-nav { display: grid; gap: 5px; }
.nav-btn { width: 100%; min-height: 44px; border: 0; background: transparent; color: #98a5b8; border-radius: 12px; padding: 0 13px; display: flex; align-items: center; gap: 12px; cursor: pointer; font-size: 13px; font-weight: 700; text-align: left; transition: .2s ease; }
.side-nav a.nav-btn { text-decoration: none; }
.nav-btn i { width: 18px; text-align: center; }
.nav-btn:hover { color: white; background: rgba(255,255,255,.04); transform: translateX(2px); }
.nav-btn.active { color: #07130f; background: linear-gradient(135deg, #6ee7b7, #36d399); box-shadow: 0 10px 28px rgba(16,185,129,.18); }
.sidebar-bottom { margin-top: auto; display: grid; gap: 8px; }
.user-chip { display: flex; align-items: center; gap: 10px; padding: 11px; border: 1px solid var(--line); background: rgba(255,255,255,.025); border-radius: 14px; }
.avatar-initial { width: 34px; height: 34px; border-radius: 11px; background: #1e293b; display: grid; place-items: center; color: #a7f3d0; font-weight: 800; }
.user-chip strong { display: block; font-size: 12px; }
.user-chip small { color: var(--muted); font-size: 10px; }

.workspace { min-width: 0; min-height: 100vh; height: 100dvh; display: flex; flex-direction: column; overflow:auto; }
.topbar { min-height: 72px; padding: 12px 22px; border-bottom: 1px solid var(--line); display: flex; align-items: center; justify-content: space-between; gap: 14px; background: rgba(7,11,20,.74); backdrop-filter: blur(18px); }
.page-heading h1 { margin: 0; font-family: Manrope, sans-serif; font-size: 18px; font-weight: 800; letter-spacing: -.02em; }
.page-heading p { margin: 3px 0 0; color: var(--muted); font-size: 11px; }
.top-actions { display: flex; align-items: center; gap: 9px; }
.main-area { flex: 1; min-height: 0; overflow:auto; }
.mobile-menu { display: none; }

.btn-secondary, .btn-primary, .mode, .icon-btn { min-height: 38px; border-radius: 11px; padding: 0 13px; font-size: 12px; font-weight: 700; cursor: pointer; transition: .18s ease; display: inline-flex; align-items: center; justify-content: center; gap: 8px; text-decoration: none; }
.btn-secondary, .mode, .icon-btn { background: rgba(255,255,255,.035); border: 1px solid var(--line); color: #cad3df; }
.btn-secondary:hover, .mode:hover, .icon-btn:hover { background: rgba(255,255,255,.07); color: white; border-color: rgba(148,163,184,.28); }
.btn-primary, .mode.active { border: 1px solid transparent; background: linear-gradient(135deg, #34d399, #10b981); color: #04100d; box-shadow: 0 9px 22px rgba(16,185,129,.16); }
.btn-primary:hover { filter: brightness(1.07); transform: translateY(-1px); }
.icon-btn { width: 38px; padding: 0; }
.field { min-height: 38px; background: #080d17; border: 1px solid var(--line); border-radius: 11px; padding: 9px 11px; color: #e9eef6; outline: none; transition: .18s ease; }
.field::placeholder { color: #59677b; }
.field:focus { border-color: rgba(54,211,153,.72); box-shadow: 0 0 0 3px rgba(54,211,153,.09); }

.management-page { overflow-y: auto; min-height: 100vh; }
.management-shell { width: min(1220px, calc(100% - 32px)); margin: 0 auto; padding: 34px 0 70px; }
.management-header,.section-heading,.management-actions,.dialog-heading,.dialog-actions { display:flex; align-items:center; justify-content:space-between; gap:16px; }
.management-header h1,.management-card h2,.dialog-card h2 { margin:4px 0; font-family:Manrope,sans-serif; }
.management-header p,.section-heading p,.rule-copy p { color:var(--muted); margin:5px 0; }
.eyebrow { color:var(--brand); font-size:10px; font-weight:800; letter-spacing:.12em; }
.assignment-summary { display:grid; grid-template-columns:repeat(3,1fr); gap:14px; margin:26px 0 14px; }
.assignment-summary .card { display:grid; gap:8px; padding:20px; border-radius:16px; }
.assignment-summary small { color:var(--muted); font-size:11px; font-weight:700; text-transform:uppercase; letter-spacing:.05em; }.assignment-summary strong { font-size:30px; font-family:Manrope,sans-serif; }
.management-card { background:var(--surface); border:1px solid var(--line); border-radius:18px; padding:22px; margin-top:16px; box-shadow:var(--shadow); }
.rule-list { display:grid; gap:12px; margin-top:18px; }
.rule-card { display:grid; grid-template-columns:56px minmax(0,1fr) auto; align-items:center; gap:16px; padding:16px 18px; border:1px solid var(--line); border-radius:14px; background:var(--surface-2); transition:.15s ease; }
.rule-card:hover { border-color:color-mix(in srgb,var(--brand) 40%,var(--line)); background:color-mix(in srgb,var(--brand) 4%,var(--surface-2)); }
.rule-priority { display:flex; flex-direction:column; align-items:center; gap:2px; width:56px; padding:8px 0; border-radius:12px; background:#0a1020; color:var(--brand); }
.rule-priority b { font-size:19px; font-weight:850; line-height:1; }
.rule-priority span { font-size:8px; font-weight:750; text-transform:uppercase; letter-spacing:.05em; color:var(--muted); }
.rule-copy strong { margin-right:10px; font-size:14px; }
.rule-copy p { font-size:12px; }
.rule-copy small{display:flex;align-items:center;gap:6px;color:#a5b4c8;font-size:11px;margin-top:4px}
.rule-actions{display:flex;gap:8px;align-items:center}
.status-badge{display:inline-flex;margin-left:8px;padding:4px 9px;border-radius:999px;background:#1e293b;color:#cbd5e1;font-size:9px;font-weight:750;text-transform:uppercase;letter-spacing:.04em}
.status-badge.active,.status-badge.assigned,.status-badge.claimed{background:rgba(16,185,129,.15);color:#6ee7b7}
.status-badge.paused,.status-badge.queued{background:rgba(245,158,11,.14);color:#fbbf24}
.status-badge.draft{background:rgba(148,163,184,.16);color:#cbd5e1}
.status-badge.archived,.status-badge.skipped{background:rgba(239,68,68,.14);color:#fca5a5}
.rule-chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}
.rule-chip{display:inline-flex;align-items:center;gap:5px;padding:3px 9px;border-radius:999px;background:#0f172a;border:1px solid var(--line);color:#a5b4c8;font-size:10px;font-weight:650}
.rule-chip i{font-size:9px;color:var(--brand)}
.business-hours-fields{margin-top:10px;padding-top:10px;border-top:1px solid var(--line);display:grid;gap:10px;transition:opacity .15s ease}
.business-hours-fields.disabled{opacity:.4;pointer-events:none}
.business-hours-time{display:flex;gap:12px}
.business-hours-time label{display:grid;gap:5px;color:#cbd5e1;font-size:11px;font-weight:700}
.form-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; align-items:end; }.form-grid label{display:grid;gap:7px;color:#cbd5e1;font-size:12px;font-weight:700}.span-2{grid-column:1/-1}.check-row{display:flex;flex-wrap:wrap;gap:12px}.check-control{display:flex!important;align-items:center;grid-auto-flow:column;justify-content:start}.simulation-result{margin-top:15px;padding:15px;border:1px solid rgba(54,211,153,.25);background:rgba(16,185,129,.08);border-radius:12px}.table-scroll{overflow:auto}.data-table{width:100%;border-collapse:collapse;margin-top:12px;min-width:760px}.data-table th,.data-table td{padding:12px;border-bottom:1px solid var(--line);text-align:left;font-size:12px}.data-table th{color:#93a4ba}.empty-state{padding:28px;text-align:center;color:var(--muted)}
.app-dialog{width:min(780px,calc(100% - 24px));max-height:calc(100dvh - 32px);padding:0;border:0;border-radius:18px;background:transparent;color:var(--text);overflow:auto}.app-dialog::backdrop{background:rgba(2,6,15,.76);backdrop-filter:blur(5px)}.dialog-card{background:var(--surface);border:1px solid var(--line);padding:22px;border-radius:18px}.dialog-actions{justify-content:flex-end;margin-top:20px;padding-top:16px;border-top:1px solid var(--line)}fieldset{border:1px solid var(--line);border-radius:12px;padding:12px}legend{padding:0 6px;color:#cbd5e1;font-size:12px}.app-toast{position:fixed;right:20px;bottom:20px;z-index:100;padding:13px 16px;background:#064e3b;border:1px solid #10b981;border-radius:12px}.app-toast.error{background:#4c0519;border-color:#fb7185}
@media(max-width:760px){.management-header,.management-actions{align-items:stretch;flex-direction:column}.assignment-summary{grid-template-columns:1fr}.form-grid{grid-template-columns:1fr}.span-2{grid-column:auto}.rule-card{grid-template-columns:42px 1fr}.rule-actions{grid-column:1/-1}.management-shell{width:min(100% - 20px,1220px)}}

.inbox-layout { height: 100%; min-height:0; display: grid !important; grid-template-columns: 326px minmax(420px, 1fr) 290px; overflow:hidden; }
.conversation-sidebar, .customer-panel { background: rgba(13,19,32,.72); }
.conversation-sidebar { border-right: 1px solid var(--line); display: flex; flex-direction: column; min-width: 0; }
.sidebar-search { padding: 14px; border-bottom: 1px solid var(--line); }
.search-wrap { position: relative; }
.search-wrap i { position: absolute; left: 12px; top: 50%; transform: translateY(-50%); color: #637187; font-size: 12px; }
.search-wrap .field { width: 100%; padding-left: 34px; }
.channel-row { display: flex; gap: 6px; padding-top: 10px; overflow-x: auto; scrollbar-width: none; }
.channel-pill { white-space: nowrap; border: 1px solid transparent; color: #8492a6; background: transparent; border-radius: 9px; padding: 6px 9px; font-size: 10px; font-weight: 700; cursor: pointer; }
.channel-pill:hover { color: white; background: rgba(255,255,255,.04); }
.channel-pill.active { color: #d1fae5; border-color: rgba(52,211,153,.24); background: rgba(16,185,129,.1); }
.conversation-list { flex: 1; overflow-y: auto; padding: 7px; }
.conversation { padding: 12px; border: 1px solid transparent; border-radius: 13px; cursor: pointer; margin-bottom: 4px; transition: .16s ease; }
.conversation:hover { background: rgba(255,255,255,.035); }
.conversation.active { background: linear-gradient(135deg, rgba(16,185,129,.13), rgba(53,184,255,.05)); border-color: rgba(52,211,153,.18); }
.conversation img, #conversationHeader img { object-fit: cover; background: #1e293b; }
.chat-column { min-width: 0; min-height: 0; display: flex; flex-direction: column; background: #090e18; }
.conversation-header { min-height: 72px; padding: 12px 17px; display: flex; align-items: center; justify-content: space-between; border-bottom: 1px solid var(--line); background: rgba(13,19,32,.66); }
.message-bg { background-color: #090e18; background-image: radial-gradient(rgba(148,163,184,.1) .7px, transparent .7px); background-size: 19px 19px; }
.message-stream { flex: 1; overflow-y: auto; padding: 22px; display: flex; flex-direction: column; gap: 10px; }
.bubble { max-width: min(72%, 600px); padding: 11px 13px; border-radius: 15px; font-size: 13px; line-height: 1.55; box-shadow: 0 8px 22px rgba(0,0,0,.11); }
.bubble.customer { align-self: flex-start; background: #182235; border-bottom-left-radius: 5px; }
.bubble.agent { align-self: flex-end; background: linear-gradient(135deg, #0d7256, #0b5d49); border-bottom-right-radius: 5px; }
.bubble.internal { align-self: flex-end; background: #5d3a0b; border: 1px solid #8b5a13; }
.meta { font-size: 9px; color: rgba(226,232,240,.58); margin-top: 5px; }
.composer { padding: 13px 16px; border-top: 1px solid var(--line); background: rgba(13,19,32,.86); }
.composer-modes { display: flex; gap: 7px; margin-bottom: 9px; }
.composer form { display: flex; gap: 9px; align-items: end; }
.composer textarea { flex: 1; resize: none; max-height: 130px; }
.customer-panel { border-left: 1px solid var(--line); padding: 18px; overflow-y: auto; }
.customer-panel h3 { font-family: Manrope, sans-serif; }
.order { background: #080d17; border: 1px solid var(--line); border-radius: 12px; padding: 11px; margin-top: 8px; }

.content-page { height: 100%; overflow-y: auto; padding: 24px; }
.page-title-row { display: flex; align-items: end; justify-content: space-between; margin-bottom: 20px; }
.title { margin: 0; font-family: Manrope, sans-serif; font-weight: 800; font-size: 24px; letter-spacing: -.03em; }
.section-kicker { color: var(--brand); font-size: 10px; font-weight: 800; text-transform: uppercase; letter-spacing: .12em; }
.card { background: linear-gradient(145deg, rgba(18,26,42,.95), rgba(13,19,32,.95)); border: 1px solid var(--line); border-radius: 16px; padding: 18px; box-shadow: 0 14px 40px rgba(0,0,0,.08); }
.notice { background: linear-gradient(135deg, rgba(29,78,216,.16), rgba(14,116,144,.09)); border: 1px solid rgba(59,130,246,.24); border-radius: 14px; padding: 15px; color: #c8ddff; }
.dialog { width: min(460px, 92vw); padding: 0; background: #101827; color: white; border: 1px solid var(--line); border-radius: 18px; box-shadow: var(--shadow); }
.dialog::backdrop { background: rgba(1,4,10,.76); backdrop-filter: blur(5px); }
.toast { position: fixed; right: 22px; bottom: 22px; background: #0b5d49; border: 1px solid rgba(52,211,153,.45); padding: 12px 16px; border-radius: 12px; z-index: 99; box-shadow: var(--shadow); }
.status-dot { width: 8px; height: 8px; border-radius: 50%; display: inline-block; }

.auth-page { min-height: 100vh; display: grid; grid-template-columns: minmax(360px, .9fr) minmax(520px, 1.1fr); background: var(--bg); }
.auth-visual { position: relative; overflow: hidden; padding: 52px; display: flex; flex-direction: column; justify-content: space-between; background: radial-gradient(circle at 25% 15%, rgba(54,211,153,.2), transparent 30%), radial-gradient(circle at 85% 70%, rgba(53,184,255,.16), transparent 35%), #0b111d; }
.auth-visual::after { content: ""; position: absolute; inset: 0; opacity: .22; background-image: linear-gradient(rgba(255,255,255,.04) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.04) 1px, transparent 1px); background-size: 38px 38px; mask-image: linear-gradient(to bottom, #000, transparent 85%); }
.auth-copy { position: relative; z-index: 1; max-width: 520px; }
.auth-copy h2 { font-family: Manrope, sans-serif; font-size: clamp(34px, 4vw, 58px); line-height: 1.02; letter-spacing: -.055em; margin: 0 0 20px; }
.auth-copy p { color: #9ba8ba; font-size: 16px; line-height: 1.7; }
.auth-features { position: relative; z-index: 1; display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; }
.auth-feature { padding: 13px; border: 1px solid var(--line); background: rgba(255,255,255,.025); border-radius: 13px; font-size: 11px; color: #bac5d4; }
.auth-feature i { color: var(--brand); margin-bottom: 8px; display: block; }
.auth-form-wrap { display: grid; place-items: center; padding: 34px; }
.auth-card { width: min(440px, 100%); }
.auth-card h1 { font-family: Manrope, sans-serif; font-size: 30px; margin: 8px 0; letter-spacing: -.04em; }
.auth-card .eyebrow { color: var(--brand); font-size: 11px; font-weight: 800; letter-spacing: .14em; }
.auth-card .lead { color: var(--muted); margin: 0 0 28px; }
.form-label { display: block; margin: 0 0 16px; }
.form-label span { display: block; color: #cbd5e1; font-size: 12px; font-weight: 600; margin-bottom: 7px; }
.form-label .field { width: 100%; min-height: 46px; }
.auth-error { margin-bottom: 18px; border-radius: 12px; background: rgba(190,24,93,.12); border: 1px solid rgba(251,113,133,.25); padding: 12px; color: #fecdd3; font-size: 12px; }

.admin-page { min-height: 100vh; background: radial-gradient(circle at 80% -10%, rgba(53,184,255,.08), transparent 30%), var(--bg); padding: 26px; }
.admin-wrap { max-width: 1180px; margin: auto; }
.admin-header { display: flex; align-items: center; justify-content: space-between; gap: 18px; margin-bottom: 24px; }
.admin-grid { display: grid; grid-template-columns: 350px minmax(0,1fr); gap: 18px; }
.panel { background: rgba(13,19,32,.9); border: 1px solid var(--line); border-radius: 18px; overflow: hidden; box-shadow: 0 18px 55px rgba(0,0,0,.11); }
.panel-body { padding: 20px; }
.panel-head { padding: 18px 20px; border-bottom: 1px solid var(--line); display: flex; justify-content: space-between; align-items: center; }
.panel-head h2 { margin: 0; font-family: Manrope,sans-serif; font-size: 16px; }
.admin-form { display: grid; gap: 13px; }
.admin-form .field { width: 100%; min-height: 43px; }
.helper { color: var(--muted); font-size: 11px; line-height: 1.55; }
.users-table { width: 100%; border-collapse: collapse; font-size: 12px; }
.users-table th { color: #728096; font-size: 10px; text-transform: uppercase; letter-spacing: .08em; text-align: left; padding: 13px 16px; background: rgba(255,255,255,.018); }
.users-table td { padding: 14px 16px; border-top: 1px solid var(--line); vertical-align: middle; }
.users-table tbody tr:hover { background: rgba(255,255,255,.018); }
.user-identity { display: flex; align-items: center; gap: 10px; }
.user-identity .avatar-initial { flex: 0 0 auto; }
.user-email { color: var(--muted); margin-top: 2px; font-size: 10px; }
.status-pill { display: inline-flex; align-items: center; gap: 6px; }
.admin-actions { display: flex; gap: 6px; }
.table-scroll { overflow-x: auto; }
.admin-tabs { display: flex; gap: 5px; padding: 6px; margin-bottom: 22px; overflow-x: auto; }
.admin-tab { border: 0; background: transparent; color: var(--muted); padding: 10px 13px; border-radius: 11px; white-space: nowrap; font-size: 12px; font-weight: 700; cursor: pointer; }
.admin-tab:hover { color: white; background: rgba(255,255,255,.035); }
.admin-tab.active { color: #07130f; background: var(--brand); }
.admin-section { animation: sectionIn .22s ease; }
.admin-section:not(.hidden) { display: block; min-height: calc(100vh - 220px); }
@keyframes sectionIn { from { opacity: 0; transform: translateY(5px); } }
.section-heading { display: flex; justify-content: space-between; align-items: end; gap: 18px; margin: 0 0 17px; }
.section-heading h2 { font-family: Manrope,sans-serif; font-size: 22px; margin: 3px 0; }
.section-heading p { color: var(--muted); font-size: 12px; margin: 0; }
.role-grid { display: grid; grid-template-columns: repeat(auto-fill,minmax(270px,1fr)); gap: 13px; }
.role-card { background: rgba(13,19,32,.9); border: 1px solid var(--line); border-radius: 16px; padding: 17px; transition: .18s ease; }
.role-card:hover { transform: translateY(-2px); border-color: rgba(54,211,153,.22); }
.role-card-head { display: flex; justify-content: space-between; gap: 12px; }
.role-card h3 { font-family: Manrope,sans-serif; margin: 0; font-size: 15px; }
.role-card p { color: var(--muted); font-size: 11px; line-height: 1.55; min-height: 34px; }
.role-meta { display: flex; flex-wrap: wrap; gap: 5px; margin-top: 12px; }
.mini-pill { background: rgba(255,255,255,.045); border: 1px solid var(--line); color: #b9c4d4; font-size: 9px; border-radius: 999px; padding: 4px 7px; }
.wide-dialog { width: min(760px,94vw); }
.dialog-form { padding: 22px; display: grid; gap: 16px; }
.dialog-head { display: flex; justify-content: space-between; align-items: flex-start; gap: 15px; }
.dialog-head h3 { font-family: Manrope,sans-serif; font-size: 20px; margin: 3px 0 0; }
.dialog-actions { display: flex; justify-content: flex-end; gap: 8px; border-top: 1px solid var(--line); padding-top: 15px; }
.form-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; }
.form-grid .form-label { margin: 0; }
.form-grid .full { grid-column: 1/-1; }
.choice-columns { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.choice-columns fieldset,.permission-group { border: 1px solid var(--line); border-radius: 13px; padding: 12px; min-width: 0; }
.choice-columns legend,.permission-group h4 { color: #d9e2ee; font-size: 11px; font-weight: 800; padding: 0 5px; margin: 0 0 8px; }
.choice-list { display: grid; gap: 7px; max-height: 180px; overflow-y: auto; }
.choice { display: flex; align-items: center; gap: 8px; color: #aab6c7; font-size: 11px; cursor: pointer; }
.choice input { accent-color: var(--brand); }
.permission-groups { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; max-height: 390px; overflow-y: auto; }
.permission-group { background: rgba(255,255,255,.015); }
.user-status { display: inline-flex; align-items: center; gap: 6px; font-size: 10px; font-weight: 700; }
.user-status::before { content:""; width:7px; height:7px; border-radius:50%; background:var(--brand); }
.user-status.inactive { color: var(--muted); }
.user-status.inactive::before { background:#64748b; }

@media (max-width: 1180px) {
  .inbox-layout { grid-template-columns: 300px minmax(390px,1fr); }
  .customer-panel { display: none; }
}
@media (max-width: 860px) {
  .crm-shell { grid-template-columns: 76px minmax(0,1fr); }
  .sidebar { padding: 18px 10px; }
  .brand-lockup { padding: 0 7px 20px; }
  .brand-lockup > div:last-child, .nav-label, .nav-btn span, .user-chip > div:last-child { display: none; }
  .nav-btn { justify-content: center; padding: 0; }
  .nav-btn:hover { transform: none; }
  .sidebar-bottom .btn-secondary span { display: none; }
  .inbox-layout { grid-template-columns: 280px minmax(360px,1fr); }
  .admin-grid { grid-template-columns: 1fr; }
  .auth-page { grid-template-columns: 1fr; }
  .auth-visual { display: none; }
}
@media (max-width: 650px) {
  .crm-shell { display: block; }
  .sidebar { position: fixed; inset: 0 auto 0 0; width: 248px; transform: translateX(-102%); transition: .22s ease; box-shadow: var(--shadow); }
  body.menu-open .sidebar { transform: translateX(0); }
  .brand-lockup > div:last-child, .nav-label, .nav-btn span, .user-chip > div:last-child { display: block; }
  .nav-btn { justify-content: flex-start; padding: 0 13px; }
  .mobile-menu { display: inline-flex; }
  .topbar { padding: 10px 12px; min-height: 64px; }
  .page-heading p, .top-actions .btn-secondary span { display: none; }
  .workspace { height: 100dvh; }
  .inbox-layout { display: flex !important; }
  .conversation-sidebar { width: 100%; }
  .chat-column { display: none; width: 100%; }
  body.chat-open .conversation-sidebar { display: none; }
  body.chat-open .chat-column { display: flex; }
  .conversation-header { padding: 10px; }
  .conversation-header .field { max-width: 112px; }
  .message-stream { padding: 14px; }
  .bubble { max-width: 88%; }
  .composer { padding: 10px; }
  .composer .btn-primary span { display: none; }
  .content-page { padding: 16px; }
  .admin-page { padding: 14px; }
  .admin-header { align-items: flex-start; }
  .section-heading { align-items: flex-start; }
  .form-grid,.choice-columns,.permission-groups { grid-template-columns: 1fr; }
  .auth-form-wrap { padding: 22px; }
}

/* CRM-LRM Design System v1 ------------------------------------------------ */
:root {
  --font-body: "DM Sans", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;
  --font-display: "Manrope", var(--font-body);
  --space-1: 4px; --space-2: 8px; --space-3: 12px; --space-4: 16px;
  --space-5: 20px; --space-6: 24px; --space-8: 32px; --space-10: 40px;
  --radius-sm: 8px; --radius-md: 12px; --radius-lg: 18px; --radius-xl: 24px;
  --canvas: #070b14; --canvas-soft: #0a101b;
  --surface-solid: #0d1320; --surface-raised: #121a2a; --surface-subtle: #182235;
  --border: rgba(148,163,184,.16); --border-strong: rgba(148,163,184,.28);
  --text-strong: #f7f9fc; --text-body: #d7deea; --text-muted: #8d9bb0;
  --primary: #36d399; --primary-hover: #4adea8; --primary-contrast: #04100d;
  --info: #38bdf8; --success: #34d399; --warning-ui: #fbbf24; --danger-ui: #fb7185;
  --focus-ring: 0 0 0 3px rgba(54,211,153,.25);
  --elevation-1: 0 8px 28px rgba(0,0,0,.16);
  --elevation-2: 0 24px 70px rgba(0,0,0,.32);
}

:root[data-theme="light"] {
  color-scheme: light;
  --bg: #f4f7fb; --canvas: #f4f7fb; --canvas-soft: #eef3f8;
  --surface: #ffffff; --surface-2: #ffffff; --surface-3: #edf2f7;
  --surface-solid: #ffffff; --surface-raised: #ffffff; --surface-subtle: #edf2f7;
  --line: rgba(51,65,85,.14); --border: rgba(51,65,85,.14); --border-strong: rgba(51,65,85,.25);
  --text: #142033; --text-strong: #101827; --text-body: #334155; --muted: #64748b; --text-muted: #64748b;
  --shadow: 0 24px 70px rgba(15,23,42,.12); --elevation-1: 0 8px 28px rgba(15,23,42,.08); --elevation-2: 0 24px 70px rgba(15,23,42,.14);
}

html { scroll-behavior: smooth; }
body { font-family: var(--font-body); color: var(--text-strong); line-height: 1.5; }
h1,h2,h3,h4,.title,.brand-title { font-family: var(--font-display); text-wrap: balance; }
a { color: inherit; }
::selection { background: rgba(54,211,153,.28); }
:focus-visible { outline: 2px solid var(--primary); outline-offset: 2px; }
button:disabled, input:disabled, select:disabled, textarea:disabled { cursor: not-allowed; opacity: .55; }

.btn-primary,.btn-secondary,.icon-btn,.mode,.admin-tab,.nav-btn { min-height: 42px; border-radius: var(--radius-md); }
.btn-primary { background: linear-gradient(135deg,var(--primary),#10b981); color: var(--primary-contrast); }
.btn-primary:active,.btn-secondary:active,.icon-btn:active { transform: translateY(1px); }
.field { min-height: 42px; color: var(--text-strong); background: var(--canvas-soft); border-color: var(--border); }
.field:hover { border-color: var(--border-strong); }
.field:focus { border-color: var(--primary); box-shadow: var(--focus-ring); }
.field:invalid:not(:placeholder-shown) { border-color: var(--danger-ui); }
.form-label span { color: var(--text-body); }
.helper,.user-email,.role-card p,.section-heading p { color: var(--text-muted); }

.card,.panel,.role-card,.dialog { background: var(--surface-solid); border-color: var(--border); box-shadow: var(--elevation-1); }
.role-card:hover { border-color: rgba(54,211,153,.42); box-shadow: var(--elevation-1); }
.panel-head,.users-table th { background: color-mix(in srgb,var(--surface-subtle) 38%,transparent); }
.users-table th { color: var(--text-muted); }
.users-table td { border-color: var(--border); color: var(--text-body); }
.users-table tbody tr { transition: background-color .16s ease; }
.users-table tbody tr:hover { background: color-mix(in srgb,var(--primary) 6%,transparent); }
.pagination-bar { min-height:64px;padding:12px 16px;border-top:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;gap:16px;background:var(--surface-solid); }
.pagination-actions { display:flex;align-items:center;gap:9px; }
.page-indicator { min-width:96px;text-align:center;color:var(--text-muted);font-size:11px;font-weight:700; }
.mini-pill { background: var(--surface-subtle); border-color: var(--border); color: var(--text-body); }
.notice { color: var(--text-body); background: color-mix(in srgb,var(--info) 10%,var(--surface-solid)); }
.auth-error { color: var(--danger-ui); background: color-mix(in srgb,var(--danger-ui) 9%,var(--surface-solid)); }
.toast { color: #fff; }

.crm-shell,.admin-page { background: radial-gradient(circle at 78% -10%,rgba(53,184,255,.08),transparent 31%),var(--canvas); }
.sidebar,.topbar,.conversation-sidebar,.customer-panel,.conversation-header,.composer { background: color-mix(in srgb,var(--surface-solid) 91%,transparent); border-color: var(--border); }
.chat-column,.message-bg { background-color: var(--canvas-soft); }
.nav-btn,.channel-pill { color: var(--text-muted); }
.nav-btn:hover,.channel-pill:hover,.admin-tab:hover { color: var(--text-strong); background: color-mix(in srgb,var(--text-strong) 5%,transparent); }
.user-chip,.order { background: var(--canvas-soft); border-color: var(--border); }
.avatar-initial { background: var(--surface-subtle); }
.bubble.customer { background: var(--surface-subtle); color: var(--text-strong); }
.bubble.agent { color: #fff; }
.dialog::backdrop { background: rgba(2,6,23,.66); backdrop-filter: blur(7px); }

.auth-page { background: var(--canvas); }
.auth-form-wrap { background: var(--canvas); position: relative; }
.auth-card { padding: clamp(24px,4vw,40px); border: 1px solid var(--border); border-radius: var(--radius-xl); background: var(--surface-solid); box-shadow: var(--elevation-2); }
.auth-card .lead { color: var(--text-muted); }
.auth-visual { background: radial-gradient(circle at 25% 15%,rgba(54,211,153,.2),transparent 30%),radial-gradient(circle at 85% 70%,rgba(53,184,255,.16),transparent 35%),#0b111d; color:#f7f9fc; }
.theme-floating { position: fixed; z-index: 50; top: 20px; right: 20px; }
.theme-label { display: inline; }

.status-badge { display:inline-flex;align-items:center;gap:6px;border-radius:999px;padding:5px 9px;font-size:11px;font-weight:700;background:var(--surface-subtle); }
.status-badge.success { color:var(--success); }.status-badge.warning { color:var(--warning-ui); }.status-badge.danger { color:var(--danger-ui); }
.skeleton { border-radius:var(--radius-sm);background:linear-gradient(90deg,var(--surface-subtle),var(--surface-raised),var(--surface-subtle));background-size:200% 100%;animation:skeleton 1.4s infinite; }
@keyframes skeleton { to { background-position:-200% 0; } }

@media (max-width: 760px) {
  .admin-header { flex-direction: column; }
  .admin-actions { width:100%; flex-wrap:wrap; }
  .admin-actions > * { flex:1 1 auto; }
  .admin-tabs { position:sticky;top:0;z-index:10;background:var(--surface-solid);box-shadow:var(--elevation-1); }
  .section-heading { flex-direction:column;align-items:stretch; }
  .section-heading .btn-primary { width:100%; }
  .users-table { min-width:760px; }
  .table-scroll { border-radius:var(--radius-lg); }
  .dialog { max-height:92dvh;overflow:auto; }
  .theme-label { display:none; }
}

@media (prefers-reduced-motion: reduce) {
  *,*::before,*::after { animation-duration:.01ms !important;animation-iteration-count:1 !important;scroll-behavior:auto !important;transition-duration:.01ms !important; }
}

/* Product shell v5: scalable enterprise interface ------------------------ */
:root {
  --primary: #5b7cfa; --primary-hover: #7490ff; --primary-contrast: #ffffff;
  --accent: #22c7a9; --canvas: #080b12; --canvas-soft: #0c111b;
  --surface-solid: #111722; --surface-raised: #151d2b; --surface-subtle: #1b2535;
  --focus-ring: 0 0 0 3px rgba(91,124,250,.28);
}
:root[data-theme="light"] { --primary:#315ee7;--primary-hover:#244fcf;--accent:#087f6a;--canvas:#f3f5f9;--canvas-soft:#e9edf4;--surface-subtle:#edf1f7; }

.crm-shell { grid-template-columns: 272px minmax(0,1fr); background:var(--canvas); }
.sidebar { padding:18px 14px; background:var(--surface-solid); border-right:1px solid var(--border); }
.brand-lockup { padding:2px 8px 17px; }
.brand { width:38px;height:38px;border-radius:10px;background:var(--text-strong);color:var(--surface-solid);box-shadow:none; }
.brand-title { font-size:14px;letter-spacing:-.02em; }
.brand-subtitle { font-size:10px; }
.env-badge { color:var(--accent); }
.env-badge::before { background:var(--accent);box-shadow:none; }
.workspace-switcher { display:grid;grid-template-columns:32px minmax(0,1fr) 12px;align-items:center;gap:9px;margin:0 4px 20px;padding:10px;border:1px solid var(--border);border-radius:12px;background:var(--canvas-soft); }
.workspace-switcher strong,.workspace-switcher small { display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis; }
.workspace-switcher strong { font-size:11px; }.workspace-switcher small { color:var(--text-muted);font-size:9px;margin-top:1px; }
.workspace-switcher>i { color:var(--text-muted);font-size:9px; }
.workspace-mark { width:32px;height:32px;display:grid;place-items:center;border-radius:9px;background:rgba(91,124,250,.14);color:#8da2ff;font-size:10px;font-weight:800; }
.nav-label { padding:5px 12px 7px;color:var(--text-muted);font-size:9px;letter-spacing:.11em; }
.nav-label-spaced { margin-top:19px; }
.side-nav { gap:3px; }
.nav-btn,.module-nav { min-height:40px;border:0;border-radius:9px;padding:0 11px;display:grid;grid-template-columns:20px minmax(0,1fr) auto;align-items:center;gap:9px;text-align:left;font-size:11px;font-weight:650; }
.nav-btn { color:var(--text-muted);background:transparent;cursor:pointer; }
.nav-btn i,.module-nav i { text-align:center;font-size:12px; }
.nav-btn:hover { transform:none;background:var(--surface-subtle); }
.nav-btn.active { color:#fff;background:#315ee7;box-shadow:0 6px 18px rgba(49,94,231,.22); }
.module-nav { color:color-mix(in srgb,var(--text-muted) 72%,transparent);background:transparent;cursor:default; }
.module-nav small { padding:2px 5px;border:1px solid var(--border);border-radius:5px;font-size:7px;text-transform:uppercase;letter-spacing:.05em; }
.future-modules { opacity:.78; }
.sidebar-bottom { gap:7px;padding-top:18px; }
.user-chip { border-radius:10px;padding:9px;background:transparent; }
.topbar { min-height:68px;padding:10px 20px;background:var(--surface-solid);backdrop-filter:none; }
.page-heading h1 { font-size:16px; }.page-heading p { font-size:10px; }
.top-actions { gap:7px; }.top-actions .field { max-width:190px; }
.btn-primary { background:var(--primary);box-shadow:none; }.btn-primary:hover { background:var(--primary-hover);filter:none; }
.btn-secondary,.icon-btn,.mode { background:var(--surface-raised); }
.field { background:var(--canvas-soft); }

.inbox-layout { grid-template-columns:340px minmax(420px,1fr) 304px;gap:0; }
.conversation-sidebar,.customer-panel,.conversation-header,.composer { background:var(--surface-solid); }
.sidebar-search { padding:13px; }.conversation-list { padding:8px; }
.conversation { padding:12px;border-radius:10px;margin-bottom:3px; }
.conversation:hover { background:var(--surface-raised); }
.conversation.active { background:rgba(91,124,250,.11);border-color:rgba(91,124,250,.22); }
.channel-pill { border-radius:7px;padding:5px 8px; }.channel-pill.active { color:#aab8ff;border-color:rgba(91,124,250,.25);background:rgba(91,124,250,.1); }
.chat-column,.message-bg { background-color:var(--canvas-soft); }
.message-bg { background-image:radial-gradient(rgba(148,163,184,.08) .65px,transparent .65px);background-size:18px 18px; }
.conversation-header { min-height:68px; }.message-stream { padding:24px; }
.bubble { border-radius:13px;box-shadow:none;border:1px solid var(--border); }
.bubble.customer { background:var(--surface-solid); }.bubble.agent { background:#315ee7;border-color:#315ee7; }
.composer { padding:12px 16px; }.customer-panel { padding:20px; }
.order { border-radius:10px; }

.admin-page { background:var(--canvas);padding:32px; }
.admin-wrap { max-width:1320px; }.admin-header { margin-bottom:26px;padding-bottom:22px;border-bottom:1px solid var(--border); }
.admin-tabs { border-radius:13px;padding:5px;box-shadow:none; }
.admin-tab { border-radius:8px; }.admin-tab.active { background:var(--primary);color:#fff; }
.panel,.role-card { border-radius:14px;box-shadow:none; }.role-card { padding:19px; }
.section-heading { margin:28px 0 18px; }.section-heading h2 { font-size:21px; }
.users-table th { height:44px; }.users-table td { height:60px; }
.dialog { border-radius:16px; }.dialog-head { position:sticky;top:0;background:var(--surface-solid);z-index:2;padding-bottom:8px; }

.auth-page { grid-template-columns:minmax(560px,1.15fr) minmax(440px,.85fr); }
.auth-visual { padding:42px 48px;background:linear-gradient(145deg,#0c1220 0%,#101a31 58%,#142a35 100%); }
.auth-visual::after { opacity:.12;background-size:48px 48px; }
.auth-copy { max-width:660px; }
.auth-copy h2 { max-width:640px;font-size:clamp(42px,5vw,70px);line-height:1.02;letter-spacing:-.06em;margin:24px 0 22px; }
.auth-copy p { max-width:590px;color:#aab5c8;font-size:16px; }
.product-chip { display:inline-flex;align-items:center;gap:8px;padding:7px 10px;border:1px solid rgba(255,255,255,.13);border-radius:999px;background:rgba(255,255,255,.05);font-size:10px;font-weight:700;color:#dbe4f3; }
.product-chip i { color:#8da2ff; }
.auth-proof { display:grid;grid-template-columns:repeat(3,1fr);gap:1px;margin-top:38px;overflow:hidden;border:1px solid rgba(255,255,255,.1);border-radius:14px;background:rgba(255,255,255,.1); }
.auth-proof>div { padding:17px;background:rgba(10,16,29,.82); }.auth-proof strong,.auth-proof span { display:block; }.auth-proof strong { font-family:var(--font-display);font-size:19px; }.auth-proof span { margin-top:3px;color:#8492a8;font-size:9px; }
.auth-footer { position:relative;z-index:1;display:flex;justify-content:space-between;color:#77859b;font-size:9px; }
.auth-footer i { color:#42d4b5;margin-right:5px; }
.auth-form-wrap { padding:clamp(28px,5vw,72px); }
.auth-card { width:min(430px,100%);padding:0;border:0;background:transparent;box-shadow:none; }
.auth-card-icon { width:46px;height:46px;display:grid;place-items:center;margin-bottom:24px;border-radius:13px;background:rgba(91,124,250,.12);color:#8298ff;font-size:17px; }
.auth-card h1 { font-size:38px;margin:8px 0 9px; }.auth-card .lead { margin-bottom:32px; }
.auth-card .field { min-height:50px;border-radius:10px;background:var(--surface-solid); }.auth-card .btn-primary { min-height:50px!important;border-radius:10px; }
.theme-floating { background:color-mix(in srgb,var(--surface-solid) 88%,transparent);backdrop-filter:blur(12px); }

@media (max-width:1180px) { .crm-shell{grid-template-columns:248px minmax(0,1fr)}.inbox-layout{grid-template-columns:310px minmax(390px,1fr)} }
@media (max-width:860px) { .workspace-switcher,.future-modules,.nav-label-spaced{display:none}.auth-page{grid-template-columns:1fr}.auth-visual{display:none}.auth-card{padding:30px;border:1px solid var(--border);background:var(--surface-solid);box-shadow:var(--elevation-1)} }
@media (max-width:650px) { .crm-shell{display:block}.workspace-switcher,.future-modules,.nav-label-spaced{display:grid}.admin-page{padding:14px}.auth-card{padding:24px}.auth-card h1{font-size:30px}.top-actions .theme-label{display:none} }
@media (max-width:520px) { .pagination-bar{align-items:stretch;flex-direction:column}.pagination-actions{display:grid;grid-template-columns:1fr auto 1fr}.pagination-actions .btn-secondary{padding:0 9px} }

.integration-summary { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:24px 0; }
.summary-card { padding:18px;border:1px solid var(--border);border-radius:14px;background:var(--surface-solid); }
.summary-card span,.summary-card strong { display:block; }.summary-card span { color:var(--text-muted);font-size:11px; }.summary-card strong { margin-top:7px;font:700 28px var(--font-display); }
.integration-grid { display:grid;grid-template-columns:repeat(auto-fill,minmax(330px,1fr));gap:14px; }
.integration-card { padding:19px;border:1px solid var(--border);border-radius:14px;background:var(--surface-solid); }
.integration-card-head,.integration-actions { display:flex;align-items:center;justify-content:space-between;gap:12px; }
.channel-icon { width:42px;height:42px;display:grid;place-items:center;border-radius:12px;background:var(--surface-subtle);font-size:20px;color:var(--primary); }
.connection-status { padding:5px 8px;border-radius:999px;background:var(--surface-subtle);color:var(--text-muted);font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.06em; }
.connection-status.connected { color:var(--success);background:color-mix(in srgb,var(--success) 10%,transparent); }.connection-status.attention { color:var(--warning-ui); }.connection-status.disabled { color:var(--danger-ui); }
.sync-row-actions { display:flex; align-items:center; gap:6px; flex-wrap:wrap; }
.sync-status-wrap { display:flex; align-items:center; gap:5px; flex-wrap:wrap; max-width:220px; }
.sync-kpi-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px;margin:16px 0}
.bulk-import-dialog{width:min(980px,calc(100% - 24px))}
.product-summary-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}
.product-summary-header h2{margin:0;font-size:18px}
.product-summary-facts{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:10px;margin-bottom:14px}
.product-summary-fact{background:var(--surface-solid,#141c2e);border:1px solid var(--line);border-radius:10px;padding:8px 10px}
.product-summary-fact small{display:block;color:var(--text-muted);font-size:9.5px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;margin-bottom:2px}
.product-summary-fact span{font-size:13px;font-weight:600}
.product-summary-description{color:var(--text-muted);font-size:12.5px;line-height:1.5;margin:0 0 14px}
.product-summary h3{font-size:12px;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);margin:18px 0 8px}
.product-summary-attrs{display:flex;flex-wrap:wrap;gap:6px}
.sync-kpi-tile{cursor:pointer;background:var(--surface-solid,#141c2e);border:1px solid var(--line);border-radius:14px;padding:14px 16px;display:flex;align-items:center;gap:12px;text-align:left;font:inherit;color:inherit}
.sync-kpi-tile strong{display:block;font-size:20px;line-height:1.2}
.sync-kpi-tile small{color:var(--text-muted);font-size:10.5px}
.sync-kpi-tile:hover{border-color:rgba(148,163,184,.4)}
.sync-kpi-tile.active{border-color:var(--primary,#818cf8);box-shadow:0 0 0 1px var(--primary,#818cf8)}
.sync-kpi-tile[data-sync-filter="connected"] .brand-stat-icon{background:color-mix(in srgb,var(--success) 15%,transparent);color:var(--success)}
.sync-kpi-tile[data-sync-filter="stale"] .brand-stat-icon,.sync-kpi-tile[data-sync-filter="error"] .brand-stat-icon{background:rgba(234,179,8,.15);color:#facc15}
.sync-kpi-tile[data-sync-filter="error"] .brand-stat-icon{background:color-mix(in srgb,var(--danger-ui) 15%,transparent);color:var(--danger-ui)}
.sync-kpi-tile[data-sync-filter="draft"] .brand-stat-icon{background:rgba(148,163,184,.15);color:var(--text-muted)}
@media(max-width:760px){.sync-kpi-row{grid-template-columns:repeat(2,1fr)}}
.integration-card h3 { margin:16px 0 3px;font-size:15px; }.integration-card>p { margin:0;color:var(--text-muted);font-size:11px; }
.integration-card dl { margin:17px 0;display:grid;grid-template-columns:1fr 1fr;gap:10px; }.integration-card dl div { padding:10px;border-radius:9px;background:var(--canvas-soft); }.integration-card dt { color:var(--text-muted);font-size:8px;text-transform:uppercase;letter-spacing:.06em; }.integration-card dd { margin:4px 0 0;font-size:10px; }
.webhook-copy>span { display:block;margin-bottom:6px;color:var(--text-muted);font-size:9px;font-weight:700; }.webhook-copy>div { display:flex;gap:6px; }.webhook-copy .field { width:100%;font-size:9px; }
.integration-actions { margin-top:15px;padding-top:14px;border-top:1px solid var(--border);flex-wrap:wrap; }.integration-actions .field { min-width:130px;flex:1 1 auto; }.integration-actions button { flex:1 1 auto;white-space:nowrap; }
.integration-error { margin:0 0 12px;padding:9px;border-radius:8px;color:var(--danger-ui);background:color-mix(in srgb,var(--danger-ui) 8%,transparent);font-size:10px; }
.cat-tree{padding:6px 0}
.cat-tree-children{margin-left:19px;padding-left:14px;border-left:1px solid var(--border)}
.cat-tree-row{display:flex;align-items:center;gap:10px;padding:9px 8px;border-radius:9px;flex-wrap:wrap}
.cat-tree-row:hover{background:var(--canvas-soft)}
.cat-tree-toggle{width:20px;height:20px;flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;background:none;border:none;color:var(--text-muted);cursor:pointer;border-radius:6px}
.cat-tree-toggle:hover{background:var(--surface-subtle)}
.cat-tree-toggle.leaf{visibility:hidden}
.cat-tree-name{display:flex;align-items:center;gap:8px;font-size:12px;font-weight:700;min-width:160px}
.cat-tree-meta{font-size:10px;color:var(--text-muted);margin-right:auto}
.cat-tree-actions{display:flex;gap:6px;margin-left:auto}
.empty-state { grid-column:1/-1;padding:64px 20px;text-align:center;border:1px dashed var(--border-strong);border-radius:16px;color:var(--text-muted); }.empty-state i { font-size:30px;color:var(--primary); }.empty-state h2 { color:var(--text-strong);font-size:18px; }
@media(max-width:700px){.integration-summary{grid-template-columns:1fr}.integration-grid{grid-template-columns:1fr}.integration-card dl{grid-template-columns:1fr}}

/* V13: workspace estable, bandeja adaptativa y paneles operativos */
html,body{height:100%;overflow:hidden}
html:has(body.management-page),body.management-page{height:auto;overflow-y:auto!important;overflow-x:hidden}
html:has(body.admin-page),body.admin-page{height:auto;overflow-y:auto!important;overflow-x:hidden}
.crm-shell,.workspace{height:100dvh;min-height:0;overflow:hidden}
.workspace{display:flex;flex-direction:column}
.sidebar{overflow:hidden;position:relative}.sidebar .side-nav{flex:0 1 auto;min-height:0;overflow-y:auto}.sidebar-bottom{margin-top:auto;flex:none}
.main-area{flex:1;min-height:0;overflow:hidden}.tab{height:100%;min-height:0}.content-page{overflow-y:auto;padding-bottom:32px}
.inbox-layout{height:100%;max-height:100%;min-height:0;min-width:0;overflow:hidden}
.conversation-sidebar,.chat-column,.customer-panel{height:100%;min-height:0;overflow:hidden}
.conversation-list,.customer-panel{overflow-y:auto;overscroll-behavior:contain}
.chat-column{display:grid!important;grid-template-rows:auto minmax(0,1fr) auto}
.conversation-header{min-width:0;flex-wrap:wrap}.conversation-controls{display:flex;gap:8px;min-width:0}.conversation-controls .field{max-width:190px}
.message-stream{min-width:0;min-height:0;overflow:auto hidden;overscroll-behavior:contain}
.bubble{min-width:0;max-width:min(72%,680px);overflow-wrap:anywhere;word-break:break-word}
.bubble>div:first-child,.message-text{max-width:100%;white-space:pre-wrap;overflow-wrap:anywhere}
.message-media{display:grid;gap:7px;color:inherit;text-decoration:none}.message-media img{display:block;width:auto;max-width:min(420px,100%);max-height:360px;border-radius:10px;object-fit:contain;background:#050811}.message-media span{font-size:10px;opacity:.72}
.composer{position:relative;z-index:4;flex:none}.composer form{min-width:0}.composer textarea{min-width:0;max-height:90px}
.metric-grid{display:grid;grid-template-columns:repeat(4,minmax(150px,1fr));gap:12px;margin:20px 0}
.metric-card{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px;border:1px solid var(--border);border-radius:14px;background:var(--surface-solid)}
.metric-card span,.metric-card strong{display:block}.metric-card span{color:var(--text-muted);font-size:10px}.metric-card strong{margin-top:6px;font:750 26px var(--font-display)}.metric-card>i{font-size:20px;opacity:.85}
.dashboard-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:14px}.card-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:18px}.card-heading h3{font-size:14px}.card-heading span{color:var(--text-muted);font-size:9px}
.daily-chart{height:220px;display:grid;grid-template-columns:repeat(7,1fr);gap:10px;align-items:end;padding-top:14px}.day-column{height:100%;display:grid;grid-template-rows:1fr auto;gap:8px;text-align:center}.day-bars{height:100%;display:flex;align-items:end;justify-content:center;gap:4px;border-bottom:1px solid var(--border)}.day-bars i,.day-bars b{display:block;width:min(18px,32%);min-height:4px;border-radius:5px 5px 0 0}.day-bars i{background:#5b7cfa}.day-bars b{background:#2dd4bf}.day-column>span{color:var(--text-muted);font-size:9px;text-transform:capitalize}
.channel-metrics{display:grid;gap:17px}.channel-row>div:first-child{display:flex;justify-content:space-between;font-size:11px}.progress{height:7px;margin:6px 0;border-radius:99px;background:var(--canvas-soft);overflow:hidden}.progress i{display:block;height:100%;border-radius:inherit}.channel-row small{color:var(--text-muted);font-size:8px}
.responsive-table{max-width:100%;overflow:auto}.responsive-table table{width:100%;min-width:620px;border-collapse:collapse}.responsive-table th,.responsive-table td{padding:12px 10px;border-bottom:1px solid var(--border);text-align:left;font-size:10px}.responsive-table th{color:var(--text-muted);font-size:8px;text-transform:uppercase;letter-spacing:.06em}
.team-summary{display:grid;grid-template-columns:repeat(4,minmax(130px,1fr));gap:12px;margin:20px 0}.team-stat{padding:16px;border:1px solid var(--border);border-radius:13px;background:var(--surface-solid)}.team-stat span,.team-stat strong{display:block}.team-stat span{color:var(--text-muted);font-size:9px}.team-stat strong{margin-top:5px;font:750 24px var(--font-display)}
.agent-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:13px}.agent-card{min-width:0;padding:17px;border:1px solid var(--border);border-radius:14px;background:var(--surface-solid)}.agent-card-head{display:flex;align-items:center;gap:11px}.agent-avatar{width:44px;height:44px;border-radius:50%;object-fit:cover}.agent-identity{min-width:0;flex:1}.agent-identity strong,.agent-identity span,.agent-identity small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.agent-identity strong{font-size:12px}.agent-identity span{color:var(--text-muted);font-size:9px}.agent-identity small{margin-top:2px;color:#8291aa;font-size:8px}.presence{display:inline-flex;align-items:center;gap:5px;padding:4px 7px;border-radius:99px;background:var(--surface-subtle);font-size:8px;font-weight:750}.presence:before{content:'';width:6px;height:6px;border-radius:50%}.presence.online:before{background:#34d399}.presence.busy:before{background:#f59e0b}.presence.offline:before{background:#64748b}.agent-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin:15px 0}.agent-stats div{padding:9px;border-radius:9px;background:var(--canvas-soft)}.agent-stats dt{color:var(--text-muted);font-size:8px}.agent-stats dd{margin:3px 0 0;font-size:11px;font-weight:700}.agent-card-footer{display:flex;align-items:center;justify-content:space-between;gap:8px;color:var(--text-muted);font-size:8px}.agent-card-footer>span{min-width:0;overflow:hidden;text-overflow:ellipsis}.agent-status{min-height:32px!important;width:118px;font-size:9px}
.team-legend{display:flex;gap:12px;color:var(--text-muted);font-size:9px}.team-legend i{display:inline-block;width:7px;height:7px;margin-right:4px;border-radius:50%}.dot-online{background:#34d399}.dot-busy{background:#f59e0b}.dot-offline{background:#64748b}
@media(max-width:1280px){.metric-grid{grid-template-columns:repeat(2,minmax(150px,1fr))}.dashboard-grid{grid-template-columns:1fr}.inbox-layout{grid-template-columns:300px minmax(0,1fr)}.customer-panel{display:none}.bubble{max-width:82%}}
@media(max-width:900px){.crm-shell{grid-template-columns:76px minmax(0,1fr)}.sidebar{padding:14px 9px}.sidebar .brand-lockup>div:last-child,.sidebar .nav-label,.sidebar .nav-btn span,.sidebar .nav-btn small,.sidebar .module-nav span,.sidebar .module-nav small,.sidebar-bottom span,.sidebar-bottom .user-chip>div:last-child{display:none}.sidebar .nav-btn,.sidebar .module-nav{display:grid;grid-template-columns:1fr;place-items:center}.sidebar-bottom .btn-secondary{justify-content:center}.inbox-layout{grid-template-columns:270px minmax(0,1fr)}.top-actions #simulateBtn span{display:none}}
@media(max-width:650px){html,body{overflow:hidden}.crm-shell{display:block}.sidebar{position:fixed;width:250px;inset:0 auto 0 0;transform:translateX(-102%);z-index:50}.menu-open .sidebar{transform:translateX(0)}.sidebar .brand-lockup>div:last-child,.sidebar .nav-label,.sidebar .nav-btn span,.sidebar .nav-btn small,.sidebar .module-nav span,.sidebar .module-nav small,.sidebar-bottom span,.sidebar-bottom .user-chip>div:last-child{display:block}.sidebar .nav-btn,.sidebar .module-nav{grid-template-columns:20px minmax(0,1fr) auto;place-items:initial}.workspace{height:100dvh}.topbar{min-height:58px;padding:8px 10px}.page-heading p,.top-actions #simulateBtn,.top-actions .icon-btn:last-child{display:none}.top-actions .field{max-width:120px}.inbox-layout{display:grid!important;grid-template-columns:1fr}.conversation-sidebar{width:100%}.chat-column{display:none!important;width:100%}.chat-open .conversation-sidebar{display:none}.chat-open .chat-column{display:grid!important}.conversation-header{padding:9px}.conversation-controls{width:100%}.conversation-controls .field{flex:1;max-width:none}.message-stream{padding:12px}.bubble{max-width:92%}.composer{padding:8px}.composer-modes{margin-bottom:6px}.composer textarea{max-height:68px}.metric-grid,.team-summary{grid-template-columns:repeat(2,1fr)}.content-page{padding:16px}.team-legend{display:none}.agent-grid{grid-template-columns:1fr}}

/* Professional inbox v14 */
.top-actions{background:transparent!important;border:0!important;padding:0!important;box-shadow:none!important}.top-actions>[data-theme-toggle]{width:auto;min-width:92px;height:42px;padding:0 14px;border:1px solid var(--border);border-radius:13px;background:var(--surface);color:var(--text);font-weight:700}.top-actions>[data-theme-toggle]:hover{background:var(--surface-2);border-color:var(--primary)}
.inbox-views{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;padding-top:10px}.inbox-view{display:flex;align-items:center;justify-content:space-between;gap:6px;padding:8px 10px;border:1px solid var(--border);border-radius:10px;background:var(--surface);color:var(--muted);font-size:12px;font-weight:700}.inbox-view:hover,.inbox-view.active{background:color-mix(in srgb,var(--primary) 14%,var(--surface));border-color:var(--primary);color:var(--text)}.inbox-view b{min-width:20px;padding:2px 6px;border-radius:999px;background:var(--surface-2);color:var(--text);font-size:10px;text-align:center}.filter-toggle{width:100%;display:flex;align-items:center;gap:8px;margin-top:9px;padding:9px 11px;border-radius:10px;border:1px solid var(--border);background:var(--surface);color:var(--muted);font-weight:700}.filter-toggle b{margin-left:auto;color:var(--primary)}.advanced-filters{display:grid;gap:7px;padding-top:8px}.advanced-filters .field{min-height:38px}.filter-actions{display:flex;gap:7px}.filter-actions>*{flex:1}.bulk-toolbar{display:flex;align-items:center;gap:7px;padding:8px 10px;border-bottom:1px solid var(--border);background:var(--surface-2)}.bulk-toolbar strong{font-size:11px;white-space:nowrap}.bulk-toolbar .field{min-width:0;height:36px}.bulk-toolbar .btn-primary{height:36px;padding:0 11px}.conversation-item{position:relative}.conversation-check{display:grid;place-items:center;flex:0 0 20px}.conversation-check input{accent-color:var(--primary)}.conversation-item.unread{border-left:3px solid var(--primary);background:color-mix(in srgb,var(--primary) 8%,var(--surface))}.unread-dot{width:8px;height:8px;border-radius:50%;background:var(--primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--primary) 18%,transparent)}.conversation-meta,.conversation-footer{display:flex;align-items:center;gap:7px;flex-wrap:wrap}.priority-badge,.status-badge,.sla-badge,.tag-chip{display:inline-flex;align-items:center;padding:2px 7px;border-radius:999px;font-size:9px;font-weight:800}.priority-badge.high,.priority-badge.urgent,.sla-badge.overdue{background:#ef444422;color:#ef4444}.status-badge{background:var(--surface-2);color:var(--muted)}.tag-chip{background:#2563eb18;color:#60a5fa}.customer-history{margin-top:18px;padding-top:14px;border-top:1px solid var(--border)}.customer-history h4{font-weight:800;margin-bottom:9px}.history-item{display:grid;grid-template-columns:12px 1fr;gap:8px;margin:9px 0;color:var(--muted);font-size:11px}.history-item i{width:8px;height:8px;margin-top:4px;border-radius:50%;background:var(--primary)}
.chat-column{min-height:0;overflow:hidden}.message-stream{min-height:0;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain}.composer{position:relative;z-index:3;background:var(--surface);border-top:1px solid var(--border)}
@media(max-width:1100px){.customer-panel{display:none}.inbox-layout{grid-template-columns:320px minmax(0,1fr)}.inbox-views{grid-template-columns:1fr 1fr}}
@media(max-width:650px){.top-actions>[data-theme-toggle]{min-width:42px;width:42px;padding:0}.top-actions .theme-label{display:none}.inbox-views{grid-template-columns:repeat(4,max-content);overflow-x:auto;padding-bottom:3px}.advanced-filters{grid-template-columns:1fr 1fr}.filter-actions{grid-column:1/-1}}

/* V13.1: los paneles inactivos deben ganar sobre sus layouts y el historial debe desplazarse verticalmente. */
.main-area>.tab.hidden{display:none!important}
.message-stream{overflow-x:hidden;overflow-y:auto;scrollbar-gutter:stable;touch-action:pan-y}

/* V14.1: encabezado coherente en temas claro y oscuro. */
.top-actions{display:flex!important;align-items:center;gap:8px!important;background:transparent!important;border:0!important;padding:0!important;box-shadow:none!important}
.top-actions>[data-theme-toggle],.top-actions>#simulateBtn{display:inline-flex!important;align-items:center;justify-content:center;gap:8px;height:42px;margin:0!important;padding:0 14px;border:1px solid var(--border)!important;border-radius:13px!important;background:var(--surface-raised)!important;color:var(--text-strong)!important;box-shadow:none!important;font-weight:700}
.top-actions>[data-theme-toggle]{width:auto;min-width:92px}
.top-actions>[data-theme-toggle]:hover,.top-actions>#simulateBtn:hover{background:var(--surface-subtle)!important;border-color:var(--primary)!important}
.inbox-view,.filter-toggle{background:var(--surface-solid)!important;color:var(--text-muted)!important}
.inbox-view:hover,.inbox-view.active{background:color-mix(in srgb,var(--primary) 14%,var(--surface-solid))!important;color:var(--text-strong)!important}
.inbox-view b,.bulk-toolbar,.status-badge{background:var(--surface-subtle)!important;color:var(--text-strong)!important}
.conversation-item.unread{background:color-mix(in srgb,var(--primary) 8%,var(--surface-solid))!important}
.composer{background:var(--surface-solid)!important}
@media(max-width:650px){.top-actions>[data-theme-toggle]{min-width:42px;width:42px;padding:0}.top-actions .theme-label{display:none}}

/* V15: bandeja compacta, progresiva y centrada en la conversación. */
.inbox-layout{grid-template-columns:minmax(300px,350px) minmax(520px,1fr) minmax(230px,270px)}
.conversation-sidebar{background:var(--surface-solid);border-right:1px solid var(--border);min-width:0;overflow:hidden}
.conversation-sidebar>.p-4{padding:14px!important}
#search{height:46px;border-radius:14px;background:var(--surface-subtle);border-color:transparent;font-size:14px}
.channel-filters{display:flex;gap:5px;overflow-x:auto;padding:10px 0 2px;scrollbar-width:none}.channel-filters::-webkit-scrollbar{display:none}
.channel-filter{flex:0 0 auto;padding:7px 10px!important;border-radius:9px!important;font-size:10px!important}
.inbox-views{display:block;padding-top:11px}
.inbox-view-primary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:5px}
.inbox-view{min-width:0;height:34px;padding:0 7px!important;border-color:transparent!important;border-radius:9px!important;background:transparent!important;font-size:10px!important}
.inbox-view span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.inbox-view b{min-width:18px;padding:2px 5px;font-size:9px}
.inbox-view:hover{background:var(--surface-subtle)!important}.inbox-view.active{background:color-mix(in srgb,var(--primary) 15%,var(--surface-solid))!important;border-color:color-mix(in srgb,var(--primary) 45%,transparent)!important}
.inbox-view-details{margin-top:7px}.inbox-view-details summary{display:flex;align-items:center;justify-content:space-between;padding:5px 8px;color:var(--text-muted);font-size:10px;font-weight:750;cursor:pointer;list-style:none}.inbox-view-details summary::-webkit-details-marker{display:none}.inbox-view-details summary i{font-size:9px;transition:transform .2s ease}.inbox-view-details[open] summary i{transform:rotate(180deg)}.inbox-view-details>div{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:5px;padding-top:4px}
.filter-toggle{height:38px;margin-top:8px;padding:0 11px;border-color:transparent!important;background:var(--surface-subtle)!important;border-radius:10px;font-size:11px}.filter-toggle:hover{border-color:var(--primary)!important}
.advanced-filters{position:absolute;z-index:20;left:12px;right:12px;display:grid;gap:8px;padding:12px;border:1px solid var(--border);border-radius:14px;background:var(--surface-raised);box-shadow:0 18px 45px #0003}.advanced-filters.hidden{display:none!important}
.conversation-list{padding:7px!important;gap:3px!important;background:var(--surface-solid)}
.conversation{position:relative;display:grid!important;grid-template-columns:42px minmax(0,1fr);align-items:center;gap:10px;min-height:76px;margin:0!important;padding:10px!important;border:1px solid transparent!important;border-radius:13px!important;background:transparent!important;transition:background .16s ease,border-color .16s ease,transform .16s ease}
.conversation:hover{background:var(--surface-subtle)!important;transform:translateX(2px)}.conversation.active{background:color-mix(in srgb,var(--primary) 11%,var(--surface-solid))!important;border-color:color-mix(in srgb,var(--primary) 44%,transparent)!important;box-shadow:inset 3px 0 0 var(--primary)}.conversation.unread{background:transparent!important;border-left-color:transparent!important}.conversation.unread .conversation-title strong{color:var(--text-strong)}
.conversation-avatar{width:42px;height:42px;border-radius:13px;object-fit:cover;background:var(--surface-subtle)}
.conversation-copy{min-width:0}.conversation-title,.conversation-context{display:flex;align-items:center;gap:6px}.conversation-title{justify-content:space-between}.conversation-title strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text-strong);font-size:12px}.conversation-title>span{flex:none;color:var(--text-muted);font-size:9px}.conversation-copy>p{margin:3px 0 5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text-muted);font-size:10px}
.conversation-context{min-width:0;font-size:9px}.channel-label{display:inline-flex;align-items:center;gap:4px;font-weight:750}.assignee-label{margin-left:auto;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text-muted)}
.priority-indicator,.sla-indicator{flex:none;width:6px;height:6px;border-radius:50%;background:#f59e0b}.priority-indicator.urgent,.sla-indicator{background:#ef4444}.unread-count{flex:none;display:grid;place-items:center;min-width:17px;height:17px;padding:0 4px;border-radius:999px;background:var(--primary);color:#fff;font-size:8px}
.conversation-check{position:absolute;z-index:2;top:7px;left:7px;display:none;width:18px;height:18px;border-radius:5px;background:var(--surface-raised)}.conversation:hover .conversation-check,.conversation:has(.conversation-check input:checked) .conversation-check{display:grid}.conversation:has(.conversation-check input:checked){border-color:var(--primary)!important}
.conversation-empty{display:grid;place-items:center;gap:7px;padding:44px 20px;color:var(--text-muted);text-align:center}.conversation-empty i{font-size:24px;color:var(--primary)}.conversation-empty strong{color:var(--text-strong)}.conversation-empty span{font-size:11px}
.chat-column{background:var(--app-bg)}.conversation-header{min-height:72px;padding:11px 16px!important;background:var(--surface-solid)}.conversation-header>div:first-child{min-width:170px}.conversation-controls{display:flex;gap:7px}.conversation-controls .field{height:40px;min-width:118px;border-radius:11px;font-size:11px}.message-stream{padding:22px!important}.bubble{max-width:min(70%,620px);border-radius:16px!important;box-shadow:0 5px 16px #0000000b}.composer{padding:12px 16px!important}.composer .field{min-height:66px;border-radius:14px}.mode-tabs button{height:38px;padding:0 14px;border-radius:10px}.customer-panel{padding:20px!important;background:var(--surface-solid)}
@media(max-width:1280px){.inbox-layout{grid-template-columns:330px minmax(480px,1fr)}.customer-panel{display:none}}
@media(max-width:900px){.inbox-layout{grid-template-columns:310px minmax(420px,1fr)}.conversation-controls .field{min-width:100px;max-width:130px}.inbox-view-primary{grid-template-columns:repeat(2,minmax(0,1fr))}.inbox-view-details>div{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:650px){.conversation-sidebar{width:100%}.inbox-layout{display:block}.inbox-view-primary{grid-template-columns:repeat(4,minmax(90px,1fr));overflow-x:auto}.inbox-view-details>div{grid-template-columns:repeat(2,minmax(0,1fr))}.conversation-header{align-items:flex-start}.conversation-controls{width:100%;overflow-x:auto}.conversation-controls .field{flex:0 0 128px}.message-stream{padding:14px!important}.bubble{max-width:88%}}
/* === CRM-LRM Inbox v16: professional, focused workspace === */
.workspace,.main-area,#tab-inbox,.conversation-sidebar,.chat-panel{min-height:0}
.workspace{height:100dvh;overflow:hidden}
.main-area{height:100dvh;overflow:hidden}
.inbox-layout{height:calc(100dvh - 80px);display:grid;grid-template-columns:minmax(290px,330px) minmax(0,1fr);overflow:hidden;background:var(--bg)}
.conversation-sidebar{display:flex;flex-direction:column;overflow:hidden;border-right:1px solid var(--border);background:var(--surface-solid)}
.conversation-search{padding:16px 16px 10px}
.channel-navigation{padding:0 16px 12px;min-width:0}
.channel-navigation>span{display:block;margin-bottom:8px;color:var(--muted);font-size:11px;font-weight:800;letter-spacing:.09em;text-transform:uppercase}
.channel-row{display:flex!important;gap:6px;max-width:100%;overflow-x:auto!important;overscroll-behavior-x:contain;scroll-snap-type:x proximity;padding:2px 0 7px;scrollbar-width:thin}
.channel-row .channel-pill{flex:0 0 auto;scroll-snap-align:start;white-space:nowrap;border:1px solid transparent;border-radius:999px;padding:8px 12px;background:transparent;color:var(--muted);font-size:12px;font-weight:700}
.channel-row .channel-pill:hover{background:var(--surface);color:var(--text)}
.channel-row .channel-pill.active{background:var(--primary-soft);border-color:var(--primary);color:var(--primary)}
.inbox-views{padding:0 16px 12px;border-bottom:1px solid var(--border)}
.inbox-view-primary{display:grid!important;grid-template-columns:1fr 1fr;gap:7px}
.inbox-view{min-width:0!important;height:40px!important;display:grid!important;grid-template-columns:18px 1fr auto;align-items:center;gap:7px;padding:0 10px!important;border:1px solid var(--border)!important;border-radius:10px!important;background:transparent!important;color:var(--muted)!important;text-align:left}
.inbox-view:hover{background:var(--surface)!important;color:var(--text)!important}
.inbox-view.active{background:var(--primary-soft)!important;border-color:var(--primary)!important;color:var(--primary)!important}
.inbox-view span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:750}
.inbox-view b{display:grid;place-items:center;min-width:22px;height:22px;border-radius:999px;background:var(--surface);font-size:11px}
.inbox-view.active b{background:var(--primary);color:#fff}
.advanced-filters{position:absolute;z-index:30;top:64px;left:16px;right:16px;max-height:calc(100dvh - 150px);overflow:auto;padding:16px;border:1px solid var(--border);border-radius:14px;background:var(--surface-solid);box-shadow:0 18px 50px rgba(0,0,0,.24)}
.conversation-sidebar{position:relative}
.conversation-list{flex:1;min-height:0;overflow-y:auto!important;padding:8px 10px 18px}
.conversation{min-height:76px!important;margin:2px 0!important;padding:12px!important;border:1px solid transparent!important;border-radius:12px!important;background:transparent!important}
.conversation:hover{background:var(--surface)!important}
.conversation.active{background:var(--primary-soft)!important;border-color:color-mix(in srgb,var(--primary) 55%,transparent)!important}
.conversation-copy p{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin:4px 0!important}
.conversation-context{gap:7px!important;font-size:11px!important;white-space:nowrap;overflow:hidden}
.assignee-label{margin-left:auto;overflow:hidden;text-overflow:ellipsis;flex-shrink:1;min-width:0;font-size:11px!important;font-weight:700;color:var(--text-body)!important}
.conversation-check{opacity:0;transition:opacity .15s}
.conversation:hover .conversation-check,.conversation-check:has(input:checked){opacity:1}
.chat-panel{display:grid!important;grid-template-rows:auto minmax(0,1fr) auto;height:100%;min-width:0;overflow:hidden;background:var(--bg)}
.conversation-header{min-height:76px!important;padding:12px 18px!important;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;gap:14px}
.conversation-identity,.conversation-primary-actions{display:flex;align-items:center;gap:10px;min-width:0}
.conversation-identity>div{min-width:0}.conversation-identity strong,.conversation-identity .text-xs{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.conversation-primary-actions{flex:0 0 auto}
.status-control{width:auto!important;min-width:154px}
.take-conversation,.secondary-action{height:42px;border:0;border-radius:10px;padding:0 14px;background:var(--primary);color:#fff;font-weight:800}
.secondary-action{width:100%;background:var(--surface);color:var(--text);text-align:left}
.icon-action{display:grid;place-items:center;width:42px;height:42px;border:1px solid var(--border);border-radius:10px;background:var(--surface-solid);color:var(--muted);cursor:pointer}
.icon-action:hover{color:var(--text);border-color:var(--primary)}
.conversation-more{position:relative}.conversation-more summary{list-style:none}.conversation-more summary::-webkit-details-marker{display:none}
.conversation-more-panel{position:absolute;z-index:40;top:50px;right:0;width:280px;padding:14px;display:grid;gap:12px;border:1px solid var(--border);border-radius:14px;background:var(--surface-solid);box-shadow:0 18px 50px rgba(0,0,0,.26)}
.conversation-more-panel label{display:grid;gap:6px;color:var(--muted);font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.05em}
.message-stream{min-height:0!important;overflow-x:hidden!important;overflow-y:auto!important;padding:24px clamp(18px,4vw,54px)!important;scrollbar-gutter:stable}
.bubble{max-width:min(72%,680px)!important;overflow-wrap:anywhere}
.composer{position:relative;z-index:10;flex:0 0 auto;border-top:1px solid var(--border);background:var(--surface-solid);padding:12px 18px!important}
.composer-tools{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:8px;color:var(--muted);font-size:11px}
.composer-tool{border:0;background:transparent;color:var(--muted);font-weight:750;cursor:pointer}.composer-tool:hover{color:var(--primary)}
#messageForm{display:grid!important;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:10px}
#messageInput{min-height:50px!important;max-height:130px;resize:none}
.quick-reply-menu{position:absolute;z-index:50;left:18px;bottom:calc(100% + 10px);max-height:min(360px,60vh);overflow-y:auto;width:min(390px,calc(100% - 36px));padding:10px;display:grid;gap:5px;align-content:start;border:1px solid var(--border);border-radius:14px;background:var(--surface-solid);box-shadow:0 20px 60px rgba(0,0,0,.28)}
.quick-reply-menu strong{display:block;padding:8px 8px 6px;color:var(--muted);font-size:10px;font-weight:850;text-transform:uppercase;letter-spacing:.06em}
.quick-reply-menu strong:not(:first-child){margin-top:6px;padding-top:12px;border-top:1px solid var(--border)}
.quick-reply-menu button{display:flex;flex-direction:column;gap:2px;border:0;border-radius:9px;padding:9px 10px;background:transparent;color:var(--text);text-align:left;font-size:12px;cursor:pointer}
.quick-reply-menu button:hover{background:var(--surface)}
.quick-reply-menu button b{font-size:12px;font-weight:750}
.quick-reply-menu button span{font-size:11px;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.quick-reply-menu .helper{padding:10px 8px;font-size:12px;color:var(--muted)}
.quick-reply-manage-link{display:flex;align-items:center;gap:8px;margin-top:2px;padding:10px;border-top:1px solid var(--border);border-radius:9px;color:var(--primary);font-size:12px;font-weight:750;text-decoration:none}
.quick-reply-manage-link:hover{background:var(--primary-soft)}
.quick-reply-sequence-panel{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:8px;padding:9px 12px;border:1px solid var(--border);border-radius:12px;background:var(--surface);font-size:12px}
.quick-reply-sequence-panel button{font-size:12px;padding:6px 10px}
.quick-reply-suggestions{display:flex;align-items:center;flex-wrap:wrap;gap:6px;margin-bottom:8px;font-size:11px;color:var(--muted)}
.quick-reply-suggestions button{border:1px solid var(--border);border-radius:999px;padding:4px 10px;background:var(--surface);color:var(--text);font-size:11px;cursor:pointer}
.quick-reply-suggestions button:hover{background:var(--primary-soft);color:var(--primary)}
[id^="qrPanel-"].hidden{display:none!important}
#qrTabs button.btn-primary{pointer-events:none}
.customer-panel{display:none!important;min-width:0;overflow-y:auto;border-left:1px solid var(--border);background:var(--surface-solid);padding:18px!important}
.profile-open .inbox-layout{grid-template-columns:minmax(290px,330px) minmax(0,1fr) minmax(250px,290px)}
.profile-open .customer-panel{display:block!important}
.profile-panel-head{display:flex;align-items:center;justify-content:space-between}.profile-panel-head h3{font-size:18px;font-weight:850}
.mobile-only{display:none}
@media(max-width:1150px){.profile-open .inbox-layout{grid-template-columns:minmax(280px,315px) minmax(0,1fr)}.profile-open .customer-panel{position:fixed;z-index:80;top:80px;right:0;bottom:0;display:block!important;width:min(340px,92vw);box-shadow:-20px 0 60px rgba(0,0,0,.25)}}
@media(max-width:760px){.inbox-layout{grid-template-columns:1fr}.chat-panel{display:none!important}.chat-open .conversation-sidebar{display:none}.chat-open .chat-panel{display:grid!important}.mobile-only{display:grid}.conversation-header{padding:10px 12px!important}.status-control{min-width:120px}.conversation-more-panel{position:fixed;top:75px;right:10px;left:10px;width:auto}.composer-tools span{display:none}.bubble{max-width:88%!important}}

/* v16.1 filter clarity */
.advanced-filters{position:static!important;z-index:auto!important;left:auto!important;right:auto!important;top:auto!important;margin:8px 16px 12px;max-height:min(360px,46dvh)!important;padding:14px!important;overflow-y:auto!important;box-shadow:none!important;background:var(--surface)!important}
.filter-help{margin:2px 0;color:var(--muted);font-size:11px;line-height:1.45}
.filter-actions{display:grid!important;grid-template-columns:1fr 1.2fr;gap:8px}
.filter-actions button{min-height:40px}

/* v19: compact filters, manageable saved views and more room for conversations */
.conversation-sidebar{position:relative;overflow:visible}
.advanced-filters{position:fixed!important;z-index:80!important;top:150px!important;left:clamp(16px,18vw,350px)!important;right:auto!important;width:min(520px,calc(100vw - 32px))!important;max-height:calc(100dvh - 180px)!important;margin:0!important;display:grid!important;grid-template-columns:1fr 1fr;gap:10px!important;padding:16px!important;overflow:auto!important;background:var(--surface-solid)!important;border:1px solid var(--border)!important;box-shadow:0 24px 70px rgba(0,0,0,.34)!important}
.advanced-filters.hidden{display:none!important}.advanced-filters .filter-help,.advanced-filters .filter-actions,.advanced-filters .save-filter-view{grid-column:1/-1}.advanced-filters .field{width:100%;min-width:0}
.saved-view-list{display:flex;flex-wrap:wrap;gap:7px}.saved-view-item{display:grid;grid-template-columns:minmax(0,1fr) 30px 30px;align-items:center;border:1px solid var(--border);border-radius:999px;overflow:hidden;background:var(--surface)}.saved-view-item.active{border-color:var(--primary);box-shadow:0 0 0 2px color-mix(in srgb,var(--primary) 18%,transparent)}.saved-view-chip{border:0!important;border-radius:0!important;min-width:0}.saved-view-edit,.saved-view-delete{display:grid;place-items:center;height:30px;border-left:1px solid var(--border);color:var(--muted);font-size:10px}.saved-view-edit:hover{color:var(--primary);background:var(--surface-2)}.saved-view-delete:hover{color:#ef4444;background:#ef444414}
.sidebar-search{flex:0 0 auto}.conversation-list{flex:1 1 auto!important;min-height:220px!important}
@media(max-width:700px){.advanced-filters{top:86px!important;left:12px!important;width:calc(100vw - 24px)!important;grid-template-columns:1fr}.advanced-filters .filter-help,.advanced-filters .filter-actions,.advanced-filters .save-filter-view{grid-column:1}}

/* v19.1: fully opaque, closable advanced-filter dialog */
.advanced-filters{isolation:isolate;background:#101827!important;background-color:#101827!important;opacity:1!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;border:1px solid #334155!important;box-shadow:0 26px 80px rgba(0,0,0,.72),0 0 0 9999px rgba(2,6,23,.28)!important}
[data-theme="light"] .advanced-filters,.light .advanced-filters{background:#fff!important;background-color:#fff!important;border-color:#cbd5e1!important;box-shadow:0 26px 80px rgba(15,23,42,.28),0 0 0 9999px rgba(15,23,42,.14)!important}
.advanced-filters::before{content:"";position:absolute;inset:0;z-index:-1;border-radius:inherit;background:inherit}
.advanced-filters-header{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:16px;padding-bottom:12px;margin-bottom:2px;border-bottom:1px solid var(--border)}
.advanced-filters-header>div{display:grid;gap:2px}.advanced-filters-header strong{font-size:15px;color:var(--text)}.advanced-filters-header span{font-size:11px;color:var(--muted)}
.advanced-filters-close{display:grid;place-items:center;flex:0 0 38px;width:38px;height:38px;border:1px solid var(--border);border-radius:11px;background:var(--surface-2);color:var(--text);cursor:pointer}.advanced-filters-close:hover{border-color:#ef4444;color:#ef4444;background:#ef444414}

/* v19.1: opaque conversation action menu */
.conversation-more-panel{isolation:isolate;background:#101827!important;background-color:#101827!important;opacity:1!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;border:1px solid #334155!important;box-shadow:0 24px 70px rgba(0,0,0,.68)!important}
.conversation-more-panel::before{content:"";position:absolute;inset:0;z-index:-1;border-radius:inherit;background:#101827}
[data-theme="light"] .conversation-more-panel,.light .conversation-more-panel{background:#fff!important;background-color:#fff!important;border-color:#cbd5e1!important;box-shadow:0 24px 70px rgba(15,23,42,.26)!important}
[data-theme="light"] .conversation-more-panel::before,.light .conversation-more-panel::before{background:#fff}
.conversation-more-panel .field,.conversation-more-panel .secondary-action{background:var(--surface-2)!important;opacity:1!important}
.save-filter-view{width:100%;border:0;background:transparent;color:var(--muted);padding:7px;font-size:11px;font-weight:700;cursor:pointer}
.save-filter-view:hover{color:var(--primary)}
.saved-view-section{margin-top:11px;padding-top:10px;border-top:1px solid var(--border)}
.saved-view-section>span{display:block;margin-bottom:7px;color:var(--muted);font-size:10px;font-weight:850;letter-spacing:.08em;text-transform:uppercase}
.saved-view-list{display:flex;gap:7px;max-width:100%;overflow-x:auto;padding-bottom:3px;scrollbar-width:thin}
.saved-view-chip{flex:0 0 auto;max-width:190px;height:34px;display:flex;align-items:center;gap:7px;padding:0 11px;border:1px solid color-mix(in srgb,var(--primary) 35%,var(--border));border-radius:999px;background:var(--primary-soft);color:var(--primary);cursor:pointer}
.saved-view-chip:hover{border-color:var(--primary);filter:brightness(1.04)}
.saved-view-chip span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11px;font-weight:800}
/* Inbox saved views and secure transfer v21 */
.inbox-views{position:relative}.saved-view-compact{position:relative;margin-top:12px}.saved-view-launcher{width:100%;min-height:44px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 13px;border:1px solid var(--border);border-radius:13px;background:var(--surface-raised);color:var(--text-strong);font-weight:700;cursor:pointer}.saved-view-launcher:hover,.saved-view-launcher[aria-expanded="true"]{border-color:var(--primary);background:var(--surface-subtle)}.saved-view-launcher span{display:flex;align-items:center;gap:9px}.saved-view-count{min-width:24px;height:24px;justify-content:center!important;border-radius:999px;background:var(--primary);color:#fff;font-size:12px}.saved-view-popover{position:absolute;z-index:70;top:calc(100% + 8px);left:0;right:0;padding:12px;border:1px solid var(--border);border-radius:15px;background:var(--surface-solid);box-shadow:0 18px 50px rgba(0,0,0,.38)}.saved-view-popover.hidden{display:none}.saved-view-popover header{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:2px 2px 10px;color:var(--text-strong);font-weight:800}.saved-view-popover-list{display:grid;gap:7px;max-height:240px;overflow-y:auto;overscroll-behavior:contain}.saved-view-item{display:grid;grid-template-columns:minmax(0,1fr) 38px 38px;align-items:center;border:1px solid var(--border);border-radius:12px;overflow:hidden;background:var(--surface-raised)}.saved-view-item>button{min-height:40px;border:0;border-right:1px solid var(--border);border-radius:0;background:transparent;color:var(--text-body);cursor:pointer}.saved-view-item>button:first-child{text-align:left;padding:9px 12px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.saved-view-item>button:hover{background:var(--surface-subtle);color:var(--text-strong)}
.transfer-dialog{width:min(560px,calc(100vw - 28px));padding:0;border:1px solid var(--border);border-radius:18px;background:var(--surface-solid);color:var(--text-body);box-shadow:0 28px 90px rgba(0,0,0,.55)}.transfer-dialog::backdrop{background:rgba(3,7,18,.72);backdrop-filter:blur(5px)}.transfer-form{padding:24px}.transfer-form>header{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:20px}.transfer-form h2{margin:0;color:var(--text-strong);font-size:22px}.transfer-form header p{margin:6px 0 0;color:var(--text-muted)}.transfer-step{display:grid;gap:18px}.transfer-step.hidden{display:none}.transfer-step label:not(.transfer-check){display:grid;gap:8px;color:var(--text-strong);font-weight:700}.transfer-step select{width:100%;min-height:46px;padding:0 13px;border:1px solid var(--border);border-radius:12px;background:var(--surface-raised);color:var(--text-strong)}.transfer-note{padding:13px 14px;border:1px solid color-mix(in srgb,var(--primary) 35%,var(--border));border-radius:12px;background:color-mix(in srgb,var(--primary) 9%,var(--surface-solid));line-height:1.45}.transfer-check{display:flex;align-items:flex-start;gap:10px;padding:13px;border:1px solid var(--border);border-radius:12px;background:var(--surface-raised);cursor:pointer}.transfer-check input{margin-top:3px}.transfer-summary{padding:15px;border-radius:13px;background:var(--surface-subtle);color:var(--text-strong);line-height:1.55}.transfer-actions{display:flex;justify-content:flex-end;gap:10px;padding-top:4px}@media(max-width:650px){.transfer-form{padding:18px}.transfer-actions{flex-direction:column-reverse}.transfer-actions button{width:100%}.saved-view-popover-list{max-height:190px}}
.select-visible-control{display:flex;align-items:center;gap:.55rem;padding:.55rem 1rem;border-top:1px solid var(--border);border-bottom:1px solid var(--border);font-size:.82rem;font-weight:700;color:var(--muted);cursor:pointer}.select-visible-control:hover{color:var(--text);background:var(--surface-2)}.select-visible-control input{width:1rem;height:1rem;accent-color:var(--primary)}
/* Inbox refinement v21.2: compact saved views and conversation-first layout. */
@media (min-width: 1025px){
  .inbox-layout{grid-template-columns:minmax(270px,300px) minmax(0,1fr)!important}
  .profile-open .inbox-layout{grid-template-columns:minmax(270px,300px) minmax(0,1fr)!important}
  .profile-open .customer-panel{position:fixed!important;z-index:85;top:80px;right:0;bottom:0;width:min(320px,88vw);box-shadow:-18px 0 48px rgba(0,0,0,.28)}
}
.conversation-sidebar .sidebar-search{padding:14px 16px 12px!important}
.conversation-sidebar #search{min-height:44px!important}
.inbox-view-primary{gap:7px!important;margin-top:10px!important}
.inbox-view-primary .inbox-view{min-height:42px!important;padding:8px 11px!important}
.saved-view-compact{margin-top:9px!important}
.saved-view-launcher{min-height:40px!important;padding:8px 12px!important;font-size:14px!important;border-radius:12px!important}
.saved-view-launcher>span{min-width:0!important;white-space:nowrap!important;font-size:14px!important;line-height:1.2!important}
.saved-view-launcher>b{margin-left:auto!important;font-size:12px!important}
.saved-view-popover{left:0!important;right:auto!important;width:min(340px,calc(100vw - 32px))!important;padding:10px!important;border-radius:14px!important;background:#101827!important;box-shadow:0 18px 52px rgba(0,0,0,.48)!important}
.saved-view-popover header{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:12px!important;padding:2px 2px 9px!important}
.saved-view-popover header>div{display:grid!important;gap:2px!important;min-width:0!important}
.saved-view-popover header strong{font-size:14px!important;line-height:1.25!important;white-space:nowrap!important}
.saved-view-popover header small{display:block!important;color:#8fa0bb!important;font-size:11px!important;font-weight:500!important;line-height:1.3!important;white-space:nowrap!important}
.saved-view-close{display:grid!important;place-items:center!important;flex:0 0 32px!important;width:32px!important;height:32px!important;border:1px solid #273449!important;border-radius:9px!important;color:#9cabc2!important;background:#151f30!important}
.saved-view-close:hover{color:#fff!important;border-color:#5878ff!important}
.saved-view-popover-list{display:grid!important;gap:6px!important;max-height:220px!important;overflow:auto!important;padding-right:2px!important}
.saved-view-item{grid-template-columns:minmax(0,1fr) 34px 34px!important;min-width:0!important;border-radius:11px!important;overflow:hidden!important}
.saved-view-item>button{min-height:38px!important;height:auto!important}
.saved-view-item .saved-view-chip{display:grid!important;grid-template-columns:18px minmax(0,1fr)!important;align-items:center!important;gap:8px!important;padding:8px 10px!important;text-align:left!important;white-space:normal!important;overflow:visible!important}
.saved-view-item .saved-view-chip span{display:-webkit-box!important;min-width:0!important;overflow:hidden!important;-webkit-box-orient:vertical!important;-webkit-line-clamp:2!important;font-size:13px!important;line-height:1.25!important;overflow-wrap:anywhere!important}
.saved-view-item .saved-view-edit,.saved-view-item .saved-view-delete{width:34px!important;padding:0!important;font-size:12px!important}
.conversation-sidebar #conversationList{min-height:220px!important}
.chat-panel{min-width:0!important}
.message-stream{padding-inline:22px!important}
@media (max-width: 1180px) and (min-width: 1025px){
  .inbox-layout{grid-template-columns:270px minmax(0,1fr)!important}
}
.inbox-tools-toggle{width:100%;display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:10px;padding:9px 12px;border:1px solid var(--border);border-radius:12px;background:var(--surface-2);color:var(--muted);font-size:13px;font-weight:750;cursor:pointer}.inbox-tools-toggle:hover{color:var(--text);border-color:var(--primary)}.inbox-tools-toggle>span{display:flex;align-items:center;gap:9px}.inbox-tools-toggle .fa-chevron-up{transition:transform .2s ease}.inbox-tools-toggle.collapsed .fa-chevron-up{transform:rotate(180deg)}.inbox-tools{display:grid;gap:10px;min-height:0}.inbox-tools.hidden{display:none!important}

/* Rich media attachments (v24: media inbox) */
.message-media video,.message-media audio{display:block;width:min(360px,100%);border-radius:10px;background:#050811}
.message-media audio{width:min(320px,100%);height:40px}
.attachment-card{display:flex;align-items:center;gap:10px;padding:10px 12px;border:1px solid var(--border);border-radius:12px;background:var(--surface-solid);color:inherit;text-decoration:none;max-width:min(360px,100%)}
.attachment-card:hover{border-color:var(--primary)}
.attachment-card>.fa-solid:first-child{font-size:18px;color:var(--primary);flex:none}
.attachment-card-info{display:flex;flex-direction:column;gap:2px;min-width:0}
.attachment-card-info strong{font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.attachment-card-info span{font-size:11px;color:var(--muted)}
.attachment-card.unsupported{border-style:dashed;color:var(--muted)}
.attachment-card.unsupported .fa-triangle-exclamation{color:var(--warning-ui,#f59e0b)}
.delivery-status.failed{color:#fb7185}
.delivery-status.read{color:#38bdf8}

.composer{position:relative}
.composer.drag-over{outline:2px dashed var(--primary);outline-offset:-4px;border-radius:14px;background:var(--surface-raised)}
.attachment-preview{margin-bottom:8px}
.attachment-chip{display:flex;align-items:center;gap:10px;padding:8px 10px;border:1px solid var(--border);border-radius:12px;background:var(--surface-2)}
.attachment-chip .fa-solid:first-child{flex:none;color:var(--primary)}
.attachment-chip-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px}
.attachment-chip-info strong{font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.attachment-chip-info span{font-size:11px;color:var(--muted)}
.attachment-progress{height:4px;border-radius:4px;background:var(--surface-3,#1c2536);overflow:hidden}
.attachment-progress>i{display:block;height:100%;background:var(--primary);transition:width .15s ease}
.attachment-chip.error{border-color:#fb7185}
.attachment-chip.error .fa-circle-exclamation{color:#fb7185}
.attachment-chip.error .attachment-chip-info span{color:#fb7185}
.attachment-chip #cancelAttachment,.attachment-chip .icon-btn{flex:none}

.status-pill{display:inline-flex;align-items:center;height:36px;padding:0 14px;border-radius:10px;font-size:12px;font-weight:750;white-space:nowrap}
.status-pill.open{background:color-mix(in srgb,#38bdf8 16%,transparent);color:#38bdf8}
.status-pill.closed{background:color-mix(in srgb,#22c55e 16%,transparent);color:#22c55e}

.priority-badge{flex:none;display:inline-flex;align-items:center;height:18px;padding:0 8px;border-radius:999px;font-size:9px;font-weight:850;text-transform:uppercase;letter-spacing:.04em;white-space:nowrap}
.priority-badge.high{background:color-mix(in srgb,#f59e0b 20%,transparent);color:#f59e0b}
.priority-badge.urgent{background:color-mix(in srgb,#ef4444 20%,transparent);color:#ef4444}

.conversation-history{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;max-height:260px;overflow-y:auto;border:1px solid var(--border);border-radius:12px;background:var(--surface-solid)}
.conversation-history li{display:flex;align-items:flex-start;gap:10px;padding:9px 12px;border-bottom:1px solid var(--border)}
.conversation-history li:last-child{border-bottom:0}
.conversation-history li>i{flex:none;width:7px;height:7px;margin-top:5px;border-radius:50%;background:var(--primary)}
.conversation-history li>div{min-width:0;display:flex;flex-direction:column;gap:2px}
.conversation-history strong{font-size:12px;font-weight:700;color:var(--text-body)}
.conversation-history span{font-size:11px;color:var(--muted)}
.conversation-history li.muted{color:var(--muted);padding:14px 12px}
.conversation-history li.muted>i{display:none}

/* v31: composer redesigned as a real message-sender bar */
.composer{padding:14px 18px 16px!important}
.composer-modes{display:inline-flex!important;gap:2px!important;padding:3px!important;margin-bottom:10px!important;width:auto!important;border:1px solid var(--border);border-radius:12px;background:var(--surface-2,var(--surface))}
.composer-modes .mode{min-height:32px!important;padding:0 12px!important;border:0!important;border-radius:9px!important;background:transparent!important;color:var(--muted)!important;box-shadow:none!important;font-size:12px;font-weight:750}
.composer-modes .mode:hover{background:var(--surface)!important;color:var(--text)!important}
.composer-modes .mode.active{background:linear-gradient(135deg,#34d399,#10b981)!important;color:#04100d!important;box-shadow:0 6px 16px rgba(16,185,129,.22)!important}
.composer-modes .mode.active:hover{color:#04100d!important}
#messageForm.composer-box{display:flex!important;flex-direction:column;gap:6px;padding:10px 12px 8px;border:1px solid var(--border);border-radius:16px;background:var(--surface-solid);cursor:text;transition:border-color .15s ease,box-shadow .15s ease}
#messageForm.composer-box:focus-within{border-color:color-mix(in srgb,var(--primary) 55%,var(--border));box-shadow:0 0 0 3px color-mix(in srgb,var(--primary) 14%,transparent)}
#messageInput.composer-input{width:100%!important;box-sizing:border-box;min-height:24px!important;max-height:150px;padding:2px 2px 0;border:0!important;background:transparent!important;box-shadow:none!important;resize:none;line-height:1.5;overflow-y:auto;text-align:left}
#messageInput.composer-input:focus{outline:none!important;box-shadow:none!important}
.composer-toolbar{display:flex;align-items:center;justify-content:space-between;gap:10px}
.composer-toolbar-left{display:flex;align-items:center;gap:4px;min-width:0}
.composer-icon-btn{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;flex:none;border:0;border-radius:9px;background:transparent;color:var(--muted);font-size:14px;cursor:pointer;transition:.15s ease}
.composer-icon-btn:hover{background:var(--surface);color:var(--primary)}
.composer-hint{margin-left:4px;color:var(--muted);font-size:10px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.composer-send{display:inline-flex;align-items:center;justify-content:center;flex:none;width:36px;height:36px;border:0;border-radius:50%;background:linear-gradient(135deg,#5b7cfa,#3b5bfd);color:#fff;font-size:14px;cursor:pointer;box-shadow:0 6px 16px rgba(59,91,253,.32);transition:.15s ease}
.composer-send:hover{filter:brightness(1.08);transform:translateY(-1px)}
.composer-send:active{transform:translateY(0)}
.composer-send:disabled{opacity:.55;cursor:not-allowed;transform:none}
body:has(#internalMode.active) #messageForm.composer-box{background:color-mix(in srgb,#f59e0b 7%,var(--surface-solid));border-color:color-mix(in srgb,#f59e0b 35%,var(--border))}
body:has(#internalMode.active) #messageForm.composer-box:focus-within{border-color:color-mix(in srgb,#f59e0b 55%,var(--border));box-shadow:0 0 0 3px color-mix(in srgb,#f59e0b 16%,transparent)}
body:has(#internalMode.active) .composer-send{background:linear-gradient(135deg,#fbbf24,#f59e0b);box-shadow:0 6px 16px rgba(245,158,11,.3)}
@media(max-width:650px){.composer-hint{display:none}.composer{padding:10px 12px 12px!important}}

/* v37: real tracking panel for Métricas */
.analytics-toolbar{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.range-selector{display:inline-flex;gap:3px;padding:3px;border:1px solid var(--border);border-radius:11px;background:var(--surface-solid)}
.range-pill{min-height:32px;padding:0 13px;border:0;border-radius:8px;background:transparent;color:var(--muted);font-size:11px;font-weight:750;cursor:pointer}
.range-pill:hover{color:var(--text-body)}
.range-pill.active{background:var(--primary);color:#fff}
.metric-card{position:relative;flex-wrap:wrap}
.metric-card .delta{display:inline-flex;align-items:center;gap:4px;margin-top:5px;font-size:9px;font-weight:750}
.delta.up{color:#38bdf8}.delta.down{color:#94a3b8}.delta.flat{color:var(--muted)}
.heatmap-chart{height:120px;display:grid;grid-template-columns:repeat(24,1fr);gap:3px;align-items:end;padding-top:10px}
.heat-col{height:100%;display:grid;grid-template-rows:1fr auto;gap:4px;text-align:center}
.heat-col>i{display:block;min-height:3px;border-radius:3px 3px 0 0;background:linear-gradient(180deg,#5b7cfa,#2dd4bf)}
.heat-col>span{color:var(--text-muted);font-size:8px}
.aged-hours{color:#f87171;font-weight:800}
.overdue-count{display:inline-flex;align-items:center;justify-content:center;min-width:22px;height:20px;padding:0 6px;border-radius:999px;background:rgba(239,68,68,.16);color:#f87171;font-size:10px;font-weight:800}
.responsive-table th.sortable{cursor:pointer;user-select:none}
.responsive-table th.sortable:hover{color:var(--text-body)}
.responsive-table th.sortable.active{color:var(--primary)}
.responsive-table th.sortable.active::after{content:'';display:inline-block;margin-left:4px;border:4px solid transparent}
.responsive-table th.sortable.active.desc::after{border-top-color:var(--primary)}
.responsive-table th.sortable.active.asc::after{border-bottom-color:var(--primary);margin-bottom:3px}
@media(max-width:760px){.analytics-toolbar{width:100%;justify-content:space-between}.heatmap-chart{grid-template-columns:repeat(12,1fr)}.heat-col:nth-child(2n) span{display:none}}

/* v38: interactive charts, agent comparison, custom date range */
.chart-canvas-wrap{position:relative;height:260px}
.chart-canvas-wrap.small{height:200px}
.agent-compare-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.custom-range-bar{display:flex;align-items:end;gap:12px;margin-bottom:16px;padding:14px;border:1px solid var(--border);border-radius:13px;background:var(--surface-solid)}
.custom-range-bar label{display:grid;gap:5px;color:var(--muted);font-size:11px;font-weight:700}
.custom-range-bar input{min-height:38px}
@media(max-width:900px){.agent-compare-grid{grid-template-columns:1fr}}
@media(max-width:650px){.custom-range-bar{flex-wrap:wrap}.custom-range-bar label{flex:1 1 140px}}

/* v40: Team hub — modular sidebar + board layout, expandable team cards and notes */
.team-hub-actions{display:flex;align-items:center;gap:16px;flex-wrap:wrap}
.team-hub-grid{display:grid;grid-template-columns:340px minmax(0,1fr);gap:16px;align-items:start}
.team-hub-sidebar{display:flex;flex-direction:column;min-width:0}
.team-hub-main{min-width:0}
.team-cards-grid{display:grid;gap:10px}
.team-card{border:1px solid var(--border);border-radius:14px;background:var(--surface-solid);overflow:hidden}
.team-card.active{border-color:color-mix(in srgb,var(--primary) 55%,var(--border));background:color-mix(in srgb,var(--primary) 5%,var(--surface-solid))}
.team-card summary{list-style:none;cursor:pointer}
.team-card summary::-webkit-details-marker{display:none}
.team-card-head{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:14px 16px}
.team-card-head div{display:flex;flex-direction:column;gap:3px;min-width:0}
.team-card-head strong{font-size:13px}
.team-card-head span{color:var(--text-muted);font-size:10px}
.team-card-chevron{flex:none;color:var(--muted);font-size:11px;transition:transform .15s ease}
.team-card[open] .team-card-chevron{transform:rotate(180deg)}
.team-card-members{display:grid;gap:8px;padding:0 16px 12px}
.team-card-filter-btn{width:100%;padding:9px 16px;border:0;border-top:1px solid var(--border);background:transparent;color:var(--primary);font-size:11px;font-weight:750;cursor:pointer}
.team-card-filter-btn:hover{background:var(--surface-subtle)}
.team-member-row{display:flex;align-items:center;gap:8px}
.team-member-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:700}
.team-member-load{flex:none;min-width:20px;text-align:center;padding:2px 6px;border-radius:999px;background:var(--surface-subtle);font-size:10px;font-weight:800;color:var(--text-body)}
.agent-status-inline{flex:none;min-height:30px!important;width:auto;font-size:9px;padding:0 8px}
.task-board-filters{display:flex;align-items:center;gap:14px;margin-bottom:14px;flex-wrap:wrap}
.task-board-filters .field{width:auto;min-width:180px}
.task-board{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;align-items:start}
.task-column h4{display:flex;align-items:center;justify-content:space-between;margin:0 0 10px;color:var(--text-muted);font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.05em}
.task-column h4 b{min-width:20px;padding:2px 6px;border-radius:999px;background:var(--surface-subtle);color:var(--text-body);text-align:center;font-size:10px}
.task-list{display:grid;gap:10px;min-height:60px}
.task-card{padding:13px;border:1px solid var(--border);border-radius:12px;background:var(--surface-2,var(--surface-solid))}
.task-card.overdue{border-color:color-mix(in srgb,#ef4444 45%,var(--border))}
.task-card-title{font-size:13px;font-weight:750;margin-bottom:4px}
.task-card-desc{margin:0 0 8px;color:var(--text-muted);font-size:11px;line-height:1.4}
.task-card-meta{display:flex;flex-wrap:wrap;gap:5px;margin-bottom:10px}
.task-chip{display:inline-flex;align-items:center;gap:5px;padding:3px 8px;border-radius:999px;background:var(--surface-subtle);color:var(--text-body);font-size:9px;font-weight:700}
.task-chip.personal{background:color-mix(in srgb,var(--primary) 16%,transparent);color:var(--primary)}
.task-chip.overdue{background:color-mix(in srgb,#ef4444 16%,transparent);color:#ef4444}
.task-card-actions{display:flex;align-items:center;gap:6px}
.task-status-select{flex:1;min-height:32px!important;font-size:10px}
.task-card-actions .icon-action{width:32px;height:32px;font-size:11px}
.note-form{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:16px}
.note-form select{width:auto;min-width:160px}
.note-form input[name=body]{flex:1;min-width:150px}
.notes-feed{display:grid;gap:8px;max-height:460px;overflow-y:auto}
.note-team-group{border:1px solid var(--border);border-radius:12px;background:var(--surface-solid);overflow:hidden}
.note-team-group summary{display:flex;align-items:center;gap:8px;list-style:none;cursor:pointer;padding:11px 14px;font-size:12px;font-weight:750}
.note-team-group summary::-webkit-details-marker{display:none}
.note-team-group summary b{min-width:18px;padding:1px 6px;border-radius:999px;background:var(--surface-subtle);color:var(--text-body);font-size:9px;text-align:center}
.note-team-group summary .fa-thumbtack{margin-left:auto;color:#f59e0b;font-size:10px}
.note-team-items{display:grid;gap:8px;padding:0 12px 12px}
.note-card{padding:12px;border:1px solid var(--border);border-radius:11px;background:var(--surface-2,var(--surface-solid))}
.note-card.pinned{border-color:color-mix(in srgb,#f59e0b 40%,var(--border));background:color-mix(in srgb,#f59e0b 6%,var(--surface-solid))}
.note-card-head{display:flex;align-items:center;gap:8px;margin-bottom:6px}
.note-card-head strong{font-size:12px}
.note-card-head span{flex:1;color:var(--text-muted);font-size:10px}
.note-card-head .fa-thumbtack{color:#f59e0b;font-size:11px}
.note-card-head .icon-action{width:26px;height:26px;font-size:10px}
.note-card p{margin:0;font-size:12px;line-height:1.5}
.task-conversation-hint{display:flex;align-items:center;gap:8px;margin-top:4px;padding:10px 12px;border-radius:10px;background:var(--surface-subtle);color:var(--text-muted);font-size:11px}
@media(max-width:1150px){.team-hub-grid{grid-template-columns:1fr}}
@media(max-width:900px){.task-board{grid-template-columns:1fr}}
@media(max-width:650px){.team-hub-actions{width:100%;justify-content:space-between}.note-form{flex-direction:column;align-items:stretch}.note-form select,.note-form input[name=body]{width:100%;min-width:0}}

/* Catálogo de productos */
.hint{color:var(--text-muted);font-size:11px;margin:0 0 12px}
.checkbox-inline{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--text-muted)}
.checkbox-inline input{width:auto;min-height:auto}
label.switch-field{display:flex;flex-direction:row;align-items:center;gap:10px;font-size:12px;font-weight:700;color:#cbd5e1;cursor:pointer}
.switch-toggle{position:relative;display:inline-block;width:38px;height:22px;flex-shrink:0}
.switch-toggle input{position:absolute;inset:0;opacity:0;margin:0;cursor:pointer;z-index:1}
.switch-toggle .switch-track{position:absolute;inset:0;background:rgba(148,163,184,.25);border-radius:99px;transition:background-color .15s ease}
.switch-toggle .switch-track i{position:absolute;top:2px;left:2px;width:18px;height:18px;border-radius:50%;background:#fff;transition:.15s ease;display:block;box-shadow:0 1px 2px rgba(0,0,0,.25)}
.switch-toggle input:checked+.switch-track{background:#22c55e}
.switch-toggle input:checked+.switch-track i{left:18px}
.switch-toggle input:focus-visible+.switch-track{outline:2px solid var(--primary,#818cf8);outline-offset:2px}
.btn-danger{min-height:38px;border-radius:11px;padding:0 13px;font-size:12px;font-weight:700;cursor:pointer;background:rgba(239,68,68,.12);border:1px solid rgba(239,68,68,.35);color:#f87171}
.btn-danger:hover{background:rgba(239,68,68,.2)}
.badge{display:inline-flex;align-items:center;padding:3px 9px;border-radius:999px;font-size:10px;font-weight:700;letter-spacing:.02em}
.badge.ok{background:rgba(34,197,94,.14);color:#4ade80}
.badge.warn{background:rgba(234,179,8,.14);color:#facc15}
.badge.base{background:rgba(99,102,241,.14);color:#818cf8}
.catalog-filters{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-top:14px;padding-top:14px;border-top:1px solid var(--line)}
.catalog-filters .field{max-width:280px;flex:1;min-width:180px}
.catalog-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:14px;margin-top:16px}
.catalog-card{background:var(--surface);border:1px solid var(--line);border-radius:16px;overflow:hidden;cursor:pointer;transition:.18s ease;display:flex;flex-direction:column}
.catalog-card:hover{border-color:rgba(148,163,184,.4);transform:translateY(-2px)}
.catalog-card-image{height:140px;background:rgba(255,255,255,.03);display:flex;align-items:center;justify-content:center;overflow:hidden}
.catalog-card-image img{width:100%;height:100%;object-fit:cover}
.catalog-card-image i{font-size:28px;color:var(--text-muted)}
.catalog-card-body{padding:12px 14px;display:flex;flex-direction:column;gap:4px}
.catalog-card-body h3{font-size:13px;margin:2px 0;line-height:1.3}
.catalog-card-body small{color:var(--text-muted);font-size:10.5px}
.catalog-card-body strong{font-size:14px;margin-top:2px}
.catalog-dialog{width:min(720px,92vw)}
/* Panel de producto acoplado al lado derecho, más ancho, con cabecera/pestañas/
   acciones fijas y el contenido central con scroll — mismo layout que la
   referencia (product-editor), sobre nuestro tema. */
#productDialog.app-dialog{position:fixed;inset:0 0 0 auto;left:auto;margin:0;width:min(760px,95vw);max-width:95vw;height:100dvh;max-height:100dvh;border-radius:0;background:transparent;padding:0;animation:productDrawerIn .22s ease}
#productDialog.app-dialog::backdrop{background:rgba(4,9,20,.68);backdrop-filter:blur(4px)}
@keyframes productDrawerIn{from{transform:translateX(36px);opacity:0}}
#productDialog .dialog-card.catalog-dialog{width:100%;height:100%;border-radius:0;display:flex;flex-direction:column;padding:0;overflow:hidden;box-shadow:-24px 0 70px rgba(2,6,15,.45)}
#productDialog .dialog-heading{padding:19px 22px;border-bottom:1px solid var(--line);margin:0;flex:none}
#productDialog .catalog-tabs{padding:0 22px;margin:0;border-bottom:1px solid var(--line);overflow-x:auto;flex:none;background:var(--surface)}
#productDialog .catalog-tab-panel{padding:19px 22px;overflow-y:auto;flex:1;min-height:0}
#productDialog .dialog-actions{padding:14px 22px;border-top:1px solid var(--line);margin:0;flex:none;background:var(--surface)}
@media(max-width:760px){#productDialog.app-dialog{width:100vw;max-width:100vw}}
.editor-gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.editor-gallery article{aspect-ratio:1;border-radius:11px;overflow:hidden;position:relative;background:var(--canvas-soft);border:1px solid var(--line)}
.editor-gallery article img{width:100%;height:100%;object-fit:cover}
.editor-gallery article>span{position:absolute;left:6px;bottom:6px;padding:3px 6px;border-radius:6px;background:var(--primary);color:#04140d;font-size:9px;font-weight:800}
.editor-gallery article>button{position:absolute;right:6px;top:6px;width:26px;height:26px;border:0;border-radius:7px;background:rgba(4,9,20,.75);color:#fff;display:grid;place-items:center;cursor:pointer}
.editor-gallery article>button:hover{background:rgba(220,50,60,.85)}
.editor-gallery .no-images{grid-column:1/-1;padding:30px;text-align:center;color:var(--text-muted);font-size:11px;border:1px dashed var(--line);border-radius:11px}
@media(max-width:520px){.editor-gallery{grid-template-columns:repeat(2,1fr)}}
/* ---- Atributos por producto: asignación, variación, valores tipo chip ---- */
.global-fields-note{display:flex;gap:10px;align-items:flex-start;padding:11px 13px;border-radius:10px;background:color-mix(in srgb,var(--primary) 10%,transparent);color:var(--primary);margin-bottom:14px}
.global-fields-note b{display:block;font-size:11px;color:var(--text-strong)}
.global-fields-note small{display:block;font-size:10px;color:var(--text-muted);margin-top:2px}
.variation-attribute-editor{display:grid;gap:10px}
.attribute-config{padding:12px;border:1px solid var(--line);border-radius:12px;background:var(--surface)}
.attribute-config.is-variation{border-color:var(--primary);background:color-mix(in srgb,var(--primary) 6%,var(--surface))}
.attribute-config>header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px;gap:10px}
.attribute-config>header>span{display:flex;align-items:center;gap:8px;font-size:12px;font-weight:700}
.attribute-config .required-label{font-size:8px;padding:2px 6px;border-radius:8px;background:color-mix(in srgb,var(--danger-ui) 15%,transparent);color:var(--danger-ui);font-weight:700}
.attribute-config>header>div{display:flex;gap:6px}
.variation-toggle{border:1px solid var(--line);border-radius:8px;background:var(--canvas-soft);color:var(--text-muted);display:flex;align-items:center;gap:6px;padding:6px 9px;font-size:10px;font-weight:700}
.variation-toggle.active{background:var(--primary);border-color:var(--primary);color:#04140d}
.attribute-remove{border:1px solid var(--line);border-radius:8px;background:var(--canvas-soft);color:var(--text-muted);width:30px;display:grid;place-items:center}
.attribute-config label{display:block;font-size:9px;color:var(--text-muted);font-weight:700;margin-bottom:4px}
.attribute-config input,.attribute-config select{width:100%}
.product-value-picker{display:flex;flex-wrap:wrap;gap:6px;margin-top:9px}
.product-value-picker button{border:1px solid var(--line);border-radius:99px;background:var(--canvas-soft);color:var(--text-body);padding:5px 10px;font-size:10px;display:inline-flex;align-items:center;gap:4px}
.product-value-picker button.active{border-color:var(--primary);background:color-mix(in srgb,var(--primary) 18%,transparent);color:var(--primary)}
.product-value-picker .add-value{border-style:dashed;color:var(--primary)}
.variation-builder-callout{display:flex;align-items:center;gap:12px;padding:14px;border-radius:12px;background:color-mix(in srgb,var(--primary) 10%,transparent);margin-top:14px}
.variation-builder-callout b{display:block;font-size:12px}
.variation-builder-callout small{display:block;font-size:10px;color:var(--text-muted);margin-top:2px}
.variation-builder-callout button{margin-left:auto;flex:none}
.catalog-tabs{display:flex;gap:8px;margin:14px 0}
.catalog-tabs .btn-secondary.active{background:var(--primary,#36d399);color:#04140d;border-color:transparent}
.catalog-tab-panel.hidden{display:none}
.attribute-row,.variant-row{display:grid;grid-template-columns:1fr 1fr auto;gap:8px;margin-bottom:8px}
.variant-row{grid-template-columns:1fr 1.4fr .7fr .7fr auto}
.variant-row>*{min-width:0}
.variants-scroll{overflow-x:auto;padding-bottom:2px}
.variants-scroll .variant-row{min-width:520px}
.variant-row-header{margin-bottom:6px;padding:0 2px}
.variant-row-header span{font-size:10px;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);font-weight:700}
@media(max-width:900px){.catalog-filters .field{max-width:none;min-width:0;flex-basis:100%}.variants-scroll .variant-row{min-width:0;grid-template-columns:1fr}.variant-row-header{display:none}}

/* Catálogo: shell con sidebar interno */
.catalog-shell{display:grid;grid-template-columns:260px 1fr;height:100vh;overflow:hidden}
.catalog-sidebar{background:var(--surface-solid,#0b1220);border-right:1px solid var(--line);padding:20px 14px;display:flex;flex-direction:column;gap:18px;height:100vh;overflow-y:auto;position:sticky;top:0}
.catalog-brand{display:flex;align-items:center;gap:10px;padding:0 6px}
.catalog-brand span{width:36px;height:36px;border-radius:10px;background:var(--primary,#36d399);color:#04140d;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:12px}
.catalog-brand b{display:block;font-size:13px}
.catalog-brand small{color:var(--text-muted);font-size:10px}
.catalog-nav{display:flex;flex-direction:column;gap:4px;flex:1}
.catalog-nav-btn{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:10px;background:transparent;border:none;color:var(--text-muted,#9aa7ba);font-size:12px;font-weight:600;cursor:pointer;text-align:left}
.catalog-nav-btn:hover{background:rgba(255,255,255,.05);color:#fff}
.catalog-nav-btn.active{background:var(--primary,#36d399);color:#04140d}
.catalog-nav-btn span{flex:1}
.catalog-nav-btn em{font-style:normal;font-size:10px;opacity:.8}
.catalog-back{justify-content:center}
.catalog-main{padding:24px 28px;overflow-y:auto}
.catalog-topbar{display:flex;align-items:center;gap:14px;margin-bottom:20px}
.global-search{flex:1;display:flex;align-items:center;gap:10px;background:var(--canvas-soft);border:1px solid var(--line);border-radius:12px;padding:0 14px;min-height:42px}
.global-search input{flex:1;background:transparent;border:none;outline:none;color:var(--text-strong)}
.catalog-top-actions{display:flex;gap:10px}
.catalog-section{display:none}
.catalog-section.active{display:block}
.rule-actions{display:flex;gap:6px}
@media(max-width:900px){.catalog-shell{grid-template-columns:1fr;grid-template-rows:auto minmax(0,1fr)}.catalog-sidebar{flex-direction:row;overflow-x:auto;overflow-y:visible;height:auto;position:static}.catalog-nav{flex-direction:row}}

/* Catálogo: dashboard tipo "Catálogo Pro" */
.catalog-sidebar{justify-content:flex-start}
.catalog-nav-label{font-size:9px;letter-spacing:.08em;color:var(--text-muted);margin:4px 0 0;padding:0 8px}
.catalog-quality-widget{margin-top:auto;display:flex;gap:10px;padding:12px;border-radius:12px;background:rgba(148,163,184,.08);align-items:flex-start}
.catalog-quality-widget>i{color:#facc15;margin-top:2px}
.catalog-quality-widget b{display:block;font-size:11px}
.catalog-quality-widget span{display:block;font-size:10px;color:var(--text-muted);margin:2px 0 6px}
.catalog-quality-track{display:block;height:5px;border-radius:99px;background:rgba(255,255,255,.08);overflow:hidden}
.catalog-quality-track u{display:block;height:100%;background:linear-gradient(90deg,#22c55e,#4ade80);border-radius:99px;text-decoration:none}

.catalog-dashboard .eyebrow{color:var(--primary,#818cf8);font-size:10px;font-weight:800;letter-spacing:.08em}
.catalog-dashboard h1{font-size:26px;margin:6px 0 2px}
.dash-banner{margin-top:18px;border-radius:20px;padding:26px 30px;background:linear-gradient(120deg,#211f52,#4338ca 60%,#4f46e5);display:flex;justify-content:space-between;align-items:center;gap:24px;color:#fff;flex-wrap:wrap}
.dash-banner-text{flex:1;min-width:260px}
.dash-banner-text h2{font-size:26px;margin:8px 0 6px}
.dash-banner-text p{color:rgba(255,255,255,.75);font-size:13px;max-width:440px}
.dash-banner-actions{display:flex;gap:10px;margin-top:16px}
.btn-light{background:#fff;color:#1e1b4b;border:none;border-radius:11px;padding:0 16px;min-height:40px;font-weight:700;font-size:12px;display:inline-flex;align-items:center;gap:8px;cursor:pointer}
.btn-dark{background:rgba(0,0,0,.28);color:#fff;border:1px solid rgba(255,255,255,.18);border-radius:11px;padding:0 16px;min-height:40px;font-weight:700;font-size:12px;display:inline-flex;align-items:center;gap:8px;cursor:pointer}
.dash-ring{position:relative;width:150px;height:150px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;flex-shrink:0}
.dash-ring svg{position:absolute;inset:0;width:100%;height:100%;transform:rotate(-90deg)}
.dash-ring .ring-track{fill:none;stroke:rgba(255,255,255,.15);stroke-width:9}
.dash-ring .ring-value{fill:none;stroke:#4ade80;stroke-width:9;stroke-linecap:round;transition:stroke-dashoffset .5s ease}
.dash-ring-label{display:flex;flex-direction:column;line-height:1.1}
.dash-ring-label strong{font-size:24px}
.dash-ring-label small{font-size:9px;color:rgba(255,255,255,.7)}
.dash-ring p{margin-top:6px;font-size:10px;color:rgba(255,255,255,.85)}
.dash-ring p b{font-size:12px}

.dash-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px;margin-top:18px}
.dash-stat-card{background:var(--surface-solid,#141c2e);border:1px solid var(--line);border-radius:16px;padding:16px;display:flex;align-items:center;gap:12px;cursor:pointer;transition:.15s ease}
.dash-stat-card:hover{border-color:rgba(148,163,184,.4);transform:translateY(-1px)}
.dash-stat-card>i:first-child{width:36px;height:36px;border-radius:10px;background:rgba(99,102,241,.15);color:#818cf8;display:flex;align-items:center;justify-content:center}
.dash-stat-card div{flex:1;min-width:0}
.dash-stat-card small{display:block;color:var(--text-muted);font-size:10px}
.dash-stat-card strong{display:block;font-size:22px;margin:2px 0}
.dash-stat-card span{display:block;color:var(--text-muted);font-size:10px}
.dash-stat-card>i:last-child{color:var(--text-muted)}

.dash-columns{display:grid;grid-template-columns:1.3fr 1fr;gap:16px;margin-top:16px;align-items:start}
.dash-breakdown{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.dash-breakdown-head{display:flex;justify-content:space-between;font-size:9.5px;letter-spacing:.06em;color:var(--text-muted);margin-bottom:10px}
.dash-breakdown-nums{display:flex;gap:18px;margin-bottom:14px}
.dash-breakdown-nums strong{display:block;font-size:22px}
.dash-breakdown-nums small{color:var(--text-muted);font-size:10px}
.dash-action-tile{width:100%;display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:12px;background:rgba(148,163,184,.06);border:1px solid var(--line);margin-bottom:8px;cursor:pointer;text-align:left;color:inherit}
.dash-action-tile:hover{background:rgba(148,163,184,.12)}
.dash-action-tile i{color:var(--primary,#818cf8)}
.dash-action-tile b{display:block;font-size:11.5px}
.dash-action-tile small{color:var(--text-muted);font-size:10px}
.btn-link{background:none;border:none;color:var(--primary,#818cf8);font-size:11px;font-weight:700;cursor:pointer;display:flex;align-items:center;gap:6px}

.dash-priority-list{display:flex;flex-direction:column;gap:4px}
.dash-priority-item{display:flex;align-items:center;gap:12px;padding:10px 6px;border-radius:10px;cursor:pointer}
.dash-priority-item:hover{background:rgba(148,163,184,.06)}
.dash-priority-thumb{width:40px;height:40px;border-radius:10px;overflow:hidden;background:rgba(148,163,184,.1);display:flex;align-items:center;justify-content:center;flex-shrink:0}
.dash-priority-thumb img{width:100%;height:100%;object-fit:cover}
.dash-priority-info{flex:1;min-width:0}
.dash-priority-info strong{display:block;font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.dash-priority-info small{color:var(--text-muted);font-size:10px}
.dash-priority-item>i:last-child{color:var(--text-muted);font-size:11px}

/* Vista de tabla de productos */
.catalog-view-toggle{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.catalog-view-toggle-group{display:flex;gap:6px;padding-left:10px;margin-left:2px;border-left:1px solid var(--line)}
.catalog-view-toggle .icon-btn.active{background:var(--primary,#36d399);color:#04140d}
.catalog-table-wrap{overflow-x:auto;margin-top:14px;border:1px solid var(--line);border-radius:14px}
.catalog-table{width:100%;border-collapse:collapse;font-size:12px}
.catalog-table th{text-align:left;padding:10px 12px;background:rgba(148,163,184,.06);color:var(--text-muted);font-size:10px;letter-spacing:.04em;white-space:nowrap}
.catalog-table td{padding:9px 12px;border-top:1px solid var(--line);vertical-align:middle}
.catalog-table tr:hover td{background:rgba(148,163,184,.04)}
.catalog-table td[data-open]{cursor:pointer;font-weight:600}
.catalog-table-thumb{width:38px}
.catalog-table-thumb img{width:32px;height:32px;border-radius:8px;object-fit:cover;display:block}
.catalog-table-thumb i{color:var(--text-muted)}
.catalog-bulk-bar{display:flex;align-items:center;gap:12px;padding:10px 14px;border-radius:12px;background:rgba(99,102,241,.12);border:1px solid rgba(99,102,241,.3);margin-top:12px;font-size:12px}
.catalog-bulk-bar span{font-weight:700}

/* Tarjetas de categorías/marcas/atributos (reemplazan filas planas) */
.rule-item{background:var(--surface-solid,#141c2e);border:1px solid var(--line);border-radius:14px;padding:14px 16px;margin-bottom:8px;display:flex;align-items:center;justify-content:space-between;gap:12px}
.rule-item>div:first-child{min-width:0}
.rule-item strong{display:block;font-size:12.5px}
.file-btn{cursor:pointer}

/* Productos: badges, paginación, columnas */
.catalog-card-image{position:relative}
.card-corner-badge{position:absolute;top:8px;left:8px;background:rgba(0,0,0,.6);color:#fff;font-size:9.5px;padding:3px 7px;border-radius:99px;display:flex;align-items:center;gap:4px}
.card-score-badge{position:absolute;bottom:8px;right:8px;font-size:10px;font-weight:800;padding:3px 8px;border-radius:99px}
.card-score-badge.ok{background:rgba(34,197,94,.9);color:#04140d}
.card-score-badge.warn{background:rgba(234,179,8,.92);color:#1a1400}
.catalog-columns-toggle{display:flex;flex-wrap:wrap;gap:10px 18px}
.catalog-pagination{display:flex;align-items:center;justify-content:space-between;margin-top:18px;font-size:12px;color:var(--text-muted)}
.catalog-pagination label{display:flex;align-items:center;gap:8px}
.catalog-pagination .field{width:auto;min-height:34px;padding:0 8px}
.catalog-page-controls{display:flex;align-items:center;gap:4px}
.catalog-page-controls .icon-btn{width:32px;height:32px;min-height:32px}
.catalog-page-controls .icon-btn.active{background:var(--primary,#36d399);color:#04140d}
.catalog-page-controls span{padding:0 4px;color:var(--text-muted)}

/* Modo Productos/Variaciones, vistas guardadas, explorador de categorías */
.catalog-mode-switch{display:flex;gap:10px;margin-top:14px}
.catalog-mode-switch button{flex:1;display:flex;align-items:center;gap:10px;padding:12px 16px;border-radius:14px;background:var(--surface-solid,#141c2e);border:1px solid var(--line);cursor:pointer;color:inherit;text-align:left}
.catalog-mode-switch button.active{border-color:var(--primary,#818cf8);background:rgba(99,102,241,.12)}
.catalog-mode-switch b{display:block;font-size:12.5px}
.catalog-mode-switch small{color:var(--text-muted);font-size:10px}
.catalog-views-bar{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:14px;font-size:11px;color:var(--text-muted)}
.catalog-views-list{display:flex;gap:6px;flex-wrap:wrap}
.catalog-saved-view{display:inline-flex;align-items:center;background:rgba(148,163,184,.08);border:1px solid var(--line);border-radius:99px;overflow:hidden;transition:background-color .12s ease,border-color .12s ease}
.catalog-saved-view button{background:none;border:none;color:inherit;padding:6px 10px;font-size:11px;cursor:pointer}
.catalog-saved-view button:last-child{padding:6px 9px;color:var(--text-muted)}
.catalog-saved-view.active{background:rgba(99,102,241,.16);border-color:var(--primary,#818cf8)}
.catalog-saved-view.active button:first-child{color:var(--primary,#818cf8);font-weight:700}
#clearViewBtn.active{background:var(--primary,#36d399);color:#04140d;border-color:transparent}
.table-product-cell{display:flex;align-items:center;gap:10px}
.table-product-cell img,.table-product-cell i{width:32px;height:32px;border-radius:8px;object-fit:cover}
.table-product-cell span{display:flex;flex-direction:column}
.table-product-cell b{font-size:12px}
.table-product-cell small{color:var(--text-muted);font-size:10px}
.variant-attribute-pills{display:flex;flex-wrap:wrap;gap:4px}
.variant-attribute-pills span{background:rgba(148,163,184,.1);border-radius:99px;padding:2px 8px;font-size:9.5px;display:flex;gap:4px}
.variant-attribute-pills b{font-weight:700}
.dash-category-list{display:flex;flex-direction:column;gap:2px}
.dash-category-item{display:flex;align-items:center;gap:12px;padding:10px 6px;border-radius:10px;background:none;border:none;color:inherit;cursor:pointer;text-align:left;width:100%}
.dash-category-item:hover{background:rgba(148,163,184,.06)}
.dash-category-index{color:var(--text-muted);font-size:10px;font-weight:700;width:20px}
.dash-category-info{flex:1;min-width:0}
.dash-category-info b{display:block;font-size:12px}
.dash-category-info small{color:var(--text-muted);font-size:10px}
.dash-category-track{display:block;height:4px;border-radius:99px;background:rgba(255,255,255,.06);margin-top:4px;overflow:hidden}
.dash-category-track u{display:block;height:100%;background:linear-gradient(90deg,#818cf8,#a5b4fc);text-decoration:none}
.dash-category-item strong{font-size:13px}

/* Superadministrador */
.admin-banner{display:flex;align-items:center;gap:18px;background:linear-gradient(120deg,#1e293b,#334155);border-radius:18px;padding:22px 26px;margin-top:16px;color:#fff;flex-wrap:wrap}
.admin-banner-icon{width:44px;height:44px;border-radius:12px;background:linear-gradient(135deg,#6366f1,#818cf8);display:flex;align-items:center;justify-content:center;font-size:18px;flex-shrink:0}
.admin-banner-text{flex:1;min-width:220px}
.admin-banner-text b{display:block;font-size:15px;margin-bottom:4px}
.admin-banner-text span{color:rgba(255,255,255,.7);font-size:12px}
.admin-banner-stats{display:flex;gap:26px}
.admin-banner-stats strong{display:block;font-size:20px}
.admin-banner-stats small{color:rgba(255,255,255,.65);font-size:9.5px}
.admin-feature-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px;margin-top:14px}
.admin-feature-card{display:flex;align-items:center;gap:12px;background:var(--surface-solid,#141c2e);border:1px solid var(--line);border-radius:14px;padding:14px 16px}
.admin-feature-card i{color:var(--primary,#818cf8);font-size:16px}
.admin-feature-card b{display:block;font-size:12px}
.admin-feature-card small{color:var(--text-muted);font-size:10px}
.autosave-pill{display:inline-flex;align-items:center;gap:6px;font-size:10px;color:var(--text-muted);background:rgba(34,197,94,.1);padding:5px 10px;border-radius:99px}
.autosave-pill i{width:6px;height:6px;border-radius:50%;background:#22c55e;display:inline-block}
.admin-table-wrap{overflow-x:auto;margin-top:14px;border:1px solid var(--line);border-radius:14px}
.admin-table{width:100%;border-collapse:collapse;font-size:12px}
.admin-table th{text-align:left;padding:10px 12px;color:var(--text-muted);font-size:9.5px;letter-spacing:.06em;text-transform:uppercase;border-bottom:1px solid var(--line);background:rgba(148,163,184,.05)}
.admin-table td{padding:11px 12px;border-bottom:1px solid var(--line);vertical-align:middle}
.admin-table tbody tr{transition:background-color .12s ease}
.admin-table tbody tr:last-child td{border-bottom:none}
.admin-table tbody tr:hover{background:rgba(99,102,241,.05)}
.admin-order-cell{display:flex;gap:4px}
.admin-order-cell .icon-btn{transition:transform .1s ease,opacity .1s ease}
.admin-order-cell .icon-btn:not(:disabled):hover{transform:translateY(-1px);color:var(--primary,#818cf8)}
.admin-order-cell .icon-btn:disabled{opacity:.25}
.link-btn{background:none;border:none;color:var(--primary,#818cf8);font-weight:700;font-size:12px;cursor:pointer;padding:0}
.link-btn:hover{text-decoration:underline}
.admin-switch{width:38px;height:22px;border-radius:99px;background:rgba(148,163,184,.25);border:none;position:relative;cursor:pointer;padding:0;transition:background-color .15s ease}
.admin-switch i{position:absolute;top:2px;left:2px;width:18px;height:18px;border-radius:50%;background:#fff;transition:.15s ease;display:block;box-shadow:0 1px 2px rgba(0,0,0,.25)}
.admin-switch.on{background:#22c55e}
.admin-switch.on i{left:18px}
.admin-switch:disabled{opacity:.5;cursor:default}
.admin-switch:not(:disabled):focus-visible{outline:2px solid var(--primary,#818cf8);outline-offset:2px}
.admin-quality-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:10px;margin-top:14px}
.admin-quality-card{display:flex;align-items:center;gap:10px;padding:12px 14px;border-radius:12px;background:var(--surface-solid,#141c2e);border:1px solid var(--line);cursor:pointer;text-align:left;color:inherit}
.admin-quality-card.on{border-color:var(--primary,#818cf8);background:rgba(99,102,241,.1)}
.admin-quality-check{width:18px;height:18px;border-radius:5px;border:1px solid var(--line);display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:10px;color:var(--primary,#818cf8)}
.admin-quality-card.on .admin-quality-check{background:var(--primary,#818cf8);border-color:var(--primary,#818cf8);color:#04140d}
.admin-quality-card b{display:block;font-size:12px}
.admin-quality-card small{color:var(--text-muted);font-size:9.5px}
.admin-note{display:flex;gap:12px;margin-top:14px;padding:14px;border-radius:12px;background:rgba(99,102,241,.08)}
.admin-note i{color:var(--primary,#818cf8)}
.admin-note b{display:block;font-size:12px}
.admin-note small{color:var(--text-muted);font-size:10.5px}
.admin-callout{display:flex;gap:12px;margin-top:16px;padding:14px 16px;border-radius:12px;background:rgba(234,179,8,.08);border:1px solid rgba(234,179,8,.25)}
.admin-callout i{color:#facc15}
.admin-callout b{display:block;font-size:12px}
.admin-callout small{color:var(--text-muted);font-size:10.5px}

/* Atributos: maestro-detalle */
.field-search-bar{display:flex;align-items:center;gap:16px;margin-top:16px;flex-wrap:wrap}
.field-search-bar .global-search{flex:1;min-width:260px}
.field-search-stats{display:flex;gap:16px;font-size:11px;color:var(--text-muted)}
.field-search-stats b{color:var(--text-strong);font-size:13px;margin-right:4px}
.field-admin-layout{display:grid;grid-template-columns:320px 1fr;gap:16px;margin-top:14px;align-items:start}
.field-admin-list{background:var(--surface-solid,#141c2e);border:1px solid var(--line);border-radius:16px;padding:8px;display:flex;flex-direction:column;gap:2px;max-height:70vh;overflow-y:auto}
.field-list-group{display:flex;flex-direction:column;gap:2px}
.field-list-group-label{display:block;padding:10px 10px 4px;color:var(--text-muted);font-size:9.5px;letter-spacing:.06em;text-transform:uppercase;font-weight:700}
.field-list-item{display:flex;align-items:center;gap:10px;padding:10px;border-radius:10px;background:none;border:none;color:inherit;cursor:pointer;text-align:left}
.field-list-item:hover{background:rgba(148,163,184,.06)}
.field-list-item.active{background:rgba(99,102,241,.14);border:1px solid var(--primary,#818cf8)}
.field-list-icon{width:30px;height:30px;border-radius:8px;background:rgba(99,102,241,.15);color:var(--primary,#818cf8);display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;flex-shrink:0}
.field-list-item div{flex:1;min-width:0}
.field-list-item b{display:block;font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.field-list-item small{color:var(--text-muted);font-size:10px}
.field-list-item>i{color:var(--text-muted);font-size:10px}
.field-admin-detail{background:var(--surface-solid,#141c2e);border:1px solid var(--line);border-radius:16px;padding:22px}
.field-detail-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:18px}
.field-detail-head h2{font-size:20px;margin:6px 0 4px}
.big-toggle-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px;margin:16px 0}
.big-toggle{display:flex;align-items:center;gap:10px;padding:12px;border-radius:12px;background:rgba(148,163,184,.05);border:1px solid var(--line)}
.big-toggle b{display:block;font-size:12px}
.big-toggle small{color:var(--text-muted);font-size:10px}
.field-options-label{display:block;font-size:11px;color:var(--text-muted);margin-top:10px}
.field-options-label textarea{width:100%;margin-top:6px;resize:vertical}
#detectValuesBtn{margin-top:10px}
.field-used-values{margin-top:18px}
.field-used-values>b{display:block;font-size:11px;margin-bottom:8px}
.field-value-chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}
.value-chip{display:inline-flex;align-items:center;gap:6px;background:rgba(148,163,184,.08);border:1px solid var(--line);border-radius:99px;padding:5px 12px;font-size:11px;cursor:pointer;color:inherit}
.value-chip.in-options{background:rgba(34,197,94,.12);border-color:rgba(34,197,94,.4);color:#4ade80}
.value-chip.toggle-chip:disabled{cursor:default;opacity:.85}
.value-chip.toggle-chip:not(.in-options){cursor:pointer}
.value-chip button[data-remove-option]{background:none;border:none;color:inherit;opacity:.7;cursor:pointer;font-size:13px;line-height:1;padding:0}
.value-chip button[data-remove-option]:hover{opacity:1}
.value-chip.mergeable{font:inherit}
.value-chip.mergeable:hover{border-color:var(--primary,#818cf8)}
.value-chip.mergeable.picked{background:rgba(99,102,241,.16);border-color:var(--primary,#818cf8);color:#818cf8}
.field-merge-panel{display:flex;align-items:flex-end;gap:10px;margin-top:12px;padding:12px;border-radius:12px;background:rgba(99,102,241,.08);border:1px solid rgba(99,102,241,.25)}
.field-merge-panel label{flex:1;display:grid;gap:6px;font-size:11px;color:#cbd5e1;font-weight:700}
@media(max-width:900px){.field-admin-layout{grid-template-columns:1fr}.field-admin-list{max-height:280px}}

.field-add-value-row{display:flex;gap:8px;margin-top:8px}
.field-add-value-row .field{flex:1}

/* Categorías: resumen por rama */
.category-tree-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-top:14px}
.category-tree-toolbar .global-search{max-width:320px}
.search-clear{background:transparent;border:none;color:var(--text-muted);cursor:pointer;padding:4px;display:flex;align-items:center;justify-content:center;font-size:12px}
.search-clear:hover{color:var(--text-strong)}
.category-tree-actions{display:flex;gap:8px;margin-left:auto}
.category-drag-handle{color:var(--text-muted);cursor:grab;font-size:11px;flex-shrink:0}
.category-node-row{cursor:default;user-select:none;-webkit-user-drag:element}
.category-node-row.drag-over{background:rgba(99,102,241,.16);outline:1px dashed var(--primary,#818cf8);border-radius:8px}
.category-node-row.is-dragging-source{opacity:.4}
.category-root-drop{display:none;align-items:center;gap:8px;justify-content:center;margin-top:10px;padding:10px;border:1px dashed var(--line);border-radius:10px;color:var(--text-muted);font-size:12px}
.category-root-drop.visible{display:flex}
.category-root-drop.drag-over{border-color:var(--primary,#818cf8);color:var(--text-strong);background:rgba(99,102,241,.1)}
.category-layout{display:grid;grid-template-columns:minmax(280px,360px) 1fr;gap:14px;align-items:start}
@media (max-width:980px){.category-layout{grid-template-columns:1fr}}
.category-summary-col,.category-tree-col{margin:0}
.category-summary-list{display:flex;flex-direction:column;gap:8px;margin-top:14px}
.category-summary-row{display:flex;align-items:center;gap:12px;background:var(--surface-solid,#141c2e);border:1px solid var(--line);border-radius:12px;padding:10px 12px;cursor:pointer;transition:border-color .15s,background .15s;text-align:left;width:100%}
.category-summary-row:hover{border-color:var(--primary,#818cf8);background:rgba(99,102,241,.08)}
.category-summary-icon{width:32px;height:32px;border-radius:9px;background:rgba(99,102,241,.15);color:var(--primary,#818cf8);display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:12px}
.category-summary-info{flex:1;min-width:0}
.category-summary-info b{display:block;font-size:13px}
.category-summary-info small{color:var(--text-muted);font-size:10.5px}
.category-summary-stats{display:flex;flex-direction:column;align-items:flex-end;flex-shrink:0}
.category-summary-stats strong{font-size:14px;white-space:nowrap}
.category-summary-stats small{color:var(--text-muted);font-size:9.5px}
.category-summary-row>i.fa-chevron-right{color:var(--text-muted);font-size:11px;flex-shrink:0}
.category-chip{display:inline-flex;align-items:center;gap:6px;background:rgba(148,163,184,.08);border:1px solid var(--line);border-radius:8px;padding:5px 10px;font-size:10.5px;color:var(--text-muted)}
.category-chip b{color:var(--text-strong);font-weight:700}

/* Marcas */
.brand-filters{display:flex;align-items:center;gap:12px;margin-top:16px;flex-wrap:wrap}
.brand-filters .global-search{flex:1;min-width:220px}
.brand-filters .field{width:auto;min-width:200px}
.brand-filters .hint{margin-left:auto}
.brand-stats-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;margin:16px 0}
.brand-stat-tile{display:flex;align-items:center;gap:12px;background:var(--surface-solid,#141c2e);border:1px solid var(--line);border-radius:14px;padding:14px 16px}
.brand-stat-icon{width:36px;height:36px;border-radius:10px;background:rgba(99,102,241,.15);color:var(--primary,#818cf8);display:flex;align-items:center;justify-content:center;flex-shrink:0}
.brand-stat-tile.warn .brand-stat-icon{background:rgba(234,179,8,.15);color:#facc15}
.brand-stat-tile strong{display:block;font-size:18px;line-height:1.2}
.brand-stat-tile small{color:var(--text-muted);font-size:10.5px}
.brand-table td{vertical-align:middle}
.brand-row-name{display:flex;align-items:center;gap:10px}
.brand-avatar{width:32px;height:32px;border-radius:9px;background:rgba(99,102,241,.15);color:var(--primary,#818cf8);display:flex;align-items:center;justify-content:center;font-weight:800;font-size:11px;flex-shrink:0}
.brand-row-actions{display:flex;gap:6px;justify-content:flex-end}
.brand-row-actions .btn-secondary{white-space:nowrap;font-size:10.5px}
.icon-btn-spacer{width:38px;min-height:38px;flex-shrink:0}

/* Control de calidad: Fichas por completar */
.quality-header-actions{display:flex;gap:10px;flex-wrap:wrap}

.quality-kpi-row{display:grid;grid-template-columns:minmax(240px,320px) repeat(2,minmax(160px,1fr));gap:12px;margin:16px 0}
.quality-kpi-ring-tile{display:flex;align-items:center;gap:14px;background:var(--surface-solid,#141c2e);border:1px solid var(--line);border-radius:14px;padding:14px 16px}
.quality-kpi-ring-tile b{display:block;font-size:12.5px}
.quality-kpi-ring-tile small{color:var(--text-muted);font-size:10.5px}
.quality-ring{--pct:0;--ring-color:#4ade80;width:56px;height:56px;border-radius:50%;flex-shrink:0;display:flex;align-items:center;justify-content:center;background:conic-gradient(var(--ring-color) calc(var(--pct)*1%),rgba(255,255,255,.08) 0);position:relative}
.quality-ring::after{content:'';position:absolute;inset:5px;border-radius:50%;background:var(--surface-solid,#141c2e)}
.quality-ring strong{position:relative;z-index:1;font-size:12px}
.quality-ring-sm{width:38px;height:38px;flex-shrink:0}
.quality-ring-sm::after{inset:4px}
.quality-ring-sm strong{font-size:9px}

.quality-active-bar{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:16px;flex-wrap:wrap}
.quality-active-bar .eyebrow{display:block;margin-bottom:6px}
.quality-active-bar select{min-width:220px}
.quality-active-bar .hint{margin-left:10px}
.quality-active-actions{display:flex;gap:10px;align-items:center}
.quality-accordion-toggle{width:100%;display:flex;align-items:center;gap:12px;background:none;border:none;color:inherit;cursor:pointer;padding:4px;text-align:left}
.quality-accordion-toggle>i:first-child{color:var(--primary,#818cf8)}
.quality-accordion-toggle div{flex:1}
.quality-accordion-toggle b{display:block;font-size:13px}
.quality-accordion-toggle small{color:var(--text-muted);font-size:10.5px}
.quality-accordion-toggle>i:last-child{transition:transform .15s ease;color:var(--text-muted)}
.quality-accordion-toggle.open>i:last-child{transform:rotate(180deg)}
#qualityRules{margin-top:14px}
.quality-criteria-groups{display:flex;flex-direction:column;gap:16px}
.quality-criteria-group-label{display:block;font-size:10px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--text-muted);margin-bottom:8px}
.quality-criteria-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:10px}
.quality-toolbar{display:flex;align-items:center;gap:12px;margin-top:16px;flex-wrap:wrap}
.quality-toolbar .global-search{flex:1;min-width:240px}
.quality-toolbar .field{width:auto;min-width:150px}
.quality-toolbar .hint{margin-left:auto;white-space:nowrap}
.quality-layout{display:grid;grid-template-columns:240px 1fr;gap:16px;margin-top:16px;align-items:start}
.quality-filter-sidebar{display:flex;flex-direction:column;gap:4px;background:var(--surface-solid,#141c2e);border:1px solid var(--line);border-radius:16px;padding:8px}
.quality-filter-item{display:flex;align-items:center;gap:10px;padding:10px;border-radius:10px;background:none;border:none;color:inherit;cursor:pointer;text-align:left;font-size:12px}
.quality-filter-item:hover{background:rgba(148,163,184,.06)}
.quality-filter-item.active{background:rgba(99,102,241,.14);color:var(--primary,#818cf8)}
.quality-filter-item i{width:16px;color:var(--text-muted)}
.quality-filter-item.active i{color:var(--primary,#818cf8)}
.quality-filter-item span{flex:1}
.quality-filter-item b{color:var(--text-muted);font-weight:700}
.quality-product-list{display:flex;flex-direction:column;gap:6px;margin-top:14px}
.quality-product-row{display:flex;align-items:center;gap:14px;padding:12px;border-radius:12px;cursor:pointer;background:var(--surface-solid,#141c2e);border:1px solid transparent}
.quality-product-row:hover{background:rgba(148,163,184,.07);border-color:var(--line)}
.quality-product-thumb{width:44px;height:44px;border-radius:10px;overflow:hidden;background:rgba(148,163,184,.1);display:flex;align-items:center;justify-content:center;flex-shrink:0}
.quality-product-thumb img{width:100%;height:100%;object-fit:cover}
.quality-product-info{flex:1;min-width:0}
.quality-product-info b{display:block;font-size:12.5px}
.quality-product-info small{color:var(--text-muted);font-size:10.5px}
.quality-product-tags{display:flex;flex-wrap:wrap;gap:5px;margin-top:6px}
.quality-tag{background:rgba(234,179,8,.12);color:#facc15;border-radius:6px;padding:2px 8px;font-size:9.5px;font-weight:700;border:none;cursor:pointer;font-family:inherit}
.quality-tag:hover{background:rgba(234,179,8,.22)}
.quality-tag.more{background:rgba(148,163,184,.12);color:var(--text-muted);cursor:default}
@media(max-width:900px){.quality-layout{grid-template-columns:1fr}.quality-filter-sidebar{flex-direction:row;overflow-x:auto}.quality-kpi-row{grid-template-columns:1fr}}

/* Árbol de categorías */
.category-tree{margin-top:14px;display:flex;flex-direction:column;gap:2px}
.category-node-row{display:flex;align-items:center;gap:8px;padding:8px 6px;border-radius:10px;margin-left:calc(var(--depth,0) * 22px)}
.category-node-row:hover{background:rgba(148,163,184,.05)}
.category-toggle-spacer{width:30px;flex-shrink:0}
.category-toggle{flex-shrink:0}
.category-node-info{flex:1;min-width:0}
.category-node-info b{display:block;font-size:12.5px}
.category-node-info small{color:var(--text-muted);font-size:10px}
.category-node-actions{display:flex;gap:6px;flex-shrink:0;opacity:.55;transition:.15s ease}
.category-node-row:hover .category-node-actions{opacity:1}
.category-node-actions .btn-secondary{font-size:10px;padding:0 10px;min-height:30px}
.category-node-actions .icon-btn{width:30px;height:30px;min-height:30px}

/* Biblioteca visual: grid + estudio fotográfico */
.media-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:14px;margin-top:16px}
.media-card{position:relative;background:var(--surface-solid,#141c2e);border:1px solid var(--line);border-radius:14px;overflow:hidden}
.media-card.selected{border-color:var(--primary,#818cf8);box-shadow:0 0 0 1px var(--primary,#818cf8)}
.media-card-open{display:block;width:100%;background:none;border:none;padding:0;text-align:left;color:inherit;cursor:pointer}
.media-card .catalog-card-image{background:repeating-conic-gradient(#20293b 0% 25%,#161d2c 0% 50%) 0 0/16px 16px}
.media-card-edit{position:absolute;top:8px;right:8px;width:32px;height:32px;border-radius:9px;background:rgba(8,13,23,.75);color:#fff;display:flex;align-items:center;justify-content:center;font-size:12px;opacity:0;transition:.15s ease}
.media-card:hover .media-card-edit{opacity:1}
.media-card .catalog-card-body{padding:10px 12px}
.media-card-select{position:absolute;top:8px;left:8px;z-index:1;width:24px;height:24px;border-radius:7px;background:rgba(8,13,23,.75);display:flex;align-items:center;justify-content:center;cursor:pointer}
.media-card-select input{width:16px;height:16px;cursor:pointer}

.media-bulk-bar{display:flex;flex-wrap:wrap;align-items:center;gap:10px;background:var(--surface-solid,#141c2e);border:1px solid var(--primary,#818cf8);border-radius:12px;padding:10px 14px;margin-top:12px}
.media-bulk-bar span:first-child{font-weight:700;font-size:12px}
.media-bulk-group{display:flex;align-items:center;gap:6px}
.media-bulk-group .field{width:auto;min-height:34px}
.media-bulk-bar .btn-secondary{min-height:34px;font-size:11px}
#mediaBulkProgress{margin-left:auto;color:var(--text-muted)}

.studio-dialog.app-dialog{width:min(1180px,calc(100% - 24px))}
.studio-card{padding:20px}
.studio-body{display:grid;grid-template-columns:1fr 300px;gap:18px;margin-top:6px}
.studio-canvas-col{display:flex;flex-direction:column;gap:10px;min-width:0}
.studio-stage{position:relative;background:repeating-conic-gradient(#20293b 0% 25%,#161d2c 0% 50%) 0 0/20px 20px;border:1px solid var(--line);border-radius:14px;overflow:visible;display:flex;align-items:center;justify-content:center;min-height:360px;max-height:56vh;padding:26px}
.studio-stage canvas{max-width:100%;max-height:56vh;display:block;touch-action:none;cursor:crosshair}
.studio-stage-loading{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:rgba(6,10,18,.55);color:#fff;font-size:22px}
.studio-stage-toolbar{display:flex;align-items:center;justify-content:space-between;gap:10px}
.studio-tools{display:flex;flex-direction:column;gap:12px;min-width:0}
.studio-tabs{display:grid;grid-template-columns:repeat(5,1fr);gap:4px;background:rgba(255,255,255,.03);border:1px solid var(--line);border-radius:12px;padding:4px}
.studio-tab{display:flex;flex-direction:column;align-items:center;gap:4px;padding:8px 4px;border-radius:9px;background:none;border:none;color:var(--text-muted);font-size:9.5px;font-weight:700;cursor:pointer}
.studio-tab i{font-size:13px}
.studio-tab.active{background:var(--primary,#818cf8);color:#04140d}
.studio-panel{display:flex;flex-direction:column;gap:12px;background:var(--surface-solid,#141c2e);border:1px solid var(--line);border-radius:14px;padding:14px;max-height:44vh;overflow-y:auto}
.studio-panel label{display:grid;gap:6px;color:#cbd5e1;font-size:11px;font-weight:700}
.studio-panel input[type="range"]{accent-color:var(--primary,#818cf8);width:100%}
.studio-range-row{display:flex;align-items:center;gap:8px}
.studio-range-row input[type="range"]{flex:1}
.studio-range-row b{font-size:10.5px;color:var(--text-strong);min-width:32px;text-align:right;flex-shrink:0}
.studio-color-preview{display:flex;align-items:center;gap:8px}
.studio-color-preview input[type="color"]{width:32px;height:32px;padding:0;border-radius:7px;border:1px solid var(--line);background:repeating-conic-gradient(#20293b 0% 25%,#161d2c 0% 50%) 0 0/8px 8px;flex-shrink:0;cursor:pointer}
.studio-color-preview small{color:var(--text-muted);font-size:10px}
.studio-brush-row{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px}
.studio-brush-buttons{display:flex;gap:6px}
.studio-brush-buttons .btn-secondary{padding:0 10px;min-height:32px;font-size:10.5px}
.studio-brush-buttons .btn-secondary.active{background:var(--primary,#818cf8);color:#04140d;border-color:var(--primary,#818cf8)}
.studio-wysiwyg-note{display:flex;align-items:center;gap:6px;margin-top:8px}
.studio-ratio-row{display:flex;flex-wrap:wrap;gap:6px}
.studio-ratio-row .btn-secondary{font-size:10.5px;padding:0 10px;min-height:30px}
.studio-ratio-row .btn-secondary.active{background:var(--primary,#818cf8);color:#04140d;border-color:var(--primary,#818cf8)}
.studio-divider{border:none;border-top:1px solid var(--line);margin:2px 0}
@media(max-width:960px){.studio-body{grid-template-columns:1fr}.studio-tabs{grid-template-columns:repeat(5,1fr)}}

/* Carpetas de tienda/marketplace, dentro de Biblioteca visual */
.media-folder-tabs{display:flex;flex-wrap:wrap;gap:8px;margin:16px 0}
.media-folder-tab{display:flex;align-items:center;gap:8px;padding:9px 14px;border-radius:11px;background:var(--surface-solid,#141c2e);border:1px solid var(--line);cursor:pointer;color:var(--text-muted);font-size:12px;font-weight:700}
.media-folder-tab:hover{border-color:rgba(148,163,184,.4);color:var(--text-strong)}
.media-folder-tab.active{background:var(--primary,#818cf8);color:#04140d;border-color:var(--primary,#818cf8)}
.media-folder-tab i{font-size:12px}
.media-folder-tab b{font-weight:800;font-size:10.5px;background:rgba(255,255,255,.12);border-radius:99px;padding:2px 7px}
.media-folder-tab.active b{background:rgba(4,20,13,.2)}
.media-folder-tab.complete:not(.active) b{background:rgba(74,222,128,.18);color:#4ade80}
.media-folder-add{border-style:dashed}
.export-error-detail{display:block;color:#f87171;font-size:9.5px;margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:320px}

/* Mapeo de campos de catálogo -> WooCommerce (Integraciones) */
.mapping-toolbar{display:flex;justify-content:flex-end;margin:10px 0}
.mapping-table select.mapping-source{min-width:220px}
.mapping-table input.mapping-wc-field{min-width:180px}
.mapping-table td{vertical-align:middle}

