/* TS WhatsApp 2.0 — single authoritative presentation layer. Existing functional styles remain as fallback. */
html[data-theme="light"] .app-body,.app-body{--v2-bg:#f3f6fa;--v2-panel:#fff;--v2-sub:#f8fafc;--v2-text:#172b3f;--v2-muted:#687c8d;--v2-border:#e2e9f0;--v2-green:#07896f;--v2-green-ink:#056a58;--v2-green-bg:#e8f7f1;--v2-shadow:0 6px 28px rgba(29,58,82,.055);--v2-sidebar:#101e2b;--v2-side-text:#b5c5d2;--v2-radius:16px;--panel:var(--v2-panel);--panel-2:var(--v2-sub);--text:var(--v2-text);--muted:var(--v2-muted);--border:var(--v2-border);--green:var(--v2-green);--green-soft:var(--v2-green-bg);color:var(--v2-text);background:var(--v2-bg);font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:14px;line-height:1.5}
html[data-theme="dark"] .app-body{--v2-bg:#101820;--v2-panel:#1a2630;--v2-sub:#212f3a;--v2-text:#e4edf3;--v2-muted:#a0afbd;--v2-border:#34434e;--v2-green:#34c8a3;--v2-green-ink:#66e5c0;--v2-green-bg:#193f37;--v2-shadow:0 7px 30px rgba(0,0,0,.17);--v2-sidebar:#0b141e;--v2-side-text:#9fb3c1;--panel:var(--v2-panel);--panel-2:var(--v2-sub);--text:var(--v2-text);--muted:var(--v2-muted);--border:var(--v2-border);--green:var(--v2-green);--green-soft:var(--v2-green-bg)}
.app-body *, .app-body *::before,.app-body *::after{box-sizing:border-box}
.app-body .app-shell{display:grid;grid-template-columns:252px minmax(0,1fr);min-height:100vh;background:var(--v2-bg)}
.app-body .sidebar{position:sticky;top:0;height:100vh;min-height:0;overflow-x:hidden;overflow-y:auto;width:252px;max-width:252px;padding:17px 11px 14px;border-right:1px solid rgba(255,255,255,.07);background:var(--v2-sidebar);color:var(--v2-side-text);box-shadow:none;scrollbar-width:thin;scrollbar-color:#354655 transparent}
.app-body .brand-row{min-height:72px;display:flex;align-items:center;gap:8px;margin-bottom:12px;padding:7px 9px;border-bottom:1px solid rgba(255,255,255,.08)}
.app-body .brand{display:flex;align-items:center;gap:11px;min-width:0;text-decoration:none;color:#fff}.app-body .brand-mark{width:39px;height:39px;flex:0 0 39px;border-radius:12px;overflow:hidden;display:grid;place-items:center;background:#183c3c}.app-body .brand-mark img{width:100%;height:100%;object-fit:contain}.app-body .brand-copy{display:flex;flex-direction:column;min-width:0}.app-body .brand-copy b{font-size:15px;letter-spacing:-.025em;color:white;font-weight:750}.app-body .brand-copy span{font-size:10px;color:#91a8b6;font-weight:500}
.app-body .sidebar-label{margin:15px 0 5px;padding:9px 13px 5px;color:#718b9a;font-size:10px;letter-spacing:.105em;font-weight:800}
.app-body .side-nav{display:flex;flex-direction:column;gap:3px;min-width:0}.app-body .nav-item{min-height:40px;display:flex;align-items:center;gap:12px;padding:9px 12px;border-radius:10px;border:1px solid transparent;background:transparent;color:var(--v2-side-text);font-size:12.5px;font-weight:600;text-decoration:none;transition:background .15s,color .15s,border-color .15s;max-width:100%;box-shadow:none}.app-body .nav-item:hover{color:#fff;background:rgba(255,255,255,.07)}.app-body .nav-item.active{color:#ddfff4;background:rgba(30,187,143,.17);border-color:rgba(59,207,163,.15)}.app-body .nav-item.active:before{display:none}.app-body .nav-item .nav-icon{width:19px;height:19px;flex:0 0 19px;display:grid;place-items:center;opacity:.88}.app-body .nav-icon svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linejoin:round;stroke-linecap:round}.app-body .nav-item.active .nav-icon{color:#65eac2}.app-body .nav-item .nav-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.app-body .nav-badge{margin-left:auto;font-size:10px;min-width:19px;text-align:center;border-radius:20px;background:#0eab83;color:#fff;padding:1px 5px}.app-body .cloud-status{margin:15px 3px 8px;padding:12px;border-radius:12px;border:1px solid rgba(255,255,255,.09);background:rgba(255,255,255,.045)}.app-body .cloud-status b{color:#e3f1f8;font-size:12px}.app-body .cloud-status small{color:#93aabd}.app-body .sidebar-spacer{min-height:20px}
.app-body .workspace{min-width:0;width:100%;background:var(--v2-bg)}.app-body .topbar{position:sticky;top:0;z-index:25;min-height:72px;height:auto;padding:10px clamp(16px,2vw,30px);background:var(--v2-panel);border-bottom:1px solid var(--v2-border);backdrop-filter:none;box-shadow:none;display:flex;align-items:center;gap:14px}.app-body .breadcrumb{min-width:0;display:flex;gap:8px;white-space:nowrap;color:var(--v2-muted);font-size:12px}.app-body .breadcrumb strong{color:var(--v2-text);font-size:13px}.app-body .breadcrumb b{color:#b4c0cc}.app-body .topbar-right{display:flex;align-items:center;gap:9px;margin-left:auto}.app-body .workspace-switcher,.app-body .workspace-static{background:var(--v2-sub);border:1px solid var(--v2-border);padding:5px 9px;border-radius:11px;min-height:41px}.app-body .workspace-switcher>span,.app-body .workspace-static>span{font-size:10px;color:var(--v2-muted)}.app-body .workspace-switcher select{background:transparent;color:var(--v2-text);font-weight:650;font-size:12px;max-width:190px;min-width:120px}.app-body .topbar-search{max-width:330px;flex:1 1 160px;min-width:0}.app-body .topbar-search input{min-height:39px;height:39px;width:100%;border-radius:10px;background:var(--v2-sub);border:1px solid var(--v2-border);font-size:12px;color:var(--v2-text)}.app-body .notif-chip,.app-body .help-chip,.app-body .account-trigger,.app-body .v2-command-open{display:inline-flex;align-items:center;justify-content:center;min-height:38px;border-radius:10px;border:1px solid var(--v2-border);background:var(--v2-panel);color:var(--v2-text);text-decoration:none;box-shadow:none;white-space:nowrap}.app-body .notif-chip{min-width:40px}.app-body .help-chip{padding:0 10px;font-size:11.5px}.app-body .account-trigger{padding:4px 8px}.app-body .avatar{border-radius:10px;background:var(--v2-green-bg);color:var(--v2-green-ink);border:0}.app-body .user-copy b{color:var(--v2-text);font-size:12px}.app-body .user-copy span{font-size:10px;color:var(--v2-muted)}.app-body .v2-command-open{gap:8px;padding:0 11px;font-size:12px;cursor:pointer}.app-body .v2-command-open kbd{font-size:10px;color:var(--v2-muted);background:var(--v2-sub);border:1px solid var(--v2-border);border-radius:5px;padding:1px 4px}
.app-body .content{width:100%;max-width:1680px;padding:clamp(18px,2.4vw,35px) clamp(17px,2.6vw,38px) 72px;margin-inline:auto;background:transparent;min-width:0}.app-body .page-heading{margin:0 0 22px;display:flex;gap:13px;justify-content:space-between;align-items:start;flex-wrap:wrap}.app-body .page-heading h1{color:var(--v2-text);font-size:clamp(22px,2.3vw,29px);line-height:1.18;letter-spacing:-.045em;font-weight:780;margin:0 0 8px}.app-body .page-heading p{color:var(--v2-muted);font-size:12.5px;line-height:1.55;max-width:720px;margin:0}.app-body .content :is(.card,.panel,.provider-section,.ui-accordion-section){min-width:0;border:1px solid var(--v2-border);border-radius:var(--v2-radius);background:var(--v2-panel);box-shadow:var(--v2-shadow);color:var(--v2-text)}.app-body .card+.card,.app-body .panel+.panel{margin-top:14px}.app-body .card :is(h2,h3,h4),.app-body .panel :is(h2,h3,h4){letter-spacing:-.025em}.app-body :is(.muted,.text-muted,.help-text,small){color:var(--v2-muted)}
.app-body :is(input:not([type=checkbox]):not([type=radio]),select,textarea){max-width:100%;border:1px solid var(--v2-border);border-radius:10px;min-height:39px;background:var(--v2-panel);color:var(--v2-text);padding:8px 11px;outline:none;box-shadow:none;font:inherit;font-size:12.5px}.app-body textarea{line-height:1.55;min-height:88px}.app-body :is(input,select,textarea):focus-visible{border-color:var(--v2-green);box-shadow:0 0 0 3px color-mix(in srgb,var(--v2-green) 14%,transparent)}.app-body :is(button,.btn,input[type=submit],.v2-command-open){transition:background .16s,color .16s,border-color .16s,box-shadow .16s;cursor:pointer}.app-body :is(button,.btn,input[type=submit]){font-size:12px;font-weight:650;border-radius:10px;min-height:37px;line-height:1.25;max-width:100%;white-space:normal}.app-body :is(button,.btn,input[type=submit]):focus-visible,.app-body a:focus-visible{outline:3px solid color-mix(in srgb,var(--v2-green) 45%,transparent);outline-offset:2px}.app-body :is(button,.btn,input[type=submit]):disabled{opacity:.55;cursor:not-allowed;transform:none}.app-body :is(.btn-primary,.btn.success,button.primary,button[type=submit]):not(.icon-btn){background:var(--v2-green);color:white;border-color:var(--v2-green)}.app-body :is(.btn-primary,.btn.success,button.primary,button[type=submit]):not(.icon-btn):hover{background:var(--v2-green-ink);border-color:var(--v2-green-ink)}.app-body :is(.btn-danger,.danger-button){background:#fff2f2;color:#b93e47;border:1px solid #f6cbd0}.app-body :is(.btn-danger,.danger-button):hover{background:#ffe7e8}.app-body .table-wrap{max-width:100%;overflow-x:auto;border:1px solid var(--v2-border);border-radius:13px;background:var(--v2-panel)}.app-body :is(table,table.table-primary){width:100%;border-collapse:separate;border-spacing:0;color:var(--v2-text)}.app-body table th{background:var(--v2-sub);color:var(--v2-muted);font-size:11px;letter-spacing:.03em;text-transform:none;font-weight:750;border-bottom:1px solid var(--v2-border);padding:11px 13px;white-space:nowrap}.app-body table td{padding:11px 13px;border-bottom:1px solid var(--v2-border);font-size:12px;vertical-align:middle}.app-body table tr:last-child td{border-bottom:0}.app-body table tbody tr:hover td{background:color-mix(in srgb,var(--v2-green) 5%,var(--v2-panel))}.app-body :is(.badge,.pill,.status-badge){border-radius:999px;font-size:10px;font-weight:700;letter-spacing:0}.app-body :is(.bulk-actions-bar,.inbox-bulk-bar){border-radius:12px;background:var(--v2-green-bg);border:1px solid color-mix(in srgb,var(--v2-green) 20%,var(--v2-border));padding:10px 12px;gap:8px}.app-body :is(.notice,.alert){border-radius:12px;padding:12px 14px;line-height:1.55}.app-body :is(.dropdown,.menu-dropdown,.account-dropdown){background:var(--v2-panel);border-color:var(--v2-border);box-shadow:0 16px 45px rgba(17,34,47,.14);border-radius:13px;color:var(--v2-text)}
/* Distinct application workspaces */
.app-body.page-inbox .content{max-width:none;padding:15px clamp(12px,1.65vw,27px)}.app-body.page-inbox .inbox-v2{--inbox-rail:183px;--inbox-list:330px;max-width:100%;height:calc(100vh - 133px);min-height:540px;border:1px solid var(--v2-border);border-radius:15px;background:var(--v2-panel);box-shadow:var(--v2-shadow)}.app-body.page-inbox .inbox-v2-rail{background:var(--v2-sub);border-right:1px solid var(--v2-border)}.app-body.page-inbox .inbox-v2-list-panel{background:var(--v2-panel);border-right:1px solid var(--v2-border)}.app-body.page-inbox .inbox-v2-main,.app-body.page-inbox .inbox-chat-workspace{background:var(--v2-sub)}.app-body.page-inbox .inbox-v2-empty{color:var(--v2-muted)}.app-body.page-inbox .inbox-v2-empty h2{color:var(--v2-text)}.app-body.page-inbox .inbox-list-head,.app-body.page-inbox .inbox-chat-head{background:var(--v2-panel);border-bottom:1px solid var(--v2-border)}.app-body.page-inbox .inbox-list-head h2{color:var(--v2-text)}.app-body.page-inbox .inbox-conversation{border-radius:10px;margin:2px 5px}.app-body.page-inbox .inbox-conversation:hover{background:var(--v2-sub)}.app-body.page-inbox .inbox-conversation.active{background:var(--v2-green-bg)}.app-body.page-inbox .inbox-message-wall{background:var(--v2-sub);padding:18px}.app-body.page-inbox :is(.message-bubble,.chat-bubble){border-radius:12px;max-width:min(77%,620px);box-shadow:0 2px 6px rgba(23,41,60,.045);overflow-wrap:anywhere}.app-body.page-inbox .inbox-composer{background:var(--v2-panel);border-top:1px solid var(--v2-border);padding:11px 14px}.app-body.page-inbox .inbox-details{background:var(--v2-panel)}
.app-body.page-campaigns .bc-shell,.app-body.page-campaigns .bc-preview,.app-body.page-campaigns .bc-phone{border-radius:15px;box-shadow:var(--v2-shadow);border-color:var(--v2-border)}.app-body.page-campaigns .bc-grid{display:grid;grid-template-columns:minmax(0,1.22fr) minmax(280px,.78fr);align-items:start;gap:18px}.app-body.page-campaigns :is(.bc-actions,.bc-options,.bc-chips){display:flex;flex-wrap:wrap;gap:8px}.app-body.page-campaigns .bc-bubble{overflow-wrap:anywhere;white-space:pre-wrap}
.app-body.page-ai_chatbot .ai-console-hero,.app-body.page-ai_chatbot .ai-bot-accordion,.app-body.page-ai_chatbot .ai-provider-card,.app-body.page-ai_chatbot .ai-knowledge-card{border-radius:15px;background:var(--v2-panel);border:1px solid var(--v2-border);box-shadow:var(--v2-shadow)}.app-body.page-ai_chatbot .ai-console-nav{background:var(--v2-panel);padding:7px;border:1px solid var(--v2-border);border-radius:13px;display:flex;flex-wrap:wrap;gap:6px}.app-body.page-ai_chatbot .ai-bot-summary{min-height:58px;display:flex;align-items:center;gap:10px}.app-body.page-ai_chatbot .ai-bot-accordion-list{display:grid;gap:11px}.app-body.page-contacts :is(.contact-search-shell,.account-scope-card),.app-body.page-templates :is(.template-row,.template-phone){border:1px solid var(--v2-border);border-radius:14px;background:var(--v2-panel);box-shadow:var(--v2-shadow)}.app-body.page-contacts .module-search-filters{display:grid;grid-template-columns:repeat(auto-fit,minmax(168px,1fr));gap:10px}.app-body.page-templates .template-layout{display:grid;grid-template-columns:minmax(250px,.44fr) minmax(280px,.56fr);gap:16px}
/* Command center: navigates only to existing routes; never triggers destructive actions */
.v2-palette[hidden]{display:none!important}.v2-palette{position:fixed;inset:0;z-index:10000;display:grid;place-items:start center;padding:12vh 15px 25px;background:rgba(5,15,26,.56);backdrop-filter:blur(3px)}.v2-palette-dialog{width:min(540px,100%);background:var(--v2-panel);border:1px solid var(--v2-border);border-radius:18px;box-shadow:0 26px 90px rgba(0,0,0,.3);overflow:hidden}.v2-palette-head{display:flex;align-items:center;gap:10px;padding:14px;border-bottom:1px solid var(--v2-border)}.v2-palette-head input{width:100%;border:0!important;outline:0!important;box-shadow:none!important;font-size:14px!important;background:transparent!important}.v2-palette-close{width:34px;height:34px;flex:0 0 34px;background:var(--v2-sub);border:1px solid var(--v2-border);color:var(--v2-text)}.v2-palette-items{max-height:420px;overflow:auto;padding:9px}.v2-palette-items a{display:flex;align-items:center;justify-content:space-between;text-decoration:none;color:var(--v2-text);font-size:13px;padding:12px 13px;border-radius:10px}.v2-palette-items a:hover,.v2-palette-items a:focus-visible{background:var(--v2-green-bg);color:var(--v2-green-ink)}.v2-palette-items small{font-size:10px}.v2-palette-footer{padding:10px 16px;border-top:1px solid var(--v2-border);font-size:11px;color:var(--v2-muted)}
@media(max-width:1250px){.app-body .topbar-search{display:none}.app-body.page-inbox .inbox-v2{--inbox-rail:155px;--inbox-list:290px}.app-body .breadcrumb{display:none}}
@media(max-width:1020px){.app-body .app-shell{grid-template-columns:1fr}.app-body .sidebar{position:fixed;transform:translateX(-110%);transition:transform .2s;box-shadow:0 20px 60px rgba(0,0,0,.2)}.app-body .menu-toggle{display:inline-flex}.app-body.page-campaigns .bc-grid,.app-body.page-templates .template-layout{grid-template-columns:minmax(0,1fr)}.app-body .topbar-search{display:block;flex:1 1 130px}.app-body .v2-command-open span,.app-body .v2-command-open kbd{display:none}.app-body .v2-command-open{padding:0 11px}}
@media(max-width:690px){.app-body .topbar{gap:8px;padding:9px 12px;min-height:59px}.app-body .content{padding:17px 12px 55px}.app-body .workspace-switcher>span,.app-body .workspace-static>span,.app-body .user-copy,.app-body .help-chip,.app-body .topbar-search{display:none}.app-body .workspace-switcher select{min-width:104px;max-width:152px}.app-body .page-heading h1{font-size:23px}.app-body.page-inbox .inbox-v2{height:calc(100dvh - 102px);min-height:440px;border-radius:10px}.app-body.page-inbox .inbox-v2-rail{display:none}.app-body.page-inbox .inbox-v2{grid-template-columns:minmax(0,1fr)}.app-body.page-inbox .inbox-v2-list-panel{width:100%}.app-body.page-inbox .inbox-v2-main{min-width:0}.app-body .card{max-width:100%}.app-body .table-wrap{overflow-x:auto}.app-body .v2-palette{padding-top:8vh}}
@media(prefers-reduced-motion:reduce){.app-body *, .v2-palette *{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
