:root{
    --brand:#00a884;
    --brand-strong:#087b67;
    --brand-deep:#064e43;
    --brand-soft:#e8f8f4;
    --brand-softer:#f2fbf8;
    --navy:#101828;
    --navy-2:#1d2939;
    --text:#182230;
    --muted:#667085;
    --muted-2:#98a2b3;
    --line:#e4e7ec;
    --line-soft:#eef1f4;
    --canvas:#f6f7f9;
    --surface:#ffffff;
    --surface-2:#f9fafb;
    --danger:#d92d20;
    --danger-soft:#fef3f2;
    --warning:#dc6803;
    --warning-soft:#fffaeb;
    --success:#079455;
    --success-soft:#ecfdf3;
    --info:#175cd3;
    --info-soft:#eff8ff;
    --shadow-xs:0 1px 2px rgba(16,24,40,.05);
    --shadow-sm:0 2px 8px rgba(16,24,40,.06);
    --shadow-md:0 12px 28px rgba(16,24,40,.08);
    --radius-sm:8px;
    --radius:12px;
    --radius-lg:16px;
    --sidebar:272px;
    --sidebar-collapsed:82px;
    --topbar:72px;
}
*{box-sizing:border-box}
html{font-family:"Tajawal","Segoe UI",Tahoma,Arial,sans-serif;background:var(--canvas);color:var(--text);scroll-behavior:smooth}
body{margin:0;direction:inherit;font-size:14px;line-height:1.5;background:var(--canvas);color:var(--text)}
a{color:inherit;text-decoration:none}
button,input,select,textarea{font:inherit}
button{color:inherit}
img,svg{display:block}
h1,h2,h3,h4,p{margin-top:0}
h1{font-size:26px;line-height:1.25;letter-spacing:-.3px;margin-bottom:6px}
h2{font-size:18px;line-height:1.35;margin-bottom:8px}
h3{font-size:15px;margin-bottom:6px}
code,kbd{font-family:Consolas,Monaco,monospace}
code{background:#f2f4f7;border:1px solid var(--line);border-radius:6px;padding:2px 6px;font-size:12px;direction:ltr;display:inline-block}
.ui-icon{flex:0 0 auto}
.muted{color:var(--muted)}
.text-danger{color:var(--danger)}
.text-success{color:var(--success)}
.text-brand{color:var(--brand-strong)}
.text-sm{font-size:12px}
.text-xs{font-size:11px}
.ltr{direction:ltr;text-align:left}
.hidden{display:none!important}

/* Shell */
.app-shell{min-height:100vh;display:grid;grid-template-columns:var(--sidebar) minmax(0,1fr);transition:grid-template-columns .25s ease}
.app-sidebar{position:sticky;top:0;height:100vh;background:#fff;border-left:1px solid var(--line);padding:14px 12px;display:flex;flex-direction:column;z-index:40;overflow:hidden;transition:width .25s ease,transform .25s ease}
.sidebar-brand-row{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:3px 4px 14px}
.sidebar-brand{display:flex;align-items:center;gap:11px;min-width:0}
.brand-symbol{width:42px;height:42px;border-radius:13px;background:linear-gradient(135deg,var(--brand),var(--brand-strong));box-shadow:0 8px 18px rgba(0,168,132,.18);display:grid;place-items:center;flex:0 0 auto}
.brand-symbol span{font-size:24px;line-height:1;font-weight:900;color:#fff;font-style:italic}
.brand-copy{display:grid;min-width:0}
.brand-copy strong{font-size:17px;color:var(--navy);white-space:nowrap}
.brand-copy small{color:var(--muted);font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.icon-btn{width:38px;height:38px;border:1px solid transparent;background:transparent;border-radius:10px;display:inline-grid;place-items:center;cursor:pointer;transition:.18s ease}
.icon-btn:hover{background:#f2f4f7;border-color:var(--line)}
.sidebar-collapse{width:32px;height:32px;color:var(--muted)}
.workspace-card{margin:2px 1px 14px;padding:10px;border:1px solid var(--line);border-radius:12px;background:var(--surface-2);display:flex;align-items:center;gap:10px;min-width:0}
.workspace-avatar{width:34px;height:34px;border-radius:9px;background:var(--brand-soft);color:var(--brand-strong);font-weight:800;display:grid;place-items:center;flex:0 0 auto}
.workspace-copy{display:grid;min-width:0;flex:1}
.workspace-copy strong{font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.workspace-copy small{font-size:11px;color:var(--muted)}
.workspace-arrow{color:var(--muted-2)}
.sidebar-nav{display:flex;flex-direction:column;gap:3px;overflow:auto;padding:0 2px 12px;scrollbar-width:thin;flex:1}
.nav-label{font-size:10px;font-weight:800;letter-spacing:.7px;color:var(--muted-2);padding:14px 11px 5px;text-transform:uppercase;white-space:nowrap}
.nav-link{position:relative;min-height:43px;border-radius:10px;padding:0 11px;display:flex;align-items:center;gap:11px;color:#475467;font-weight:600;transition:.16s ease;white-space:nowrap}
.nav-link:hover{background:#f5f7f8;color:var(--navy)}
.nav-link.active{background:var(--brand-soft);color:var(--brand-strong)}
.nav-link.active:before{content:"";position:absolute;right:-2px;width:3px;height:24px;border-radius:4px;background:var(--brand)}
.nav-link span{overflow:hidden;text-overflow:ellipsis}
.nav-link em{font-size:9px;font-style:normal;color:var(--muted);background:#f2f4f7;border-radius:999px;padding:2px 6px;margin-right:auto}
.nav-link.disabled{opacity:.6;cursor:not-allowed}
.nav-count{min-width:20px;height:20px;border-radius:999px;background:var(--brand);color:#fff;font-size:10px;display:grid;place-items:center;padding:0 5px;margin-right:auto}
.sidebar-footer{border-top:1px solid var(--line-soft);padding:12px 5px 2px;display:flex;align-items:center;justify-content:space-between;gap:8px}
.sidebar-help{display:flex;align-items:center;gap:9px;min-width:0}
.help-icon{width:30px;height:30px;border-radius:9px;background:#f2f4f7;color:var(--muted);display:grid;place-items:center;font-weight:800}
.sidebar-help div{display:grid}
.sidebar-help strong{font-size:11px}
.sidebar-help small{font-size:9px;color:var(--muted)}
.version-chip{font-size:9px;color:var(--muted-2);white-space:nowrap}

.app-main{min-width:0;min-height:100vh}
.app-topbar{height:var(--topbar);background:rgba(255,255,255,.96);backdrop-filter:blur(10px);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:30;display:grid;grid-template-columns:minmax(160px,1fr) minmax(260px,520px) minmax(250px,1fr);align-items:center;gap:20px;padding:0 24px}
.topbar-start,.topbar-actions{display:flex;align-items:center;gap:12px}
.topbar-actions{justify-content:flex-start}
.topbar-page{display:grid}
.topbar-page small{font-size:10px;color:var(--muted-2)}
.topbar-page strong{font-size:14px}
.mobile-menu-btn,.mobile-sidebar-close{display:none}
.global-search{height:40px;border:1px solid var(--line);border-radius:10px;background:var(--surface-2);display:flex;align-items:center;gap:9px;padding:0 11px;color:var(--muted);transition:.18s ease}
.global-search:focus-within{border-color:#84e1cc;box-shadow:0 0 0 3px rgba(0,168,132,.09);background:#fff}
.global-search input{border:0;outline:0;background:transparent;min-width:0;flex:1;color:var(--text)}
.global-search kbd{font-size:10px;border:1px solid var(--line);border-bottom-width:2px;border-radius:5px;padding:2px 5px;background:#fff;color:var(--muted-2)}
.connection-pill,.role-pill{height:31px;padding:0 10px;border-radius:999px;background:var(--warning-soft);color:var(--warning);display:inline-flex;align-items:center;gap:7px;font-size:11px;font-weight:700;white-space:nowrap}
.connection-pill i{width:7px;height:7px;border-radius:50%;background:currentColor}
.connection-pill.connected{background:var(--success-soft);color:var(--success)}
.role-pill{background:#f4f3ff;color:#6938ef}
.notification-btn{position:relative;color:var(--muted)}
.notification-dot{position:absolute;top:8px;right:8px;width:7px;height:7px;border-radius:50%;background:#f04438;border:2px solid #fff}
.profile-menu{position:relative}
.profile-trigger{border:0;background:transparent;display:flex;align-items:center;gap:9px;border-radius:10px;padding:5px 7px;cursor:pointer;text-align:right}
.profile-trigger:hover{background:#f5f7f8}
.profile-avatar{width:35px;height:35px;border-radius:50%;background:linear-gradient(135deg,#d9f7ef,#b7eadf);color:var(--brand-strong);font-weight:800;display:grid;place-items:center;flex:0 0 auto}
.profile-copy{display:grid;min-width:0;max-width:140px}
.profile-copy strong{font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.profile-copy small{font-size:9px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.dropdown-menu{position:absolute;top:calc(100% + 8px);left:0;min-width:210px;background:#fff;border:1px solid var(--line);box-shadow:var(--shadow-md);border-radius:12px;padding:6px;display:none;z-index:60}
.dropdown-menu.open{display:grid}
.dropdown-menu a,.dropdown-menu button{width:100%;border:0;background:transparent;display:flex;align-items:center;gap:9px;padding:10px;border-radius:8px;cursor:pointer;text-align:right;color:#475467}
.dropdown-menu a:hover,.dropdown-menu button:hover{background:#f5f7f8;color:var(--navy)}

.app-content{padding:24px;max-width:1680px;margin:0 auto}
.support-mode-bar{height:46px;background:#7a2e0e;color:#fff;display:flex;align-items:center;justify-content:center;gap:24px;position:sticky;top:0;z-index:100;padding:0 18px}
.support-mode-bar>div{display:flex;align-items:center;gap:8px}
.has-support-bar .app-sidebar{top:46px;height:calc(100vh - 46px)}
.has-support-bar .app-topbar{top:46px}
.sidebar-overlay{display:none}

/* Page structure */
.page-header{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:20px}
.page-header-copy{min-width:0}
.page-header-copy p{color:var(--muted);margin:0;max-width:760px}
.page-header-actions{display:flex;align-items:center;gap:9px;flex-wrap:wrap}
.page-kicker{display:flex;align-items:center;gap:6px;color:var(--brand-strong);font-size:11px;font-weight:800;margin-bottom:6px}
.page-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:20px}
.page-head p{margin:0;color:var(--muted)}
.content-stack{display:grid;gap:18px}
.section-title{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:14px}
.section-title h2{margin:0}
.section-title p{margin:3px 0 0;color:var(--muted);font-size:12px}
.section-actions{display:flex;gap:8px;align-items:center}

/* Cards and grids */
.grid{display:grid;gap:16px}
.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}
.grid-5{grid-template-columns:repeat(5,minmax(0,1fr))}
.dashboard-grid{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(320px,.85fr);gap:16px}
.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-xs);padding:18px}
.card.flush{padding:0;overflow:hidden}
.card.soft{background:var(--surface-2);box-shadow:none}
.card.brand-card{background:linear-gradient(145deg,#093f36,#087b67);color:#fff;border:0;box-shadow:0 16px 30px rgba(8,123,103,.16)}
.card-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px}
.card-head h2,.card-head h3{margin:0}
.card-head-copy p{margin:3px 0 0;color:var(--muted);font-size:12px}
.card.brand-card .muted,.card.brand-card p{color:rgba(255,255,255,.72)}
.stat-card{padding:16px;display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.stat-copy{display:grid;gap:5px}
.stat-copy small{color:var(--muted);font-size:11px;font-weight:600}
.stat-copy strong{font-size:25px;letter-spacing:-.5px}
.stat-copy span{color:var(--muted);font-size:10px}
.stat-icon{width:39px;height:39px;border-radius:11px;display:grid;place-items:center;background:var(--brand-soft);color:var(--brand-strong)}
.stat-icon.blue{background:var(--info-soft);color:var(--info)}
.stat-icon.orange{background:var(--warning-soft);color:var(--warning)}
.stat-icon.purple{background:#f4f3ff;color:#6938ef}
.stat-trend{display:inline-flex;align-items:center;gap:3px;font-size:10px;color:var(--success);font-weight:700}
.metric-row{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.mini-metric{border:1px solid var(--line-soft);border-radius:10px;padding:12px;background:#fff}
.mini-metric span{display:block;color:var(--muted);font-size:10px;margin-bottom:5px}
.mini-metric strong{font-size:18px}

/* Buttons */
.btn{min-height:38px;border:1px solid transparent;border-radius:9px;padding:0 14px;display:inline-flex;align-items:center;justify-content:center;gap:7px;font-weight:700;font-size:12px;cursor:pointer;transition:.16s ease;white-space:nowrap}
.btn:hover{transform:translateY(-1px)}
.btn:disabled{opacity:.5;cursor:not-allowed;transform:none}
.btn-primary{background:var(--brand);color:#fff;box-shadow:0 3px 8px rgba(0,168,132,.16)}
.btn-primary:hover{background:#079676}
.btn-dark{background:var(--navy);color:#fff}
.btn-outline{background:#fff;border-color:var(--line);color:#344054}
.btn-outline:hover,.btn-light:hover{border-color:#cfd4dc;background:#f9fafb}
.btn-light{background:#f2f4f7;border-color:#f2f4f7;color:#344054}
.btn-danger{background:var(--danger-soft);color:var(--danger);border-color:#fecdca}
.btn-white{background:#fff;color:var(--navy)}
.btn-ghost{background:transparent;color:var(--muted)}
.btn-sm{min-height:31px;padding:0 10px;font-size:11px;border-radius:8px}
.btn-lg{min-height:44px;padding:0 18px;font-size:13px}
.btn-block{width:100%}
.btn-icon{width:38px;padding:0}
.action-menu{display:flex;align-items:center;gap:6px}

/* Forms */
.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}
.form-grid-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}
.field{display:grid;gap:7px;align-content:start}
.field.full{grid-column:1/-1}
.field label{font-size:12px;font-weight:700;color:#344054}
.field-hint{font-size:10px;color:var(--muted);margin-top:-2px}
.input{width:100%;min-height:40px;border:1px solid #d0d5dd;background:#fff;border-radius:9px;padding:9px 11px;color:var(--text);outline:0;transition:.16s ease}
.input::placeholder{color:#98a2b3}
.input:focus{border-color:#6ce2c7;box-shadow:0 0 0 3px rgba(0,168,132,.1)}
textarea.input{min-height:105px;resize:vertical}
select.input{cursor:pointer}
.input-with-icon{position:relative}
.input-with-icon .ui-icon{position:absolute;right:11px;top:50%;transform:translateY(-50%);color:var(--muted)}
.input-with-icon .input{padding-right:38px}
.form-actions{grid-column:1/-1;display:flex;align-items:center;justify-content:flex-end;gap:9px;padding-top:5px}
.switch-row{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding:14px 0;border-bottom:1px solid var(--line-soft)}
.switch-row:last-child{border-bottom:0}
.switch-copy{display:grid;gap:3px}
.switch-copy strong{font-size:12px}
.switch-copy small{font-size:10px;color:var(--muted)}
.switch{position:relative;width:42px;height:24px;flex:0 0 auto}
.switch input{opacity:0;width:0;height:0}
.switch-slider{position:absolute;inset:0;background:#d0d5dd;border-radius:999px;cursor:pointer;transition:.2s}
.switch-slider:after{content:"";position:absolute;width:18px;height:18px;top:3px;right:3px;background:#fff;border-radius:50%;box-shadow:0 1px 3px rgba(16,24,40,.2);transition:.2s}
.switch input:checked + .switch-slider{background:var(--brand)}
.switch input:checked + .switch-slider:after{transform:translateX(-18px)}
.checkbox-list{display:grid;gap:9px}
.checkbox-item{display:flex;align-items:flex-start;gap:9px;border:1px solid var(--line);border-radius:9px;padding:10px;cursor:pointer}
.checkbox-item input{margin-top:3px;accent-color:var(--brand)}
.checkbox-copy{display:grid}
.checkbox-copy strong{font-size:11px}
.checkbox-copy small{font-size:9px;color:var(--muted)}

/* Badges */
.badge{display:inline-flex;align-items:center;gap:5px;min-height:24px;padding:0 8px;border-radius:999px;font-size:10px;font-weight:700;white-space:nowrap}
.badge:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor;opacity:.8}
.badge-success{background:var(--success-soft);color:var(--success)}
.badge-warning{background:var(--warning-soft);color:var(--warning)}
.badge-danger{background:var(--danger-soft);color:var(--danger)}
.badge-info{background:var(--info-soft);color:var(--info)}
.badge-muted{background:#f2f4f7;color:#667085}
.badge-brand{background:var(--brand-soft);color:var(--brand-strong)}
.badge.no-dot:before{display:none}

/* Tables */
.table-card{padding:0;overflow:hidden}
.table-toolbar{min-height:64px;padding:12px 16px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:12px}
.table-toolbar-start,.table-toolbar-end{display:flex;align-items:center;gap:9px}
.table-search{min-width:260px}
.table-wrap{overflow:auto}
.table{width:100%;border-collapse:separate;border-spacing:0}
.table th,.table td{padding:12px 15px;text-align:right;border-bottom:1px solid var(--line-soft);vertical-align:middle;white-space:nowrap}
.table th{background:#fcfcfd;color:#667085;font-size:10px;font-weight:700;letter-spacing:.1px}
.table td{font-size:12px;color:#344054}
.table tbody tr:hover td{background:#fbfdfc}
.table tbody tr:last-child td{border-bottom:0}
.table-link{font-weight:700;color:var(--navy)}
.table-link:hover{color:var(--brand-strong)}
.table-sub{display:block;color:var(--muted);font-size:9px;margin-top:3px}
.table-avatar-cell{display:flex;align-items:center;gap:10px}
.table-avatar{width:34px;height:34px;border-radius:10px;background:var(--brand-soft);color:var(--brand-strong);display:grid;place-items:center;font-weight:800;flex:0 0 auto}
.empty-row td{text-align:center;padding:44px;color:var(--muted)}
.pagination{padding:14px 16px;border-top:1px solid var(--line-soft)}

/* Tabs/settings */
.settings-layout{display:grid;grid-template-columns:230px minmax(0,1fr);gap:18px;align-items:start}
.settings-nav{position:sticky;top:calc(var(--topbar) + 20px);padding:8px}
.settings-nav button,.settings-nav a{width:100%;border:0;background:transparent;border-radius:8px;padding:10px 11px;display:flex;align-items:center;gap:9px;text-align:right;color:#475467;cursor:pointer;font-weight:600;font-size:12px}
.settings-nav button:hover,.settings-nav a:hover{background:#f5f7f8}
.settings-nav button.active,.settings-nav a.active{background:var(--brand-soft);color:var(--brand-strong)}
.settings-nav .settings-group{font-size:9px;font-weight:800;color:var(--muted-2);padding:14px 10px 5px;text-transform:uppercase}
.settings-content{display:grid;gap:16px}
.settings-panel[hidden]{display:none!important}
.settings-section{padding:20px}
.settings-section-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding-bottom:15px;border-bottom:1px solid var(--line-soft);margin-bottom:17px}
.settings-section-head p{margin:3px 0 0;color:var(--muted);font-size:11px}
.tabs{display:flex;gap:3px;overflow:auto;border-bottom:1px solid var(--line);margin-bottom:16px}
.tabs button{border:0;background:transparent;padding:11px 13px;cursor:pointer;color:var(--muted);font-size:11px;font-weight:700;border-bottom:2px solid transparent;white-space:nowrap}
.tabs button.active{color:var(--brand-strong);border-color:var(--brand)}
[data-tab-panel][hidden]{display:none!important}

/* Dashboard */
.welcome-card{position:relative;overflow:hidden;padding:22px}
.welcome-card:after{content:"";position:absolute;width:220px;height:220px;border-radius:50%;background:rgba(255,255,255,.06);left:-70px;top:-100px}
.welcome-card-content{position:relative;z-index:1;display:flex;align-items:center;justify-content:space-between;gap:20px}
.welcome-card h1{font-size:24px;margin-bottom:7px}
.welcome-actions{display:flex;gap:8px;flex-wrap:wrap}
.onboarding-list{display:grid;gap:4px}
.onboarding-item{display:flex;align-items:center;gap:11px;padding:11px;border-radius:9px}
.onboarding-item:hover{background:#f9fafb}
.onboarding-status{width:28px;height:28px;border-radius:50%;border:1px solid var(--line);display:grid;place-items:center;color:var(--muted-2);flex:0 0 auto}
.onboarding-item.done .onboarding-status{background:var(--success-soft);border-color:#abefc6;color:var(--success)}
.onboarding-copy{display:grid;min-width:0;flex:1}
.onboarding-copy strong{font-size:11px}
.onboarding-copy small{font-size:9px;color:var(--muted)}
.onboarding-item>.ui-icon{color:var(--muted-2)}
.usage-box{display:grid;gap:15px}
.usage-row{display:grid;gap:7px}
.usage-label{display:flex;justify-content:space-between;gap:10px;font-size:10px;color:var(--muted)}
.progress{height:7px;background:#eef1f4;border-radius:999px;overflow:hidden}
.progress>span{display:block;height:100%;background:linear-gradient(90deg,var(--brand),#55d6bb);border-radius:inherit;max-width:100%}
.quick-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
.quick-action{border:1px solid var(--line);border-radius:10px;padding:11px;display:flex;align-items:center;gap:10px;transition:.16s}
.quick-action:hover{border-color:#9ee7d6;background:var(--brand-softer)}
.quick-action-icon{width:34px;height:34px;border-radius:9px;background:var(--brand-soft);color:var(--brand-strong);display:grid;place-items:center}
.quick-action-copy{display:grid}
.quick-action-copy strong{font-size:10px}
.quick-action-copy small{font-size:9px;color:var(--muted)}

/* Inbox */
.inbox-shell{height:calc(100vh - var(--topbar) - 48px);min-height:650px;display:grid;grid-template-columns:330px minmax(420px,1fr) 280px;background:#fff;border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-xs);overflow:hidden}
.inbox-list-column{border-left:1px solid var(--line);min-width:0;display:flex;flex-direction:column}
.inbox-list-head{padding:14px;border-bottom:1px solid var(--line);display:grid;gap:11px}
.inbox-title-row{display:flex;align-items:center;justify-content:space-between}
.inbox-title-row h2{font-size:16px;margin:0}
.inbox-filter-tabs{display:flex;gap:5px;overflow:auto}
.inbox-filter-tabs a{padding:6px 9px;border-radius:7px;color:var(--muted);font-size:10px;font-weight:700;white-space:nowrap}
.inbox-filter-tabs a.active,.inbox-filter-tabs a:hover{background:var(--brand-soft);color:var(--brand-strong)}
.thread-list{overflow:auto;flex:1}
.thread-item{display:flex;gap:10px;padding:13px 14px;border-bottom:1px solid var(--line-soft);transition:.15s;position:relative}
.thread-item:hover{background:#f8fbfa}
.thread-item.active{background:var(--brand-softer)}
.thread-item.active:before{content:"";position:absolute;right:0;top:0;bottom:0;width:3px;background:var(--brand)}
.thread-avatar{width:42px;height:42px;border-radius:50%;background:#e9f7f3;color:var(--brand-strong);font-weight:800;display:grid;place-items:center;flex:0 0 auto;position:relative}
.channel-dot{position:absolute;bottom:-1px;left:-1px;width:15px;height:15px;border-radius:50%;background:#20c997;color:#fff;border:2px solid #fff;display:grid;place-items:center}
.thread-content{min-width:0;flex:1;display:grid;gap:4px}
.thread-top,.thread-bottom{display:flex;align-items:center;justify-content:space-between;gap:8px}
.thread-top strong{font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.thread-time{font-size:8px;color:var(--muted-2);white-space:nowrap}
.thread-preview{font-size:9px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.unread-bubble{min-width:19px;height:19px;border-radius:999px;background:var(--brand);color:#fff;font-size:9px;display:grid;place-items:center;padding:0 5px}
.empty-state{min-height:240px;display:grid;place-items:center;text-align:center;padding:28px;color:var(--muted)}
.empty-state-icon{width:58px;height:58px;border-radius:18px;background:var(--brand-soft);color:var(--brand-strong);display:grid;place-items:center;margin:0 auto 12px}
.empty-state h3{color:var(--text);margin-bottom:5px}
.empty-state p{font-size:11px;max-width:280px;margin:0 auto}
.chat-column{display:flex;flex-direction:column;min-width:0;background:#f5f7f8}
.chat-header{height:66px;padding:0 16px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:12px}
.chat-contact{display:flex;align-items:center;gap:10px;min-width:0}
.chat-contact-copy{display:grid;min-width:0}
.chat-contact-copy strong{font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.chat-contact-copy small{font-size:9px;color:var(--muted)}
.chat-actions{display:flex;align-items:center;gap:6px}
.messages{flex:1;overflow:auto;padding:20px 28px;display:flex;flex-direction:column;gap:9px;background-color:#f2f5f4;background-image:radial-gradient(circle at 1px 1px,rgba(16,24,40,.035) 1px,transparent 0);background-size:19px 19px}
.date-divider{align-self:center;background:rgba(255,255,255,.9);box-shadow:var(--shadow-xs);border-radius:999px;padding:5px 10px;font-size:9px;color:var(--muted);margin:4px 0}
.message-row{display:flex;gap:7px;max-width:78%}
.message-row.in{align-self:flex-start}
.message-row.out{align-self:flex-end;flex-direction:row-reverse}
.bubble{border-radius:12px;padding:9px 11px;box-shadow:0 1px 2px rgba(16,24,40,.06);font-size:11px;line-height:1.65;min-width:90px}
.bubble.in{background:#fff;border-top-right-radius:3px}
.bubble.out{background:#d9fdd3;border-top-left-radius:3px}
.bubble-meta{display:flex;align-items:center;justify-content:flex-end;gap:5px;margin-top:4px;color:#667085;font-size:8px}
.composer{padding:11px 13px;background:#fff;border-top:1px solid var(--line);display:flex;align-items:flex-end;gap:7px}
.composer-tools{display:flex;gap:3px}
.composer .input{min-height:42px;max-height:120px;flex:1;border-radius:11px;background:#f9fafb}
.send-btn{width:42px;height:42px;border-radius:50%;padding:0}
.contact-panel{border-right:1px solid var(--line);background:#fff;overflow:auto}
.contact-panel-head{padding:18px;text-align:center;border-bottom:1px solid var(--line-soft)}
.contact-large-avatar{width:62px;height:62px;border-radius:50%;background:var(--brand-soft);color:var(--brand-strong);display:grid;place-items:center;font-size:22px;font-weight:800;margin:0 auto 10px}
.contact-panel-head h3{margin-bottom:2px}
.contact-panel-head p{font-size:10px;color:var(--muted);margin:0}
.contact-panel-section{padding:15px 17px;border-bottom:1px solid var(--line-soft)}
.contact-panel-section h4{font-size:10px;text-transform:uppercase;color:var(--muted-2);letter-spacing:.5px;margin-bottom:11px}
.info-list{display:grid;gap:11px}
.info-item{display:flex;align-items:flex-start;gap:9px;color:#475467}
.info-item>.ui-icon{color:var(--muted-2);margin-top:1px}
.info-copy{display:grid;min-width:0}
.info-copy small{font-size:8px;color:var(--muted-2)}
.info-copy span{font-size:10px;word-break:break-word}
.tag-list{display:flex;gap:6px;flex-wrap:wrap}
.tag{background:#f2f4f7;color:#475467;border-radius:6px;padding:4px 7px;font-size:9px}

/* Integrations */
.integration-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.integration-card{border:1px solid var(--line);border-radius:11px;padding:14px;display:grid;gap:12px;background:#fff}
.integration-head{display:flex;align-items:center;gap:10px}
.integration-logo{width:40px;height:40px;border-radius:11px;display:grid;place-items:center;background:var(--brand-soft);color:var(--brand-strong)}
.integration-logo.stripe{background:#f4f3ff;color:#635bff}
.integration-logo.paypal{background:#eff8ff;color:#003087}
.integration-copy{display:grid;min-width:0;flex:1}
.integration-copy strong{font-size:11px}
.integration-copy small{font-size:9px;color:var(--muted)}
.status-dot{width:8px;height:8px;border-radius:50%;background:#d0d5dd}
.status-dot.on{background:var(--success);box-shadow:0 0 0 3px var(--success-soft)}
.connection-card{border:1px solid var(--line);border-radius:11px;padding:13px;display:flex;align-items:center;justify-content:space-between;gap:12px}
.connection-info{display:flex;align-items:center;gap:10px}
.connection-icon{width:38px;height:38px;border-radius:50%;background:#e7f8f1;color:#00a884;display:grid;place-items:center}
.connection-copy{display:grid}
.connection-copy strong{font-size:11px}
.connection-copy small{font-size:9px;color:var(--muted)}
.code-box{display:flex;align-items:center;gap:8px;border:1px solid var(--line);background:#f9fafb;border-radius:9px;padding:7px}
.code-box code,.code-box input{border:0;background:transparent;flex:1;min-width:0;direction:ltr;text-align:left;color:#475467;outline:0}

/* Plans */
.plans{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}
.plan{position:relative;background:#fff;border:1px solid var(--line);border-radius:14px;padding:20px;display:flex;flex-direction:column;min-height:420px}
.plan.featured{border:2px solid var(--brand);box-shadow:0 12px 28px rgba(0,168,132,.1)}
.plan-ribbon{position:absolute;top:12px;left:12px;background:var(--brand);color:#fff;font-size:9px;font-weight:800;border-radius:999px;padding:4px 8px}
.plan-price{font-size:31px;font-weight:800;letter-spacing:-1px;margin:12px 0 2px}
.plan-price small{font-size:10px;font-weight:500;color:var(--muted)}
.features{list-style:none;padding:0;margin:16px 0;display:grid;gap:10px;flex:1}
.features li{display:flex;align-items:flex-start;gap:7px;font-size:10px;color:#475467}
.feature-check{width:18px;height:18px;border-radius:50%;background:var(--brand-soft);color:var(--brand-strong);display:grid;place-items:center;flex:0 0 auto}
.plans-admin{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}
.plan-admin-card{position:relative}
.plan-usage{display:flex;gap:6px;flex-wrap:wrap;margin:14px 0}
.plan-usage span{background:#f2f4f7;border-radius:7px;padding:5px 7px;font-size:9px;color:#475467}
.admin-price{font-size:24px;color:var(--brand-strong)}
.collapsible{display:none}
.collapsible.open{display:block}
.collapsible.nested{border-top:1px solid var(--line);margin-top:16px;padding-top:16px}

/* Alerts/toast */
.alert{border-radius:11px;padding:13px 15px;display:flex;gap:11px;margin-bottom:16px;border:1px solid}
.alert-danger{background:var(--danger-soft);border-color:#fecdca;color:#b42318}
.alert-warning{background:var(--warning-soft);border-color:#fedf89;color:#b54708}
.alert-info{background:var(--info-soft);border-color:#b2ddff;color:#175cd3}
.alert-icon{width:25px;height:25px;border-radius:50%;border:1px solid currentColor;display:grid;place-items:center;font-weight:800;flex:0 0 auto}
.alert p{margin:3px 0 0;font-size:10px}
.toast{position:fixed;left:24px;bottom:24px;z-index:100;min-width:290px;max-width:430px;background:#fff;border:1px solid var(--line);box-shadow:var(--shadow-md);border-radius:11px;padding:12px 13px;display:flex;align-items:center;gap:9px}
.toast-success>.ui-icon{color:var(--success)}
.toast span{flex:1}
.toast button{border:0;background:transparent;cursor:pointer;color:var(--muted)}
.update-notice{background:var(--warning-soft);border:1px solid #fedf89;border-radius:12px;padding:14px 16px;margin-bottom:16px;display:flex;align-items:center;justify-content:space-between;gap:15px}
.update-notice p{margin:3px 0 0;color:#7a2e0e;font-size:10px}

/* Admin */
.admin-chip{background:#f4f3ff;color:#6938ef;padding:5px 8px;border-radius:999px;font-size:9px;font-weight:800}
.admin-stats{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}
.admin-hero{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:20px}
.admin-hero-copy p{margin:5px 0 0;color:var(--muted)}
.admin-hero-actions{display:flex;gap:8px}
.health-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.health-item{border:1px solid var(--line-soft);border-radius:9px;padding:10px;display:flex;align-items:center;justify-content:space-between;gap:8px}
.health-item span{font-size:9px;color:var(--muted)}
.health-item strong{font-size:10px}
.chart-shell{height:250px;padding-top:10px;display:flex;align-items:flex-end;gap:12px;border-bottom:1px solid var(--line)}
.chart-column{height:100%;flex:1;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;gap:8px}
.bar-stack{height:190px;display:flex;align-items:flex-end;gap:4px}
.bar{width:17px;border-radius:5px 5px 0 0;min-height:2px}
.bar-messages{background:var(--brand)}
.bar-companies{background:#b7eadf}
.chart-column small{font-size:8px;color:var(--muted);text-align:center}
.chart-legend{display:flex;gap:15px;margin-top:12px;color:var(--muted);font-size:9px}
.chart-legend i{display:inline-block;width:9px;height:9px;border-radius:3px;margin-left:5px}
.legend-message{background:var(--brand)}
.legend-company{background:#b7eadf}
.activity-feed{display:grid}
.activity-item{display:grid;grid-template-columns:34px 1fr;gap:10px;padding:10px 0;border-bottom:1px solid var(--line-soft)}
.activity-item:last-child{border-bottom:0}
.activity-dot{width:30px;height:30px;border-radius:9px;background:var(--brand-soft);color:var(--brand-strong);display:grid;place-items:center}
.activity-copy p{margin:2px 0;color:var(--muted);font-size:9px}
.activity-copy small{color:var(--muted-2);font-size:8px}
.breadcrumb{display:flex;align-items:center;gap:6px;color:var(--muted);font-size:10px;margin-bottom:7px}
.breadcrumb a:hover{color:var(--brand-strong)}
.filter-bar{display:grid;grid-template-columns:minmax(240px,2fr) repeat(3,minmax(130px,1fr)) auto;gap:9px;align-items:end}
.subscription-hero{border:1px solid #abe9dc;background:var(--brand-softer);border-radius:12px;padding:16px;display:grid;gap:4px}
.subscription-hero strong{font-size:21px;color:var(--brand-strong)}
.compact-list{display:grid}
.compact-list>div{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 0;border-bottom:1px solid var(--line-soft)}
.compact-list>div:last-child{border-bottom:0}
.compact-list small{font-size:9px;color:var(--muted)}
.inline-form{display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.input-small{min-height:32px;padding:5px 8px;font-size:10px;min-width:110px}
.check-list{display:grid;gap:10px;padding-right:18px}
.check-list li{color:#475467;font-size:11px}
.check-list li::marker{color:var(--brand)}

/* Auth/public */
.auth-page{min-height:100vh;background:#f4f7f6;display:grid;grid-template-columns:minmax(360px,.9fr) minmax(460px,1.1fr)}
.auth-aside{position:relative;overflow:hidden;background:linear-gradient(145deg,#073f35,#086f5e);padding:56px;color:#fff;display:flex;flex-direction:column;justify-content:space-between}
.auth-aside:before,.auth-aside:after{content:"";position:absolute;border-radius:50%;background:rgba(255,255,255,.06)}
.auth-aside:before{width:380px;height:380px;top:-170px;left:-120px}
.auth-aside:after{width:240px;height:240px;bottom:-80px;right:-80px}
.auth-aside-content{position:relative;z-index:1}
.auth-brand{display:flex;align-items:center;gap:10px;margin-bottom:80px}
.auth-brand .brand-symbol{background:#fff}
.auth-brand .brand-symbol span{color:var(--brand-strong)}
.auth-brand strong{font-size:20px}
.auth-aside h1{font-size:37px;line-height:1.35;margin-bottom:15px;max-width:520px}
.auth-aside p{font-size:15px;color:rgba(255,255,255,.74);line-height:1.9;max-width:520px}
.auth-points{display:grid;gap:13px;margin-top:30px}
.auth-point{display:flex;align-items:center;gap:10px;color:rgba(255,255,255,.9)}
.auth-point span{width:27px;height:27px;border-radius:50%;background:rgba(255,255,255,.12);display:grid;place-items:center}
.auth-aside-footer{position:relative;z-index:1;font-size:10px;color:rgba(255,255,255,.55)}
.auth-main{display:grid;place-items:center;padding:30px}
.auth-card{width:min(520px,100%);background:#fff;border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow-sm);padding:28px}
.auth-card-head{margin-bottom:22px}
.auth-card-head h1{font-size:24px}
.auth-card-head p{margin:5px 0 0;color:var(--muted)}
.auth-footer{text-align:center;margin:17px 0 0;color:var(--muted);font-size:11px}
.auth-footer a{color:var(--brand-strong);font-weight:700}
.hero{min-height:92vh;background:radial-gradient(circle at top right,#dff7f1,transparent 43%),#f8fafc}
.public-nav{max-width:1180px;margin:auto;padding:22px;display:flex;justify-content:space-between;align-items:center}
.hero-inner{max-width:1180px;margin:auto;padding:80px 22px;display:grid;grid-template-columns:1.1fr .9fr;gap:60px;align-items:center}
.hero h1{font-size:50px;line-height:1.25}
.hero p{font-size:18px;line-height:1.9}
.hero-card{background:#083f35;color:#fff;border-radius:22px;padding:28px;box-shadow:var(--shadow-md)}
.pricing{max-width:1180px;margin:auto;padding:70px 22px}

/* Responsive */
@media(max-width:1280px){
    :root{--sidebar:245px}
    .app-topbar{grid-template-columns:minmax(150px,.8fr) minmax(220px,420px) minmax(250px,1fr);padding:0 18px}
    .inbox-shell{grid-template-columns:300px minmax(390px,1fr) 250px}
    .admin-stats{grid-template-columns:repeat(3,minmax(0,1fr))}
    .grid-5{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:1060px){
    .app-shell{grid-template-columns:var(--sidebar-collapsed) minmax(0,1fr)}
    .app-sidebar{width:var(--sidebar-collapsed);padding:14px 9px}
    .brand-copy,.workspace-copy,.workspace-arrow,.nav-label,.nav-link span,.nav-link em,.sidebar-help div,.version-chip,.sidebar-collapse{display:none}
    .sidebar-brand-row{justify-content:center}
    .sidebar-brand{justify-content:center}
    .workspace-card{justify-content:center;padding:8px}
    .nav-link{justify-content:center;padding:0}
    .nav-link.active:before{right:-9px}
    .sidebar-footer{justify-content:center}
    .app-topbar{grid-template-columns:auto minmax(220px,1fr) auto}
    .profile-copy,.connection-pill{display:none}
    .dashboard-grid{grid-template-columns:1fr}
    .grid-4{grid-template-columns:repeat(2,minmax(0,1fr))}
    .inbox-shell{grid-template-columns:290px minmax(380px,1fr)}
    .contact-panel{display:none}
    .settings-layout{grid-template-columns:190px minmax(0,1fr)}
    .integration-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:820px){
    .app-shell{display:block}
    .app-sidebar{position:fixed;right:0;top:0;width:280px;height:100vh;transform:translateX(100%);padding:14px 12px;box-shadow:var(--shadow-md)}
    .app-shell.sidebar-open .app-sidebar{transform:translateX(0)}
    .app-shell.sidebar-open .sidebar-overlay{display:block;position:fixed;inset:0;background:rgba(16,24,40,.4);z-index:35}
    .brand-copy,.workspace-copy,.workspace-arrow,.nav-label,.nav-link span,.nav-link em,.sidebar-help div,.version-chip,.sidebar-collapse{display:initial}
    .sidebar-brand-row{justify-content:space-between}
    .sidebar-brand{justify-content:flex-start}
    .workspace-card{justify-content:flex-start;padding:10px}
    .nav-link{justify-content:flex-start;padding:0 11px}
    .nav-link.active:before{right:-2px}
    .sidebar-footer{justify-content:space-between}
    .mobile-menu-btn{display:inline-grid}
    .app-topbar{grid-template-columns:minmax(150px,1fr) auto;height:64px;padding:0 14px}
    .topbar-center{display:none}
    .app-content{padding:16px}
    .profile-copy,.connection-pill{display:none}
    .grid-3,.grid-4,.grid-5{grid-template-columns:repeat(2,minmax(0,1fr))}
    .inbox-shell{height:calc(100vh - 96px);grid-template-columns:270px minmax(350px,1fr)}
    .settings-layout{grid-template-columns:1fr}
    .settings-nav{position:static;display:flex;overflow:auto;gap:4px}
    .settings-nav .settings-group{display:none}
    .settings-nav button,.settings-nav a{width:auto;white-space:nowrap}
    .plans,.plans-admin{grid-template-columns:1fr}
    .filter-bar{grid-template-columns:1fr 1fr}
    .auth-page{grid-template-columns:1fr}
    .auth-aside{display:none}
    .auth-main{min-height:100vh}
}
@media(max-width:620px){
    .app-content{padding:12px}
    .page-header,.page-head{display:grid}
    .page-header-actions,.page-head>div:last-child{justify-content:flex-start}
    .grid-2,.grid-3,.grid-4,.grid-5,.form-grid,.form-grid-3,.metric-row,.admin-stats,.integration-grid{grid-template-columns:1fr}
    .welcome-card-content{display:grid}
    .quick-actions{grid-template-columns:1fr}
    .inbox-shell{display:block;height:auto;min-height:0}
    .inbox-list-column{height:280px;border-left:0;border-bottom:1px solid var(--line)}
    .chat-column{height:calc(100vh - 390px);min-height:480px}
    .message-row{max-width:90%}
    .messages{padding:16px}
    .chat-actions .btn span{display:none}
    .table-toolbar{display:grid}
    .table-toolbar-start,.table-toolbar-end{flex-wrap:wrap}
    .table-search{min-width:100%;width:100%}
    .filter-bar{grid-template-columns:1fr}
    .toast{left:12px;right:12px;bottom:12px;min-width:0}
    .support-mode-bar{height:auto;padding:8px;flex-wrap:wrap;text-align:center}
    .form-actions{justify-content:stretch}
    .form-actions .btn{flex:1}
    .topbar-page small{display:none}
    .notification-btn{display:none}
    .profile-trigger>.ui-icon{display:none}
    .auth-main{padding:16px}
    .auth-card{padding:21px}
    .hero-inner{grid-template-columns:1fr;padding-top:40px}
    .hero h1{font-size:34px}
}
.price{font-size:31px;font-weight:800;letter-spacing:-.7px;margin:12px 0}
.full{grid-column:1/-1}
.row-actions{display:flex;align-items:center;gap:7px;flex-wrap:wrap}
.divider{border:0;border-top:1px solid var(--line);margin:18px 0}
.health-list{display:grid}.health-list>div{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 0;border-bottom:1px solid var(--line-soft)}.health-list>div:last-child{border-bottom:0}
.sidebar-manual-collapsed .app-shell{grid-template-columns:var(--sidebar-collapsed) minmax(0,1fr)}
.sidebar-manual-collapsed .app-sidebar{width:var(--sidebar-collapsed);padding:14px 9px}
.sidebar-manual-collapsed .brand-copy,.sidebar-manual-collapsed .workspace-copy,.sidebar-manual-collapsed .workspace-arrow,.sidebar-manual-collapsed .nav-label,.sidebar-manual-collapsed .nav-link span,.sidebar-manual-collapsed .nav-link em,.sidebar-manual-collapsed .sidebar-help div,.sidebar-manual-collapsed .version-chip{display:none}
.sidebar-manual-collapsed .sidebar-brand-row,.sidebar-manual-collapsed .sidebar-brand,.sidebar-manual-collapsed .workspace-card,.sidebar-manual-collapsed .nav-link,.sidebar-manual-collapsed .sidebar-footer{justify-content:center}
.sidebar-manual-collapsed .nav-link{padding:0}

/* v1.3 Integration Suite */
.grid-4{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px}.inline-fields{display:grid;grid-template-columns:.9fr 1fr 1.2fr;gap:8px}.code-area{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;min-height:110px;direction:auto}.code-area.tall{min-height:180px}.code-area.extra-tall{min-height:340px}.sticky-actions{position:sticky;bottom:12px;background:rgba(255,255,255,.92);backdrop-filter:blur(10px);padding:12px;border:1px solid var(--line);border-radius:12px;z-index:5}.automation-board{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}.automation-card{display:flex;flex-direction:column;gap:12px}.automation-card-top,.campaign-head,.payment-provider-head,.crm-profile-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.automation-trigger{display:inline-flex;align-items:center;gap:7px;color:var(--brand-strong);font-size:11px;font-weight:800}.automation-card h3,.campaign-card h3,.channel-provider h3,.payment-provider h3{margin:0;font-size:15px}.automation-card p,.campaign-card p,.channel-provider p,.payment-provider p{margin:0;color:var(--muted);font-size:10px}.automation-flow{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.automation-flow span{background:#f2f4f7;border:1px solid var(--line);border-radius:8px;padding:8px 10px;font-size:10px;font-weight:700}.automation-flow i{font-style:normal;color:var(--brand)}.card-footer-row{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:auto;border-top:1px solid var(--line-soft);padding-top:12px}.channel-catalog{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}.channel-provider{display:flex;gap:14px;align-items:flex-start}.channel-logo{width:48px;height:48px;border-radius:13px;display:grid;place-items:center;flex:0 0 auto}.channel-logo.whatsapp{background:#e8faf3;color:#079455}.channel-logo.instagram{background:#fff0f6;color:#c11574}.channel-logo.livechat{background:#eef4ff;color:#3538cd}.channel-logo .ui-icon{width:25px;height:25px}.campaign-list{display:grid;gap:15px}.campaign-card{display:grid;gap:15px}.campaign-metrics{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px}.campaign-metrics div{background:#f8fafb;border:1px solid var(--line-soft);border-radius:9px;padding:11px;text-align:center}.campaign-metrics strong{display:block;font-size:17px}.campaign-metrics span{font-size:9px;color:var(--muted)}.payment-provider{display:flex;flex-direction:column}.payment-mark{width:42px;height:42px;border-radius:10px;background:var(--navy);color:#fff;display:grid;place-items:center;font-weight:800}.filter-bar{display:flex;align-items:end;gap:12px}.filter-bar .field{max-width:220px}.bar-report{display:grid;gap:9px}.bar-report-row{display:grid;grid-template-columns:85px 1fr 40px;align-items:center;gap:9px;font-size:9px}.bar-track{height:8px;background:#eef1f4;border-radius:999px;overflow:hidden}.bar-track i{display:block;height:100%;background:var(--brand);border-radius:999px}.rank-list{display:grid;gap:10px}.rank-item{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:9px;padding:9px;border-bottom:1px solid var(--line-soft)}.rank-item div{display:grid}.rank-item small{color:var(--muted);font-size:9px}.crm-layout{display:grid;grid-template-columns:minmax(0,1fr) 350px;gap:15px;align-items:start}.crm-profile{position:sticky;top:88px;display:grid;gap:16px}.profile-avatar.large{width:48px;height:48px;font-size:18px}.crm-profile-head>div{flex:1}.crm-profile-head h2{margin:2px 0;font-size:15px}.crm-profile-head p{margin:0;color:var(--muted);font-size:10px}.crm-section{border-top:1px solid var(--line);padding-top:14px;display:grid;gap:10px}.crm-section h3{margin:0;font-size:12px}.checkbox-list.compact{max-height:160px;overflow:auto}.label-cloud,.mini-labels{display:flex;gap:6px;flex-wrap:wrap}.label-chip,.mini-labels span{border:1px solid color-mix(in srgb,var(--label-color) 35%, white);background:color-mix(in srgb,var(--label-color) 10%, white);color:var(--label-color);border-radius:999px;padding:5px 8px;font-size:9px;font-weight:700;display:inline-flex;align-items:center;gap:5px}.label-chip form{display:inline}.label-chip button{border:0;background:transparent;color:inherit;cursor:pointer}.timeline{display:grid;gap:8px}.timeline-item{border-right:2px solid var(--brand);padding:7px 10px;background:#f9fbfb;border-radius:7px;display:grid;gap:3px}.timeline-item strong{font-size:10px}.timeline-item small{font-size:8px;color:var(--muted)}.mini-labels span{padding:3px 6px}.table-avatar-cell{text-decoration:none;color:inherit}.integration-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}
@media(max-width:1100px){.grid-4,.campaign-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.automation-board,.channel-catalog{grid-template-columns:repeat(2,minmax(0,1fr))}.crm-layout{grid-template-columns:1fr}.crm-profile{position:static}}
@media(max-width:720px){.grid-4,.automation-board,.channel-catalog,.campaign-metrics,.integration-grid{grid-template-columns:1fr}.inline-fields{grid-template-columns:1fr}.filter-bar{align-items:stretch;flex-direction:column}.filter-bar .field{max-width:none}.campaign-head,.payment-provider-head,.crm-profile-head{flex-wrap:wrap}}

/* Vona Chat 1.3 payment integrations */
.payment-grid{align-items:start}.payment-provider{height:100%;display:flex;flex-direction:column;gap:14px}.payment-provider form{flex:1}.provider-endpoints{margin-top:12px;padding:12px;border:1px dashed var(--border,#dfe5e2);border-radius:12px;background:var(--surface-soft,#f7faf8)}.provider-endpoints label{display:block;font-size:12px;font-weight:700;margin-bottom:7px}.provider-endpoints small{display:block;margin-top:7px;color:var(--muted,#69756f)}.code-sample{margin:0;padding:18px;border-radius:14px;background:#101815;color:#dcfce7;overflow:auto;font-size:13px;line-height:1.75;direction:ltr;text-align:left}.payment-provider .code-box input{min-width:0}.payment-provider .payment-provider-head{align-items:flex-start}

/* v1.5 Meta Embedded Signup Wizard */
.wa-onboarding-shell{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:18px;align-items:start}.wa-wizard-card{padding:0;overflow:hidden}.wa-stepper{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));padding:18px 22px;border-bottom:1px solid var(--line);background:#fbfcfc}.wa-step{display:flex;align-items:center;gap:9px;position:relative;color:var(--muted)}.wa-step:not(:last-child):after{content:"";position:absolute;left:-8px;right:calc(100% - 38px);top:17px;height:2px;background:#e7ebe9}.wa-step>span{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;border:1px solid var(--line);background:white;font-size:11px;font-weight:800;z-index:1}.wa-step>div{display:grid;gap:2px}.wa-step strong{font-size:11px;color:#344054}.wa-step small{font-size:8px}.wa-step.active>span{background:var(--brand);color:white;border-color:var(--brand);box-shadow:0 0 0 5px rgba(13,148,91,.1)}.wa-step.active strong,.wa-step.done strong{color:var(--brand-strong)}.wa-step.done>span{background:#e8faf3;color:#079455;border-color:#a9e7cd}.wa-step.done:not(:last-child):after{background:#79d5ae}.wa-wizard-body{padding:24px}.wa-panel{display:none;animation:waFade .18s ease}.wa-panel.active{display:block}@keyframes waFade{from{opacity:.35;transform:translateY(5px)}to{opacity:1;transform:none}}.wa-panel-head{display:flex;gap:13px;align-items:flex-start;margin-bottom:22px}.wa-panel-head h2{margin:0 0 5px;font-size:21px}.wa-panel-head p{margin:0;color:var(--muted);font-size:11px;line-height:1.8}.wa-panel-icon{width:50px;height:50px;border-radius:15px;display:grid;place-items:center;background:#e9faf3;color:#079455;flex:0 0 auto}.wa-panel-icon.meta{background:#eaf2ff;color:#1877f2}.wa-mode-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.wa-mode-card{border:1px solid var(--line);background:#fff;border-radius:15px;padding:18px;text-align:right;display:grid;gap:9px;position:relative;cursor:pointer;font:inherit;color:inherit;transition:.18s ease}.wa-mode-card:hover{border-color:#9bd9bd;box-shadow:0 8px 25px rgba(16,24,40,.06);transform:translateY(-1px)}.wa-mode-card.selected{border:2px solid var(--brand);background:#fbfffd;padding:17px}.wa-mode-card.disabled{opacity:.52;cursor:not-allowed;transform:none}.wa-mode-check{position:absolute;left:13px;top:13px;width:23px;height:23px;border-radius:50%;display:none;place-items:center;background:var(--brand);color:#fff}.wa-mode-card.selected .wa-mode-check{display:grid}.wa-mode-icon{width:43px;height:43px;border-radius:12px;display:grid;place-items:center}.wa-mode-icon.green{background:#e8faf3;color:#079455}.wa-mode-icon.blue{background:#eaf2ff;color:#1877f2}.wa-mode-card strong{font-size:14px}.wa-mode-card small{font-size:10px;color:var(--muted);line-height:1.7}.wa-mode-card em{font-style:normal;font-size:9px;color:var(--brand-strong);font-weight:700}.wa-info-strip{display:flex;gap:11px;align-items:center;margin-top:16px;padding:13px;border:1px solid #ccebdd;background:#f2fcf7;border-radius:12px;color:#146c4b}.wa-info-strip div{display:grid;gap:2px}.wa-info-strip strong{font-size:11px}.wa-info-strip small{font-size:9px;color:#4f7566}.wa-actions{display:flex;justify-content:space-between;align-items:center;margin-top:23px;padding-top:18px;border-top:1px solid var(--line-soft)}.wa-meta-preview{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;border:1px solid #d8e4fa;background:#f7faff;padding:14px;border-radius:13px}.wa-meta-logo{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;background:#1877f2;color:#fff;font:bold 25px Arial}.wa-meta-preview>div:nth-child(2){display:grid;gap:3px}.wa-meta-preview strong{font-size:12px}.wa-meta-preview small{font-size:9px;color:var(--muted)}.wa-meta-steps{list-style:none;margin:18px 0 0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.wa-meta-steps li{display:flex;gap:9px;border:1px solid var(--line-soft);background:#fbfcfc;border-radius:11px;padding:12px}.wa-meta-steps li>span{width:25px;height:25px;border-radius:50%;display:grid;place-items:center;background:#edf7f2;color:var(--brand);font-size:9px;font-weight:800;flex:0 0 auto}.wa-meta-steps li div{display:grid;gap:3px}.wa-meta-steps strong{font-size:10px}.wa-meta-steps small{font-size:8px;color:var(--muted);line-height:1.6}.btn-facebook{background:#1877f2;color:white;border:1px solid #1877f2}.btn-facebook:hover{background:#1269d3}.wa-error-box{margin-top:15px;border:1px solid #fecdca;background:#fff5f4;border-radius:11px;padding:13px;color:#b42318}.wa-error-box strong{font-size:11px}.wa-error-box p{font-size:9px;line-height:1.7;margin:5px 0 9px}.wa-side-column{display:grid;gap:15px}.wa-checklist-card,.wa-existing-card,.wa-help-card{padding:17px}.wa-readiness-list{display:grid;gap:4px}.wa-readiness-list>div{display:grid;grid-template-columns:auto 1fr;gap:9px;align-items:center;padding:10px 0;border-bottom:1px solid var(--line-soft)}.wa-readiness-list>div:last-child{border-bottom:0}.wa-readiness-list>div>span{width:25px;height:25px;border-radius:50%;display:grid;place-items:center}.wa-readiness-list .done>span{background:#e8faf3;color:#079455}.wa-readiness-list .missing>span{background:#fff1f0;color:#d92d20}.wa-readiness-list>div>div{display:grid;gap:2px}.wa-readiness-list strong{font-size:10px}.wa-readiness-list small{font-size:8px;color:var(--muted)}.wa-existing-list{display:grid;gap:9px}.wa-existing-item{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:9px;padding:10px;border:1px solid var(--line-soft);border-radius:10px}.wa-existing-item>div{display:grid;gap:2px;min-width:0}.wa-existing-item strong{font-size:10px}.wa-existing-item small{font-size:8px;color:var(--muted);overflow:hidden;text-overflow:ellipsis}.wa-help-card{display:flex;gap:11px;background:#fffcf5;border-color:#f9e4b7}.wa-help-card>svg{color:#b7791f;flex:0 0 auto}.wa-help-card strong{font-size:10px}.wa-help-card p{margin:4px 0 0;color:#7a5b20;font-size:8px;line-height:1.7}.wa-success-state{text-align:center;display:grid;justify-items:center;padding:18px 0}.wa-success-icon{width:78px;height:78px;border-radius:50%;display:grid;place-items:center;background:#e8faf3;color:#079455;box-shadow:0 0 0 12px #f4fcf8}.wa-success-state h2{margin:25px 0 7px;font-size:23px}.wa-success-state>p{margin:0;color:var(--muted);font-size:11px;max-width:570px;line-height:1.8}.wa-connected-summary{width:100%;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;margin-top:22px}.wa-connected-summary>div{border:1px solid var(--line-soft);background:#fbfcfc;border-radius:11px;padding:13px;display:grid;gap:5px}.wa-connected-summary span{font-size:8px;color:var(--muted)}.wa-connected-summary strong{font-size:11px}.wa-success-warning{width:100%;margin-top:13px;border:1px solid #fedf89;background:#fffaeb;color:#93370d;border-radius:10px;padding:11px;font-size:9px}.wa-success-actions{display:flex;gap:10px;margin-top:20px}.wa-connecting-overlay{position:fixed;inset:0;background:rgba(15,23,42,.55);backdrop-filter:blur(5px);z-index:1000;display:grid;place-items:center;padding:20px}.wa-connecting-overlay[hidden]{display:none}.wa-connecting-box{width:min(430px,100%);background:#fff;border-radius:18px;padding:28px;text-align:center;box-shadow:0 25px 70px rgba(15,23,42,.25)}.wa-spinner{width:46px;height:46px;border-radius:50%;border:4px solid #dff3e9;border-top-color:var(--brand);display:inline-block;animation:waSpin .8s linear infinite}@keyframes waSpin{to{transform:rotate(360deg)}}.wa-connecting-box h3{margin:15px 0 6px}.wa-connecting-box p{margin:0;color:var(--muted);font-size:10px}.wa-connecting-box small{font-size:8px;color:var(--muted)}.wa-progress-line{height:7px;background:#edf1ef;border-radius:999px;overflow:hidden;margin:18px 0 10px}.wa-progress-line i{display:block;width:45%;height:100%;background:var(--brand);border-radius:999px;animation:waProgress 1.6s ease-in-out infinite}@keyframes waProgress{0%{transform:translateX(120%)}100%{transform:translateX(-240%)}}.onboarding-platform-warning{margin-bottom:16px}
@media(max-width:1050px){.wa-onboarding-shell{grid-template-columns:1fr}.wa-side-column{grid-template-columns:repeat(2,minmax(0,1fr))}.wa-help-card{grid-column:1/-1}}
@media(max-width:720px){.wa-stepper{grid-template-columns:repeat(4,1fr);padding:13px 9px}.wa-step{display:grid;justify-items:center;text-align:center}.wa-step>div small{display:none}.wa-step strong{font-size:8px}.wa-step:not(:last-child):after{top:17px;right:55%;left:-55%}.wa-wizard-body{padding:16px}.wa-mode-grid,.wa-meta-steps,.wa-connected-summary,.wa-side-column{grid-template-columns:1fr}.wa-success-actions{display:grid;width:100%}.wa-actions{gap:8px}.wa-actions .btn{flex:1}.wa-meta-preview{grid-template-columns:auto 1fr}.wa-meta-preview .badge{grid-column:1/-1;justify-self:start}}

/* Vona v1.7 protocol, reports and ads */
.protocol-list{display:flex;flex-direction:column;gap:10px}.protocol-item{border:1px solid var(--border);border-radius:14px;padding:14px;background:var(--surface-soft)}.protocol-main,.protocol-status{display:flex;align-items:center;justify-content:space-between;gap:12px}.protocol-main{justify-content:flex-start}.protocol-main small,.table-sub{display:block;color:var(--muted);font-size:12px;margin-top:3px}.protocol-status{margin-top:10px}.protocol-reason{color:#9a6500;font-size:12px;margin:10px 0 0}.call-console audio{width:100%;margin-top:10px}.call-status{padding:10px 12px;border-radius:10px;margin-top:12px;background:var(--surface-soft);font-size:13px}.call-status.success{background:#eafaf1;color:#16794a}.call-status.warning{background:#fff7df;color:#8b6500}.call-status.danger{background:#fff0f0;color:#b42318}.inline-filters{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.input-sm{min-height:36px;padding:7px 10px}.report-filter{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;align-items:end}.mini-kpi{padding:16px}.mini-kpi small,.mini-kpi span{display:block;color:var(--muted);font-size:12px}.mini-kpi strong{display:block;font-size:25px;margin:7px 0}.schedule-item{align-items:center}.schedule-item .table-actions{margin-inline-start:auto}.compact-steps{gap:12px}.compact-steps li{padding:12px;border:1px solid var(--border);border-radius:12px}.campaign-rate-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:12px 0}.campaign-rate-grid span{border:1px solid var(--border);border-radius:10px;padding:8px;font-size:12px;color:var(--muted)}.campaign-rate-grid b{display:block;color:var(--text);margin-top:3px}.badge-row{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:8px}.check-field label{display:flex;align-items:flex-start;gap:8px;line-height:1.6}.channel-mark.whatsapp{background:#e8fbf1;color:#128c62}
@media(max-width:900px){.report-filter{grid-template-columns:1fr 1fr}.campaign-rate-grid{grid-template-columns:1fr 1fr}.protocol-main,.protocol-status{align-items:flex-start}.protocol-status{flex-direction:column}}
@media(max-width:560px){.report-filter{grid-template-columns:1fr}.campaign-rate-grid{grid-template-columns:1fr 1fr}.inline-filters{width:100%}.inline-filters .input{flex:1}}


@media print {
    .sidebar, .topbar, .mobile-topbar, .page-header-actions, .report-filter, .form-actions, .table-actions, .pagination { display: none !important; }
    .app-main, .main-content, .content-wrap { margin: 0 !important; padding: 0 !important; width: 100% !important; }
    body { background: #fff !important; }
    .card { break-inside: avoid; box-shadow: none !important; border: 1px solid #d9dee8 !important; }
    .grid { display: grid !important; }
}

/* Vona Chat v1.8 — subscription billing and legal suite */
.checkout-layout{display:grid;grid-template-columns:minmax(280px,.72fr) minmax(0,1.55fr);gap:18px;align-items:start}.checkout-summary{position:sticky;top:88px}.checkout-price{display:flex;align-items:flex-start;gap:7px;margin:22px 0}.checkout-price span{font-weight:800;color:var(--primary,#1769e0);padding-top:8px}.checkout-price strong{font-size:42px;line-height:1;font-weight:800}.checkout-price small{align-self:flex-end;color:var(--muted,#6c7687);padding-bottom:4px}.checkout-line{display:flex;justify-content:space-between;gap:18px;padding:12px 0;border-bottom:1px solid var(--border,#e7ebf1);font-size:13px}.checkout-line strong{text-align:left}.checkout-form{padding:24px}.legal-consents{display:grid;gap:10px;margin-top:22px;padding-top:20px;border-top:1px solid var(--border,#e7ebf1)}.consent-row{display:flex;gap:11px;align-items:flex-start;padding:12px;border:1px solid var(--border,#e7ebf1);border-radius:11px;background:#fbfcfe;line-height:1.45;font-size:13px}.consent-row input{margin-top:3px;flex:0 0 auto}.consent-row a{font-weight:700;color:var(--primary,#1769e0)}.checkout-submit{display:flex;justify-content:space-between;align-items:center;gap:18px;margin-top:20px;padding:18px;border-radius:14px;background:#f1f6ff;border:1px solid #dbe9ff}.checkout-submit>div{display:grid;gap:4px}.checkout-submit small{color:var(--muted,#6c7687)}.trial-chip{display:inline-flex;width:max-content;padding:6px 10px;border-radius:999px;background:#eef8ff;color:#1266a8;font-size:12px;font-weight:800;margin:4px 0 10px}.legal-link-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.legal-link-card{display:grid;gap:7px;text-decoration:none;color:inherit;transition:.18s ease}.legal-link-card:hover{transform:translateY(-2px);border-color:#b9d1ff}.legal-link-card small{color:var(--muted,#6c7687)}.policy-editor{min-height:430px;direction:ltr;text-align:left;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;line-height:1.65}.text-danger{color:#b42318}.btn-lg{padding:13px 20px;font-size:14px}.payment-provider-head{display:flex;align-items:center;gap:12px}.payment-mark{display:grid;place-items:center;width:42px;height:42px;border-radius:12px;background:#edf3ff;color:#165fcc;font-weight:900}.ltr{direction:ltr;text-align:left}
@media(max-width:1050px){.checkout-layout{grid-template-columns:1fr}.checkout-summary{position:static}.legal-link-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:680px){.checkout-submit{align-items:stretch;flex-direction:column}.checkout-submit .btn{width:100%}.legal-link-grid{grid-template-columns:1fr}}

.trial-chip.trial-used{background:#f4f5f7;color:#6b7280;border-color:#e5e7eb}

/* ============================================================
   Vona Chat 2.1 — responsive inbox / mobile / tablet experience
   ============================================================ */
.inbox-shell{min-height:560px;height:calc(100dvh - var(--topbar) - 48px)}
.inbox-list-column,.chat-column,.contact-panel{min-height:0}
.inbox-list-head{background:#fff;position:sticky;top:0;z-index:3}
.thread-list{overscroll-behavior:contain;-webkit-overflow-scrolling:touch}
.thread-item{min-height:68px}
.thread-preview{max-width:215px}
.chat-header{flex:0 0 66px;position:relative;z-index:5}
.messages{overscroll-behavior:contain;-webkit-overflow-scrolling:touch;scrollbar-gutter:stable}
.message-row{max-width:min(78%,680px)}
.bubble{max-width:100%;word-break:break-word}
.bubble-body{white-space:pre-wrap;overflow-wrap:anywhere}
.chat-image{display:block;width:min(330px,100%);max-height:360px;object-fit:cover;border-radius:10px}
.chat-image-link{display:block}
.media-caption{margin-top:7px;white-space:pre-wrap}
.media-file-link{display:flex;align-items:center;gap:8px;padding:8px 10px;border:1px solid rgba(16,24,40,.08);border-radius:9px;background:rgba(255,255,255,.5);font-weight:700}
.voice-message{display:flex;align-items:center;gap:8px;min-width:min(320px,60vw)}
.voice-message audio{width:100%;min-width:180px;height:36px}
.voice-message-icon{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:rgba(18,140,98,.10);color:var(--brand-strong);flex:0 0 auto}
.voice-transcript{margin-top:8px;padding-top:7px;border-top:1px dashed rgba(16,24,40,.12);font-size:10px;color:var(--muted);white-space:pre-wrap}
.composer-wrap{position:relative;background:#fff;border-top:1px solid var(--line);flex:0 0 auto}
.composer-wrap .composer{border-top:0;position:relative;padding:10px 12px calc(10px + env(safe-area-inset-bottom,0px))}
.composer-hint{position:absolute;bottom:2px;right:88px;font-size:7px;color:var(--muted-2);pointer-events:none;opacity:.8}
.composer .input{padding-bottom:16px;font-size:12px;line-height:1.5}
.composer-status{padding:7px 12px;font-size:10px;border-bottom:1px solid var(--line-soft);background:#fff7ed;color:#9a3412}
.composer-status[data-type="success"]{background:#ecfdf3;color:#027a48}
.composer-status[data-type="progress"]{background:#eff8ff;color:#175cd3}
.emoji-picker{position:absolute;bottom:68px;right:10px;z-index:20;width:min(330px,calc(100vw - 32px));padding:9px;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:4px;background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow-md)}
.emoji-picker[hidden]{display:none}
.emoji-picker button{border:0;background:transparent;border-radius:8px;min-height:38px;cursor:pointer;font-size:20px;padding:5px}
.emoji-picker button:hover{background:var(--brand-soft)}
.emoji-picker button:nth-last-child(-n+2){grid-column:span 3;font-size:12px;font-weight:700;background:#f8fafc}
.voice-record-btn{color:var(--brand-strong)}
.voice-recorder-bar{min-height:52px;padding:8px 12px;display:flex;align-items:center;gap:9px;background:#fff;border-bottom:1px solid var(--line-soft)}
.voice-recorder-bar[hidden]{display:none}
.voice-recording-dot{width:10px;height:10px;border-radius:50%;background:#e11d48;box-shadow:0 0 0 0 rgba(225,29,72,.35);animation:vona-recording-pulse 1.3s infinite}
.voice-recording-time{font-variant-numeric:tabular-nums;direction:ltr;font-weight:800;color:#be123c}
.voice-recorder-spacer{flex:1}
@keyframes vona-recording-pulse{70%{box-shadow:0 0 0 8px rgba(225,29,72,0)}100%{box-shadow:0 0 0 0 rgba(225,29,72,0)}}
.mobile-chat-back,.contact-panel-toggle,.contact-panel-mobile-head,.contact-panel-backdrop{display:none}
.contact-panel{position:relative}
.note-panel-section{background:#fbfefd}
.note-panel-section form{display:grid;gap:8px}
.note-textarea{resize:vertical;min-height:76px;font-size:11px}
.contact-note-list{display:grid;gap:7px;margin-top:10px;max-height:220px;overflow:auto}
.contact-note{padding:9px 10px;background:#f7faf9;border:1px solid var(--line-soft);border-radius:9px;border-right:3px solid var(--brand)}
.contact-note p{margin:0;font-size:10px;line-height:1.65;white-space:pre-wrap}
.contact-note small{display:block;margin-top:5px;color:var(--muted);font-size:8px}
.previous-conversation-card{display:block;border:1px solid var(--line);border-radius:10px;padding:10px;background:#fafcfc;transition:.15s}
.previous-conversation-card:hover{border-color:#9ee7d6;background:var(--brand-softer)}
.previous-conversation-card>span{display:flex;justify-content:space-between;gap:8px;align-items:center}
.previous-conversation-card strong{font-size:10px}.previous-conversation-card small{font-size:8px;color:var(--muted)}
.previous-conversation-card p{margin:7px 0 0;color:var(--muted);font-size:9px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.inbox-pagination{padding:8px;border-top:1px solid var(--line-soft)}

/* Tablet: keep conversations + chat visible, customer profile becomes a drawer. */
@media(max-width:1180px){
    .inbox-shell{grid-template-columns:300px minmax(0,1fr)}
    .contact-panel-toggle{display:inline-grid}
    .contact-panel{display:block;position:fixed;top:0;left:0;bottom:0;width:min(360px,88vw);z-index:70;transform:translateX(-105%);transition:transform .2s ease;box-shadow:18px 0 50px rgba(16,24,40,.18);border-right:0;padding-top:env(safe-area-inset-top,0px)}
    .contact-panel-mobile-head{min-height:58px;padding:10px 14px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;background:#fff;z-index:2}
    .contact-panel-backdrop{display:block;position:fixed;inset:0;z-index:69;background:rgba(16,24,40,.35);border:0;opacity:0;visibility:hidden;transition:.2s}
    .inbox-shell.contact-open .contact-panel{transform:translateX(0)}
    .inbox-shell.contact-open .contact-panel-backdrop{opacity:1;visibility:visible}
}

@media(max-width:900px){
    .inbox-page-header{margin-bottom:10px}
    .inbox-shell{grid-template-columns:280px minmax(0,1fr);height:calc(100dvh - 118px);border-radius:12px}
    .thread-item{padding:11px}
    .messages{padding:16px 18px}
    .message-row{max-width:88%}
    .composer-hint{display:none}
    .composer .input{padding-bottom:10px}
}

/* Phone: one pane at a time, like a native messaging app. */
@media(max-width:700px){
    html,body{max-width:100%;overflow-x:hidden}
    .app-content{padding:0;overflow:hidden}
    .inbox-page-header{display:none}
    .inbox-shell{display:block;height:calc(100dvh - 64px);min-height:0;border:0;border-radius:0;box-shadow:none;background:#fff;overflow:hidden}
    .inbox-list-column{display:flex;height:100%;border:0}
    .chat-column{display:none;height:100%;min-height:0}
    .inbox-shell.mobile-chat-view .inbox-list-column{display:none}
    .inbox-shell.mobile-chat-view .chat-column{display:flex}
    .inbox-list-head{padding:11px 12px}
    .thread-list{flex:1}
    .thread-item{padding:12px;min-height:70px}
    .thread-preview{max-width:68vw}
    .chat-header{height:58px;flex-basis:58px;padding:0 9px;gap:7px;padding-top:env(safe-area-inset-top,0px)}
    .mobile-chat-back{display:inline-grid;flex:0 0 auto}
    .chat-contact{gap:7px;min-width:0}
    .chat-contact .thread-avatar{width:36px;height:36px}
    .chat-contact-copy strong{max-width:42vw}
    .chat-actions{gap:3px}
    .chat-actions .btn{width:38px;height:38px;padding:0;justify-content:center}
    .chat-actions .btn span{display:none}
    .contact-panel-toggle{display:inline-grid}
    .messages{padding:13px 10px 10px;gap:7px;background-size:17px 17px}
    .message-row{max-width:92%}
    .bubble{font-size:12px;padding:8px 10px;border-radius:11px}
    .voice-message{min-width:min(270px,75vw)}
    .voice-message-icon{display:none}
    .voice-message audio{min-width:0;width:min(260px,72vw)}
    .composer-wrap .composer{padding:8px 8px calc(8px + env(safe-area-inset-bottom,0px));gap:5px}
    .composer-tools{gap:0}
    .composer .input{font-size:16px;min-height:42px;max-height:96px;padding:9px 10px}
    .composer .icon-btn{width:38px;height:38px}
    .send-btn{width:40px;height:40px;flex:0 0 40px}
    .emoji-picker{bottom:64px;right:8px;width:calc(100vw - 16px);grid-template-columns:repeat(6,1fr)}
    .voice-recorder-bar{min-height:50px;padding:7px 8px;gap:6px;font-size:11px}
    .voice-recorder-bar .btn{padding:7px 9px}
    .contact-panel{width:min(360px,92vw)}
    .inbox-pagination{padding:5px}
    .input,select.input,textarea.input{font-size:16px}
}

/* Touch devices: larger hit targets and smoother horizontal tables across the system. */
@media(hover:none) and (pointer:coarse){
    .icon-btn{min-width:40px;min-height:40px;touch-action:manipulation}
    .btn{min-height:40px;touch-action:manipulation}
    .table-wrap{scrollbar-width:thin;-webkit-overflow-scrolling:touch}
    .app-content{min-width:0}
}

/* ============================================================
   Vona Chat 2.2 — WhatsApp-style fixed inbox + Calling API UX
   The inbox owns the remaining viewport. The page itself never scrolls;
   only the thread list and message stream do, so the composer is always
   visible on desktop, iPad and phones — including with the soft keyboard.
   ============================================================ */
.inbox-route{overflow:hidden;height:var(--vona-visual-height,100dvh)}
.inbox-route .app-shell{height:var(--vona-visual-height,100dvh);min-height:0;overflow:hidden}
.inbox-route .app-sidebar{height:var(--vona-visual-height,100dvh)}
.inbox-route .app-main{height:var(--vona-visual-height,100dvh);min-height:0;display:flex;flex-direction:column;overflow:hidden}
.inbox-route .app-topbar{position:relative;top:auto;flex:0 0 var(--topbar)}
.inbox-route .app-content{flex:1 1 auto;min-height:0;width:100%;max-width:none;margin:0;padding:10px;overflow:hidden}
.inbox-route .inbox-page-header{display:none!important}
.inbox-route .inbox-shell{height:100%;min-height:0;max-height:100%;grid-template-columns:340px minmax(0,1fr) 310px;border-radius:10px;overflow:hidden;box-shadow:0 1px 3px rgba(16,24,40,.08)}
.inbox-route .inbox-list-column,.inbox-route .chat-column,.inbox-route .contact-panel{height:100%;min-height:0;max-height:100%;overflow:hidden}
.inbox-route .inbox-list-column{display:flex;flex-direction:column;background:#fff}
.inbox-route .inbox-list-head{flex:0 0 auto;position:relative;padding:12px 12px 9px}
.inbox-route .thread-list{flex:1 1 auto;min-height:0;overflow-y:auto;overflow-x:hidden;contain:content}
.inbox-route .thread-item{content-visibility:auto;contain-intrinsic-size:72px;transition:background .12s ease,border-color .12s ease}
.inbox-route .thread-item.active{background:#f0f2f5;border-right-color:var(--brand)}
.inbox-route .thread-item:hover{background:#f5f6f6}
.inbox-route .chat-column{display:flex;flex-direction:column;background:#efeae2;position:relative}
.inbox-route .chat-header{flex:0 0 62px;height:62px;background:#f0f2f5;border-bottom:1px solid #dfe3e5;padding:0 12px;box-shadow:none}
.inbox-route .chat-contact-copy small{color:#667781}
.inbox-route .chat-actions .icon-btn{border-radius:50%;color:#54656f}
.inbox-route .whatsapp-call-btn{color:#008069!important}
.inbox-route .messages{flex:1 1 auto;min-height:0;overflow-y:auto;overflow-x:hidden;padding:18px clamp(12px,4vw,58px) 10px;background-color:#efeae2;background-image:radial-gradient(rgba(84,101,111,.055) .8px,transparent .8px);background-size:17px 17px;scroll-behavior:auto;overflow-anchor:auto}
.inbox-route .date-divider{position:sticky;top:2px;z-index:2;width:max-content;max-width:90%;margin:0 auto 12px;background:#fff;border:0;box-shadow:0 1px 2px rgba(11,20,26,.12);color:#54656f;padding:5px 10px;border-radius:7px;font-size:10px}
.inbox-route .message-row{max-width:min(72%,720px);margin-bottom:2px}
.inbox-route .bubble{box-shadow:0 1px .5px rgba(11,20,26,.13);border:0;border-radius:8px;padding:7px 9px 5px;font-size:13px}
.inbox-route .bubble.in{background:#fff}
.inbox-route .bubble.out{background:#d9fdd3}
.inbox-route .bubble-meta{font-size:9px;color:#667781;gap:3px;margin-top:3px}
.inbox-route .composer-wrap{flex:0 0 auto;position:relative;z-index:8;background:#f0f2f5;border-top:1px solid #dfe3e5}
.inbox-route .composer-wrap .composer{min-height:58px;padding:8px 10px calc(8px + env(safe-area-inset-bottom,0px));display:flex;align-items:flex-end;gap:7px;background:#f0f2f5}
.inbox-route .composer .input{min-height:42px;max-height:112px;background:#fff;border:0;border-radius:20px;box-shadow:none;padding:10px 13px;font-size:14px;line-height:1.45;resize:none;overflow-y:auto}
.inbox-route .composer .input:focus{box-shadow:none;border-color:transparent}
.inbox-route .composer-tools{align-self:flex-end;height:42px;display:flex;align-items:center}
.inbox-route .composer .icon-btn{width:40px;height:40px;color:#54656f;border-radius:50%}
.inbox-route .send-btn{width:42px;height:42px;min-width:42px;border-radius:50%;padding:0;display:grid;place-items:center;align-self:flex-end}
.inbox-route .composer-hint{bottom:0;right:auto;left:65px;font-size:7px;opacity:.65}
.inbox-route .emoji-picker{bottom:66px;right:10px}
.inbox-route .contact-panel{overflow-y:auto;background:#fff;overscroll-behavior:contain}
.inbox-route .contact-panel-head{background:#f7f9fa}
.inbox-route .inbox-pagination{flex:0 0 auto;background:#fff}

/* WhatsApp call overlay lives inside the chat workspace instead of opening a
   new page, so agents can keep customer context visible while speaking. */
.chat-call-layer{position:absolute;inset:0;z-index:80;display:grid;place-items:center;background:rgba(17,27,33,.76);backdrop-filter:blur(6px);padding:18px}
.chat-call-layer[hidden]{display:none!important}
.chat-call-card{width:min(360px,100%);min-height:360px;border-radius:24px;background:linear-gradient(180deg,#233138,#111b21);color:#fff;box-shadow:0 24px 70px rgba(0,0,0,.3);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:30px 22px;gap:8px}
.call-avatar{width:92px;height:92px;border-radius:50%;display:grid;place-items:center;background:#00a884;color:#fff;font-size:34px;font-weight:800;box-shadow:0 0 0 8px rgba(0,168,132,.16);margin-bottom:8px}
.chat-call-card h3{font-size:20px;margin:0;color:#fff}.chat-call-card p{margin:0;color:#d1d7db;font-size:12px;min-height:20px}.call-timer{font-variant-numeric:tabular-nums;direction:ltr;font-size:12px;color:#aebac1;letter-spacing:.7px;margin-top:2px}
.chat-call-actions{display:flex;align-items:flex-start;justify-content:center;gap:20px;margin-top:24px}
.call-round-btn{border:0;background:transparent;color:#fff;display:grid;justify-items:center;gap:6px;font-size:9px;cursor:pointer;min-width:66px}
.call-round-btn>svg{width:52px;height:52px;padding:14px;border-radius:50%;background:#3b4a54;transition:.15s ease}
.call-round-btn:hover>svg{transform:scale(1.04)}
.call-round-btn.active>svg{background:#667781}
.call-end-btn>svg{background:#ea0038;transform:rotate(135deg)}
.call-answer-btn>svg{background:#00a884}
.call-close-btn{margin-top:18px;color:#d1d7db!important}

/* Keep chat + list side-by-side on normal laptop widths. Customer profile
   becomes a drawer first, preserving maximum room for the conversation. */
@media(max-width:1380px){
  .inbox-route .inbox-shell{grid-template-columns:320px minmax(0,1fr)}
  .inbox-route .contact-panel-toggle{display:inline-grid}
  .inbox-route .contact-panel{display:block;position:fixed;top:0;left:0;bottom:0;width:min(370px,90vw);height:var(--vona-visual-height,100dvh);max-height:none;z-index:70;transform:translateX(-105%);transition:transform .18s ease;box-shadow:18px 0 50px rgba(16,24,40,.18);border-right:0;padding-top:env(safe-area-inset-top,0px)}
  .inbox-route .contact-panel-mobile-head{min-height:58px;padding:10px 14px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;background:#fff;z-index:2}
  .inbox-route .contact-panel-backdrop{display:block;position:fixed;inset:0;z-index:69;background:rgba(16,24,40,.35);border:0;opacity:0;visibility:hidden;transition:.18s}
  .inbox-route .inbox-shell.contact-open .contact-panel{transform:translateX(0)}
  .inbox-route .inbox-shell.contact-open .contact-panel-backdrop{opacity:1;visibility:visible}
}
@media(max-width:980px){
  .inbox-route .inbox-shell{grid-template-columns:290px minmax(0,1fr);border-radius:8px}
  .inbox-route .app-content{padding:6px}
  .inbox-route .messages{padding-left:14px;padding-right:14px}
  .inbox-route .message-row{max-width:86%}
}
@media(max-width:820px){
  .inbox-route .app-topbar{flex-basis:64px;height:64px}
  .inbox-route .app-content{padding:0}
  .inbox-route .inbox-shell{border:0;border-radius:0;box-shadow:none}
}
@media(max-width:700px){
  .inbox-route .app-shell,.inbox-route .app-main{width:100%;overflow:hidden}
  .inbox-route .inbox-shell{display:block;height:100%;min-height:0}
  .inbox-route .inbox-list-column{display:flex;height:100%!important;max-height:100%!important}
  .inbox-route .chat-column{display:none;height:100%!important;max-height:100%!important;min-height:0!important}
  .inbox-route .inbox-shell.mobile-chat-view .inbox-list-column{display:none}
  .inbox-route .inbox-shell.mobile-chat-view .chat-column{display:flex}
  .inbox-route .chat-header{flex-basis:56px;height:56px;padding:0 7px}
  .inbox-route .chat-contact-copy strong{max-width:38vw}
  .inbox-route .chat-actions .icon-btn{width:37px;height:37px;min-width:37px;min-height:37px}
  .inbox-route .messages{padding:10px 8px 7px;scrollbar-width:none}
  .inbox-route .messages::-webkit-scrollbar{display:none}
  .inbox-route .message-row{max-width:91%}
  .inbox-route .bubble{font-size:13px;line-height:1.4;padding:7px 8px 5px}
  .inbox-route .composer-wrap .composer{min-height:56px;padding:6px 6px calc(6px + env(safe-area-inset-bottom,0px));gap:4px}
  .inbox-route .composer .input{font-size:16px;min-height:42px;max-height:92px;border-radius:20px;padding:9px 11px}
  .inbox-route .composer .icon-btn{width:38px;height:38px;min-width:38px;min-height:38px}
  .inbox-route .send-btn{width:40px;height:40px;min-width:40px;min-height:40px}
  .inbox-route .composer-hint{display:none}
  .inbox-route .emoji-picker{bottom:60px;right:6px;width:calc(100vw - 12px)}
  .chat-call-layer{position:fixed;inset:0;padding:0;z-index:100}
  .chat-call-card{width:100%;height:100%;min-height:100%;border-radius:0;padding-top:max(34px,env(safe-area-inset-top));padding-bottom:max(26px,env(safe-area-inset-bottom))}
}
@media(max-width:700px){
  body.inbox-route.inbox-mobile-chat-active .app-topbar{display:none}
  body.inbox-route.inbox-mobile-chat-active .app-content{flex:1 1 100%;height:100%;min-height:0}
  body.inbox-route.inbox-mobile-chat-active .chat-header{padding-top:max(3px,env(safe-area-inset-top,0px));height:calc(56px + env(safe-area-inset-top,0px));flex-basis:calc(56px + env(safe-area-inset-top,0px))}
}

/* ============================================================
   Vona Chat 2.3 — bilingual shell + WATI-inspired team inbox
   ============================================================ */
body{direction:inherit}
.language-menu{position:relative;flex:0 0 auto}
.language-trigger{height:34px;min-width:64px;border:1px solid var(--line);border-radius:9px;background:#fff;display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:0 9px;color:#475467;font-size:11px;font-weight:800;cursor:pointer;transition:.15s}
.language-trigger:hover{background:#f7f9fa;border-color:#cfd4dc}
.language-dropdown{min-width:245px;padding:8px}
.language-menu-title{padding:7px 9px 8px;font-size:10px;color:var(--muted);font-weight:700}
.language-dropdown form{margin:0}
.language-option{min-height:43px!important;display:grid!important;grid-template-columns:34px 1fr 18px;align-items:center;gap:8px;text-align:start!important}
.language-option>span{width:30px;height:30px;border-radius:8px;background:#f2f4f7;display:grid;place-items:center;font-size:10px;font-weight:900}
.language-option>strong{font-size:11px}
.language-option.active{background:var(--brand-soft)!important;color:var(--brand-strong)!important}
.auth-language-switch{position:fixed;top:18px;inset-inline-end:20px;z-index:20}
.auth-language-switch .language-trigger{box-shadow:var(--shadow-sm)}

/* LTR support across the shared shell. */
[dir="ltr"] .app-sidebar{border-left:0;border-right:1px solid var(--line)}
[dir="ltr"] .nav-link.active:before{right:auto;left:-2px}
[dir="ltr"] .nav-link em,[dir="ltr"] .nav-count{margin-right:0;margin-left:auto}
[dir="ltr"] .profile-trigger,[dir="ltr"] .dropdown-menu a,[dir="ltr"] .dropdown-menu button{text-align:left}
[dir="ltr"] .dropdown-menu{left:auto;right:0}
[dir="ltr"] .input-with-icon .ui-icon{right:auto;left:11px}
[dir="ltr"] .input-with-icon .input{padding-right:11px;padding-left:38px}
[dir="ltr"] .switch-slider:after{right:auto;left:3px}
[dir="ltr"] .switch input:checked + .switch-slider:after{transform:translateX(18px)}
[dir="ltr"] .sidebar-collapse .ui-icon{transform:rotate(180deg)}
[dir="ltr"] .inbox-list-column{border-left:0;border-right:1px solid var(--line)}
[dir="ltr"] .contact-panel{border-right:0;border-left:1px solid var(--line)}
[dir="ltr"] .thread-item.active:before{right:auto;left:0}
[dir="ltr"] .channel-dot{left:auto;right:-1px}
[dir="ltr"] .bubble.in{border-top-right-radius:12px;border-top-left-radius:3px}
[dir="ltr"] .bubble.out{border-top-left-radius:12px;border-top-right-radius:3px}
[dir="ltr"] .inbox-route .contact-panel{direction:ltr}
[dir="ltr"] .inbox-route .composer-hint{left:auto;right:65px}
[dir="ltr"] .inbox-route .emoji-picker{right:auto;left:10px}
[dir="ltr"] .contact-panel-mobile-head,[dir="ltr"] .chat-header,[dir="ltr"] .chat-workspace-tabs{direction:ltr}
[dir="ltr"] .form-actions{justify-content:flex-end}
[dir="ltr"] .page-kicker,[dir="ltr"] .topbar-start,[dir="ltr"] .topbar-actions{direction:ltr}

/* Team Inbox list header — compact like a professional helpdesk. */
.inbox-route .inbox-list-head{padding:10px 11px 8px;gap:8px;background:#fff}
.inbox-route .inbox-title-row>div{display:grid;gap:1px;min-width:0}
.inbox-route .inbox-title-row h2{font-size:14px;font-weight:800;color:#111b21}
.inbox-live-dot{height:25px;border-radius:999px;padding:0 8px;display:inline-flex;align-items:center;gap:5px;background:#ecfdf3;color:#067647;font-size:9px;font-weight:800;white-space:nowrap}
.inbox-live-dot i{width:6px;height:6px;border-radius:50%;background:#12b76a;box-shadow:0 0 0 3px rgba(18,183,106,.12)}
.inbox-search .input{height:36px;min-height:36px;border-radius:8px;background:#f7f9fa;border-color:#e6e8eb;font-size:11px}
.inbox-route .inbox-filter-tabs{gap:4px;padding-bottom:1px;scrollbar-width:none}
.inbox-route .inbox-filter-tabs::-webkit-scrollbar{display:none}
.inbox-route .inbox-filter-tabs a{display:inline-flex;align-items:center;gap:5px;padding:5px 8px;border-radius:999px;background:#f7f9fa;color:#54656f;border:1px solid transparent;font-size:9px}
.inbox-route .inbox-filter-tabs a b{min-width:17px;height:17px;border-radius:999px;padding:0 4px;display:grid;place-items:center;background:#fff;color:#667781;font-size:8px}
.inbox-route .inbox-filter-tabs a.active{background:#e7fce8;color:#008069;border-color:#d0f4d4}
.inbox-route .inbox-filter-tabs a.active b{background:#008069;color:#fff}
.inbox-route .thread-item{min-height:74px;padding:10px 11px;gap:9px;border-bottom-color:#f0f2f5}
.inbox-route .thread-avatar{width:44px;height:44px;background:#dfe7e5;color:#3b4a54}
.inbox-route .thread-top strong{font-size:11px;color:#111b21}
.inbox-route .thread-time{font-size:8px;color:#667781}
.inbox-route .thread-preview{font-size:9px;line-height:1.45;color:#667781;max-width:100%}
.inbox-route .unread-bubble{background:#25d366}

/* WATI-like conversation toolbar under the contact header. */
.inbox-route .chat-header{flex-basis:58px;height:58px;background:#fff;padding:0 10px}
.inbox-route .chat-workspace-tabs{flex:0 0 39px;min-height:39px;background:#fff;border-bottom:1px solid #e5e7e9;display:flex;align-items:stretch;padding:0 8px;gap:3px;overflow-x:auto;scrollbar-width:none}
.inbox-route .chat-workspace-tabs::-webkit-scrollbar{display:none}
.chat-workspace-tab{position:relative;border:0;background:transparent;min-width:max-content;padding:0 9px;color:#667781;font-size:9px;font-weight:700;display:inline-flex;align-items:center;gap:5px;cursor:pointer}
.chat-workspace-tab:hover{color:#111b21;background:#f7f9fa}
.chat-workspace-tab.active{color:#008069}
.chat-workspace-tab.active:after{content:"";position:absolute;left:7px;right:7px;bottom:0;height:2px;background:#008069;border-radius:2px 2px 0 0}
.chat-workspace-spacer{flex:1 1 auto}
.chat-status-pill{align-self:center;height:25px;padding:0 8px;border-radius:7px;background:#f2f4f7;color:#475467;display:inline-flex;align-items:center;gap:5px;font-size:9px;font-weight:800;white-space:nowrap;margin-inline:4px}
.chat-status-pill i{width:6px;height:6px;border-radius:50%;background:#98a2b3}
.chat-status-pill.open{background:#ecfdf3;color:#067647}.chat-status-pill.open i{background:#12b76a}
.chat-status-pill.closed{background:#f2f4f7;color:#667085}
.inbox-route .chat-contact .thread-avatar{width:39px;height:39px}
.inbox-route .chat-contact-copy strong{font-size:11px;color:#111b21}
.inbox-route .chat-contact-copy small{font-size:8px}
.inbox-route .chat-actions{gap:3px}
.inbox-route .chat-actions .btn{min-height:31px;font-size:9px;padding-inline:9px}

/* Message canvas — clearer bubbles, more usable writing area. */
.inbox-route .messages{padding-top:14px;background-color:#efeae2;background-image:linear-gradient(rgba(239,234,226,.91),rgba(239,234,226,.91)),radial-gradient(circle at 7px 7px,rgba(84,101,111,.12) 1px,transparent 1.2px);background-size:auto,18px 18px}
.inbox-route .message-row{max-width:min(76%,760px)}
.inbox-route .bubble{font-size:12px;line-height:1.55;min-width:76px;max-width:100%;word-break:break-word}
.inbox-route .bubble-body{white-space:pre-wrap}
.inbox-route .composer-wrap{box-shadow:0 -1px 0 rgba(17,27,33,.06)}
.inbox-route .composer-wrap .composer{min-height:60px;padding:8px 10px calc(8px + env(safe-area-inset-bottom,0px))}
.inbox-route .composer .input{min-height:42px;border:1px solid transparent;background:#fff}
.inbox-route .composer .input:focus{border-color:#c8d4d0}

/* Customer panel closer to a helpdesk contact inspector. */
.inbox-route .contact-panel-head{padding:14px 14px 12px;background:#fff}
.inbox-route .contact-large-avatar{width:52px;height:52px;font-size:18px;margin-bottom:7px}
.inbox-route .contact-panel-section{padding:12px 14px}
.inbox-route .contact-panel-section h4{font-size:9px;color:#54656f;letter-spacing:.35px;margin-bottom:9px}
.inbox-route .info-list{gap:9px}.inbox-route .info-copy small{font-size:8px}.inbox-route .info-copy span{font-size:9px;color:#111b21}
.inbox-route .note-textarea{min-height:82px;font-size:11px}

@media(max-width:1100px){
  .language-trigger{min-width:46px;padding:0 7px}.language-trigger>span{font-size:10px}
  .inbox-route .chat-workspace-tab{padding-inline:7px}
}
@media(max-width:700px){
  .inbox-route .inbox-list-head{padding:10px 10px 7px}
  .inbox-route .inbox-title-row h2{font-size:15px}
  .inbox-route .thread-item{min-height:72px;padding:10px}
  .inbox-route .chat-header{flex-basis:54px;height:54px}
  .inbox-route .chat-workspace-tabs{flex-basis:37px;min-height:37px;padding:0 4px}
  .chat-workspace-tab{font-size:8px;padding:0 7px}
  .chat-status-pill{height:23px;font-size:8px}
  .inbox-route .messages{padding-top:9px}
  .inbox-route .message-row{max-width:93%}
  .language-menu .language-trigger{min-width:42px;height:32px}
  .language-menu .language-trigger .ui-icon:last-child{display:none}
}

/* Complete LTR corrections for screens that were originally authored RTL-first. */
[dir="ltr"] .table th,[dir="ltr"] .table td{text-align:left}
[dir="ltr"] .settings-nav button,[dir="ltr"] .settings-nav a,[dir="ltr"] .wa-mode-card{text-align:left}
[dir="ltr"] .check-list{padding-right:0;padding-left:18px}
[dir="ltr"] .notification-dot{right:auto;left:8px}
[dir="ltr"] .contact-note{border-right:1px solid var(--line-soft);border-left:3px solid var(--brand)}
@media(max-width:820px){
  [dir="ltr"] .app-sidebar{right:auto;left:0;transform:translateX(-100%)}
  [dir="ltr"] .app-shell.sidebar-open .app-sidebar{transform:translateX(0)}
  [dir="ltr"] .nav-link.active:before{right:auto;left:-2px}
}
@media(max-width:1060px) and (min-width:821px){
  [dir="ltr"] .nav-link.active:before{right:auto;left:-9px}
}


/* ===== Vona 2.6 visual system ===== */
body[data-theme="ocean"]{--brand:#2563eb;--brand-strong:#1d4ed8;--brand-deep:#1e3a8a;--brand-soft:#eaf1ff;--brand-softer:#f5f8ff;--canvas:#f5f7fb;--info:#2563eb}
body[data-theme="royal"]{--brand:#7c3aed;--brand-strong:#6d28d9;--brand-deep:#4c1d95;--brand-soft:#f1eafe;--brand-softer:#faf7ff;--canvas:#f7f5fb;--info:#6d28d9}
body[data-theme="graphite"]{--brand:#334155;--brand-strong:#1e293b;--brand-deep:#0f172a;--brand-soft:#edf1f5;--brand-softer:#f7f8fa;--canvas:#f4f5f7;--info:#475569}
body[data-theme] .app-sidebar,body[data-theme] .app-topbar,body[data-theme] .dropdown-menu{background:var(--surface)}
body[data-theme] .brand-symbol{box-shadow:0 8px 22px color-mix(in srgb,var(--brand) 22%, transparent)}
body[data-theme] .global-search:focus-within{border-color:color-mix(in srgb,var(--brand) 45%, white);box-shadow:0 0 0 3px color-mix(in srgb,var(--brand) 10%, transparent)}
body[data-theme] .profile-avatar{background:color-mix(in srgb,var(--brand) 12%, white);color:var(--brand-strong)}

.theme-menu{position:relative}.theme-trigger{min-width:92px}.theme-dropdown{min-width:230px}.theme-option{justify-content:flex-start}.theme-swatch{width:17px!important;height:17px!important;min-width:17px;border-radius:50%!important;background:var(--swatch)!important;box-shadow:inset 0 0 0 2px rgba(255,255,255,.85),0 0 0 1px rgba(16,24,40,.14)}

/* calmer, less crowded surfaces across the application */
.app-content{padding:26px clamp(16px,2.2vw,32px) 36px}.card{border-radius:14px;box-shadow:0 1px 2px rgba(16,24,40,.025)}
.page-header,.page-heading{margin-bottom:18px}.page-header-copy h1,.page-heading h1{font-weight:800;letter-spacing:-.25px}.page-header-copy p,.page-heading p{line-height:1.65}
.data-table th{font-size:10px;letter-spacing:.15px;color:#667085;background:#fafbfc}.data-table td{vertical-align:middle}.data-table tbody tr{transition:background .14s ease}.data-table tbody tr:hover{background:var(--brand-softer)}
.input{border-radius:10px;min-height:42px}.btn{border-radius:10px;font-weight:700}.btn-primary{box-shadow:0 1px 2px color-mix(in srgb,var(--brand) 15%, transparent)}

/* invoice workspace */
.invoice-list-card{padding:0;overflow:hidden}.invoice-list-toolbar{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:18px 20px;border-bottom:1px solid var(--line)}.invoice-list-toolbar>div{display:grid}.invoice-list-toolbar strong{font-size:14px}.invoice-list-toolbar small{font-size:10px;color:var(--muted);margin-top:2px}.invoice-list-table th,.invoice-list-table td{padding-block:13px}.invoice-number-link{display:grid;gap:2px}.invoice-number-link strong{color:var(--brand-strong)}.invoice-number-link small{font-size:9px;color:var(--muted)}.invoice-customer-cell{display:flex;align-items:center;gap:9px}.invoice-customer-cell>span{width:30px;height:30px;border-radius:9px;background:var(--brand-soft);color:var(--brand-strong);display:grid;place-items:center;font-weight:800}.invoice-customer-cell strong{font-size:12px}.invoice-money{font-weight:800;white-space:nowrap}.invoice-money small{font-size:9px;color:var(--muted);font-weight:600}.invoice-row-action{text-align:end}.invoice-pagination{padding:12px 18px;border-top:1px solid var(--line-soft)}
.invoice-editor{max-width:1120px;margin:auto}.invoice-editor-main{padding:0;overflow:hidden}.invoice-editor-section{padding:20px 22px;border-bottom:1px solid var(--line-soft)}.invoice-meta-grid{grid-template-columns:1.5fr 1fr 1fr}.invoice-items-head,.invoice-item-row{display:grid;grid-template-columns:minmax(260px,1fr) 110px 150px 42px;gap:10px;align-items:center}.invoice-items-head{padding:0 0 8px;color:var(--muted);font-size:10px;font-weight:700}.invoice-items-editor{display:grid;gap:9px}.invoice-remove-item{color:var(--danger);background:var(--danger-soft)}.invoice-editor-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px;padding:16px 22px;background:var(--surface-2)}
.invoice-paper-modern{max-width:980px;margin:0 auto;background:#fff;border:1px solid #e5e7eb;border-radius:18px;padding:38px;box-shadow:0 18px 50px rgba(16,24,40,.07);color:#182230}.invoice-modern-top{display:flex;justify-content:space-between;gap:26px;padding-bottom:26px;border-bottom:1px solid #e8ebef}.invoice-brand-block{display:flex;align-items:flex-start;gap:14px}.invoice-brand-block h2{margin:0 0 5px;font-size:18px}.invoice-brand-block p{font-size:11px;line-height:1.7;color:#667085;margin:0}.invoice-document-meta{display:grid;justify-items:end;align-content:start;gap:4px}.invoice-document-meta>span{font-size:10px;letter-spacing:1.5px;color:#98a2b3;font-weight:800}.invoice-document-meta>strong{font-size:18px}.invoice-document-meta em{font-style:normal;margin-top:5px}.invoice-summary-grid{display:grid;grid-template-columns:1.6fr 1fr;gap:30px;padding:26px 0}.invoice-summary-grid>div{display:grid;gap:4px}.invoice-summary-grid small,.invoice-bottom-notes small{font-size:9px;color:#98a2b3;text-transform:uppercase;letter-spacing:.5px;font-weight:800}.invoice-summary-grid strong{font-size:13px}.invoice-summary-grid span{font-size:11px;color:#667085}.invoice-table-modern{width:100%;border-collapse:collapse}.invoice-table-modern th{background:#f7f8fa;color:#667085;font-size:10px;text-align:start;padding:11px;border-bottom:1px solid #e7e9ee}.invoice-table-modern td{padding:13px 11px;border-bottom:1px solid #eef0f3;font-size:11px}.invoice-modern-total{margin-inline-start:auto;width:min(360px,100%);display:flex;justify-content:space-between;align-items:end;padding:22px 0 8px}.invoice-modern-total span{color:#667085;font-size:11px}.invoice-modern-total>strong{font-size:25px}.invoice-modern-total small{font-size:10px;color:#667085}.invoice-bottom-notes{display:grid;grid-template-columns:1fr 1fr;gap:24px;border-top:1px solid #e8ebef;margin-top:18px;padding-top:18px}.invoice-bottom-notes p{margin:4px 0 0;white-space:pre-wrap;font-size:11px;color:#475467}

@media(max-width:900px){.theme-trigger>span{display:none}.theme-trigger{min-width:38px}.invoice-meta-grid{grid-template-columns:1fr 1fr}.invoice-meta-grid .full{grid-column:1/-1}.invoice-items-head{display:none}.invoice-item-row{grid-template-columns:1fr 92px 120px 38px}.invoice-paper-modern{padding:24px}.invoice-modern-top{flex-direction:column}.invoice-document-meta{justify-items:start}.invoice-summary-grid{grid-template-columns:1fr 1fr}}
@media(max-width:650px){.invoice-item-row{grid-template-columns:1fr 1fr 38px}.invoice-item-row>input:first-child{grid-column:1/-1}.invoice-list-table thead{display:none}.invoice-list-table,.invoice-list-table tbody,.invoice-list-table tr,.invoice-list-table td{display:block;width:100%}.invoice-list-table tr{padding:13px 14px;border-bottom:1px solid var(--line)}.invoice-list-table td{border:0!important;padding:5px 0!important;display:flex;justify-content:space-between;gap:12px;text-align:end}.invoice-list-table td:before{content:attr(data-label);color:var(--muted);font-size:10px;font-weight:700;text-align:start}.invoice-row-action:before{display:none}.invoice-row-action .btn{width:100%;margin-top:5px}.invoice-customer-cell{margin-inline-start:auto}.invoice-meta-grid{grid-template-columns:1fr}.invoice-meta-grid .full{grid-column:auto}.invoice-summary-grid,.invoice-bottom-notes{grid-template-columns:1fr}.invoice-paper-modern{padding:18px;border-radius:12px}.invoice-modern-total{width:100%}}

@media print{.app-sidebar,.app-topbar,.no-print,.support-mode-bar{display:none!important}.app-shell{display:block!important}.app-content{padding:0!important}.invoice-paper-modern{box-shadow:none;border:0;max-width:none;padding:0}.invoice-paper-modern .brand-symbol{print-color-adjust:exact;-webkit-print-color-adjust:exact}}

/* ===== Vona 2.10 product polish ===== */
/* Stable tables and RTL-safe pagination */
.table-wrap{max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;overscroll-behavior-inline:contain}
.table,.data-table{width:100%;min-width:720px;border-collapse:collapse}
.table th,.table td,.data-table th,.data-table td{white-space:normal;overflow-wrap:anywhere}
.vona-pagination{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;padding:14px 2px 2px}
.vona-pagination-summary{font-size:11px;color:var(--muted)}
.vona-pagination-pages{display:flex;align-items:center;gap:5px;flex-wrap:wrap}
.vona-page{min-width:34px;height:34px;padding:0 9px;border:1px solid var(--line);border-radius:9px;background:var(--surface);display:inline-flex;align-items:center;justify-content:center;font-size:11px;font-weight:750;color:var(--text);text-decoration:none}
.vona-page:hover{border-color:var(--brand);color:var(--brand-strong);background:var(--brand-softer)}
.vona-page.current{background:var(--brand);border-color:var(--brand);color:#fff;pointer-events:none}
.vona-page.disabled{opacity:.38;pointer-events:none}.vona-page.gap{border-color:transparent;background:transparent;min-width:22px;padding:0}.vona-page.nav{min-width:38px;font-size:18px}

/* Integration center: each provider has its own page */
.integration-hub-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.integration-hub-card{display:grid;grid-template-columns:48px minmax(0,1fr) auto 20px;align-items:center;gap:13px;text-decoration:none;color:inherit;min-height:94px;transition:transform .15s ease,border-color .15s ease,box-shadow .15s ease}
.integration-hub-card:hover{transform:translateY(-1px);border-color:color-mix(in srgb,var(--brand) 28%,var(--line));box-shadow:0 10px 26px rgba(16,24,40,.055)}
.integration-hub-icon{width:48px;height:48px;border-radius:13px;background:var(--brand-soft);color:var(--brand-strong);display:grid;place-items:center}
.integration-hub-copy{display:grid;gap:4px}.integration-hub-copy strong{font-size:14px}.integration-hub-copy small,.integration-hub-status small{font-size:10px;color:var(--muted)}
.integration-hub-status{display:grid;justify-items:end;gap:5px;min-width:112px}

/* 5 ready-made business templates */
.industry-template-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:11px}.industry-template-grid.compact{grid-template-columns:repeat(5,minmax(150px,1fr))}
.industry-template-card{border:1px solid var(--line);border-radius:13px;padding:14px;background:var(--surface);display:flex;flex-direction:column;gap:10px;min-width:0}
.industry-template-card h3{font-size:12px;margin:0 0 4px}.industry-template-card p{font-size:10px;line-height:1.65;color:var(--muted);margin:0}.industry-template-icon{width:36px;height:36px;border-radius:10px;background:var(--brand-soft);display:grid;place-items:center;font-size:18px}

/* Rebuilt linear flow builder — no overlapping draggable nodes or wires */
.builder-simple-grid{display:grid;grid-template-columns:minmax(230px,300px) minmax(0,1fr);gap:16px;align-items:start}.builder-settings{position:sticky;top:76px}.builder-linear{min-width:0}
.palette-title{font-size:10px;font-weight:800;color:var(--muted);margin:14px 0 8px}.node-palette.simple{display:grid;grid-template-columns:1fr 1fr;gap:7px}.node-palette.simple button{border:1px solid var(--line);background:var(--surface-2);border-radius:9px;padding:9px 7px;font:inherit;font-size:10px;font-weight:700;cursor:pointer;color:var(--text)}.node-palette.simple button:hover{border-color:var(--brand);background:var(--brand-softer);color:var(--brand-strong)}
.builder-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-bottom:13px;border-bottom:1px solid var(--line-soft)}.bot-linear-flow{display:grid;justify-items:stretch;padding-top:14px}
.linear-node{border:1px solid var(--line);border-radius:13px;padding:13px;background:var(--surface);box-shadow:0 1px 2px rgba(16,24,40,.025)}.linear-node.start{border-color:color-mix(in srgb,var(--brand) 38%,var(--line));background:var(--brand-softer)}
.linear-node-head{display:grid;grid-template-columns:30px minmax(0,1fr) auto;gap:10px;align-items:center}.linear-step{width:30px;height:30px;border-radius:9px;background:var(--brand-soft);color:var(--brand-strong);display:grid;place-items:center;font-size:10px;font-weight:850}.linear-node-head>div:nth-child(2){display:grid;gap:2px}.linear-node-head strong{font-size:11px}.linear-node-head small{font-size:9px;color:var(--muted)}
.linear-actions{display:flex;gap:4px}.linear-actions button{width:28px;height:28px;border:1px solid var(--line);background:var(--surface);border-radius:8px;cursor:pointer;font-weight:800}.linear-actions button:last-child{color:var(--danger)}.linear-fields{margin-top:11px}.linear-arrow{text-align:center;color:var(--brand);font-size:18px;font-weight:900;line-height:28px;height:28px}

/* Dashboard analytics only */
.dashboard-numbers-only{grid-template-columns:repeat(4,minmax(0,1fr))}.dashboard-analytics-grid{align-items:stretch}.message-trend-chart{min-height:190px;display:grid;grid-template-columns:repeat(7,minmax(38px,1fr));gap:10px;align-items:end;padding:16px 6px 2px}.message-trend-chart.wide{min-height:220px;max-width:980px;margin:auto}
.message-trend-day{min-width:0;display:grid;justify-items:center;gap:5px}.message-trend-day strong{font-size:10px}.message-trend-day small{font-size:9px;color:var(--muted)}.message-trend-bars{height:150px;display:flex;gap:3px;align-items:end}.wide .message-trend-bars{height:180px}.message-trend-bars span{display:block;width:9px;min-height:3px;border-radius:5px 5px 2px 2px}.trend-in{background:var(--brand)}.trend-out{background:color-mix(in srgb,var(--brand) 38%,#98a2b3)}

@media(max-width:1180px){.industry-template-grid,.industry-template-grid.compact{grid-template-columns:repeat(3,minmax(0,1fr))}.dashboard-numbers-only{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:820px){.integration-hub-grid{grid-template-columns:1fr}.builder-simple-grid{grid-template-columns:1fr}.builder-settings{position:static}.industry-template-grid,.industry-template-grid.compact{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-numbers-only{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-analytics-grid{grid-template-columns:1fr}.vona-pagination{align-items:flex-start;flex-direction:column}.table,.data-table{min-width:640px}}
@media(max-width:560px){.industry-template-grid,.industry-template-grid.compact{grid-template-columns:1fr}.dashboard-numbers-only{grid-template-columns:1fr 1fr}.integration-hub-card{grid-template-columns:42px minmax(0,1fr) 18px}.integration-hub-icon{width:42px;height:42px}.integration-hub-status{grid-column:2/3;justify-items:start;min-width:0}.message-trend-chart{gap:4px}.message-trend-bars span{width:6px}.node-palette.simple{grid-template-columns:1fr 1fr}.linear-node-head{grid-template-columns:28px minmax(0,1fr)}.linear-actions{grid-column:2;justify-content:flex-end}.table,.data-table{min-width:600px}}

/* Vona 2.10 notification sound control */
.sound-toggle.active{box-shadow:0 0 0 2px rgba(34,197,94,.18) inset}
.sound-toggle.active::after{content:'';width:6px;height:6px;border-radius:50%;background:#22c55e;position:absolute;inset-inline-end:5px;top:5px}
.sound-toggle{position:relative}

/* Vona 2.10.1 — global incoming WhatsApp call alert */
.vona-incoming-call{position:fixed;z-index:99999;top:18px;inset-inline-end:18px;width:min(430px,calc(100vw - 28px));display:grid;grid-template-columns:54px minmax(0,1fr) auto;align-items:center;gap:12px;padding:14px;background:var(--surface,#fff);border:1px solid rgba(15,23,42,.12);border-radius:18px;box-shadow:0 22px 60px rgba(15,23,42,.24);animation:vonaCallPulse 1.35s ease-in-out infinite alternate}.vona-incoming-call__avatar{width:54px;height:54px;border-radius:50%;display:grid;place-items:center;font-weight:800;font-size:20px;background:#e8fff6;color:#08775f}.vona-incoming-call__copy{min-width:0}.vona-incoming-call__copy strong,.vona-incoming-call__copy small{display:block}.vona-incoming-call__copy strong{font-size:15px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.vona-incoming-call__copy small{margin-top:4px;color:var(--muted,#64748b);font-size:12px;line-height:1.45}.vona-incoming-call__actions{display:flex;gap:7px}.vona-incoming-call__actions button{border:0;border-radius:999px;padding:9px 14px;font:inherit;font-weight:800;cursor:pointer}.vona-call-answer-global{background:#16a34a;color:#fff}.vona-call-reject-global{background:#fee2e2;color:#b91c1c}@keyframes vonaCallPulse{from{transform:translateY(0);box-shadow:0 18px 45px rgba(15,23,42,.2)}to{transform:translateY(2px);box-shadow:0 24px 65px rgba(22,163,74,.22)}}@media(max-width:640px){.vona-incoming-call{top:auto;bottom:calc(14px + env(safe-area-inset-bottom));inset-inline:12px;width:auto;grid-template-columns:48px minmax(0,1fr);border-radius:20px}.vona-incoming-call__avatar{width:48px;height:48px}.vona-incoming-call__actions{grid-column:1/-1}.vona-incoming-call__actions button{flex:1;padding:11px 14px}}

/* ============================================================
   Vona Chat 2.10.7 — Desktop readability / eye-comfort pass
   Keeps mobile density unchanged while improving desktop clarity.
   ============================================================ */
@media (min-width:821px){
  :root{
    --muted:#596579;
    --muted-2:#7c8799;
  }

  body{font-size:15px;line-height:1.62}
  h1{font-size:30px;line-height:1.28;letter-spacing:-.2px}
  h2{font-size:20px;line-height:1.4}
  h3{font-size:16px;line-height:1.45}
  p{line-height:1.7}
  code{font-size:13px}
  .text-sm{font-size:13px}
  .text-xs{font-size:12px}

  /* Sidebar / navigation */
  .brand-copy strong{font-size:18px}
  .brand-copy small{font-size:12px}
  .workspace-copy strong{font-size:14px}
  .workspace-copy small{font-size:12px}
  .nav-label{font-size:11px;letter-spacing:.55px}
  .nav-link{min-height:46px;font-size:14px;font-weight:650}
  .nav-link em{font-size:10.5px}
  .nav-count{font-size:11px}
  .sidebar-help strong{font-size:12px}
  .sidebar-help small{font-size:11px}
  .version-chip{font-size:10.5px}

  /* Top bar */
  .topbar-page small{font-size:11.5px}
  .topbar-page strong{font-size:15.5px}
  .global-search{height:42px;font-size:14px}
  .global-search kbd{font-size:11px}
  .connection-pill,.role-pill{font-size:12px}
  .profile-copy strong{font-size:13.5px}
  .profile-copy small{font-size:11px}
  .dropdown-menu a,.dropdown-menu button{font-size:14px}
  .language-trigger{font-size:12.5px}
  .language-menu-title{font-size:11.5px}
  .language-option>strong{font-size:12.5px}

  /* Page headers / sections */
  .page-header-copy p,.page-head p{font-size:14px}
  .page-kicker{font-size:12px}
  .section-title p,.card-head-copy p{font-size:13px}

  /* Cards and dashboard */
  .card{padding:20px}
  .stat-copy small{font-size:12.5px}
  .stat-copy strong{font-size:27px}
  .stat-copy span{font-size:11.5px}
  .stat-trend{font-size:11.5px}
  .mini-metric span{font-size:11.5px}
  .mini-metric strong{font-size:19px}

  /* Buttons */
  .btn{min-height:40px;padding-inline:15px;font-size:13.5px}
  .btn-sm{min-height:34px;font-size:12px;padding-inline:11px}
  .btn-lg{min-height:46px;font-size:14.5px}

  /* Forms */
  .field label{font-size:13.5px}
  .field-hint{font-size:12px;line-height:1.55}
  .input{min-height:43px;font-size:14px;padding:10px 12px}
  textarea.input{min-height:112px;line-height:1.6}
  .switch-copy strong{font-size:13.5px}
  .switch-copy small{font-size:12px;line-height:1.5}
  .checkbox-copy strong{font-size:13px}
  .checkbox-copy small{font-size:11.5px;line-height:1.5}

  /* Badges and status */
  .badge{min-height:26px;font-size:11.5px;padding-inline:9px}

  /* Tables */
  .table-toolbar{min-height:68px}
  .table th,.data-table th{font-size:12px;line-height:1.45;font-weight:750}
  .table td,.data-table td{font-size:14px;line-height:1.55}
  .table th,.table td,.data-table th,.data-table td{padding-top:13px;padding-bottom:13px}
  .table-sub{font-size:11.5px;line-height:1.45}
  .table-link{font-size:14px}
  .empty-row td{font-size:14px}
  .vona-pagination-summary{font-size:12.5px}
  .vona-page{font-size:12.5px;min-width:36px;height:36px}

  /* Product-specific small text that was too dense on desktop */
  .integration-hub-copy strong{font-size:15px}
  .integration-hub-copy small,.integration-hub-status small{font-size:12px;line-height:1.5}
  .industry-template-card h3{font-size:14px}
  .industry-template-card p{font-size:12px;line-height:1.7}
  .palette-title{font-size:12px}
  .node-palette.simple button{font-size:12px}
  .linear-step{font-size:11.5px}
  .linear-node-head strong{font-size:13px}
  .linear-node-head small{font-size:11.5px}
  .message-trend-day strong{font-size:12px}
  .message-trend-day small{font-size:11px}

  /* Better reading comfort in long admin screens */
  .muted{color:var(--muted)}
  .app-content{padding:26px 28px}
}


/* ================================================================
   Vona Chat 2.10.10 — mobile safe-area + navigation reliability
   Keeps the app header below iPhone status/notch areas and makes the
   mobile navigation explicit, touch-friendly, and independently scrollable.
   ================================================================ */
@media(max-width:820px){
    :root{
        --vona-mobile-topbar:64px;
        --vona-safe-top:env(safe-area-inset-top,0px);
        --vona-safe-bottom:env(safe-area-inset-bottom,0px);
    }
    html,body{min-height:100%;min-height:100dvh;max-width:100%;overflow-x:hidden}
    body.mobile-nav-open{overflow:hidden;overscroll-behavior:none}
    .app-shell{min-height:var(--vona-visual-height,100dvh)}
    .app-main{min-height:var(--vona-visual-height,100dvh);width:100%;overflow:visible}

    /* The sticky header owns the iPhone safe area instead of rendering below it. */
    .app-topbar{
        position:sticky;
        top:0;
        z-index:80;
        box-sizing:border-box;
        height:calc(var(--vona-mobile-topbar) + var(--vona-safe-top));
        min-height:calc(var(--vona-mobile-topbar) + var(--vona-safe-top));
        padding:var(--vona-safe-top) 12px 0;
        grid-template-columns:minmax(0,1fr) auto;
        gap:8px;
        background:rgba(255,255,255,.985);
        -webkit-backdrop-filter:blur(14px);
        backdrop-filter:blur(14px);
        box-shadow:0 1px 7px rgba(16,24,40,.07);
    }
    .topbar-start{min-width:0;gap:9px}
    .topbar-page{min-width:0}
    .topbar-page strong{display:block;max-width:min(48vw,260px);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:15px;line-height:1.25}
    .topbar-actions{min-width:0;gap:5px;justify-content:flex-end}
    .topbar-actions>.icon-btn,.language-trigger,.theme-trigger,.profile-trigger{min-height:42px}

    /* Large, self-explanatory menu target; no accidental tiny icon hit area. */
    .mobile-menu-btn{
        display:inline-grid!important;
        width:44px;
        height:44px;
        min-width:44px;
        border:1px solid #ccebe3;
        background:var(--brand-soft);
        color:var(--brand-strong);
        border-radius:12px;
        touch-action:manipulation;
        -webkit-tap-highlight-color:transparent;
    }
    .mobile-menu-btn:active{transform:scale(.97);background:#d8f3ec}

    /* Mobile drawer sits above the header + native safe-area and scrolls itself. */
    .app-sidebar{
        position:fixed;
        inset-inline-end:0;
        inset-inline-start:auto;
        top:0;
        bottom:auto;
        z-index:100;
        width:min(86vw,320px);
        height:var(--vona-visual-height,100dvh);
        max-height:var(--vona-visual-height,100dvh);
        padding:calc(12px + var(--vona-safe-top)) 12px calc(12px + var(--vona-safe-bottom));
        border-inline-start:1px solid var(--line);
        border-inline-end:0;
        transform:translateX(105%);
        overflow:hidden;
        overscroll-behavior:contain;
        -webkit-overflow-scrolling:touch;
        box-shadow:-20px 0 48px rgba(16,24,40,.18);
    }
    html[dir="ltr"] .app-sidebar{inset-inline-start:0;inset-inline-end:auto;transform:translateX(-105%);box-shadow:20px 0 48px rgba(16,24,40,.18)}
    .app-shell.sidebar-open .app-sidebar{transform:translateX(0)}
    .app-shell.sidebar-open .sidebar-overlay{
        display:block;
        position:fixed;
        inset:0;
        z-index:90;
        background:rgba(16,24,40,.52);
        -webkit-backdrop-filter:blur(2px);
        backdrop-filter:blur(2px);
        touch-action:none;
    }
    .sidebar-brand-row{position:relative;flex:0 0 auto;padding-bottom:10px;border-bottom:1px solid var(--line-soft)}
    .sidebar-collapse{display:none!important}
    .mobile-sidebar-close{
        display:inline-grid!important;
        width:44px;
        height:44px;
        min-width:44px;
        border:1px solid var(--line);
        background:#f8fafb;
        color:var(--navy-2);
        border-radius:12px;
        touch-action:manipulation;
        -webkit-tap-highlight-color:transparent;
    }
    .mobile-sidebar-close:active{transform:scale(.97);background:#eef2f5}
    .sidebar-nav{
        min-height:0;
        overflow-y:auto;
        overflow-x:hidden;
        padding-bottom:20px;
        overscroll-behavior:contain;
        -webkit-overflow-scrolling:touch;
        scrollbar-gutter:stable;
    }
    .nav-link{min-height:48px;font-size:14px;touch-action:manipulation}
    .sidebar-footer{flex:0 0 auto;padding-bottom:max(2px,var(--vona-safe-bottom))}

    /* Dropdowns must never render behind the native/mobile header. */
    .app-topbar .dropdown-menu{z-index:120;max-width:calc(100vw - 20px);max-height:min(70dvh,520px);overflow:auto}

    /* Support/impersonation mode also respects the device top inset. */
    .support-mode-bar{padding-top:max(8px,var(--vona-safe-top));padding-inline:10px;min-height:46px;height:auto}

    /* Content starts naturally after the sticky header and stays tappable. */
    .app-content{position:relative;z-index:1;padding-top:14px}
}

@media(max-width:620px){
    .app-topbar{padding-inline:9px;gap:5px}
    .topbar-actions{gap:2px}
    .topbar-page strong{font-size:14px;max-width:38vw}
    .language-trigger,.theme-trigger{padding-inline:8px}
    .theme-trigger>span{display:none}
    .profile-trigger{padding-inline:4px}
    .mobile-menu-btn{width:46px;height:46px;min-width:46px}
    .app-sidebar{width:min(90vw,318px)}
}

@media(display-mode:standalone) and (max-width:820px){
    .app-topbar{background:#fff}
}

/* ================================================================
   Vona Chat 2.10.11 — readability + delivery status clarity
   ================================================================ */
:root{--vona-readable-body:15px}
body{font-size:var(--vona-readable-body)}
.app-shell small,.app-shell .text-xs{font-size:12.5px;line-height:1.55}
.app-shell .muted{line-height:1.55}
.app-shell .nav-link{font-size:15px;line-height:1.35}
.app-shell .btn{font-size:14px;line-height:1.25}
.app-shell .btn-sm{font-size:13px}
.app-shell .field label{font-size:14px}
.app-shell .field-hint{font-size:12.5px;line-height:1.65}
.app-shell .input{font-size:15px;line-height:1.4}
.app-shell .table th,.app-shell .data-table th{font-size:12.5px}
.app-shell .table td,.app-shell .data-table td{font-size:14.5px;line-height:1.6}
.app-shell .table-sub{font-size:12px;line-height:1.55}
.app-shell .badge{font-size:12px}
.app-shell .page-header p,.app-shell .page-head p,.app-shell .card-head-copy p{font-size:13.5px;line-height:1.65}
.inbox-route .thread-content strong{font-size:13.5px}
.inbox-route .thread-preview{font-size:12px;line-height:1.5}
.inbox-route .chat-contact-copy strong{font-size:14px}
.inbox-route .chat-contact-copy small{font-size:11.5px}
.inbox-route .bubble-body,.inbox-route .media-caption,.inbox-route .voice-transcript{font-size:14.5px;line-height:1.65}
.inbox-route .bubble-meta{font-size:10.5px;line-height:1.3}
.delivery-checks{display:inline-flex;align-items:center;font-weight:900;letter-spacing:-2px;min-width:14px}
.delivery-checks.read{color:#1677ff}
.delivery-checks.failed{color:#d92d20;letter-spacing:0}
.message-status-error{display:inline-grid;place-items:center;width:16px;height:16px;border-radius:50%;background:#fff1f0;color:#d92d20;font-weight:900;font-size:10px;cursor:help}
.message-failed .bubble.out{box-shadow:inset 0 0 0 1px rgba(217,45,32,.25)}

@media(max-width:820px){
  :root{--vona-readable-body:15.5px}
  .app-shell .app-content{font-size:15.5px}
  .app-shell small,.app-shell .text-xs{font-size:12.5px!important;line-height:1.6}
  .app-shell .nav-link{font-size:15.5px;min-height:50px}
  .app-shell .btn{font-size:14.5px;min-height:44px}
  .app-shell .btn-sm{font-size:13.5px;min-height:40px}
  .app-shell .field label{font-size:14.5px}
  .app-shell .field-hint{font-size:12.5px}
  .app-shell .input{font-size:16px;min-height:46px;padding:11px 12px}
  .app-shell .table td,.app-shell .data-table td{font-size:14.5px}
  .app-shell .table th,.app-shell .data-table th{font-size:12.5px}
  .inbox-route .thread-content strong{font-size:14px}
  .inbox-route .thread-preview{font-size:12.5px}
  .inbox-route .chat-contact-copy strong{font-size:14.5px}
  .inbox-route .chat-contact-copy small{font-size:12px}
  .inbox-route .bubble-body,.inbox-route .media-caption,.inbox-route .voice-transcript{font-size:15.5px;line-height:1.7}
  .inbox-route .bubble-meta{font-size:11px}
  .template-preview{font-size:13px!important;line-height:1.7!important}
}

/* ============================================================
   Vona Chat 2.10.12 — Calm Team Inbox / readability rebuild
   - Desktop: balanced list/chat/profile columns and larger type.
   - Laptop: profile becomes a drawer before chat gets cramped.
   - Mobile: full-screen list/chat steps with comfortable touch sizes.
   - No backend/message delivery behavior is changed here.
   ============================================================ */

/* Inbox typography: stop using 8–11px helper text in primary workflows. */
.inbox-route{font-size:15px}
.inbox-route .inbox-shell{border-radius:14px;border-color:#e4e7ec;background:#fff;box-shadow:0 4px 18px rgba(16,24,40,.055)}
.inbox-route .inbox-list-column{border-inline-end:1px solid #e8eaed;border-inline-start:0}
.inbox-route .inbox-list-head{padding:16px 14px 12px;gap:11px;border-bottom:1px solid #eef0f2}
.inbox-route .inbox-title-row{align-items:center;gap:10px}
.inbox-route .inbox-title-row h2{font-size:18px;line-height:1.25;font-weight:800;letter-spacing:-.15px;color:#101828}
.inbox-route .inbox-title-row .muted{font-size:12px!important;line-height:1.45;color:#667085}
.inbox-route .inbox-live-dot{height:29px;padding:0 9px;font-size:11px;gap:6px}
.inbox-route .inbox-live-dot i{width:7px;height:7px}
.inbox-route .inbox-search .input{height:42px;min-height:42px;border-radius:10px;background:#f7f8fa;border:1px solid #e4e7ec;font-size:14px;padding-block:9px}
.inbox-route .inbox-search .ui-icon{opacity:.78}

/* Filters: less boxed-in. Inactive items are quiet; active state carries emphasis. */
.inbox-route .inbox-channel-tabs{gap:4px;padding:0 0 4px}
.inbox-route .inbox-channel-tabs a{min-height:34px;padding:6px 9px;border-color:transparent;border-radius:8px;background:transparent;font-size:12px;font-weight:700;color:#667085}
.inbox-route .inbox-channel-tabs a:hover{background:#f5f7f8;color:#344054}
.inbox-route .inbox-channel-tabs a b{min-width:19px;height:19px;font-size:10px;background:#f2f4f7}
.inbox-route .inbox-channel-tabs a.active{box-shadow:none;background:#eaf8f4;border-color:transparent;color:#067647}
.inbox-route .inbox-filter-tabs{gap:5px;padding-bottom:2px}
.inbox-route .inbox-filter-tabs a{min-height:31px;padding:5px 9px;border:0;border-radius:8px;background:transparent;font-size:12px;font-weight:700;color:#667085}
.inbox-route .inbox-filter-tabs a:hover{background:#f7f8fa;color:#344054}
.inbox-route .inbox-filter-tabs a b{min-width:18px;height:18px;font-size:10px;background:#f2f4f7}
.inbox-route .inbox-filter-tabs a.active{background:#eef8f5;color:#067647;border:0}
.inbox-route .inbox-filter-tabs a.active b{background:#12b76a;color:#fff}

/* Conversation list: taller, calmer rows with readable previews. */
.inbox-route .thread-list{background:#fff}
.inbox-route .thread-item{min-height:84px;padding:13px 14px;gap:12px;border-bottom:1px solid #f0f2f4;align-items:center}
.inbox-route .thread-item:hover{background:#f8fafb}
.inbox-route .thread-item.active{background:#edf7f4}
.inbox-route .thread-item.active:before{width:3px;background:#00a884}
.inbox-route .thread-avatar{width:48px;height:48px;min-width:48px;font-size:16px;font-weight:800;background:#e4ece9;color:#344054}
.inbox-route .channel-dot{width:17px;height:17px;border:2px solid #fff}
.inbox-route .thread-content{min-width:0;gap:5px}
.inbox-route .thread-top{gap:8px;align-items:center}
.inbox-route .thread-top strong{font-size:14.5px;line-height:1.3;font-weight:800;color:#101828;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.inbox-route .thread-time{font-size:11px;line-height:1.2;color:#98a2b3;white-space:nowrap}
.inbox-route .thread-bottom{align-items:flex-start;gap:6px}
.inbox-route .thread-preview{font-size:13px;line-height:1.45;color:#667085;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;white-space:normal;min-width:0}
.inbox-route .thread-channel-badge{font-size:10px;padding:2px 6px;margin-top:1px}
.inbox-route .unread-bubble{min-width:21px;height:21px;padding:0 6px;font-size:10px;margin-top:0}
.inbox-route .inbox-pagination{padding:8px 10px;border-top:1px solid #eef0f2}

/* Main chat header: stronger hierarchy, less chrome. */
.inbox-route .chat-column{background:#f4f1eb}
.inbox-route .chat-header{flex:0 0 68px;height:68px;padding:0 16px;background:#fff;border-bottom:1px solid #e5e7eb;gap:14px}
.inbox-route .chat-contact{gap:10px;min-width:0}
.inbox-route .chat-contact .thread-avatar{width:44px;height:44px;min-width:44px}
.inbox-route .chat-contact-copy{min-width:0;gap:2px}
.inbox-route .chat-contact-copy strong{font-size:15px;line-height:1.35;font-weight:800;color:#101828;max-width:min(35vw,420px);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.inbox-route .chat-contact-copy small{font-size:12px;line-height:1.35;color:#667085}
.inbox-route .chat-actions{gap:6px;align-items:center}
.inbox-route .chat-actions .icon-btn{width:40px;height:40px;min-width:40px;min-height:40px;border-radius:10px;background:transparent;color:#475467}
.inbox-route .chat-actions .icon-btn:hover{background:#f2f4f7;color:#101828}
.inbox-route .chat-actions .btn{min-height:38px;padding:8px 12px;border-radius:9px;font-size:12px;font-weight:700}

/* Secondary toolbar is useful, but should not visually compete with the chat. */
.inbox-route .chat-workspace-tabs{flex:0 0 46px;min-height:46px;padding:0 12px;gap:4px;background:#fff;border-bottom:1px solid #eaecf0}
.inbox-route .chat-workspace-tab{padding:0 11px;font-size:12px;font-weight:700;color:#667085;gap:6px;border-radius:0}
.inbox-route .chat-workspace-tab:hover{background:#f8fafb;color:#344054}
.inbox-route .chat-workspace-tab.active{color:#067647}
.inbox-route .chat-workspace-tab.active:after{left:9px;right:9px;height:3px;background:#00a884}
.inbox-route .chat-status-pill{height:29px;padding:0 10px;font-size:11px;border-radius:999px}

/* Message canvas: readable text, sane line width, generous spacing. */
.inbox-route .messages{padding:24px clamp(18px,4.2vw,72px) 16px;background-color:#f4f1eb;background-image:linear-gradient(rgba(244,241,235,.94),rgba(244,241,235,.94)),radial-gradient(circle at 7px 7px,rgba(84,101,111,.09) 1px,transparent 1.2px);background-size:auto,19px 19px}
.inbox-route .date-divider{font-size:11.5px;padding:6px 11px;margin-bottom:16px;border-radius:8px;color:#667085;background:rgba(255,255,255,.94)}
.inbox-route .message-row{max-width:min(74%,690px);margin-bottom:5px}
.inbox-route .bubble{font-size:14.5px;line-height:1.62;padding:9px 11px 7px;border-radius:10px;min-width:86px;box-shadow:0 1px 1px rgba(16,24,40,.09);color:#1d2939}
.inbox-route .bubble.in{background:#fff}
.inbox-route .bubble.out{background:#dff7df}
.inbox-route .bubble-body,.inbox-route .voice-transcript,.inbox-route .media-caption{font-size:inherit;line-height:inherit}
.inbox-route .bubble-meta{font-size:10.5px;line-height:1.25;gap:5px;margin-top:5px;color:#7b8794}
.inbox-route .delivery-checks{font-size:12px;letter-spacing:-2px}
.inbox-route .message-status-error{font-size:11px}

/* Composer: one calm control row. */
.inbox-route .composer-wrap{background:#f7f8fa;border-top:1px solid #e5e7eb;box-shadow:0 -1px 5px rgba(16,24,40,.03)}
.inbox-route .composer-wrap .composer{min-height:68px;padding:10px 12px calc(10px + env(safe-area-inset-bottom,0px));gap:8px;background:#f7f8fa}
.inbox-route .composer .input{min-height:46px;max-height:132px;border:1px solid #e4e7ec;border-radius:13px;background:#fff;padding:11px 14px;font-size:15px;line-height:1.5;color:#101828}
.inbox-route .composer .input:focus{border-color:#91d9c4;box-shadow:0 0 0 3px rgba(0,168,132,.08)}
.inbox-route .composer-tools{height:46px}
.inbox-route .composer .icon-btn{width:42px;height:42px;min-width:42px;min-height:42px;border-radius:10px}
.inbox-route .send-btn{width:44px;height:44px;min-width:44px;min-height:44px;border-radius:11px}
.inbox-route .composer-hint{font-size:10px;opacity:.72;bottom:2px}

/* Contact inspector: compact sections, readable values, no tiny uppercase copy. */
.inbox-route .contact-panel{background:#fff;border-inline-start:1px solid #e8eaed;border-inline-end:0}
.inbox-route .contact-panel-head{padding:18px 16px 14px;background:#fff;border-bottom:1px solid #eef0f2}
.inbox-route .contact-large-avatar{width:58px;height:58px;font-size:20px;margin-bottom:8px}
.inbox-route .contact-panel-head h3{font-size:15px;line-height:1.35;color:#101828}
.inbox-route .contact-panel-head p{font-size:11.5px;line-height:1.4;color:#667085}
.inbox-route .contact-panel-section{padding:15px 16px;border-bottom:1px solid #f0f2f4}
.inbox-route .contact-panel-section h4{font-size:12px;line-height:1.35;text-transform:none;letter-spacing:0;color:#475467;margin-bottom:11px;font-weight:800}
.inbox-route .info-list{gap:11px}
.inbox-route .info-item{gap:9px;align-items:flex-start}
.inbox-route .info-copy{min-width:0;gap:2px}
.inbox-route .info-copy small{font-size:11px;line-height:1.3;color:#98a2b3}
.inbox-route .info-copy span{font-size:13px;line-height:1.45;color:#344054;overflow-wrap:anywhere}
.inbox-route .tag{font-size:11px;padding:4px 7px}
.inbox-route .note-textarea{min-height:92px;font-size:14px;line-height:1.5}
.inbox-route .contact-note p,.inbox-route .previous-conversation-card p{font-size:12.5px;line-height:1.5}
.inbox-route .contact-note small,.inbox-route .previous-conversation-card small{font-size:10.5px}
.inbox-route .followup-accordion summary{font-size:12.5px;line-height:1.4}
.inbox-route .followup-mini-form .input{font-size:13px;min-height:40px}
.inbox-route .mini-followup-item strong{font-size:12px}.inbox-route .mini-followup-item small{font-size:10.5px}

/* Wide desktop: show a balanced three-column helpdesk. */
@media(min-width:1500px){
  .inbox-route .app-content{padding:12px 14px}
  .inbox-route .inbox-shell{grid-template-columns:360px minmax(560px,1fr) 320px}
  .inbox-route .contact-panel-toggle{display:none}
  .inbox-route .contact-panel{position:relative;display:block;transform:none;width:auto;height:100%;max-height:100%;box-shadow:none;padding-top:0}
}

/* Laptop: preserve the chat width; profile becomes an on-demand drawer. */
@media(max-width:1499px) and (min-width:1101px){
  .inbox-route .app-content{padding:10px}
  .inbox-route .inbox-shell{grid-template-columns:350px minmax(0,1fr)}
  .inbox-route .contact-panel-toggle{display:inline-grid}
  .inbox-route .contact-panel{display:block;position:fixed;top:0;left:0;bottom:0;width:min(380px,90vw);height:var(--vona-visual-height,100dvh);max-height:none;z-index:70;transform:translateX(-105%);transition:transform .18s ease;box-shadow:18px 0 50px rgba(16,24,40,.18);border-right:0;padding-top:env(safe-area-inset-top,0px)}
  .inbox-route .contact-panel-mobile-head{display:flex}
  .inbox-route .contact-panel-backdrop{display:block}
  .inbox-route .inbox-shell.contact-open .contact-panel{transform:translateX(0)}
  .inbox-route .inbox-shell.contact-open .contact-panel-backdrop{opacity:1;visibility:visible}
}

@media(max-width:1100px) and (min-width:701px){
  .inbox-route .app-content{padding:7px}
  .inbox-route .inbox-shell{grid-template-columns:320px minmax(0,1fr);border-radius:10px}
  .inbox-route .thread-item{min-height:80px;padding:12px}
  .inbox-route .thread-avatar{width:44px;height:44px;min-width:44px}
  .inbox-route .message-row{max-width:84%}
  .inbox-route .messages{padding-inline:20px}
  .inbox-route .chat-contact-copy strong{max-width:30vw}
}

/* Phone: list and chat are separate full-screen steps, not squeezed columns. */
@media(max-width:700px){
  .inbox-route{font-size:15px}
  .inbox-route .app-content{padding:0}
  .inbox-route .inbox-shell{border:0;border-radius:0;box-shadow:none;background:#fff}
  .inbox-route .inbox-list-head{padding:13px 12px 10px;gap:9px}
  .inbox-route .inbox-title-row h2{font-size:18px}
  .inbox-route .inbox-title-row .muted{font-size:11.5px!important}
  .inbox-route .inbox-live-dot{font-size:10.5px;height:28px}
  .inbox-route .inbox-search .input{height:43px;min-height:43px;font-size:16px}
  .inbox-route .inbox-channel-tabs a{min-height:36px;font-size:12px;padding-inline:9px}
  .inbox-route .inbox-filter-tabs a{min-height:34px;font-size:12px;padding-inline:9px}
  .inbox-route .thread-item{min-height:84px;padding:12px 13px;gap:11px}
  .inbox-route .thread-avatar{width:48px;height:48px;min-width:48px}
  .inbox-route .thread-top strong{font-size:14.5px}
  .inbox-route .thread-time{font-size:10.5px}
  .inbox-route .thread-preview{font-size:12.5px;-webkit-line-clamp:2}
  .inbox-route .thread-channel-badge{font-size:9.5px}
  .inbox-route .chat-header{height:62px;flex-basis:62px;padding:0 8px;gap:7px}
  .inbox-route .chat-contact{gap:7px}
  .inbox-route .chat-contact .thread-avatar{width:40px;height:40px;min-width:40px}
  .inbox-route .chat-contact-copy strong{font-size:14px;max-width:39vw}
  .inbox-route .chat-contact-copy small{font-size:10.5px}
  .inbox-route .chat-actions{gap:2px}
  .inbox-route .chat-actions .icon-btn{width:39px;height:39px;min-width:39px;min-height:39px;border-radius:9px}
  .inbox-route .chat-actions .btn{width:39px;min-width:39px;height:39px;min-height:39px;padding:0;display:grid;place-items:center;border-radius:9px}
  .inbox-route .chat-actions .btn span{display:none}
  .inbox-route .chat-workspace-tabs{flex-basis:44px;min-height:44px;padding:0 4px;gap:0}
  .inbox-route .chat-workspace-tab{font-size:11.5px;padding:0 8px;gap:5px}
  .inbox-route .chat-status-pill{display:none}
  .inbox-route .messages{padding:14px 9px 10px}
  .inbox-route .message-row{max-width:92%;margin-bottom:5px}
  .inbox-route .bubble{font-size:15px;line-height:1.58;padding:9px 10px 7px;border-radius:10px}
  .inbox-route .bubble-meta{font-size:10.5px}
  .inbox-route .composer-wrap .composer{min-height:64px;padding:8px 7px calc(8px + env(safe-area-inset-bottom,0px));gap:5px}
  .inbox-route .composer .input{font-size:16px;min-height:46px;max-height:104px;padding:10px 12px;border-radius:12px}
  .inbox-route .composer .icon-btn{width:40px;height:40px;min-width:40px;min-height:40px}
  .inbox-route .send-btn{width:42px;height:42px;min-width:42px;min-height:42px}
  .inbox-route .composer-hint{display:none}
  .inbox-route .contact-panel{width:min(390px,94vw)}
  .inbox-route .contact-panel-mobile-head{min-height:60px;padding:10px 13px}
  .inbox-route .contact-panel-mobile-head strong{font-size:15px}
  .inbox-route .contact-panel-head{padding:16px 14px 13px}
  .inbox-route .contact-panel-section{padding:14px}
  .inbox-route .contact-panel-section h4{font-size:12px}
  .inbox-route .info-copy small{font-size:11px}.inbox-route .info-copy span{font-size:13.5px}
}

/* Very narrow phones: keep only essential workspace labels. */
@media(max-width:390px){
  .inbox-route .chat-workspace-tab{font-size:11px;padding-inline:6px}
  .inbox-route .chat-workspace-tab .ui-icon{width:14px;height:14px}
  .inbox-route .chat-contact-copy strong{max-width:34vw}
  .inbox-route .message-row{max-width:94%}
}

/* LTR parity for the rebuilt inbox. */
[dir="ltr"] .inbox-route .inbox-list-column{border-inline-end:1px solid #e8eaed;border-inline-start:0}
[dir="ltr"] .inbox-route .contact-panel{border-inline-start:1px solid #e8eaed;border-inline-end:0}

/* ================================================================
   Vona Chat 2.10.13 — iPhone/mobile-first workspace reliability
   The whole tenant workspace is usable from mobile, with a real
   independently-scrollable navigation drawer and touch-sized controls.
   ================================================================ */
@media(max-width:820px){
    html{height:100%;height:100dvh;-webkit-text-size-adjust:100%;text-size-adjust:100%}
    body.app-body{min-height:100dvh;font-size:15px;line-height:1.5;background:#f7f9fa}
    body.mobile-nav-open{overflow:hidden!important}

    .app-sidebar{
        top:var(--vona-visual-top,0px)!important;
        bottom:auto!important;
        width:min(88vw,350px)!important;
        height:var(--vona-visual-height,100dvh)!important;
        max-height:var(--vona-visual-height,100dvh)!important;
        display:flex!important;
        flex-direction:column!important;
        gap:0;
        box-sizing:border-box;
        overflow:hidden!important;
        padding:calc(10px + env(safe-area-inset-top,0px)) 10px calc(8px + env(safe-area-inset-bottom,0px))!important;
        contain:layout paint;
    }
    .sidebar-brand-row{flex:0 0 auto;min-height:58px;padding:4px 2px 10px!important;background:#fff;z-index:2}
    .sidebar-brand .brand-symbol{width:42px;height:42px}
    .brand-copy strong{font-size:16px;line-height:1.2}
    .brand-copy small{font-size:12px;line-height:1.25;margin-top:2px}
    .workspace-card{flex:0 0 auto;min-height:58px;margin:8px 0 6px;padding:9px 10px!important;border-radius:12px}
    .workspace-copy strong{font-size:14px;line-height:1.25}
    .workspace-copy small{font-size:12px}

    /* Critical iOS fix: give the flex child an explicit zero basis/height.
       Safari otherwise lets this element grow to its content and the drawer
       appears frozen even though overflow-y:auto is present. */
    .sidebar-nav{
        flex:1 1 0!important;
        height:0!important;
        min-height:0!important;
        max-height:none!important;
        overflow-y:scroll!important;
        overflow-x:hidden!important;
        -webkit-overflow-scrolling:touch!important;
        overscroll-behavior-y:contain!important;
        touch-action:pan-y!important;
        padding:4px 2px 18px!important;
        scrollbar-width:thin;
        scroll-behavior:auto;
    }
    .sidebar-nav .nav-label{font-size:11px;line-height:1.2;padding:13px 10px 6px;color:#667085;letter-spacing:.01em}
    .sidebar-nav .nav-link{
        min-height:52px!important;
        height:auto!important;
        padding:9px 11px!important;
        border-radius:11px;
        gap:11px;
        font-size:15px!important;
        line-height:1.25;
        touch-action:manipulation;
    }
    .sidebar-nav .nav-link .ui-icon{width:20px;height:20px;flex:0 0 20px}
    .sidebar-nav .nav-count{font-size:11px;min-width:24px;height:24px;padding:0 6px}
    .sidebar-footer{flex:0 0 auto;min-height:54px;padding:9px 4px max(2px,env(safe-area-inset-bottom,0px))!important;background:#fff;z-index:2}
    .sidebar-help strong{font-size:13px!important}.sidebar-help small{font-size:11px!important}
    .version-chip{font-size:10px}

    .app-shell.sidebar-open .sidebar-overlay{touch-action:manipulation!important}
    .mobile-sidebar-close{position:relative;z-index:3}

    /* Mobile workspace typography and controls. */
    .app-content{padding:12px!important;max-width:100vw;overflow-x:hidden}
    .page-header-copy h1,.page-head h1{font-size:22px;line-height:1.3}
    .page-header-copy p,.page-head p{font-size:14px;line-height:1.65}
    .card{border-radius:14px}
    .card h2{font-size:17px}.card h3{font-size:15px}
    .card p,.muted,.field-hint{font-size:13px;line-height:1.55}
    .btn{min-height:44px;font-size:14px;padding-inline:14px}
    .btn-sm{min-height:40px;font-size:13px}
    .icon-btn{min-width:42px;min-height:42px}
    .input,select.input,textarea.input{font-size:16px!important;min-height:46px;border-radius:11px}
    textarea.input{line-height:1.5}
    .field label{font-size:13px;margin-bottom:6px}
    .form-actions{gap:8px;flex-wrap:wrap}
    .form-actions>.btn{flex:1 1 150px}

    /* Tables remain fully usable instead of forcing a tiny desktop table. */
    .table-wrap{max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;overscroll-behavior-inline:contain}
    table{font-size:13px}
    th,td{padding:11px 10px}

    /* Top bar keeps essential actions tappable without squeezing the title. */
    .app-topbar{padding-inline:8px!important;gap:5px!important}
    .topbar-start{gap:6px!important}
    .topbar-page small{font-size:10px}.topbar-page strong{font-size:14px!important;max-width:42vw!important}
    .topbar-actions{gap:3px!important}
    .topbar-actions .language-trigger,.topbar-actions .theme-trigger,.topbar-actions .profile-trigger{min-width:40px;max-width:76px;padding-inline:7px}
    .topbar-actions .theme-trigger span{display:none}
    .topbar-actions .connection-pill{display:none!important}
}

@media(max-width:480px){
    .app-sidebar{width:min(91vw,350px)!important}
    .app-content{padding:9px!important}
    .page-header,.page-head{gap:10px}
    .page-header-actions{width:100%}.page-header-actions>.btn{flex:1 1 auto}
    .topbar-page strong{max-width:38vw!important}
    .language-trigger{min-width:42px!important}
    .profile-trigger{min-width:42px!important}
    .grid,.grid-2,.grid-3,.grid-4,.grid-5,.form-grid,.form-grid-3{gap:10px}
}

/* Inbox gets its own strict mobile viewport so list/chat/composer never fight
   the browser toolbar or the global navigation drawer. */
@media(max-width:700px){
    body.inbox-route{height:var(--vona-visual-height,100dvh)!important;min-height:0!important;overflow:hidden!important}
    body.inbox-route .app-shell,body.inbox-route .app-main{height:var(--vona-visual-height,100dvh)!important;min-height:0!important}
    body.inbox-route .inbox-list-head{padding:12px 11px 9px}
    body.inbox-route .inbox-title-row h2{font-size:17px!important}
    body.inbox-route .inbox-search .input{font-size:16px!important;min-height:44px;height:44px}
    body.inbox-route .inbox-filter-tabs a{min-height:34px;font-size:12px!important;padding:6px 10px}
    body.inbox-route .thread-item{min-height:82px!important;padding:12px 11px!important}
    body.inbox-route .thread-name{font-size:15px!important;line-height:1.3}
    body.inbox-route .thread-preview{font-size:13px!important;line-height:1.35}
    body.inbox-route .thread-time{font-size:11px!important}
    body.inbox-route .chat-header{min-height:62px!important;height:62px!important;flex-basis:62px!important}
    body.inbox-route .chat-contact-copy strong{font-size:15px!important;max-width:43vw!important}
    body.inbox-route .chat-contact-copy small{font-size:12px!important}
    body.inbox-route .message-row{max-width:94%!important}
    body.inbox-route .bubble{font-size:15px!important;line-height:1.5!important;padding:9px 10px 7px!important}
    body.inbox-route .bubble-meta{font-size:10.5px!important}
    body.inbox-route .composer-wrap .composer{padding:7px 7px calc(7px + env(safe-area-inset-bottom,0px))!important}
    body.inbox-route .composer .input{font-size:16px!important;min-height:46px!important;max-height:110px!important}
}


/* ================================================================
   Vona Chat 2.10.14 — RTL iPhone drawer hard fix
   Use one native scroll container for the whole drawer. Nested flex
   scrolling is unreliable in iOS Safari, especially in RTL pages.
   ================================================================ */
@media(max-width:820px){
  body.mobile-nav-open{overflow:hidden!important;touch-action:auto!important}
  .app-sidebar{
    position:fixed!important;
    top:0!important;
    bottom:0!important;
    right:0!important;
    left:auto!important;
    inset-inline-start:auto!important;
    inset-inline-end:0!important;
    width:min(90vw,360px)!important;
    height:100dvh!important;
    max-height:100dvh!important;
    display:block!important;
    overflow-y:auto!important;
    overflow-x:hidden!important;
    -webkit-overflow-scrolling:touch!important;
    overscroll-behavior-y:contain!important;
    touch-action:pan-y!important;
    padding:calc(10px + env(safe-area-inset-top,0px)) 10px calc(18px + env(safe-area-inset-bottom,0px))!important;
    contain:none!important;
    transform:translate3d(105%,0,0)!important;
    z-index:100!important;
  }
  html[dir="ltr"] .app-sidebar{
    left:0!important;
    right:auto!important;
    inset-inline-start:0!important;
    inset-inline-end:auto!important;
    transform:translate3d(-105%,0,0)!important;
  }
  .app-shell.sidebar-open .app-sidebar{transform:translate3d(0,0,0)!important}
  .sidebar-brand-row,.workspace-card,.sidebar-footer{position:relative!important;top:auto!important;bottom:auto!important}
  .sidebar-nav{
    display:block!important;
    height:auto!important;
    max-height:none!important;
    min-height:0!important;
    overflow:visible!important;
    flex:none!important;
    padding:4px 2px 16px!important;
    touch-action:pan-y!important;
  }
  .app-shell.sidebar-open .sidebar-overlay{
    display:block!important;
    position:fixed!important;
    inset:0!important;
    z-index:90!important;
    background:rgba(16,24,40,.46)!important;
    touch-action:manipulation!important;
  }
  .mobile-sidebar-close{position:sticky!important;top:0!important;z-index:5!important;background:#fff!important}
  html[dir="rtl"] .sidebar-nav,
  html[dir="rtl"] .sidebar-nav .nav-link,
  html[dir="rtl"] .sidebar-brand,
  html[dir="rtl"] .workspace-card{direction:rtl!important;text-align:right!important}
}
@supports not (height:100dvh){
  @media(max-width:820px){.app-sidebar{height:100vh!important;max-height:100vh!important}}
}

/* ================================================================
   Vona Chat 2.10.15 — Complete Mobile Workspace + Arabic RTL rebuild
   Mobile is treated as a first-class workspace, not a squeezed desktop UI.
   ================================================================ */
@media (max-width: 820px) {
  :root{
    --vona-mobile-gap:12px;
    --vona-mobile-radius:14px;
    --vona-mobile-touch:46px;
  }

  html,body{max-width:100%;overflow-x:hidden!important}
  html[dir="rtl"],html[dir="rtl"] body{direction:rtl;text-align:right}
  body.app-body{width:100%;min-width:0;margin:0;font-size:15px;line-height:1.6}
  *{box-sizing:border-box}
  img,video,iframe,canvas,svg{max-width:100%}
  .app-shell,.app-main,.app-content,.page-content,.settings-content,.settings-panel,.card,.panel{min-width:0!important;max-width:100%!important}

  /* Full-screen native menu on phones/tablets. This intentionally replaces
     the desktop drawer model so RTL Safari never leaves a frozen half-open UI. */
  .app-sidebar,
  html[dir="ltr"] .app-sidebar,
  html[dir="rtl"] .app-sidebar{
    position:fixed!important;
    inset:0!important;
    top:var(--vona-visual-top,0px)!important;
    left:0!important;
    right:0!important;
    width:100vw!important;
    max-width:none!important;
    height:var(--vona-visual-height,100dvh)!important;
    max-height:var(--vona-visual-height,100dvh)!important;
    margin:0!important;
    border:0!important;
    border-radius:0!important;
    background:#fff!important;
    z-index:1000!important;
    display:block!important;
    overflow-y:auto!important;
    overflow-x:hidden!important;
    -webkit-overflow-scrolling:touch!important;
    overscroll-behavior-y:contain!important;
    touch-action:pan-y!important;
    padding:calc(8px + env(safe-area-inset-top,0px)) 14px calc(20px + env(safe-area-inset-bottom,0px))!important;
    transform:translate3d(105%,0,0)!important;
    transition:transform .2s cubic-bezier(.2,.8,.2,1)!important;
    box-shadow:none!important;
    contain:none!important;
  }
  html[dir="ltr"] .app-sidebar{transform:translate3d(-105%,0,0)!important}
  .app-shell.sidebar-open .app-sidebar{transform:translate3d(0,0,0)!important}
  .app-shell.sidebar-open .sidebar-overlay{display:none!important}
  body.mobile-nav-open{overflow:hidden!important;position:relative!important;width:100%!important}

  .sidebar-brand-row{
    position:sticky!important;top:0!important;z-index:20!important;
    display:flex!important;align-items:center!important;gap:10px!important;
    min-height:66px!important;padding:7px 0 10px!important;margin:0 0 4px!important;
    background:rgba(255,255,255,.97)!important;
    border-bottom:1px solid #eef1f4!important;
    backdrop-filter:blur(12px);
  }
  .sidebar-brand{min-width:0;flex:1 1 auto;display:flex!important;align-items:center!important;gap:10px!important}
  .sidebar-brand .brand-symbol{width:44px!important;height:44px!important;flex:0 0 44px!important}
  .brand-copy{min-width:0!important}
  .brand-copy strong{font-size:17px!important;line-height:1.25!important;white-space:normal!important}
  .brand-copy small{font-size:12.5px!important;line-height:1.35!important;white-space:normal!important}
  .mobile-sidebar-close{
    position:relative!important;top:auto!important;inset:auto!important;z-index:25!important;
    width:48px!important;height:48px!important;min-width:48px!important;min-height:48px!important;
    margin:0!important;border-radius:13px!important;background:#f8fafc!important;border:1px solid #e4e7ec!important;
  }
  .workspace-card{margin:10px 0!important;padding:12px!important;min-height:64px!important;border-radius:14px!important}
  .workspace-copy strong{font-size:15px!important}.workspace-copy small{font-size:12.5px!important}
  .sidebar-nav{
    display:block!important;overflow:visible!important;height:auto!important;min-height:0!important;max-height:none!important;
    padding:4px 0 12px!important;margin:0!important;direction:inherit!important;
  }
  .sidebar-nav .nav-label{font-size:12px!important;line-height:1.35!important;padding:15px 10px 7px!important;margin:0!important}
  .sidebar-nav .nav-link{
    display:flex!important;align-items:center!important;gap:12px!important;
    min-height:54px!important;width:100%!important;padding:11px 12px!important;margin:2px 0!important;
    border-radius:12px!important;font-size:15px!important;line-height:1.35!important;
    white-space:normal!important;overflow:visible!important;
  }
  html[dir="rtl"] .sidebar-nav .nav-link{justify-content:flex-start!important;text-align:right!important;direction:rtl!important}
  .sidebar-nav .nav-link span:not(.nav-count):not(.ui-icon){min-width:0!important;overflow-wrap:anywhere}
  .sidebar-nav .nav-count{margin-inline-start:auto!important;flex:0 0 auto!important}
  .sidebar-footer{position:relative!important;bottom:auto!important;padding:14px 4px 2px!important;margin-top:8px!important;border-top:1px solid #eef1f4!important}

  /* Header: compact, readable and never wider than the screen. */
  .app-topbar,.topbar{
    width:100%!important;max-width:100%!important;min-width:0!important;
    min-height:64px!important;height:auto!important;padding:8px 10px!important;
    gap:7px!important;overflow:visible!important;
  }
  .topbar-start,.topbar-actions{min-width:0!important;gap:6px!important}
  .topbar-page{min-width:0!important;flex:1 1 auto!important}
  .topbar-page strong{font-size:15px!important;line-height:1.25!important;max-width:40vw!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important}
  .topbar-page small{font-size:10.5px!important}
  .topbar-actions{flex:0 0 auto!important}
  .topbar-actions>*{flex:0 0 auto!important}
  .topbar-actions .language-trigger,.topbar-actions .theme-trigger,.topbar-actions .profile-trigger,.mobile-topbar{
    min-width:44px!important;min-height:44px!important;height:44px!important;border-radius:12px!important;
  }
  html[dir="rtl"] .app-topbar,html[dir="rtl"] .topbar{direction:rtl!important;text-align:right!important}

  /* Content & page headings. */
  .app-content{width:100%!important;padding:12px!important;overflow-x:hidden!important}
  .page-header,.page-head,.page-heading{display:flex!important;flex-direction:column!important;align-items:stretch!important;gap:10px!important;margin-bottom:14px!important}
  .page-header-copy,.page-head>div,.page-heading>div{min-width:0!important;width:100%!important}
  .page-header-copy h1,.page-head h1,.page-heading h1{font-size:21px!important;line-height:1.35!important;margin:0!important;overflow-wrap:anywhere!important}
  .page-header-copy p,.page-head p,.page-heading p{font-size:13.5px!important;line-height:1.65!important;margin-top:5px!important}
  .page-header-actions,.section-actions{display:flex!important;width:100%!important;flex-wrap:wrap!important;gap:8px!important}
  .page-header-actions>.btn,.section-actions>.btn{flex:1 1 145px!important}

  /* Cards and all dashboard metric layouts. */
  .card,.stat-card,.hero-card,.integration-card,.automation-card,.campaign-card,.invoice-list-card,.table-card{
    width:100%!important;min-width:0!important;border-radius:var(--vona-mobile-radius)!important;
  }
  .card{padding:15px!important}
  .card-head,.card-footer-row{display:flex!important;flex-wrap:wrap!important;align-items:flex-start!important;gap:9px!important}
  .card-head-copy{min-width:0!important;flex:1 1 180px!important}
  .card h2,.section-title{font-size:17px!important;line-height:1.4!important}
  .card h3{font-size:15px!important;line-height:1.45!important}
  .card p,.muted,.field-hint{font-size:13px!important;line-height:1.6!important;overflow-wrap:anywhere!important}

  .grid,.grid-2,.grid-3,.grid-4,.grid-5,.form-grid,.form-grid-3,
  .dashboard-grid,.dashboard-analytics-grid,.health-grid,.payment-grid,
  .integration-grid,.integration-hub-grid,.industry-template-grid,
  .invoice-meta-grid,.invoice-summary-grid,.builder-simple-grid,.campaign-rate-grid{
    display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:12px!important;width:100%!important;
  }
  .admin-stats{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important}
  .stat-card{min-height:118px!important;padding:13px!important}
  .stat-copy strong{font-size:22px!important}.stat-copy span{font-size:12.5px!important}

  /* Forms: single-column, full-width, touch friendly. */
  form,.field,.form-group,.inline-form,.checkout-form{max-width:100%!important;min-width:0!important}
  .field{width:100%!important;margin-bottom:12px!important}
  .field label{display:block!important;font-size:13.5px!important;line-height:1.45!important;margin-bottom:6px!important;white-space:normal!important}
  .input,select.input,textarea.input,input,select,textarea{
    max-width:100%!important;min-width:0!important;font-size:16px!important;line-height:1.45!important;
  }
  .input,select.input,input[type="text"],input[type="email"],input[type="tel"],input[type="url"],input[type="number"],input[type="password"],select{
    min-height:48px!important;height:auto!important;border-radius:12px!important;
  }
  textarea,.textarea,textarea.input{min-height:112px!important;resize:vertical!important}
  .inline-form{display:grid!important;grid-template-columns:1fr!important;gap:9px!important}
  .form-actions{display:grid!important;grid-template-columns:1fr!important;gap:8px!important;width:100%!important}
  .form-actions>.btn{width:100%!important;min-height:46px!important}
  .btn{min-height:44px!important;font-size:14px!important;line-height:1.25!important;white-space:normal!important;text-align:center!important}
  .btn-sm{min-height:40px!important}

  /* Settings: no clipped desktop tabs. On phones each setting is an obvious tile. */
  .settings-layout{display:block!important;width:100%!important;min-width:0!important}
  .settings-nav{
    position:relative!important;top:auto!important;width:100%!important;max-width:100%!important;
    display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important;
    overflow:visible!important;padding:8px!important;margin:0 0 12px!important;border-radius:14px!important;
  }
  .settings-nav [data-settings-tab],.settings-nav a,.settings-nav button{
    min-width:0!important;width:100%!important;min-height:48px!important;height:auto!important;
    padding:9px 8px!important;border-radius:11px!important;font-size:13px!important;line-height:1.35!important;
    white-space:normal!important;text-align:center!important;justify-content:center!important;
  }
  .settings-content{width:100%!important;padding:0!important;margin:0!important}
  .settings-panel,.settings-group,.settings-section{width:100%!important;min-width:0!important}
  .settings-section{padding:14px!important;border-radius:14px!important;margin-bottom:12px!important}
  .settings-section-head{display:flex!important;flex-direction:column!important;align-items:stretch!important;gap:7px!important}
  html[dir="rtl"] .settings-nav,html[dir="rtl"] .settings-content,html[dir="rtl"] .settings-section{direction:rtl!important;text-align:right!important}

  /* Generic tabs: swipeable, no truncation, clear active state. */
  .tabs,[data-tabs],.inbox-channel-tabs,.inbox-filter-tabs,.chat-workspace-tabs{
    max-width:100%!important;overflow-x:auto!important;overflow-y:hidden!important;-webkit-overflow-scrolling:touch!important;
    scrollbar-width:none!important;display:flex!important;flex-wrap:nowrap!important;gap:6px!important;padding-bottom:3px!important;
  }
  .tabs::-webkit-scrollbar,[data-tabs]::-webkit-scrollbar{display:none}
  .tabs>* , [data-tabs] [data-tab],.inbox-channel-tabs a,.inbox-filter-tabs a,.chat-workspace-tab{
    flex:0 0 auto!important;min-height:42px!important;white-space:nowrap!important;font-size:13px!important;
  }

  /* Tables stay readable. Horizontal movement is only inside the table area. */
  .table-wrap,.data-table,.invoice-list-table{
    width:100%!important;max-width:100%!important;overflow-x:auto!important;overflow-y:visible!important;
    -webkit-overflow-scrolling:touch!important;border-radius:12px!important;
  }
  table,.table,.invoice-table-modern{min-width:680px!important;font-size:13px!important}
  th,td{padding:11px 10px!important;white-space:nowrap!important}
  td .muted,.table-sub{white-space:normal!important;min-width:150px!important}
  .table-toolbar{display:flex!important;flex-direction:column!important;align-items:stretch!important;gap:8px!important}
  .table-toolbar-start,.table-toolbar-end{width:100%!important;display:flex!important;flex-wrap:wrap!important;gap:7px!important}
  .table-search{width:100%!important}

  /* Prevent common overflow culprits. */
  .badge,.tag,.status-pill,.connection-pill{max-width:100%!important;white-space:normal!important}
  pre,code{max-width:100%!important;overflow-x:auto!important;white-space:pre-wrap!important;overflow-wrap:anywhere!important}
  a{overflow-wrap:anywhere}

  /* Arabic typography/alignment refinement. */
  html[dir="rtl"] body{font-feature-settings:"kern" 1,"liga" 1}
  html[dir="rtl"] h1,html[dir="rtl"] h2,html[dir="rtl"] h3,html[dir="rtl"] h4,
  html[dir="rtl"] p,html[dir="rtl"] label,html[dir="rtl"] .muted,html[dir="rtl"] .card,
  html[dir="rtl"] .field,html[dir="rtl"] .table-wrap{direction:rtl;text-align:right}
  html[dir="rtl"] input,html[dir="rtl"] textarea,html[dir="rtl"] select{direction:rtl;text-align:right}
  html[dir="rtl"] input[type="email"],html[dir="rtl"] input[type="url"],html[dir="rtl"] input[type="tel"],
  html[dir="rtl"] input[data-ltr],html[dir="rtl"] .ltr{direction:ltr!important;text-align:left!important}
}

@media (max-width: 430px){
  .app-content{padding:10px!important}
  .settings-nav{grid-template-columns:1fr!important}
  .admin-stats{grid-template-columns:1fr 1fr!important}
  .topbar-page strong{max-width:34vw!important}
  .card{padding:13px!important}
  .page-header-copy h1,.page-head h1,.page-heading h1{font-size:20px!important}
}

@media (max-width: 360px){
  .admin-stats{grid-template-columns:1fr!important}
  .topbar-page{display:none!important}
}


/* ==========================================================
   Vona Chat 2.10.25 — Mobile workspace polish
   Larger touch targets, cleaner drawer and iPhone safe areas.
   ========================================================== */
@media(max-width:820px){
  html,body{max-width:100%;overflow-x:hidden}
  body{font-size:16px;-webkit-text-size-adjust:100%}
  .app-content{padding:12px 11px max(18px,env(safe-area-inset-bottom,0px))!important;min-width:0}
  .page-header{gap:10px;margin-bottom:14px}
  .page-header h1{font-size:22px!important;line-height:1.25}
  .page-header p{font-size:14px!important;line-height:1.55}
  .card{border-radius:15px}
  .btn{min-height:44px}
  input,.input,select,textarea{font-size:16px!important;max-width:100%}

  .app-sidebar{
    width:min(88vw,340px)!important;
    max-width:340px!important;
    padding-inline:10px!important;
    border-radius:0!important;
  }
  .sidebar-brand-row{min-height:62px!important;padding:7px 4px 10px!important}
  .sidebar-brand .brand-symbol{width:42px!important;height:42px!important;flex:0 0 42px}
  .brand-copy strong{font-size:15px!important}.brand-copy small{font-size:11px!important}
  .workspace-card{margin:9px 2px 7px!important;padding:10px!important;border-radius:13px!important}
  .workspace-avatar{width:38px!important;height:38px!important;flex:0 0 38px}
  .sidebar-nav{padding:2px 0 8px!important;overscroll-behavior:contain}
  .sidebar-nav .nav-label{padding:13px 10px 6px!important;font-size:10.5px!important}
  .sidebar-nav .nav-link{
    min-height:50px!important;
    padding:10px 11px!important;
    margin:2px 0!important;
    border-radius:12px!important;
    font-size:15px!important;
    line-height:1.3!important;
    gap:11px!important;
  }
  .sidebar-nav .nav-link.active{box-shadow:none!important}
  .sidebar-nav .nav-link .ui-icon{width:21px!important;height:21px!important;flex:0 0 21px!important}
  .nav-count{min-width:24px!important;height:24px!important}
  .mobile-sidebar-close{width:42px!important;height:42px!important;border-radius:12px!important}
  .sidebar-overlay{backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px)}

  .app-topbar{
    padding-top:max(6px,env(safe-area-inset-top,0px))!important;
    padding-inline:8px!important;
  }
  .mobile-menu-btn{width:46px!important;height:46px!important;min-width:46px!important;border-radius:13px!important}
  .topbar-page strong{font-size:14px!important;max-width:42vw!important}
  .topbar-actions>.icon-btn,.language-trigger,.theme-trigger,.profile-trigger{min-width:42px!important;min-height:42px!important}

  .dropdown-menu{max-width:calc(100vw - 18px)!important}
  .table-wrap,.table-responsive{max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}
}

@media(max-width:480px){
  .app-sidebar{width:min(91vw,330px)!important}
  .app-content{padding-inline:9px!important}
  .page-header h1{font-size:20px!important}
  .topbar-page strong{max-width:36vw!important}
}
