:root{--wba-bg:#f5f7fb;--wba-surface:#ffffff;--wba-surface-soft:#f8fafc;--wba-text:#172033;--wba-muted:#6b778c;--wba-line:#e5eaf1;--wba-primary:#6f8fb7;--wba-primary-dark:#5d7fa9;--wba-primary-soft:#eaf1f8;--wba-success:#2f8f68;--wba-danger:#c75a65;--wba-warning:#b88335;--wba-sidebar:#162033;--wba-sidebar-2:#202c43;--wba-radius:18px;--wba-shadow:0 12px 34px rgba(31,51,78,.07)}
*{box-sizing:border-box}html,body{margin:0;min-height:100%;background:var(--wba-bg);color:var(--wba-text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}body{min-height:100vh}a{text-decoration:none}.app-shell{display:flex;min-height:100vh}.app-sidebar{width:270px;flex:0 0 270px;background:linear-gradient(180deg,var(--wba-sidebar),#101827);color:#dce4ef;position:sticky;top:0;height:100vh;overflow-y:auto;border-right:1px solid rgba(255,255,255,.04);z-index:1035}.sidebar-brand{display:flex;align-items:center;gap:.75rem;padding:1.3rem 1.1rem 1rem;color:#fff;font-weight:800;font-size:1.02rem}.brand-mark{width:40px;height:40px;border-radius:13px;display:grid;place-items:center;background:linear-gradient(135deg,#fff,#dce7f5);color:#20304a;box-shadow:0 8px 22px rgba(0,0,0,.14)}.sidebar-label{font-size:.68rem;text-transform:uppercase;letter-spacing:.12em;color:#8190a7;font-weight:800;padding:1rem 1.2rem .45rem}.sidebar-nav{padding:.2rem .65rem 1rem}.sidebar-nav a{display:flex;align-items:center;gap:.7rem;color:#c9d3e1;padding:.65rem .72rem;border-radius:12px;margin:.14rem 0;font-size:.87rem;font-weight:600}.sidebar-nav a:hover,.sidebar-nav a.active{background:rgba(129,163,205,.14);color:#fff}.nav-icon{width:28px;height:28px;display:grid;place-items:center;border-radius:9px;background:rgba(255,255,255,.045);font-size:.82rem}.sidebar-nav a.active .nav-icon{background:rgba(255,255,255,.13)}.sidebar-footer{color:#77869b;font-size:.72rem;padding:1rem 1.2rem 1.4rem}.app-main{min-width:0;flex:1}.topbar{height:72px;background:rgba(255,255,255,.88);backdrop-filter:blur(16px);border-bottom:1px solid var(--wba-line);display:flex;align-items:center;justify-content:space-between;padding:0 1.5rem;position:sticky;top:0;z-index:1020}.topbar-title{min-width:0}.topbar-title strong{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.topbar-actions{display:flex;align-items:center;gap:.55rem}.user-chip{display:flex;align-items:center;gap:.55rem;border:1px solid var(--wba-line);background:#fff;padding:.38rem .65rem;border-radius:999px;font-size:.8rem}.user-avatar{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:var(--wba-primary-soft);color:var(--wba-primary-dark);font-weight:900}.app-content{padding:1.7rem;max-width:1580px;margin:0 auto}.page-head{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1.35rem}.page-head h1{font-size:clamp(1.55rem,2vw,2rem);margin:.12rem 0 .3rem;font-weight:800;letter-spacing:-.02em}.page-head p{margin:0;color:var(--wba-muted);font-size:.9rem}.page-kicker{font-size:.7rem;text-transform:uppercase;letter-spacing:.1em;font-weight:800;color:var(--wba-primary)}.grid{display:grid;gap:1rem}.grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.split{display:grid;grid-template-columns:minmax(0,2fr) minmax(320px,1fr);gap:1rem}.card{border-color:var(--wba-line);border-radius:var(--wba-radius);box-shadow:var(--wba-shadow);background:#fff}.card:not(:has(>.card-body)){padding:1.2rem}.stat{position:relative;overflow:hidden}.stat:before{content:"";position:absolute;width:110px;height:110px;border-radius:50%;right:-45px;top:-45px;background:var(--wba-primary-soft)}.stat .label{font-size:.78rem;color:var(--wba-muted);position:relative}.stat .value{font-size:1.85rem;font-weight:850;margin-top:.4rem;position:relative}.btn{border-radius:11px;font-weight:700}.btn-primary{--bs-btn-bg:var(--wba-primary);--bs-btn-border-color:var(--wba-primary);--bs-btn-hover-bg:var(--wba-primary-dark);--bs-btn-hover-border-color:var(--wba-primary-dark)}.btn-outline{background:#fff;border:1px solid var(--wba-line);color:#344054}.btn-outline:hover{background:#f7f9fc}.input,.textarea{display:block;width:100%;padding:.6rem .75rem;font-size:.9rem;border:1px solid #d6dde7;border-radius:10px;background:#fff;color:#172033}.select{display:block;width:100%;padding:.6rem 2.2rem .6rem .75rem;font-size:.9rem;border:1px solid #d6dde7;border-radius:10px;background:#fff;color:#172033}.input:focus,.textarea:focus,.select:focus{outline:0;border-color:#9cb4cf;box-shadow:0 0 0 .2rem rgba(111,143,183,.14)}.textarea{min-height:120px}.field{display:flex;flex-direction:column;gap:.35rem}.field label{font-size:.78rem;font-weight:750;color:#344054}.field.full{grid-column:1/-1}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.form-actions{display:flex;justify-content:flex-end;gap:.55rem;margin-top:1rem}.stack{display:flex;flex-direction:column;gap:.8rem}.inline{display:flex;gap:.5rem;align-items:center;flex-wrap:wrap}.small{font-size:.78rem}.muted{color:var(--wba-muted)}.mono{font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.help{font-size:.75rem;color:var(--wba-muted)}.badge.green{background:#e8f6ef;color:#227854}.badge.blue{background:#e9f1fb;color:#315f95}.badge.red{background:#fbecef;color:#a33f4b}.badge.yellow{background:#fff5df;color:#946522}.table-wrap{overflow:auto}.table{--bs-table-bg:transparent;--bs-table-border-color:#edf0f4;font-size:.84rem}.table thead th{color:#667085;font-size:.72rem;text-transform:uppercase;letter-spacing:.05em;white-space:nowrap}.table td,.table th{vertical-align:middle}.bootstrap-table .fixed-table-toolbar .search input{border-radius:10px;border-color:#d6dde7}.bootstrap-table .pagination .page-link{color:#536981}.bootstrap-table .pagination .active>.page-link{background:var(--wba-primary);border-color:var(--wba-primary)}.empty{padding:2.2rem;text-align:center;color:var(--wba-muted)}.code{background:#111827;color:#e5edf7;padding:1rem;border-radius:14px;overflow:auto;font:12px/1.6 ui-monospace,SFMono-Regular,Menlo,monospace;white-space:pre-wrap}.kanban{display:grid;grid-template-columns:repeat(8,minmax(220px,1fr));gap:.75rem;overflow:auto;padding-bottom:.5rem}.lane{background:#edf1f6;border-radius:16px;padding:.75rem;min-height:240px}.lane h3{font-size:.72rem;text-transform:uppercase;color:#6b778c}.lead-card{background:#fff;border:1px solid var(--wba-line);border-radius:14px;padding:.85rem;margin-bottom:.65rem}.req{display:flex;justify-content:space-between;gap:1rem;padding:.7rem 0;border-bottom:1px solid var(--wba-line)}.req:last-child{border-bottom:0}.ok{color:var(--wba-success);font-weight:800}.bad{color:var(--wba-danger);font-weight:800}.checkboxes{display:flex;flex-wrap:wrap;gap:.5rem}.check{display:flex;align-items:center;gap:.45rem;padding:.5rem .65rem;border:1px solid var(--wba-line);border-radius:10px;font-size:.78rem;background:#fff}.toast-container{z-index:1090}.toast{border:1px solid rgba(0,0,0,.06);box-shadow:0 18px 50px rgba(30,45,70,.16);border-radius:14px}.toast-success .toast-header{color:#226a4d}.toast-error .toast-header{color:#a13d48}.toast-warning .toast-header{color:#8b6425}.toast-info .toast-header{color:#315f95}.auth-shell{min-height:100vh;display:grid;grid-template-columns:1.05fr .95fr;background:#f7f9fc}.auth-hero{background:linear-gradient(145deg,#162033,#243550);color:#fff;padding:4rem;display:flex;flex-direction:column;justify-content:space-between}.auth-form{display:grid;place-items:center;padding:2rem}.auth-box{width:min(440px,100%)}.install-shell{min-height:100vh;display:grid;place-items:center;background:radial-gradient(circle at top,#dfe8f2,#f7f9fc 54%,#edf2f7);padding:2rem}.install-card{width:min(980px,100%);background:#fff;border:1px solid var(--wba-line);border-radius:24px;box-shadow:0 28px 75px rgba(30,48,75,.14);overflow:hidden}.install-head{padding:2rem;background:linear-gradient(135deg,#162033,#2c3f5c);color:#fff}.install-body{padding:2rem}.steps{display:flex;gap:.45rem;margin-top:1.2rem}.step{height:6px;flex:1;border-radius:20px;background:#40516b}.step.on{background:#dce8f7}.footer-note{color:#738197;font-size:.72rem;padding:1rem 1.2rem}
@media(max-width:1199.98px){.grid-4{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-3{grid-template-columns:repeat(2,minmax(0,1fr))}.split{grid-template-columns:1fr}.app-sidebar{width:240px;flex-basis:240px}}
@media(max-width:991.98px){.app-sidebar{position:fixed;left:-280px;width:270px;transition:left .2s ease}.app-sidebar.show{left:0}.app-sidebar-backdrop{display:none;position:fixed;inset:0;background:rgba(12,18,30,.4);z-index:1030}.app-sidebar-backdrop.show{display:block}.app-content{padding:1rem}.topbar{padding:0 1rem}.desktop-only{display:none!important}}
@media(max-width:767.98px){.grid-4,.grid-3,.grid-2,.form-grid{grid-template-columns:1fr}.field.full{grid-column:auto}.page-head{flex-direction:column}.auth-shell{grid-template-columns:1fr}.auth-hero{display:none}.install-body,.install-head{padding:1.35rem}.topbar-title .small{display:none}.user-chip span:last-child{display:none}}

/* WhatsApp Operations Center */
.wa-page-head{margin-bottom:14px}.wa-admin-config{margin-bottom:14px}.wa-admin-config summary{cursor:pointer;display:flex;align-items:center;gap:8px}.wa-channel-bar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:14px;padding:14px 16px}.wa-channel-summary,.wa-channel-controls{display:flex;align-items:center;gap:10px;min-width:0}.wa-channel-controls .select{min-width:210px}.wa-icon{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:#eafbf2;color:#087443;font-size:11px;font-weight:900;border:1px solid #b7ebcd}.wa-qr-card{display:grid;grid-template-columns:1fr 260px;align-items:center;gap:20px;margin-bottom:14px}.wa-qr-card h2{margin:0 0 8px}.wa-qr-box{background:#fff;border:1px solid var(--line);border-radius:14px;padding:12px;display:grid;place-items:center}.wa-qr-box img{width:230px;height:230px;object-fit:contain;image-rendering:pixelated}.wa-workspace{height:calc(100vh - 210px);min-height:620px;display:grid;grid-template-columns:340px minmax(420px,1fr) 320px;background:#fff;border:1px solid var(--line);border-radius:16px;overflow:hidden;box-shadow:var(--shadow)}.wa-chat-list{min-width:0;border-right:1px solid var(--line);display:flex;flex-direction:column;background:#fff}.wa-list-head{padding:14px 14px 10px;display:flex;justify-content:space-between;align-items:center}.wa-search{padding:0 12px 12px}.wa-list-body{overflow:auto;min-height:0;border-top:1px solid #f3f4f6}.wa-chat-item{width:100%;border:0;border-bottom:1px solid #f0f2f5;background:#fff;display:flex;gap:11px;text-align:left;padding:12px;cursor:pointer;color:var(--text)}.wa-chat-item:hover,.wa-chat-item.active{background:#f5f7fa}.wa-avatar{flex:0 0 42px;width:42px;height:42px;border-radius:50%;background:#e8edf3;display:grid;place-items:center;font-weight:800;color:#344054}.wa-chat-item-body{min-width:0;flex:1;display:flex;flex-direction:column;gap:5px}.wa-chat-row{display:flex;gap:8px;justify-content:space-between;align-items:center;min-width:0}.wa-chat-row strong{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:13px}.wa-chat-row time{font-size:10px;color:var(--muted);white-space:nowrap}.wa-preview{font-size:12px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.wa-unread{flex:0 0 auto;background:#22a06b;color:#fff;border-radius:999px;min-width:20px;height:20px;padding:0 6px;display:grid;place-items:center;font-size:10px}.wa-chat-panel{min-width:0;display:flex;flex-direction:column;background:#f6f2ea}.wa-empty-chat{margin:auto;max-width:430px;text-align:center;padding:30px;color:#667085}.wa-empty-icon{font-size:48px}.wa-active-chat{height:100%;min-height:0;display:flex;flex-direction:column}.wa-chat-head{height:64px;flex:0 0 auto;background:#fff;border-bottom:1px solid var(--line);padding:10px 15px;display:flex;justify-content:space-between;align-items:center;gap:12px}.wa-messages{flex:1;min-height:0;overflow:auto;padding:22px 5%;display:flex;flex-direction:column;gap:7px;background-color:#efeae2;background-image:radial-gradient(rgba(15,23,42,.035) 1px,transparent 1px);background-size:20px 20px}.wa-msg{max-width:76%;border-radius:9px;padding:8px 10px;font-size:13px;line-height:1.45;box-shadow:0 1px 1px rgba(15,23,42,.08);white-space:pre-wrap;overflow-wrap:anywhere}.wa-msg.in{align-self:flex-start;background:#fff;border-top-left-radius:3px}.wa-msg.out{align-self:flex-end;background:#d9fdd3;border-top-right-radius:3px}.wa-msg.human{background:#dbeafe}.wa-msg small{display:block;text-align:right;color:#667085;font-size:9px;margin-top:3px}.wa-composer{flex:0 0 auto;padding:10px;background:#f0f2f5;display:grid;grid-template-columns:1fr auto;gap:9px;align-items:end}.wa-composer .textarea{min-height:44px;max-height:120px;background:#fff}.wa-context{min-width:0;border-left:1px solid var(--line);overflow:auto;background:#fff}.wa-context-empty{padding:20px}.wa-context-section{padding:16px;border-bottom:1px solid #eef0f2}.wa-context-section h3{margin:0 0 5px}.wa-context-title{font-size:11px;color:#667085;text-transform:uppercase;letter-spacing:.08em;font-weight:800;margin-bottom:9px}.wa-mini-record{display:flex;flex-direction:column;gap:2px;padding:8px 0;border-bottom:1px solid #f2f4f7;font-size:12px}.wa-mini-record:last-child{border-bottom:0}.wa-mini-record small{color:#667085}.wa-context-section .btn{margin-top:8px;margin-right:5px}
@media(max-width:1250px){.wa-workspace{grid-template-columns:300px 1fr}.wa-context{display:none}.wa-channel-bar{align-items:flex-start}.wa-channel-controls{flex-wrap:wrap;justify-content:flex-end}}
@media(max-width:850px){.wa-channel-bar,.wa-channel-summary,.wa-channel-controls{align-items:stretch;flex-direction:column}.wa-channel-controls .select{min-width:0}.wa-qr-card{grid-template-columns:1fr}.wa-qr-box{justify-self:start}.wa-workspace{height:auto;min-height:700px;grid-template-columns:1fr}.wa-chat-list{max-height:300px;border-right:0;border-bottom:1px solid var(--line)}.wa-chat-panel{min-height:520px}.wa-msg{max-width:90%}}

.alert.error{background:#fbecef;border-color:#f2c9cf;color:#963b47}.alert.success{background:#eaf7f1;border-color:#bfe4d2;color:#236d50}.alert.warning{background:#fff6e5;border-color:#f0d7a7;color:#896126}.alert.info{background:#edf4fb;border-color:#cadcef;color:#315f95}
