:root{
  --ui-page-bg:linear-gradient(180deg,#FCFBFF 0%,#F8F7FE 42%,#FCF8FF 100%);--ui-surface:#FFFFFF;--ui-surface-subtle:#FBFAFD;--ui-surface-raised:#FFFFFF;
  --ui-border:#E6E4F4;--ui-border-strong:#CFC9E8;--ui-text-primary:#171A28;--ui-text-secondary:#333A50;--ui-text-muted:#5F6780;--ui-text-disabled:#8A90A6;--ui-text-on-primary:#fff;
  --ui-primary:#5A45CE;--ui-primary-hover:#4E3ABC;--ui-primary-active:#4331A6;--ui-primary-soft:#EEEAFC;
  --ui-accent:#B45FDC;--ui-accent-hover:#A651D0;--ui-accent-active:#9343BC;--ui-accent-soft:#F7ECFC;--ui-brand-pink:#C068E0;--ui-brand-gradient:linear-gradient(135deg,#1048B0 0%,#5058C0 30%,#7058C8 55%,#A060D8 78%,#C068E0 100%);
  --ui-success:#15835F;--ui-success-soft:#E8F6F0;--ui-success-text:#0F6D4E;
  --ui-warning:#D97706;--ui-warning-soft:#FFF3DB;--ui-warning-text:#9B5B07;
  --ui-danger:#D94848;--ui-danger-soft:#FDECEC;--ui-danger-text:#A82E2E;
  --ui-info:#1F5FC7;--ui-info-soft:#EAF3FF;--ui-info-text:#1E5CA9;
  --ui-nav-bg:linear-gradient(180deg,#FCFBFF,#F7F5FE);--ui-nav-border:#E6E4F4;--ui-nav-text:#2A3048;--ui-nav-muted:#6A7288;--ui-nav-hover-bg:#F2EFFD;--ui-nav-hover-text:#232941;--ui-nav-active-bg:#EFEAFC;--ui-nav-active-text:#5335C4;--ui-nav-active-bar:#5A45CE;
  --ui-control-bg:#FFFFFF;--ui-control-border:#C9CDD5;--ui-control-border-hover:#AEB4BE;--ui-focus-ring:rgba(90,69,206,.16);
  --ui-table-header-bg:#F8F7FD;--ui-table-header-text:#333A50;--ui-table-header-border:#E6E4F4;--ui-table-row:#FFFFFF;--ui-table-alt:#FFFFFF;--ui-table-hover:#F8F6FE;--ui-table-selected:#EFEAFC;
  --ui-ai:#8B4FD8;--ui-ai-soft:#EFEAFC;--ui-ai-gradient:linear-gradient(135deg,#EEF2FD,#EFEAFC);
  --chart-revenue:#5A45CE;--chart-cost:#B45FDC;--chart-forecast:#15835F;--chart-actual:#1F5FC7;--chart-risk:#D94848;--chart-grid:#D9DDE4;--chart-axis:#6B6572;
  --r-xs:4px;--r-sm:5px;--r-md:6px;--r-lg:8px;--r-xl:12px;
  --sb:228px;--top:54px;
}
*{box-sizing:border-box}html,body{margin:0;min-height:100%;font-family:Inter,system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;color:var(--ui-text-primary);background:var(--ui-page-bg);font-size:14px}body{font-variant-numeric:tabular-nums;font-feature-settings:"tnum" 1}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}svg{display:block}.icon{width:18px;height:18px;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.icon.sm{width:15px;height:15px}.icon.lg{width:22px;height:22px}
.app{display:grid;grid-template-columns:var(--sb) minmax(0,1fr);min-height:100vh}.sidebar{position:sticky;top:0;height:100vh;background:var(--ui-nav-bg);border-right:1px solid var(--ui-nav-border);display:flex;flex-direction:column;z-index:50}.brand{height:64px;padding:0 14px;display:flex;align-items:center;gap:10px;border-bottom:1px solid var(--ui-nav-border)}.brandmark{width:36px;height:36px;display:grid;place-items:center;flex:0 0 36px}.brandmark img{display:block;width:36px;height:36px;object-fit:contain}.brandcopy{min-width:0}.brandcopy b{font-size:14px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block}.brandcopy small{display:block;font-size:11px;color:var(--ui-nav-muted);margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.edition{margin-left:auto;font-size:10px;font-weight:600;padding:3px 6px;border-radius:999px;background:var(--ui-accent-soft);color:var(--ui-accent)}
.nav{padding:10px 8px;overflow:auto;flex:1}.navgroup{padding:10px 8px 5px;font-size:10.5px;text-transform:uppercase;letter-spacing:.06em;color:var(--ui-nav-muted);font-weight:600}.navitem{width:100%;height:36px;border:0;background:transparent;border-radius:6px;display:flex;align-items:center;gap:9px;padding:0 9px;color:var(--ui-nav-text);font-size:12.8px;font-weight:500;position:relative;margin:1px 0;text-align:left}.navitem:hover{background:var(--ui-nav-hover-bg);color:var(--ui-nav-hover-text)}.navitem.active{background:var(--ui-nav-active-bg);color:var(--ui-nav-active-text);font-weight:600}.navitem.active:before{content:"";position:absolute;left:-8px;width:3px;height:20px;border-radius:0 3px 3px 0;background:var(--ui-nav-active-bar)}.navitem .count{margin-left:auto;min-width:20px;padding:1px 6px;border-radius:999px;background:#E4E3F0;color:#58505F;font-size:10.5px;text-align:center}.navitem.active .count{background:#D6CCF6;color:#4A2FB4}.sidebarFooter{padding:9px;border-top:1px solid var(--ui-nav-border)}.tenant{display:flex;align-items:center;gap:9px;padding:7px;border-radius:6px}.tenantLogo{width:31px;height:31px;border-radius:6px;background:var(--ui-primary-soft);color:var(--ui-primary);font-weight:700;display:grid;place-items:center;font-size:11px}.tenantText{min-width:0}.tenantText b{display:block;font-size:11.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tenantText small{display:block;color:var(--ui-nav-muted);font-size:10px;margin-top:1px}
.main{min-width:0}.topbar{height:var(--top);position:sticky;top:0;z-index:40;background:rgba(255,255,255,.96);border-bottom:1px solid var(--ui-border);display:flex;align-items:center;padding:0 14px;gap:10px}.mobileMenu{display:none;width:36px;height:36px;border:1px solid var(--ui-border);background:#fff;border-radius:6px;align-items:center;justify-content:center}.crumb{font-size:12px;color:var(--ui-text-muted);white-space:nowrap}.crumb b{color:var(--ui-text-primary);font-weight:600}.topSearch{margin-left:auto;width:min(360px,34vw);height:34px;border:1px solid var(--ui-control-border);border-radius:6px;background:var(--ui-control-bg);display:flex;align-items:center;gap:8px;padding:0 10px;color:var(--ui-text-muted)}.topSearch input{border:0;outline:0;background:transparent;width:100%;font-size:12.5px}.topBtn{height:34px;padding:0 10px;border:1px solid var(--ui-border);background:#fff;border-radius:6px;display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:500}.topBtn:hover{border-color:var(--ui-border-strong);background:var(--ui-surface-subtle)}.avatar{width:32px;height:32px;border-radius:50%;background:#D8D6EA;color:#4F4756;display:grid;place-items:center;font-size:11px;font-weight:600}
.content{padding:18px 20px 30px;max-width:1480px;margin:0 auto}.screen{display:none}.screen.active{display:block}.pagehead{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:14px}.pagehead h1{font-size:20px;line-height:1.25;font-weight:600;letter-spacing:-.2px;margin:0}.pagehead p{margin:4px 0 0;color:var(--ui-text-muted);font-size:12.5px}.actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.btn{height:34px;border-radius:6px;border:1px solid var(--ui-border);background:#fff;padding:0 11px;display:inline-flex;align-items:center;justify-content:center;gap:7px;font-size:12.5px;font-weight:550}.btn:hover{border-color:var(--ui-border-strong);background:var(--ui-surface-subtle)}.btn.primary{background:var(--ui-brand-gradient);border-color:transparent;color:#fff}.btn.primary:hover{filter:brightness(.98)}.btn.ai{background:var(--ui-accent);border-color:var(--ui-accent);color:#fff}.btn.ghost{border-color:transparent;background:transparent}.btn.small{height:30px;font-size:11.5px;padding:0 9px}.btn.iconOnly{width:34px;padding:0}.segmented{height:34px;border:1px solid var(--ui-border);border-radius:6px;background:#fff;display:flex;padding:2px}.segmented button{border:0;background:transparent;border-radius:4px;padding:0 9px;font-size:11.5px;color:var(--ui-text-secondary)}.segmented button.active{background:var(--ui-accent-soft);color:var(--ui-accent);font-weight:600}
.filterbar{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:12px}.control{height:34px;border:1px solid var(--ui-control-border);background:var(--ui-control-bg);border-radius:6px;padding:0 9px;font-size:12px;outline:0}.control:hover{border-color:var(--ui-control-border-hover)}.control:focus{border-color:var(--ui-accent);box-shadow:0 0 0 3px var(--ui-focus-ring)}select.control{padding-right:28px}.filterLabel{font-size:11.5px;color:var(--ui-text-muted);font-weight:500}.spacer{flex:1}
.card{background:var(--ui-surface);border:1px solid var(--ui-border);border-radius:8px}.cardHead{min-height:45px;border-bottom:1px solid var(--ui-border);padding:9px 12px;display:flex;align-items:center;justify-content:space-between;gap:10px}.cardHead h3{font-size:14px;margin:0;font-weight:600}.cardHead p{font-size:11.5px;color:var(--ui-text-muted);margin:2px 0 0}.cardBody{padding:12px}.kpis{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin-bottom:12px}.kpi{background:#fff;border:1px solid var(--ui-border);border-radius:8px;padding:11px 12px;min-width:0}.kpiTop{display:flex;justify-content:space-between;gap:8px;align-items:center}.kpiLabel{font-size:11.5px;color:var(--ui-text-muted);font-weight:500}.kpiValue{font-size:25px;font-weight:700;letter-spacing:-.4px;margin-top:5px;white-space:nowrap}.kpiMeta{display:flex;align-items:center;gap:6px;margin-top:4px;font-size:10.8px;color:var(--ui-text-muted)}.delta{font-weight:600}.delta.up{color:var(--ui-success)}.delta.down{color:var(--ui-danger)}.delta.warn{color:var(--ui-warning)}
.grid2{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(300px,.9fr);gap:12px}.grid2equal{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.grid3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.stack{display:grid;gap:12px}.sectionGap{margin-top:12px}.pill{display:inline-flex;align-items:center;gap:5px;border-radius:999px;padding:3px 7px;font-size:10.8px;font-weight:600;white-space:nowrap}.p-success{background:var(--ui-success-soft);color:var(--ui-success-text)}.p-warning{background:var(--ui-warning-soft);color:var(--ui-warning-text)}.p-danger{background:var(--ui-danger-soft);color:var(--ui-danger-text)}.p-info{background:var(--ui-info-soft);color:var(--ui-info-text)}.p-ai{background:var(--ui-ai-soft);color:var(--ui-ai)}.p-neutral{background:#EEEEF4;color:#5F6780}.p-brand{background:var(--ui-primary-soft);color:#4331A6}
.aiPanel{background:var(--ui-ai-gradient);border:1px solid #D6CCF6;border-radius:8px}.aiPanel .cardHead{border-color:#D5CEF0}.aiFlag{display:flex;align-items:center;gap:6px;font-size:11px;font-weight:600;color:var(--ui-accent)}.aiDot{width:7px;height:7px;border-radius:50%;background:var(--ui-accent)}
.tableWrap{overflow:auto}.table{width:100%;border-collapse:separate;border-spacing:0;min-width:760px}.table th{position:sticky;top:0;background:var(--ui-table-header-bg);color:var(--ui-table-header-text);font-size:11.5px;font-weight:600;text-align:left;padding:7px 9px;border-bottom:1px solid var(--ui-table-header-border);white-space:nowrap;z-index:1}.table td{font-size:13px;padding:7px 9px;border-bottom:1px solid #E5E7EB;background:var(--ui-table-row);vertical-align:middle}.table tbody tr:nth-child(even) td{background:var(--ui-table-alt)}.table tbody tr:hover td{background:var(--ui-table-hover)}.table tr.selected td{background:var(--ui-table-selected)}.table .right{text-align:right}.table .center{text-align:center}.link{color:var(--ui-accent);font-weight:600;cursor:pointer}.num{font-variant-numeric:tabular-nums;text-align:right}.muted{color:var(--ui-text-muted)}
.miniBar{height:8px;border-radius:4px;background:#E6E8ED;overflow:hidden}.miniBar i{display:block;height:100%;border-radius:4px;background:var(--ui-primary)}
.barChart{height:230px;display:flex;align-items:flex-end;gap:12px;padding:20px 8px 26px;border-left:1px solid var(--chart-grid);border-bottom:1px solid var(--chart-grid);position:relative}.barGroup{flex:1;height:100%;display:flex;align-items:flex-end;justify-content:center;gap:4px;position:relative}.bar{width:38%;border-radius:3px 3px 0 0;min-height:3px}.bar.revenue{background:var(--chart-revenue)}.bar.actual{background:var(--chart-actual)}.bar.cost{background:var(--chart-cost)}.bar.forecast{background:var(--chart-forecast)}.barGroup label{position:absolute;bottom:-22px;font-size:10.5px;color:var(--ui-text-muted);white-space:nowrap}.legend{display:flex;gap:12px;flex-wrap:wrap;font-size:10.8px;color:var(--ui-text-muted)}.legend span{display:flex;align-items:center;gap:5px}.legend i{width:9px;height:9px;border-radius:2px}
.lineChart{height:230px;position:relative;padding:8px}.lineChart svg{width:100%;height:100%}.lineChart .gridline{stroke:var(--chart-grid);stroke-width:1}.lineChart .line1{fill:none;stroke:var(--chart-revenue);stroke-width:3}.lineChart .line2{fill:none;stroke:var(--chart-forecast);stroke-width:2.5;stroke-dasharray:6 5}.lineChart .area{fill:rgba(90,69,206,.08)}
.opportunityList{display:grid;gap:8px}.opp{border:1px solid var(--ui-border);background:#fff;border-radius:8px;padding:10px;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;cursor:pointer}.opp:hover{border-color:var(--ui-border-strong);background:var(--ui-surface-subtle)}.oppTitle{font-size:13px;font-weight:600}.oppDesc{font-size:11.5px;color:var(--ui-text-muted);margin-top:3px;line-height:1.4}.oppFoot{display:flex;gap:6px;align-items:center;flex-wrap:wrap;margin-top:7px}.oppValue{text-align:right}.oppValue b{font-size:15px}.oppValue small{display:block;color:var(--ui-text-muted);font-size:10.5px;margin-top:3px}.confidence{height:5px;background:#E3E2EF;border-radius:999px;overflow:hidden;margin-top:6px}.confidence i{display:block;height:100%;background:var(--ui-accent)}
.customerLayout{display:grid;grid-template-columns:310px minmax(0,1fr);gap:12px}.customerList{max-height:calc(100vh - 180px);overflow:auto}.customerItem{padding:9px 10px;border-bottom:1px solid var(--ui-border);cursor:pointer;display:grid;grid-template-columns:34px minmax(0,1fr) auto;gap:8px;align-items:center}.customerItem:hover{background:var(--ui-table-hover)}.customerItem.active{background:var(--ui-table-selected)}.cavatar{width:32px;height:32px;border-radius:50%;background:var(--ui-accent-soft);color:var(--ui-accent);display:grid;place-items:center;font-size:10.5px;font-weight:700}.customerItem b{font-size:12px}.customerItem small{display:block;color:var(--ui-text-muted);font-size:10.5px;margin-top:2px}.customerTop{display:flex;align-items:flex-start;gap:12px}.customerBigAvatar{width:48px;height:48px;border-radius:50%;background:var(--ui-primary-soft);color:var(--ui-primary);display:grid;place-items:center;font-weight:700}.customerIdentity{flex:1}.customerIdentity h2{font-size:18px;margin:0 0 4px}.customerIdentity p{margin:0;color:var(--ui-text-muted);font-size:11.5px}.customerMetrics{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px;margin-top:12px}.metricBox{border:1px solid var(--ui-border);border-radius:6px;padding:8px 9px;background:#fff}.metricBox span{display:block;color:var(--ui-text-muted);font-size:10.5px}.metricBox b{display:block;font-size:15px;margin-top:3px}.tabs{display:flex;gap:2px;border-bottom:1px solid var(--ui-border);margin-top:12px;overflow:auto}.tab{height:34px;border:0;background:transparent;padding:0 10px;font-size:12px;color:var(--ui-text-secondary);white-space:nowrap;border-bottom:2px solid transparent}.tab.active{color:var(--ui-accent);border-color:var(--ui-accent);font-weight:600}.timeline{display:grid;gap:0}.event{display:grid;grid-template-columns:78px 20px minmax(0,1fr);gap:8px;min-height:54px}.eventTime{font-size:10.5px;color:var(--ui-text-muted);padding-top:7px;text-align:right}.eventTrack{position:relative}.eventTrack:before{content:"";position:absolute;left:9px;top:0;bottom:0;width:1px;background:var(--ui-border)}.eventDot{position:absolute;left:5px;top:10px;width:9px;height:9px;border-radius:50%;background:#fff;border:2px solid var(--ui-accent)}.eventBody{padding:6px 0 10px}.eventBody b{font-size:11.8px}.eventBody p{margin:3px 0 0;font-size:11px;color:var(--ui-text-muted)}
.behaviorGrid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.behaviorCard{border:1px solid var(--ui-border);border-radius:8px;background:#fff;padding:10px}.behaviorCard h4{font-size:11.5px;margin:0;color:var(--ui-text-muted);font-weight:500}.behaviorCard b{font-size:17px;display:block;margin-top:5px}.heatmap{display:grid;grid-template-columns:55px repeat(7,1fr);gap:3px;font-size:9.5px}.heatmap .hlabel{display:grid;place-items:center;color:var(--ui-text-muted)}.heatCell{height:24px;border-radius:3px;background:#EDEDF4;display:grid;place-items:center}.heatCell[data-v="1"]{background:#EEEAFC}.heatCell[data-v="2"]{background:#D9D2F7}.heatCell[data-v="3"]{background:#9E90EA}.heatCell[data-v="4"]{background:#5A45CE;color:white}.heatCell[data-v="5"]{background:#3A2A9E;color:white}
.segmentBuilder{display:grid;grid-template-columns:250px minmax(0,1fr) 300px;gap:12px}.fieldLib{display:grid;gap:6px}.fieldChip{height:34px;border:1px solid var(--ui-border);background:#fff;border-radius:6px;display:flex;align-items:center;gap:7px;padding:0 9px;font-size:11.5px;cursor:grab}.fieldChip:hover{border-color:var(--ui-border-strong);background:var(--ui-surface-subtle)}.conditionArea{min-height:340px;border:1px dashed var(--ui-border-strong);border-radius:8px;padding:10px;background:#FAFAFB}.conditionRow{display:grid;grid-template-columns:1.1fr .8fr 1fr 30px;gap:6px;align-items:center;margin-bottom:7px}.conditionRow select,.conditionRow input{height:32px;border:1px solid var(--ui-control-border);border-radius:5px;background:#fff;padding:0 7px;font-size:11.5px}.logicSep{display:flex;align-items:center;gap:8px;margin:7px 0;color:var(--ui-text-muted);font-size:10.5px}.logicSep:before,.logicSep:after{content:"";height:1px;background:var(--ui-border);flex:1}.dropHint{display:grid;place-items:center;min-height:100px;color:var(--ui-text-muted);font-size:11.5px;text-align:center}
.journeyShell{display:grid;grid-template-columns:205px minmax(0,1fr) 285px;gap:12px}.toolbox{display:grid;gap:7px}.journeyTool{border:1px solid var(--ui-border);background:#fff;border-radius:6px;padding:8px;display:flex;align-items:center;gap:8px;font-size:11.5px;cursor:grab}.journeyTool:hover{border-color:var(--ui-border-strong);background:var(--ui-surface-subtle)}.journeyCanvas{height:580px;position:relative;overflow:auto;border:1px solid var(--ui-border);border-radius:8px;background-color:#FBFBFC;background-image:radial-gradient(#D7DAE0 1px,transparent 1px);background-size:18px 18px}.canvasWorld{position:relative;width:1200px;height:850px}.connections{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}.connections path{stroke:#AFA7BA;stroke-width:2;fill:none}.journeyNode{position:absolute;width:180px;min-height:72px;background:#fff;border:1px solid var(--ui-border-strong);border-radius:7px;padding:8px;cursor:grab;user-select:none;box-shadow:0 1px 2px rgba(16,40,60,.05)}.journeyNode.selected{border-color:var(--ui-accent);box-shadow:0 0 0 2px var(--ui-focus-ring)}.nodeTop{display:flex;align-items:center;gap:7px}.nodeIcon{width:27px;height:27px;border-radius:6px;display:grid;place-items:center}.nodeIcon.trigger{background:var(--ui-primary-soft);color:var(--ui-primary)}.nodeIcon.msg{background:var(--ui-info-soft);color:var(--ui-info)}.nodeIcon.wait{background:var(--ui-warning-soft);color:var(--ui-warning)}.nodeIcon.cond{background:var(--ui-accent-soft);color:var(--ui-accent)}.nodeIcon.action{background:var(--ui-success-soft);color:var(--ui-success)}.nodeTop b{font-size:11.5px}.nodeSub{font-size:10.5px;color:var(--ui-text-muted);margin-top:6px}.nodeMetric{margin-top:7px;padding-top:6px;border-top:1px solid var(--ui-border);font-size:10px;color:var(--ui-text-muted);display:flex;justify-content:space-between}.nodeHandle{position:absolute;width:10px;height:10px;border-radius:50%;background:#fff;border:2px solid var(--ui-accent);right:-6px;top:50%;transform:translateY(-50%)}.nodeHandle.in{left:-6px;right:auto}.propertyPanel label{display:block;font-size:10.5px;color:var(--ui-text-muted);font-weight:500;margin:8px 0 4px}.propertyPanel input,.propertyPanel select,.propertyPanel textarea{width:100%;border:1px solid var(--ui-control-border);border-radius:5px;background:#fff;font-size:11.5px;padding:7px}.propertyPanel textarea{min-height:70px;resize:vertical}
.channelGrid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(320px,.75fr);gap:12px}.channelMetric{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:10px}.flow{display:flex;align-items:center;gap:4px;flex-wrap:wrap;font-size:10.5px}.flow span{padding:5px 7px;background:#F2F3F6;border:1px solid var(--ui-border);border-radius:5px}.flow b{color:var(--ui-primary)}
.reportLayout{display:grid;grid-template-columns:230px minmax(0,1fr) 280px;gap:12px}.datasetList{display:grid;gap:5px}.dataset{height:31px;border:1px solid var(--ui-border);border-radius:5px;background:#fff;display:flex;align-items:center;padding:0 8px;font-size:11.5px;cursor:grab}.dataset:hover{background:var(--ui-surface-subtle)}.reportCanvas{min-height:580px}.dropZone{min-height:56px;border:1px dashed var(--ui-border-strong);border-radius:6px;background:#FAFAFB;padding:7px;display:flex;align-items:center;gap:6px;flex-wrap:wrap}.dropZone span.hint{color:var(--ui-text-muted);font-size:10.8px}.reportChip{height:28px;border:1px solid #D6C8F7;background:var(--ui-accent-soft);color:var(--ui-accent);border-radius:5px;padding:0 7px;display:inline-flex;align-items:center;gap:5px;font-size:10.8px;font-weight:600}.chartPicker{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.chartType{height:48px;border:1px solid var(--ui-border);border-radius:6px;background:#fff;display:grid;place-items:center;font-size:10.5px;color:var(--ui-text-muted)}.chartType.active{border-color:var(--ui-accent);background:var(--ui-accent-soft);color:var(--ui-accent);font-weight:600}.widgetGrid{display:grid;grid-template-columns:repeat(12,1fr);grid-auto-rows:80px;gap:10px}.widget{border:1px solid var(--ui-border);background:#fff;border-radius:8px;padding:10px;position:relative;overflow:hidden}.widget.w6{grid-column:span 6;grid-row:span 3}.widget.w4{grid-column:span 4;grid-row:span 2}.widget.w8{grid-column:span 8;grid-row:span 3}.widget.w12{grid-column:span 12;grid-row:span 3}.widgetHandle{position:absolute;right:7px;top:7px;color:var(--ui-text-muted);cursor:move}.widget h4{font-size:11.5px;margin:0 0 8px}.widget strong{font-size:22px}
.settingsGrid{display:grid;grid-template-columns:245px minmax(0,1fr);gap:12px}.settingsMenu{border:1px solid var(--ui-border);border-radius:8px;background:#fff;padding:6px}.settingsMenu button{width:100%;height:34px;border:0;background:transparent;border-radius:5px;text-align:left;padding:0 8px;font-size:11.8px}.settingsMenu button.active{background:var(--ui-accent-soft);color:var(--ui-accent);font-weight:600}.orgTree{font-size:11.8px}.orgNode{padding:7px 9px;border-left:1px solid var(--ui-border);margin-left:12px}.orgNode>div{display:flex;align-items:center;gap:7px}.permTable{min-width:720px}.check{width:16px;height:16px;border-radius:4px;border:1px solid var(--ui-border-strong);display:inline-grid;place-items:center}.check.on{background:var(--ui-accent);border-color:var(--ui-accent);color:#fff}.audit{font-size:11.5px;display:grid;gap:8px}.auditItem{display:grid;grid-template-columns:120px 120px minmax(0,1fr);gap:10px;padding-bottom:8px;border-bottom:1px solid var(--ui-border)}
.drawer{position:fixed;right:0;top:0;width:min(440px,92vw);height:100vh;background:#fff;border-left:1px solid var(--ui-border);z-index:120;transform:translateX(100%);transition:transform .18s ease;display:flex;flex-direction:column}.drawer.open{transform:translateX(0)}.drawerHead{height:54px;border-bottom:1px solid var(--ui-border);padding:0 12px;display:flex;align-items:center;justify-content:space-between}.drawerBody{padding:12px;overflow:auto;flex:1}.drawerFoot{padding:10px 12px;border-top:1px solid var(--ui-border);display:flex;justify-content:flex-end;gap:8px}.backdrop{position:fixed;inset:0;background:rgba(23,26,40,.22);z-index:110;opacity:0;pointer-events:none;transition:.18s}.backdrop.show{opacity:1;pointer-events:auto}.toast{position:fixed;right:16px;bottom:16px;z-index:200;background:#171A28;color:#fff;border-radius:7px;padding:10px 12px;font-size:11.5px;transform:translateY(20px);opacity:0;transition:.18s}.toast.show{transform:none;opacity:1}
.mobileBottom{display:none}.nojsMsg{display:none}.no-js .nojsMsg{display:block;margin:12px;padding:10px;border:1px solid var(--ui-border);background:#fff;border-radius:8px;font-size:12px}.no-js .screen{display:block!important;margin:0 12px 28px}.no-js .screen:not(#dashboard){border-top:1px solid var(--ui-border);padding-top:18px}.no-js .sidebar,.no-js .topbar{display:none!important}.no-js .content{padding:0 0 30px}.no-js .journeyTool,.no-js .btn,.no-js .actions{pointer-events:none;opacity:.75}
@media(max-width:1200px){.kpis{grid-template-columns:repeat(3,1fr)}.customerMetrics{grid-template-columns:repeat(3,1fr)}.segmentBuilder{grid-template-columns:220px minmax(0,1fr)}.segmentBuilder>.card:last-child{grid-column:1/-1}.reportLayout{grid-template-columns:210px minmax(0,1fr)}.reportLayout>.card:last-child{grid-column:1/-1}.journeyShell{grid-template-columns:180px minmax(0,1fr)}.journeyShell>.card:last-child{grid-column:1/-1}.behaviorGrid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:900px){:root{--sb:68px}.brandcopy,.edition,.navgroup,.navitem span.label,.tenantText{display:none}.brand{justify-content:center;padding:0}.navitem{justify-content:center;padding:0}.navitem .count{position:absolute;right:3px;top:2px;font-size:9px;padding:0 4px}.tenant{justify-content:center}.content{padding:14px 12px 86px}.grid2,.grid2equal,.grid3,.channelGrid,.customerLayout,.settingsGrid{grid-template-columns:1fr}.customerList{max-height:300px}.kpis{grid-template-columns:repeat(2,1fr)}.journeyShell,.segmentBuilder,.reportLayout{grid-template-columns:1fr}.journeyShell>.card:last-child,.segmentBuilder>.card:last-child,.reportLayout>.card:last-child{grid-column:auto}.toolbox,.fieldLib,.datasetList{display:flex;overflow:auto}.journeyTool,.fieldChip,.dataset{flex:0 0 auto;min-width:170px}.reportCanvas{min-height:420px}.channelMetric{grid-template-columns:repeat(2,1fr)}.widgetGrid{grid-template-columns:1fr;grid-auto-rows:auto}.widget,.widget.w4,.widget.w6,.widget.w8,.widget.w12{grid-column:auto;grid-row:auto;min-height:160px}}
@media(max-width:680px){.app{display:block}.sidebar{position:fixed;left:0;top:0;width:250px;transform:translateX(-100%);transition:.18s;box-shadow:0 12px 32px rgba(16,24,40,.15)}.sidebar.open{transform:none}.brandcopy,.edition,.navgroup,.navitem span.label,.tenantText{display:block}.navitem{justify-content:flex-start;padding:0 9px}.navitem .count{position:static;margin-left:auto}.mobileMenu{display:inline-flex}.topbar{height:54px;padding:0 8px}.crumb{display:none}.topSearch{width:auto;flex:1;margin-left:0}.topSearch input::placeholder{color:transparent}.topBtn .txt{display:none}.content{padding:12px 10px calc(84px + env(safe-area-inset-bottom))}.pagehead{flex-direction:column;align-items:stretch}.pagehead h1{font-size:18px}.actions{justify-content:flex-start}.actions .btn{min-height:44px}.control,.segmented,.btn{min-height:44px}.segmented{height:44px}.kpis{grid-template-columns:1fr 1fr}.kpi{padding:9px}.kpiValue{font-size:22px}.grid2,.grid2equal,.grid3,.behaviorGrid{grid-template-columns:1fr}.customerMetrics{grid-template-columns:1fr 1fr}.customerTop{align-items:center}.tabs{margin-left:-10px;margin-right:-10px;padding-left:10px}.table{min-width:740px}.barChart{height:200px}.journeyCanvas{height:460px}.canvasWorld{width:1000px;height:700px}.propertyPanel{display:none}.conditionRow{grid-template-columns:1fr}.heatmap{grid-template-columns:42px repeat(7,1fr);overflow:auto}.heatCell{min-width:30px}.channelMetric{grid-template-columns:1fr 1fr}.reportLayout>.card:first-child{order:2}.reportLayout>.card:nth-child(2){order:1}.reportLayout>.card:last-child{order:3}.widgetGrid{display:block}.widget{margin-bottom:8px}.settingsGrid{display:block}.settingsMenu{display:flex;overflow:auto;margin-bottom:10px}.settingsMenu button{flex:0 0 auto;width:auto;min-width:130px}.mobileBottom{position:fixed;display:grid;grid-template-columns:repeat(5,1fr);left:8px;right:8px;bottom:max(8px,env(safe-area-inset-bottom));height:58px;background:#fff;border:1px solid var(--ui-border);border-radius:10px;z-index:80;box-shadow:0 12px 32px rgba(16,24,40,.12);overflow:hidden}.mobileBottom button{border:0;background:#fff;display:grid;place-items:center;align-content:center;gap:2px;font-size:9.5px;color:var(--ui-text-muted)}.mobileBottom button.active{color:var(--ui-accent);background:var(--ui-accent-soft)}.mobileBottom .icon{width:19px;height:19px}.drawer{width:100%;height:min(82vh,720px);top:auto;bottom:0;border-left:0;border-top:1px solid var(--ui-border);border-radius:12px 12px 0 0;transform:translateY(100%)}.drawer.open{transform:none}.toast{left:10px;right:10px;bottom:74px;text-align:center}.no-js .screen{margin:0 10px 24px}.no-js .kpis{grid-template-columns:1fr 1fr}}

/* Premium v2 — Omnichannel + unified settings */
.screenSettingBtn{display:inline-flex;align-items:center;gap:6px}
.omniShell{display:grid;grid-template-columns:290px minmax(0,1fr) 310px;border:1px solid var(--ui-border);border-radius:8px;background:var(--ui-surface);min-height:590px;overflow:hidden}
.omniList{border-right:1px solid var(--ui-border);background:var(--ui-surface-subtle);min-width:0}.omniListHead{padding:10px;border-bottom:1px solid var(--ui-border);display:grid;gap:8px}.omniListScroll{max-height:532px;overflow:auto}.omniItem{padding:10px;border-bottom:1px solid var(--ui-border);background:#fff;cursor:pointer;display:grid;grid-template-columns:34px minmax(0,1fr) auto;gap:8px;align-items:start}.omniItem:hover{background:var(--ui-table-hover)}.omniItem.active{background:var(--ui-table-selected);box-shadow:inset 3px 0 var(--ui-accent)}.omniAvatar{width:34px;height:34px;border-radius:50%;background:var(--ui-accent-soft);color:var(--ui-accent);display:grid;place-items:center;font-size:11px;font-weight:700}.omniName{font-size:12.5px;font-weight:600}.omniLast{font-size:11px;color:var(--ui-text-muted);margin-top:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.omniMeta{font-size:10.5px;color:var(--ui-text-muted);display:flex;gap:5px;align-items:center;margin-top:5px}.unreadDot{min-width:18px;height:18px;padding:0 5px;border-radius:999px;background:var(--ui-primary);color:#fff;font-size:9.5px;display:grid;place-items:center}.omniChat{display:flex;flex-direction:column;min-width:0;background:#fff}.omniChatHead{height:58px;border-bottom:1px solid var(--ui-border);padding:8px 12px;display:flex;align-items:center;gap:8px}.omniChatHead .spacer{flex:1}.chatMessages{flex:1;padding:14px;overflow:auto;background:#FAFAFB;display:flex;flex-direction:column;gap:8px}.bubble{max-width:72%;padding:8px 10px;border-radius:8px;font-size:12px;line-height:1.45;border:1px solid var(--ui-border)}.bubble.in{align-self:flex-start;background:#fff}.bubble.out{align-self:flex-end;background:var(--ui-accent-soft);border-color:#D2CAF5}.bubble small{display:block;margin-top:4px;color:var(--ui-text-muted);font-size:9.5px}.chatComposer{border-top:1px solid var(--ui-border);padding:9px;display:flex;gap:7px;background:#fff}.chatComposer input{flex:1}.omniProfile{border-left:1px solid var(--ui-border);background:#fff;padding:12px;overflow:auto}.omniProfile h3{font-size:14px;margin:0}.profileStat{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin:10px 0}.profileStat div{border:1px solid var(--ui-border);border-radius:6px;padding:8px;background:var(--ui-surface-subtle)}.profileStat span{display:block;color:var(--ui-text-muted);font-size:10px}.profileStat b{display:block;font-size:13px;margin-top:3px}.quickActionGrid{display:grid;grid-template-columns:1fr 1fr;gap:6px}.quickActionGrid .btn{justify-content:center}.omniPane{display:none}.omniPane.active{display:block}.channelCards{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.channelCard{border:1px solid var(--ui-border);border-radius:8px;background:#fff;padding:12px}.channelCardTop{display:flex;align-items:center;gap:8px}.channelBadge{width:34px;height:34px;border-radius:7px;display:grid;place-items:center;font-weight:700;background:var(--ui-info-soft);color:var(--ui-info)}.channelCard h4{font-size:12.5px;margin:0}.channelCard p{font-size:10.5px;color:var(--ui-text-muted);margin:3px 0 0}.channelCardFoot{display:flex;justify-content:space-between;align-items:center;margin-top:12px;padding-top:9px;border-top:1px solid var(--ui-border);font-size:10.5px}.configSyncNote{padding:9px 10px;border:1px solid #D6C8F6;background:var(--ui-accent-soft);border-radius:6px;color:var(--ui-accent);font-size:11px;line-height:1.45}.settingSection{border:1px solid var(--ui-border);border-radius:8px;background:#fff;overflow:hidden}.settingSectionHead{padding:10px 12px;border-bottom:1px solid var(--ui-border);background:var(--ui-surface-subtle)}.settingSectionHead h3{font-size:13px;margin:0}.settingSectionHead p{font-size:10.5px;color:var(--ui-text-muted);margin:3px 0 0}.settingRows{padding:2px 12px}.settingRow{min-height:52px;display:grid;grid-template-columns:minmax(0,1fr) 210px;gap:14px;align-items:center;border-bottom:1px solid var(--ui-border)}.settingRow:last-child{border-bottom:0}.settingRow b{font-size:11.8px}.settingRow small{display:block;color:var(--ui-text-muted);font-size:10.5px;margin-top:2px}.settingRow .control{width:100%}.settingInline{display:flex;align-items:center;gap:7px}.switch{width:38px;height:22px;border-radius:999px;background:#C9CDD5;position:relative;cursor:pointer;border:0}.switch:after{content:"";position:absolute;top:3px;left:3px;width:16px;height:16px;border-radius:50%;background:#fff;transition:.15s}.switch.on{background:var(--ui-accent)}.switch.on:after{left:19px}.configAudit{font-size:10.8px;color:var(--ui-text-muted);display:grid;gap:6px}.configAudit div{display:grid;grid-template-columns:90px 120px minmax(0,1fr);gap:8px;padding:6px 0;border-bottom:1px solid var(--ui-border)}
@media(max-width:1100px){.omniShell{grid-template-columns:260px minmax(0,1fr)}.omniProfile{display:none}.channelCards{grid-template-columns:repeat(2,1fr)}}
@media(max-width:680px){.omniShell{display:block;min-height:0}.omniList{border-right:0}.omniListScroll{max-height:300px}.omniChat{min-height:520px}.omniProfile{display:none}.bubble{max-width:86%}.channelCards{grid-template-columns:1fr}.settingRow{grid-template-columns:1fr;gap:6px;padding:9px 0}.settingRow .control{min-height:44px}.screenSettingBtn{min-height:44px}}


/* Customer Intelligence: demographics, visit context, household graph */
.contextHeroGrid{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:12px}.contextAnalytics{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:12px}.ctxCard{background:var(--ui-surface);border:1px solid var(--ui-border);border-radius:8px;min-width:0;overflow:hidden}.ctxHead{padding:10px 12px;border-bottom:1px solid var(--ui-border);display:flex;align-items:flex-start;justify-content:space-between;gap:8px}.ctxHead h3{font-size:14px;margin:0;font-weight:600}.ctxHead p{font-size:11px;color:var(--ui-text-muted);margin:3px 0 0}.ctxBody{padding:12px}.ctx6{grid-column:span 6}.ctx4{grid-column:span 4}.ctx8{grid-column:span 8}.ctx12{grid-column:1/-1}.contextDonutWrap{display:grid;grid-template-columns:minmax(118px,142px) minmax(90px,1fr);align-items:center;gap:10px}.contextDonut{width:132px;height:132px;border-radius:50%;background:conic-gradient(#5A45CE 0 18%,#C068E0 18% 52%,#C068E0 52% 81%,#3B7BE0 81% 100%);position:relative;display:grid;place-items:center;margin:auto}.contextDonut:after{content:'';width:72px;height:72px;border-radius:50%;background:#fff;border:1px solid var(--ui-border);position:absolute}.contextDonutCenter{position:relative;z-index:1;text-align:center}.contextDonutCenter b{display:block;font-size:20px}.contextDonutCenter small{font-size:10px;color:var(--ui-text-muted)}.ctxLegend{display:grid;gap:7px}.ctxLegendRow{display:grid;grid-template-columns:10px 1fr auto;gap:7px;align-items:center;font-size:11px}.ctxLegendRow i{width:9px;height:9px;border-radius:50%}.ctxLegendRow b{font-weight:600}.heatGrid{display:grid;grid-template-columns:34px repeat(7,1fr);gap:4px;align-items:center}.heatGrid .day,.heatGrid .hour{font-size:9.5px;color:var(--ui-text-muted);text-align:center}.heatCell2{height:26px;border-radius:4px;border:1px solid rgba(255,255,255,.8)}.heat1{background:#F1EDFC}.heat2{background:#DFD6F8}.heat3{background:#C9A7FF}.heat4{background:#DDA0EE}.heat5{background:#5A45CE}.heatLegend{display:flex;justify-content:flex-end;align-items:center;gap:4px;margin-top:8px;font-size:9.5px;color:var(--ui-text-muted)}.heatLegend i{width:24px;height:6px;border-radius:999px}.bubblePlot{height:230px;position:relative;border-left:1px solid var(--ui-border-strong);border-bottom:1px solid var(--ui-border-strong);margin:10px 8px 20px 26px;background:linear-gradient(90deg,transparent 49.7%,var(--ui-border) 50%,transparent 50.3%),linear-gradient(0deg,transparent 49.7%,var(--ui-border) 50%,transparent 50.3%)}.ctxBubble{position:absolute;border-radius:50%;display:grid;place-items:center;color:#fff;font-size:9px;font-weight:600;border:2px solid rgba(255,255,255,.8);box-shadow:0 2px 8px rgba(35,41,65,.10)}.quadLabel{position:absolute;font-size:10px;font-weight:600;padding:3px 5px;border-radius:4px;background:rgba(255,255,255,.88)}.bubbleAxisX{position:absolute;left:50%;bottom:-18px;transform:translateX(-50%);font-size:9.5px;color:var(--ui-text-muted);white-space:nowrap}.bubbleAxisY{position:absolute;left:-26px;top:50%;transform:rotate(-90deg) translateX(-50%);transform-origin:left top;font-size:9.5px;color:var(--ui-text-muted);white-space:nowrap}.sunburstWrap{display:grid;grid-template-columns:minmax(150px,180px) minmax(100px,1fr);align-items:center;gap:10px}.sunburst{width:165px;height:165px;margin:auto}.demoList{display:grid;gap:7px}.demoGroup b{font-size:10.5px}.demoChips{display:flex;gap:5px;flex-wrap:wrap;margin-top:5px}.demoChips span{border:1px solid var(--ui-border);background:var(--ui-surface-subtle);border-radius:999px;padding:3px 6px;font-size:9.8px}.sankeySvg{width:100%;height:230px}.profile360{display:grid;gap:12px}.profileIdentity{display:flex;align-items:center;gap:10px}.profilePhoto{width:48px;height:48px;border-radius:50%;background:var(--ui-brand-gradient);padding:2px;display:grid;place-items:center;color:#fff;font-weight:700}.profilePhoto span{width:100%;height:100%;border-radius:50%;background:#fff;color:var(--ui-accent);display:grid;place-items:center}.profileInfo{flex:1}.profileInfo h2{font-size:17px;margin:0 0 3px}.profileInfo p{font-size:10.5px;color:var(--ui-text-muted);margin:0}.profileKV{display:grid;grid-template-columns:1fr auto;gap:7px 12px;font-size:11px}.profileKV span:nth-child(odd){color:var(--ui-text-muted)}.profileTags{display:flex;gap:5px;flex-wrap:wrap}.relGraph{position:relative;height:208px;border-top:1px solid var(--ui-border);margin-top:8px}.relGraph svg{position:absolute;inset:0;width:100%;height:100%}.relNode{position:absolute;width:110px;text-align:center;z-index:2}.relNode .relAvatar{width:42px;height:42px;border-radius:50%;margin:auto;background:var(--ui-accent-soft);border:2px solid #fff;box-shadow:0 0 0 1px var(--ui-border);display:grid;place-items:center;color:var(--ui-accent);font-size:10px;font-weight:700}.relNode b{display:block;font-size:10.8px;margin-top:5px}.relNode small{display:block;color:var(--ui-text-muted);font-size:9.3px;margin-top:2px}.relMain{left:50%;top:12px;transform:translateX(-50%)}.relLeft{left:10px;bottom:10px}.relRight{right:10px;bottom:10px}.sourceLine{display:flex;align-items:center;justify-content:space-between;gap:8px;padding-top:8px;border-top:1px solid var(--ui-border);font-size:10px;color:var(--ui-text-muted)}.confidenceTag{font-size:9.5px;padding:3px 6px;border-radius:999px;background:var(--ui-ai-soft);color:var(--ui-ai);font-weight:600}.aiStrategy{display:grid;gap:7px}.aiStrategyRow{border:1px solid var(--ui-border);border-radius:6px;padding:9px;background:#fff}.aiStrategyRow b{font-size:11.3px}.aiStrategyRow p{font-size:10px;color:var(--ui-text-muted);margin:3px 0 7px}.aiStrategyRow .rowActions{display:flex;gap:5px}.logicTable{width:100%;border-collapse:collapse}.logicTable th{font-size:10px;color:var(--ui-text-muted);font-weight:600;text-align:left;padding:7px 8px;background:var(--ui-table-header-bg);border-bottom:1px solid var(--ui-border)}.logicTable td{font-size:10.8px;padding:7px 8px;border-bottom:1px solid var(--ui-border);vertical-align:middle}.logicName{display:inline-flex;min-width:100px;padding:3px 6px;border-radius:4px;background:var(--ui-accent-soft);color:var(--ui-accent);font-weight:600}.contextSelect{min-width:210px}.smallIconBtn{width:30px;height:30px;border:1px solid var(--ui-border);border-radius:5px;background:#fff;display:grid;place-items:center}.decisionBanner{border:1px solid #D2CAF5;background:var(--ui-ai-soft);border-radius:6px;padding:8px 9px;font-size:10.5px;display:flex;align-items:center;gap:8px}.decisionBanner b{color:var(--ui-ai)}
.decisionMeta{display:flex;gap:6px;flex-wrap:wrap;margin-top:8px}.decisionMeta .pill{font-size:9.5px}.evidenceGrid{display:grid;gap:7px}.evidenceRow{display:grid;grid-template-columns:minmax(0,1fr) 72px 60px;gap:8px;align-items:center;padding:8px 0;border-bottom:1px solid var(--ui-border)}.evidenceRow:last-child{border-bottom:0}.evidenceRow b{font-size:11px}.evidenceRow small{display:block;color:var(--ui-text-muted);font-size:9.8px;margin-top:2px}.scoreBar{height:6px;background:#EAE9F4;border-radius:999px;overflow:hidden}.scoreBar i{display:block;height:100%;background:var(--ui-brand-gradient);border-radius:999px}.statusSource{display:inline-flex;align-items:center;gap:5px;font-size:9.8px;color:var(--ui-text-muted)}.statusSource:before{content:"";width:7px;height:7px;border-radius:50%;background:var(--ui-ai)}

@media(max-width:1480px){
  .contextHeroGrid{grid-template-columns:minmax(0,1fr) 330px}
  .contextDonutWrap{grid-template-columns:118px minmax(82px,1fr);gap:8px}
  .contextDonut{width:112px;height:112px}.contextDonut:after{width:62px;height:62px}
  .contextDonutCenter b{font-size:18px}.ctxLegendRow{font-size:10px;gap:5px}
  .sunburstWrap{grid-template-columns:145px minmax(90px,1fr)}.sunburst{width:140px;height:140px}
}
@media(max-width:1320px){
  .contextHeroGrid{grid-template-columns:1fr}
  .profile360{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
  .profile360>.ctxCard{min-width:0}
}
@media(max-width:1200px){.contextHeroGrid{grid-template-columns:1fr}.contextAnalytics{grid-template-columns:repeat(2,minmax(0,1fr))}.ctx4,.ctx6,.ctx8{grid-column:span 1}.profile360{grid-template-columns:repeat(2,minmax(0,1fr))}.profile360>.ctxCard{min-width:0}}
@media(max-width:900px){.contextAnalytics{grid-template-columns:1fr}.ctx4,.ctx6,.ctx8,.ctx12{grid-column:1}.profile360{grid-template-columns:1fr}.contextDonutWrap,.sunburstWrap{grid-template-columns:1fr}.heatGrid{min-width:620px}.ctxHeatScroll{overflow:auto}.contextSelect{min-width:0;width:100%}}
@media(max-width:680px){.contextHeroGrid{display:block}.contextAnalytics{display:block}.ctxCard{margin-bottom:10px}.profile360{display:block}.profile360>.ctxCard{margin-bottom:10px}.contextDonut{width:150px;height:150px}.sunburst{width:175px;height:175px}.bubblePlot{height:210px}.logicTable{min-width:760px}.logicScroll{overflow:auto}.sankeySvg{min-width:720px}.sankeyScroll{overflow:auto}.relGraph{height:220px}}


/* Campaign Workspace — Haravan-inspired workflow, DeHub visual language */
.campaignTabs{margin-bottom:10px;border-bottom:1px solid var(--ui-border);display:flex;gap:4px;overflow:auto;scrollbar-width:none}.campaignTabs::-webkit-scrollbar{display:none}.campaignTabs button{height:36px;border:0;background:transparent;padding:0 11px;color:var(--ui-text-secondary);font-size:12.5px;font-weight:500;white-space:nowrap;border-bottom:2px solid transparent}.campaignTabs button.active{color:var(--ui-accent);border-color:var(--ui-accent);font-weight:600}.campaignPane{display:none}.campaignPane.active{display:block}.campaignQuickGrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-bottom:12px}.campaignQuick{border:1px solid var(--ui-border);background:#fff;border-radius:8px;padding:12px;min-height:104px;display:flex;flex-direction:column;gap:6px}.campaignQuick h3{font-size:13px;margin:0}.campaignQuick p{font-size:11.5px;line-height:1.45;margin:0;color:var(--ui-text-muted);flex:1}.campaignQuick .btn{align-self:flex-start}.campaignTable tbody tr{cursor:pointer}.campaignTable tbody tr:hover td{background:var(--ui-table-hover)}.campaignChannelPills{display:flex;gap:6px;flex-wrap:wrap}.campaignChannelPills .pill{padding:5px 8px}.campaignSteps{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin-bottom:14px}.campaignStep{display:flex;align-items:center;gap:6px;font-size:10.5px;color:var(--ui-text-muted);min-width:0}.campaignStep i{width:22px;height:22px;border-radius:50%;border:1px solid var(--ui-border-strong);display:grid;place-items:center;font-style:normal;font-size:10px;background:#fff;flex:0 0 22px}.campaignStep.active{color:var(--ui-accent);font-weight:600}.campaignStep.active i{background:var(--ui-accent);color:#fff;border-color:var(--ui-accent)}.campaignStep.done i{background:var(--ui-success-soft);color:var(--ui-success);border-color:#B9E5D2}.campaignStep span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.campaignChoiceGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.campaignChoice{border:1px solid var(--ui-border);border-radius:7px;background:#fff;padding:10px;text-align:left;min-height:70px;position:relative}.campaignChoice:hover{border-color:var(--ui-border-strong);background:var(--ui-table-hover)}.campaignChoice.selected{border-color:var(--ui-accent);box-shadow:0 0 0 2px var(--ui-focus-ring);background:var(--ui-accent-soft)}.campaignChoice b{display:block;font-size:12px}.campaignChoice small{display:block;font-size:10.5px;color:var(--ui-text-muted);margin-top:3px;line-height:1.35}.campaignChoice .statusDot{position:absolute;right:8px;top:8px;width:8px;height:8px;border-radius:50%;background:var(--ui-success)}.campaignPreview{border:1px solid var(--ui-border);background:var(--ui-surface-subtle);border-radius:8px;padding:10px;margin-top:10px}.campaignPreview .previewPhone{max-width:300px;margin:auto;background:#fff;border:1px solid var(--ui-border);border-radius:12px;padding:10px}.campaignPreview h4{font-size:11.5px;margin:0 0 6px}.campaignPreview p{font-size:11px;line-height:1.5;margin:0;color:var(--ui-text-secondary)}.wizardSummary{display:grid;gap:7px}.wizardSummary .settingRow{padding:8px 0}.campaignStatRow{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-bottom:10px}.miniCampaignStat{border:1px solid var(--ui-border);background:#fff;border-radius:7px;padding:9px}.miniCampaignStat span{display:block;font-size:10.5px;color:var(--ui-text-muted)}.miniCampaignStat b{display:block;font-size:16px;margin-top:4px}.broadcastFlow{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;align-items:stretch}.broadcastStep{border:1px solid var(--ui-border);background:#fff;border-radius:8px;padding:11px;position:relative}.broadcastStep:not(:last-child):after{content:'→';position:absolute;right:-9px;top:50%;transform:translateY(-50%);color:var(--ui-text-disabled);z-index:2}.broadcastStep b{font-size:11.5px}.broadcastStep p{font-size:10.5px;color:var(--ui-text-muted);line-height:1.4;margin:5px 0 0}.metaEligibility{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.metaEligibility .kpi{min-height:auto}.campaignTag{display:inline-flex;align-items:center;height:22px;padding:0 7px;border-radius:999px;background:var(--ui-surface-subtle);border:1px solid var(--ui-border);font-size:10.5px;white-space:nowrap}.campaignTabToolbar{display:flex;gap:8px;align-items:center;margin-bottom:10px;flex-wrap:wrap}.campaignTabToolbar .spacer{flex:1}.omniAdvancedFilter{width:100%;justify-content:center;margin-top:7px}.omniAdvancedFilter .count{margin-left:4px}
@media(max-width:900px){.campaignQuickGrid,.campaignStatRow{grid-template-columns:1fr 1fr}.broadcastFlow{grid-template-columns:1fr 1fr}.broadcastStep:after{display:none}.metaEligibility{grid-template-columns:1fr 1fr}}
@media(max-width:680px){.campaignQuickGrid,.campaignStatRow,.broadcastFlow,.metaEligibility,.campaignChoiceGrid{grid-template-columns:1fr}.campaignSteps{grid-template-columns:1fr 1fr}.campaignStep span{white-space:normal}.campaignTabs{margin-left:-10px;margin-right:-10px;padding-left:10px}.campaignTabs button{min-height:44px}.campaignTabToolbar .control{width:100%!important}.campaignTabToolbar .spacer{display:none}}


/* ==========================================================================
   Enterprise console layer.
   Navigation lives in a global header, a horizontal app tab bar and a docked
   utility bar rather than a permanent left rail. Everything below is chrome
   and density — the screens' own markup is untouched, so this layer only
   retunes what surrounds and contains them.
   Last in the file on purpose: it overrides the original shell by order.
   ========================================================================== */
:root{
  --lx-global:44px; --lx-nav:46px; --lx-util:38px;
  --lx-r:4px;
  --lx-line:#DFDDEE; --lx-line-strong:#C7C3DF;
  --lx-head:#283048; --lx-head-hi:#333C58;
  --lx-brand:#5A45CE; --lx-brand-dk:#4331A6; --lx-brand-tint:#F2F0FD;
  --lx-canvas:#F3F2F7;
}
html{font-size:100%}
body{background:var(--lx-canvas);font-size:13px}
.app{display:block;background:var(--lx-canvas);min-height:100vh}
.main{margin:0;width:auto;padding-top:calc(var(--lx-global) + var(--lx-nav));min-height:100vh}
.content{padding:14px 16px calc(var(--lx-util) + 18px);max-width:none}

/* ---- global header ---------------------------------------------------- */
.topbar.lxGlobal{position:fixed;top:0;left:0;right:0;z-index:60;height:var(--lx-global);
  background:var(--lx-head);border:0;box-shadow:none;display:flex;align-items:center;
  gap:10px;padding:0 10px}
.topbar.lxGlobal .crumb{display:none}
.lxWaffle{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;
  border-radius:var(--lx-r);border:0;background:transparent;color:rgba(255,255,255,.82);cursor:pointer}
.lxWaffle:hover{background:var(--lx-head-hi);color:#fff}
.lxProduct{color:#fff;font-weight:700;font-size:14px;letter-spacing:.01em;white-space:nowrap;
  padding-right:10px;margin-right:2px;border-right:1px solid rgba(255,255,255,.18)}
.topbar.lxGlobal .topSearch{flex:1 1 auto;max-width:560px;margin:0 auto;height:30px;
  background:#fff;border:1px solid transparent;border-radius:var(--lx-r);box-shadow:none;
  display:flex;align-items:center;gap:7px;padding:0 10px}
.topbar.lxGlobal .topSearch:focus-within{border-color:#B9AFF0;box-shadow:0 0 0 3px rgba(90,69,206,.28)}
.topbar.lxGlobal .topSearch input{font-size:12.5px;background:transparent;border:0;width:100%}
.lxGlobalActions{display:flex;align-items:center;gap:7px;flex:0 0 auto}
.topbar.lxGlobal .topBtn{height:28px;padding:0 9px;border-radius:var(--lx-r);
  border:1px solid rgba(255,255,255,.26);background:transparent;color:#fff;font-size:12px;
  font-weight:600;display:inline-flex;align-items:center;gap:6px}
.topbar.lxGlobal .topBtn:hover{background:var(--lx-head-hi);border-color:rgba(255,255,255,.44)}
.topbar.lxGlobal .langSwitch{background:rgba(255,255,255,.12);border-radius:var(--lx-r);padding:2px}
.topbar.lxGlobal .langSwitch button{color:rgba(255,255,255,.78);background:transparent;border:0;
  font-size:11px;font-weight:700;padding:3px 8px;border-radius:3px}
.topbar.lxGlobal .langSwitch button.active{background:#fff;color:var(--lx-head)}
.topbar.lxGlobal .avatar{width:28px;height:28px;font-size:11px;border:1px solid rgba(255,255,255,.3)}

/* ---- app tab bar ------------------------------------------------------ */
.lxAppNav{position:fixed;top:var(--lx-global);left:0;right:0;z-index:55;height:var(--lx-nav);
  background:#fff;border-bottom:1px solid var(--lx-line);display:flex;align-items:stretch;
  padding:0 10px;box-shadow:0 1px 2px rgba(23,26,40,.05)}
.lxAppId{display:flex;align-items:center;gap:8px;padding:0 14px 0 2px;margin-right:8px;
  border-right:1px solid var(--lx-line);flex:0 0 auto}
.lxAppIcon{width:26px;height:26px;border-radius:5px;flex:0 0 auto;display:grid;place-items:center;
  background:linear-gradient(135deg,#1048B0,#7058C8 60%,#A060D8)}
.lxAppIcon .icon{width:15px;height:15px;color:#fff}
.lxAppText{display:flex;flex-direction:column;line-height:1.15;min-width:0}
.lxAppText b{font-size:13.5px;font-weight:700;color:var(--ui-text-primary);white-space:nowrap}
.lxAppText .crumb{font-size:10.5px;color:var(--ui-text-muted);white-space:nowrap;
  overflow:hidden;text-overflow:ellipsis;max-width:230px;display:block}
.lxTabs{display:flex;align-items:stretch;flex:1 1 auto;min-width:0;overflow-x:auto;
  overflow-y:hidden;scrollbar-width:thin}
.lxTabs::-webkit-scrollbar{height:4px}
.lxTabs::-webkit-scrollbar-thumb{background:var(--lx-line-strong);border-radius:2px}
.lxTabs .navitem.lxTab{display:inline-flex;align-items:center;gap:6px;flex:0 0 auto;height:100%;
  width:auto;min-width:0;max-width:none;
  margin:0;padding:0 11px;border:0;border-bottom:3px solid transparent;border-radius:0;
  background:transparent;color:var(--ui-text-secondary);font-size:12.5px;font-weight:600;
  white-space:nowrap;cursor:pointer;position:relative;transition:none}
.lxTabs .navitem.lxTab .label{flex:0 0 auto;overflow:visible;text-overflow:clip}
/* Per-tab help icons belong in the launcher, where there is room to read them;
   in a tab strip they double the visual weight of every label. */
.lxTabs .navitem.lxTab .navGuide{display:none}
.lxTabs .navitem.lxTab:hover{background:var(--lx-brand-tint);color:var(--lx-brand)}
.lxTabs .navitem.lxTab.active{color:var(--lx-brand);border-bottom-color:var(--lx-brand);font-weight:700}
.lxTabs .navitem.lxTab .icon{width:14px;height:14px;flex:0 0 auto}
.lxTabs .navitem.lxTab .label{font:inherit}
.lxTabs .navitem.lxTab .count{margin-left:2px;background:var(--lx-brand-tint);color:var(--lx-brand-dk);
  border-radius:9px;font-size:10px;font-weight:700;padding:1px 6px;min-width:0}

/* ---- app launcher (was the permanent rail) ---------------------------- */
.sidebar{position:fixed;top:var(--lx-global);left:0;bottom:0;width:318px;z-index:70;
  background:#fff;border-right:1px solid var(--lx-line);border-radius:0;
  transform:translateX(-101%);transition:transform .16s ease;
  box-shadow:6px 0 28px rgba(23,26,40,.16);display:flex;flex-direction:column;overflow:auto}
.sidebar.open{transform:none}
.sidebar .brand{padding:12px 14px;border-bottom:1px solid var(--lx-line);margin:0}
.sidebar .nav{padding:8px 8px 12px}
.sidebar .navgroup{font-size:10px;letter-spacing:.1em;text-transform:uppercase;font-weight:700;
  color:var(--ui-text-muted);padding:12px 8px 5px}
.sidebar .nav .navitem{display:flex;align-items:center;gap:9px;width:100%;height:34px;padding:0 9px;
  border:0;border-radius:var(--lx-r);background:transparent;color:var(--ui-text-secondary);
  font-size:12.5px;font-weight:600;cursor:pointer;text-align:left}
.sidebar .nav .navitem:hover{background:var(--lx-brand-tint);color:var(--lx-brand)}
.sidebar .nav .navitem.active{background:var(--lx-brand-tint);color:var(--lx-brand-dk);font-weight:700;
  box-shadow:inset 3px 0 0 var(--lx-brand)}
.sidebar .sidebarFooter{margin-top:auto;border-top:1px solid var(--lx-line);padding:10px 14px}

/* ---- docked utility bar (was the mobile-only bottom nav) -------------- */
.mobileBottom{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:58;
  height:var(--lx-util);background:#fff;border-top:1px solid var(--lx-line);
  align-items:stretch;padding:0 8px;gap:0;box-shadow:0 -1px 3px rgba(23,26,40,.07)}
.mobileBottom button{display:inline-flex;flex-direction:row;align-items:center;gap:7px;
  flex:0 0 auto;height:100%;padding:0 14px;border:0;border-right:1px solid var(--lx-line);
  border-radius:0;background:transparent;color:var(--ui-text-secondary);
  font-size:12px;font-weight:600;cursor:pointer}
.mobileBottom button:hover{background:var(--lx-brand-tint);color:var(--lx-brand)}
.mobileBottom button.active{color:var(--lx-brand-dk);background:var(--lx-brand-tint);
  box-shadow:inset 0 2px 0 var(--lx-brand)}
.mobileBottom button .icon{width:15px;height:15px}

/* ---- density: borders, small type, tight rows ------------------------- */
.pagehead{background:#fff;border:1px solid var(--lx-line);border-radius:var(--lx-r);
  padding:12px 14px;margin-bottom:12px}
.pagehead h1{font-size:19px;font-weight:700;letter-spacing:-.008em;line-height:1.2}
.pagehead p{font-size:12px;margin-top:3px}
.card{border:1px solid var(--lx-line);border-radius:var(--lx-r);box-shadow:none}
.cardHead{padding:9px 12px;border-bottom:1px solid var(--lx-line);min-height:0}
.cardHead h3{font-size:13.5px;font-weight:700}
.cardHead p{font-size:11.5px;margin-top:2px}
.filterbar{background:#fff;border:1px solid var(--lx-line);border-radius:var(--lx-r);
  padding:8px 12px;box-shadow:none}
.filterLabel{font-size:10.5px;text-transform:uppercase;letter-spacing:.07em;font-weight:700;
  color:var(--ui-text-muted)}
.kpi{border:1px solid var(--lx-line);border-radius:var(--lx-r);box-shadow:none;padding:11px 13px}
.kpiLabel{font-size:10.5px;text-transform:uppercase;letter-spacing:.06em;font-weight:700;
  color:var(--ui-text-muted)}
.kpiValue{font-size:23px;font-weight:700;letter-spacing:-.015em}
.kpiMeta{font-size:11px}
.btn{height:32px;padding:0 12px;border-radius:var(--lx-r);border:1px solid var(--lx-line-strong);
  background:#fff;color:var(--ui-text-secondary);font-size:12.5px;font-weight:600;box-shadow:none}
.btn:hover{background:#F7F6FC;border-color:var(--lx-brand)}
.btn.primary,.btn.ai{background:var(--lx-brand);border-color:var(--lx-brand);color:#fff}
.btn.primary:hover,.btn.ai:hover{background:var(--lx-brand-dk);border-color:var(--lx-brand-dk)}
.btn.iconOnly{width:32px;padding:0}
.control{height:32px;border-radius:var(--lx-r);border:1px solid var(--lx-line-strong);
  font-size:12.5px;background:#fff}
.control:focus{border-color:var(--lx-brand);box-shadow:0 0 0 3px rgba(90,69,206,.16)}
table{font-size:12.5px}
thead th{font-size:10.5px;text-transform:uppercase;letter-spacing:.06em;font-weight:700;
  color:var(--ui-text-muted);background:#FAFAFD;border-bottom:1px solid var(--lx-line);
  padding:8px 10px}
tbody td{padding:8px 10px}
tbody tr:hover{background:#F8F7FD}
.pill{border-radius:3px;font-size:10.5px;font-weight:700;padding:2px 6px;
  letter-spacing:.03em;text-transform:uppercase}
.segmented{border:1px solid var(--lx-line-strong);border-radius:var(--lx-r);padding:2px;background:#fff}
.segmented button{border-radius:3px;font-size:12px;font-weight:600;padding:4px 10px;border:0}
.segmented button.active{background:var(--lx-brand);color:#fff}
.drawer{border-radius:0;border-left:1px solid var(--lx-line)}
.drawerHead{border-bottom:1px solid var(--lx-line);padding:11px 14px}
.tableWrap{border-radius:var(--lx-r)}

@media(max-width:900px){
  .lxAppId{display:none}
  .lxProduct{display:none}
  .topbar.lxGlobal .topBtn .txt{display:none}
  .content{padding:12px 10px calc(var(--lx-util) + 14px)}
}
