[hidden]{display:none!important}
:root{--navy:#121f3d;--sidebar:#f6f9fc;--bg:#fff;--panel:#fff;--ink:#1f2433;--muted:#697386;--soft:#eef3f8;--line:#e3e8ee;--blue:#635bff;--blue-soft:#eef0ff;--green:#21a67a;--amber:#bd7b00;--red:#df1b41;--shadow:0 8px 24px rgba(50,50,93,.10),0 1px 3px rgba(0,0,0,.08)}
*{box-sizing:border-box}body{margin:0;font-family:Inter,system-ui,sans-serif;background:var(--navy);color:var(--ink);min-height:100vh}button,input{font:inherit}button{cursor:pointer}.shell{width:min(1840px,calc(100vw - 84px));min-height:calc(100vh - 84px);margin:42px auto;display:grid;grid-template-columns:320px 1fr;background:var(--bg);border-radius:8px;overflow:hidden;box-shadow:0 32px 80px rgba(0,0,0,.28)}
.sidebar{background:var(--sidebar);border-right:1px solid var(--line);padding:24px 22px;display:flex;flex-direction:column}.workspace-switch{display:flex;align-items:center;gap:10px;margin-bottom:30px}.workspace-switch img{width:116px;height:auto}.chevron{border:0;background:transparent;color:var(--muted);font-size:20px}.main-nav{display:grid;gap:7px}.nav-item{border:0;background:transparent;color:#3c4257;border-radius:6px;padding:9px 10px;text-align:left;font-weight:500;font-size:15px;display:flex;align-items:center;gap:14px}.nav-item:hover,.nav-item.active{background:#eef3ff;color:var(--blue)}.sidebar-bottom{margin-top:auto}.nav-item.muted{color:#4f566b}
.stripe-icon{width:22px;height:22px;display:inline-grid;place-items:center;border-radius:5px;background:linear-gradient(135deg,#eef2ff,#dfe7f2);position:relative;box-shadow:inset 0 -1px 0 rgba(0,0,0,.08)}.stripe-icon:before,.stripe-icon:after{content:"";position:absolute;background:#5d6b82;border-radius:2px}.home:before{width:12px;height:8px;bottom:5px}.home:after{width:10px;height:10px;transform:rotate(45deg);top:4px}.families:before{width:5px;height:5px;box-shadow:7px 0 #5d6b82,14px 0 #5d6b82;top:5px}.families:after{width:18px;height:7px;bottom:4px}.assets:before{width:14px;height:14px;transform:rotate(45deg)}.ops:before{width:16px;height:3px;transform:rotate(35deg)}.ops:after{width:16px;height:3px;transform:rotate(-35deg)}.docs:before{width:13px;height:16px}.reports:before{width:4px;height:12px;bottom:5px;left:5px;box-shadow:6px -4px #5d6b82,12px -8px #5d6b82}.help:before{width:12px;height:12px;border:2px solid #5d6b82;background:transparent}.settings:before{width:14px;height:14px;border:3px dotted #5d6b82;background:transparent;border-radius:50%}
.content{min-width:0}.topbar{height:76px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 56px}.search-box{display:flex;align-items:center;gap:12px;min-width:440px;color:var(--muted)}.search-box input{border:0;outline:0;width:100%;font-size:16px}.topbar-actions{display:flex;align-items:center;gap:16px}.icon-btn{position:relative;border:0;background:transparent;color:#8792a2;font-size:20px}.notif{position:absolute;top:-5px;right:-9px;min-width:17px;height:17px;border-radius:999px;background:var(--red);color:#fff;font-size:10px;display:grid;place-items:center;border:2px solid #fff}
.page-head{padding:42px 56px 22px;display:flex;justify-content:space-between;gap:24px;align-items:end}.title-row{display:flex;align-items:flex-end;gap:26px;flex-wrap:wrap}.breadcrumb{font-size:13px;color:var(--muted);font-weight:700;letter-spacing:.04em;text-transform:uppercase}h1{font-size:34px;line-height:1.1;margin:10px 0 0;color:#11172f}h2{font-size:30px;margin:0 0 14px}h3{margin:0 0 6px;font-size:18px}.head-actions{display:flex;gap:12px}.primary-btn,.secondary-btn,.tiny-btn,.date-chip,.dropdown-pill,.filters button{border:1px solid var(--line);background:#fff;color:#2f3650;border-radius:6px;padding:10px 14px;font-weight:650;box-shadow:0 1px 3px rgba(0,0,0,.08)}.primary-btn{background:var(--blue);color:#fff;border-color:var(--blue)}.segmented{display:flex;background:#f7f9fc;border:1px solid var(--line);border-radius:999px;padding:4px;gap:2px}.segmented button{border:0;background:transparent;border-radius:999px;padding:9px 14px;font-weight:700;color:#566175}.segmented button.active{background:#fff;color:var(--blue);box-shadow:0 2px 8px rgba(50,50,93,.12)}.user-chip{background:#fff;padding:9px 14px}.today-card{margin:0 56px 52px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);display:grid;grid-template-columns:minmax(0,1fr) 390px}.today-left{padding:24px 30px 26px 0}.card-topline{display:flex;align-items:center;gap:16px;color:var(--muted);font-size:14px}.hero-metric-row{display:flex;justify-content:space-between;align-items:start;margin:18px 0 8px}.hero-metric-row label{display:block;font-size:14px;color:#3c4257;margin-bottom:4px;font-weight:650}.hero-metric-row strong{display:block;font-size:36px;color:var(--blue);font-weight:650}.hero-metric-row span{color:var(--muted);font-size:13px}.period-control{position:relative}.period-menu{display:none;position:absolute;right:0;top:46px;background:#fff;border:1px solid var(--line);box-shadow:var(--shadow);border-radius:8px;padding:6px;z-index:5;min-width:220px}.period-menu.open{display:grid}.period-menu button{border:0;background:transparent;text-align:left;padding:10px;border-radius:6px;color:#3c4257}.period-menu button:hover{background:#f4f7fb}.comparison-strip{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0}.chip{font-size:12px;border-radius:999px;background:#f3f6fa;color:#566175;padding:6px 10px;font-weight:700}.chip.good{background:#e3f8ef;color:#087756}.chip.bad{background:#fff0f0;color:#b4233a}.line-chart{height:132px;border-left:1px solid var(--line);border-bottom:1px solid var(--line);cursor:pointer}.time-axis{display:flex;justify-content:space-between;color:var(--muted);font-size:13px}.today-side{border-left:1px solid var(--line)}.side-balance{padding:28px 30px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;gap:16px;cursor:pointer}.side-balance span{display:block;color:#3c4257;font-weight:650}.side-balance strong{display:block;font-size:26px;color:var(--blue);margin:8px 0}.side-balance small{color:var(--muted)}.side-balance a{color:var(--blue);font-weight:650}.overview-section{padding:0 56px 34px}.section-header{display:flex;justify-content:space-between;align-items:center}.filters{display:flex;gap:10px}.report-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.kpi{padding:22px;border-right:1px solid var(--line);position:relative;cursor:pointer}.kpi:last-child{border-right:0}.kpi-title{color:#3c4257;font-weight:650}.delta{font-size:12px;border-radius:5px;padding:3px 6px;margin-left:6px}.delta.good{background:#d7f7e5;color:#087756}.delta.warn{background:#fff1d4;color:#935a00}.delta.bad{background:#ffe0e6;color:#ad1730}.kpi-value{font-size:26px;color:var(--blue);margin:12px 0 4px}.kpi-meta{font-size:13px;color:var(--muted)}.spark{height:58px;margin-top:22px}.lower-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:24px;padding:0 56px 24px}.panel{border:1px solid var(--line);border-radius:8px;background:#fff;box-shadow:0 1px 2px rgba(0,0,0,.03)}.panel-head{display:flex;justify-content:space-between;align-items:flex-start;gap:14px;padding:22px;border-bottom:1px solid var(--line)}.panel-head p{margin:0;color:var(--muted);font-size:13px}.tabs{display:flex;gap:8px;padding:14px 22px;border-bottom:1px solid var(--line)}.tab{border:1px solid var(--line);background:#fff;border-radius:999px;padding:8px 12px;font-size:13px;font-weight:700;color:#566175}.tab.active{background:var(--blue-soft);border-color:#dfe2ff;color:var(--blue)}.drill-path{padding:0 22px 10px;color:var(--muted);font-size:12px;font-weight:700}.asset-tree{padding:0 22px 22px;display:grid;gap:10px}.asset-row,.alert-row{border:1px solid var(--line);background:#fff;border-radius:8px;padding:14px;display:flex;justify-content:space-between;align-items:center;text-align:left;gap:12px}.asset-row:hover,.alert-row:hover{box-shadow:var(--shadow);transform:translateY(-1px)}.asset-row p,.alert-row p{margin:4px 0 0;color:var(--muted);font-size:13px}.amount{font-weight:800;color:#2f3650}.stack-list{padding:18px;display:grid;gap:10px}.badge{border-radius:999px;padding:5px 9px;font-size:12px;font-weight:800;white-space:nowrap}.badge.sale,.badge.todo{background:#eef0ff;color:var(--blue)}.badge.risk{background:#ffe8ec;color:var(--red)}.full-panel{margin:0 56px 56px}.decision-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:0}.decision-card{padding:20px;border-right:1px solid var(--line);min-height:185px}.decision-card:last-child{border-right:0}.decision-card p{color:var(--muted);font-size:13px}.decision-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}.mini-action{border:1px solid var(--line);background:#fff;border-radius:6px;padding:8px 10px;font-size:13px;font-weight:700}.mini-action.primary{background:var(--blue);border-color:var(--blue);color:#fff}.side-panel{position:fixed;top:0;right:0;width:min(520px,96vw);height:100vh;background:#fff;box-shadow:-24px 0 60px rgba(0,0,0,.22);transform:translateX(110%);transition:.24s ease;z-index:20}.side-panel.open{transform:translateX(0)}.close-panel{position:absolute;right:18px;top:16px;border:0;background:transparent;font-size:28px;color:var(--muted)}.side-content{padding:62px 34px}.side-eyebrow{font-size:12px;font-weight:800;color:var(--blue);text-transform:uppercase;letter-spacing:.08em}.side-card{border:1px solid var(--line);border-radius:8px;padding:16px;margin:12px 0}.side-card h4{margin:0 0 8px}.side-card p{color:var(--muted);line-height:1.5}.toast{position:fixed;bottom:28px;left:50%;transform:translate(-50%,20px);opacity:0;background:#11172f;color:#fff;padding:12px 18px;border-radius:999px;z-index:40;transition:.2s}.toast.show{opacity:1;transform:translate(-50%,0)}
.modal{position:fixed;inset:0;background:rgba(18,31,61,.52);display:none;place-items:center;z-index:30}.modal.open{display:grid}.modal-card{position:relative;width:min(980px,92vw);max-height:90vh;overflow:auto;background:#fff;border-radius:12px;box-shadow:0 30px 90px rgba(0,0,0,.35);padding:34px}.modal-close{top:14px;right:18px}.flow-wrap{display:grid;gap:16px}.sankey{height:360px;background:linear-gradient(#fff,#fbfcfe);border:1px solid var(--line);border-radius:10px;padding:20px}.node{fill:#2f3650}.node.green{fill:#05a357}.node.red{fill:#c5162e}.node.gray{fill:#777}.flow{fill:none;stroke-linecap:round;opacity:.72}.flow.green{stroke:#67cc76}.flow.red{stroke:#d56d72}.flow.gray{stroke:#b9b9b9}.node-label{font-size:12px;font-weight:800;fill:#11172f}.contract{border:1px solid var(--line);border-radius:10px;padding:22px;background:#fbfcfe}.contract h3{font-size:24px}.contract-meta{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:18px 0}.contract-meta div{background:#fff;border:1px solid var(--line);border-radius:8px;padding:12px}.signature{font-family:Georgia,serif;font-size:28px;color:#11172f;border-bottom:1px solid #11172f;width:260px;padding:16px 0 5px;margin-top:18px}
@media (max-width:1200px){.shell{grid-template-columns:250px;width:100%;min-height:100vh;margin:0;border-radius:0}.report-grid,.decision-grid{grid-template-columns:repeat(2,1fr)}.today-card,.lower-grid{grid-template-columns:1fr}.today-side{border-left:0}.search-box{min-width:220px}}
select.date-chip, .filters select{appearance:none;border:1px solid var(--line);background:#fff;border-radius:7px;padding:9px 34px 9px 12px;box-shadow:0 2px 6px rgba(50,50,93,.08);color:#2f3444;font-weight:600}.select-wrap{position:relative}.select-wrap:after{content:'⌄';position:absolute;right:10px;top:8px;color:#697386;pointer-events:none}.filters select{min-width:210px}.tree-btn{margin-left:10px;height:38px;align-self:center}.chart-legend{display:flex;gap:18px;font-size:12px;color:#697386;margin-top:4px}.chart-legend i{display:inline-block;width:18px;height:3px;border-radius:99px;margin-right:6px;vertical-align:middle}.growth-dot{width:14px;height:14px;border-radius:999px;display:inline-block;box-shadow:0 0 0 5px rgba(33,166,122,.12);animation:pulseUp 1.8s infinite}.growth-dot.up{background:var(--green)}.growth-dot.down{background:var(--red);box-shadow:0 0 0 5px rgba(223,27,65,.10);animation:pulseDown 1.8s infinite}.kpi{position:relative}.kpi>.growth-dot{position:absolute;right:18px;top:18px}.asset-row{position:relative}.asset-row>.growth-dot{flex:0 0 auto;margin-right:3px}@keyframes pulseUp{0%,100%{transform:scale(.82)}50%{transform:scale(1.28)}}@keyframes pulseDown{0%,100%{transform:scale(1.22)}50%{transform:scale(.75)}}.pdf-report,.pdf-contract,.budget{padding:18px}.pdf-toolbar{display:flex;justify-content:flex-end;gap:8px;margin-bottom:12px}.pdf-page{background:#fff;border:1px solid #d8dee8;border-radius:4px;box-shadow:0 16px 45px rgba(18,31,61,.16);padding:36px;min-height:520px;max-width:760px;margin:auto}.pdf-page.full{min-height:760px}.pdf-page img{width:90px;height:auto;margin-bottom:24px}.pdf-page h2{margin:0 0 8px;color:#121f3d}.pdf-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px 22px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:18px 0;margin:24px 0}.pdf-grid span{font-size:22px;color:#635bff}.contract-meta{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:18px 0}.contract-meta div{border:1px solid var(--line);border-radius:8px;padding:12px;background:#f8fafc}.signature{margin-top:28px;border:2px dashed #635bff;border-radius:10px;padding:18px;text-align:center;font-weight:800;color:#121f3d;background:#f5f6ff}.budget table{width:100%;border-collapse:collapse;background:#fff;border-radius:10px;overflow:hidden}.budget th,.budget td{border-bottom:1px solid var(--line);padding:13px;text-align:left}.budget th{background:#f6f9fc;color:#4f566b}.budget tr.over{background:#fff1f2}.budget tr.over td:nth-child(4){color:#df1b41;font-weight:800}.modal-card{max-width:980px}.workspace-switch img{width:88px}.flow{fill:none;opacity:.55}.flow.gray{stroke:#aab2bf}.flow.green{stroke:#21a67a}.flow.red{stroke:#df1b41}.node.gray{fill:#697386}.node.green{fill:#21a67a}.node.red{fill:#df1b41}.node-label{font:600 13px Inter,system-ui,sans-serif;fill:#1f2433}.sankey{width:100%;height:auto;min-height:330px}.flow-wrap h2{margin-top:4px}
.action-wrap{position:relative}.growth-dot{width:12px;height:12px;border-radius:999px;background:#8f98a6!important;display:inline-block;box-shadow:0 0 0 5px rgba(111,122,138,.14)!important;animation:pulseGray 1.8s infinite!important}.action-wrap>.growth-dot{position:absolute;right:-6px;top:-6px;z-index:2}.kpi>.growth-dot{position:absolute;right:18px;top:18px}.asset-row>.growth-dot,.alert-row>.growth-dot{flex:0 0 auto;margin-right:2px}.clickable{cursor:pointer}.disabled{opacity:.82}.disabled button.inactive{pointer-events:none;opacity:.55}.asset-row.disabled{cursor:default}.alert-row.disabled{cursor:default}.bar-chart{margin-top:22px;display:grid;gap:14px}.bar-chart div{display:grid;grid-template-columns:150px 1fr 70px;align-items:center;gap:12px}.bar-chart i{height:18px;border-radius:999px;background:#635bff;display:block}.bar-chart b{color:#121f3d}.dev-cell{position:relative;font-weight:800}.hover-chart{display:none;position:absolute;right:10px;top:30px;width:240px;background:#fff;border:1px solid var(--line);border-radius:8px;box-shadow:var(--shadow);padding:12px;z-index:6}.dev-cell:hover .hover-chart{display:grid;gap:8px}.hover-chart div{display:grid;grid-template-columns:76px 1fr;align-items:center;gap:8px;font-size:12px}.hover-chart i{height:14px;background:#df1b41;border-radius:999px;display:block}@keyframes pulseGray{0%,100%{transform:scale(.82)}50%{transform:scale(1.28)}}
.side-balance.static{cursor:default}.side-balance.static a{display:none}.line-chart{cursor:default}.asset-row{display:grid;grid-template-columns:18px minmax(0,1fr) auto;align-items:center;text-align:left}.asset-copy{min-width:0}.asset-copy strong{display:block;text-align:left}.asset-copy p{text-align:left}.dot-spacer{width:12px;height:12px;display:inline-block}.alert-row{display:grid;grid-template-columns:18px minmax(0,1fr) auto}.inline-dot{width:9px;height:9px;margin-right:7px;vertical-align:middle}.modal-title-row{display:flex;justify-content:space-between;gap:18px;align-items:flex-start}.modal-select select{min-width:190px}.modal-subtitle{color:#697386;margin-top:0}.muted-svg{fill:#697386}.asset-row.disabled:hover,.alert-row.disabled:hover{box-shadow:none;transform:none}.primary-btn:not([data-action]),.tiny-btn:not([data-action]){cursor:default}.kpi:not(.clickable){cursor:default}.kpi:not(.clickable):hover{box-shadow:none}.node.gray{fill:#697386}.flow.green,.flow.red{stroke:#aab2bf}.workspace-switch img{width:88px!important}
/* v6 fixes */
.modal-select.action-wrap > .growth-dot{left:-18px;right:auto;top:50%;transform:translateY(-50%);}
.modal-close{z-index:5;}
.modal-title-row{padding-right:42px;}
/* v7 M02 module */
.module-nav{gap:6px}.nav-group{border:0;background:transparent;color:#11172f;border-radius:7px;padding:10px;text-align:left;font-weight:800;font-size:13px;display:grid;grid-template-columns:22px 1fr auto;align-items:center;gap:12px}.nav-group:hover{background:#edf2f8}.nav-sub{display:grid;gap:4px;margin:0 0 8px 34px}.nav-sub.collapsed{display:none}.nav-sub .nav-item{font-size:13px;padding:8px 9px;line-height:1.2}.disabled-nav{opacity:.45;cursor:default}.disabled-nav:hover{background:transparent;color:#3c4257}.nav-item[data-page]{position:relative}.nav-item[data-page]>.growth-dot{right:6px;top:6px}.m02-page{padding-bottom:56px}.m02-container{padding:0 56px;display:grid;gap:24px}.m02-head{padding-bottom:22px}.m02-hero{display:flex;justify-content:space-between;gap:24px;align-items:center;padding:26px 30px;background:linear-gradient(135deg,#ffffff,#f8fafc)}.m02-hero p{margin:0;color:var(--muted)}.m02-stats{display:grid;grid-template-columns:repeat(4,120px);gap:10px}.m02-stat{border:1px solid var(--line);border-radius:9px;background:#fff;padding:12px}.m02-stat b{display:block;font-size:22px;color:var(--blue)}.m02-stat span{font-size:12px;color:var(--muted);font-weight:700}.m02-grid{display:grid;grid-template-columns:1.18fr .82fr;gap:24px}.m02-grid.bottom{grid-template-columns:.9fr 1.1fr}.family-tree-visual{padding:28px;min-height:480px;position:relative;background:radial-gradient(circle at 50% 20%,#f3f6ff 0,#fff 36%)}.tree-stage{display:grid;gap:22px}.generation{display:flex;justify-content:center;gap:22px;position:relative}.member-card{width:190px;border:1px solid var(--line);background:#fff;border-radius:14px;padding:14px;text-align:left;box-shadow:0 6px 16px rgba(50,50,93,.08);position:relative}.member-card.clickable{cursor:pointer}.member-card .growth-dot{position:absolute;right:10px;top:10px}.avatar{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:#eef0ff;color:var(--blue);font-weight:900;margin-bottom:10px}.member-card b{display:block;color:#11172f}.member-card small{display:block;color:var(--muted);margin-top:4px}.member-tags{display:flex;gap:5px;flex-wrap:wrap;margin-top:10px}.member-tags span,.role-chip{font-size:11px;font-weight:800;border-radius:999px;background:#f3f6fa;color:#566175;padding:4px 7px}.role-chip.red{background:#ffe8ec;color:#df1b41}.role-chip.blue{background:#eef0ff;color:#635bff}.role-chip.green{background:#e3f8ef;color:#087756}.family-lines{height:42px;position:relative}.family-lines:before{content:"";position:absolute;left:24%;right:24%;top:20px;border-top:1px dashed #b8c1ce}.family-lines:after{content:"";position:absolute;left:50%;top:0;height:42px;border-left:1px dashed #b8c1ce}.decision-map,.ownership-bars,.mandate-list{padding:20px;display:grid;gap:12px}.decision-row{border:1px solid var(--line);border-radius:10px;padding:14px;display:grid;gap:10px}.decision-row-top{display:flex;justify-content:space-between;gap:10px}.decision-row p{margin:0;color:var(--muted);font-size:13px}.approval-bar{height:8px;background:#eef3f8;border-radius:999px;overflow:hidden}.approval-bar i{height:100%;display:block;background:#635bff;border-radius:999px}.owner-row{display:grid;grid-template-columns:170px 1fr 58px;gap:12px;align-items:center;border-bottom:1px solid var(--line);padding:10px 0}.owner-row:last-child{border-bottom:0}.owner-track{height:14px;border-radius:999px;background:#edf2f8;overflow:hidden}.owner-track i{height:100%;display:block;background:#697386;border-radius:999px}.mandate-card{border:1px solid var(--line);border-radius:10px;padding:14px;background:#fff}.mandate-card b{display:block;margin-bottom:6px}.mandate-card p{margin:0;color:var(--muted);font-size:13px;line-height:1.45}.member-detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.member-detail-grid .side-card{margin:0}.external-list{display:grid;gap:8px;margin-top:12px}.external-list div{display:flex;justify-content:space-between;border:1px solid var(--line);border-radius:8px;padding:10px}.successor-flow{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.successor-flow span{border:1px solid var(--line);border-radius:999px;padding:8px 12px;background:#fff;font-weight:800}.successor-flow i{color:var(--muted);font-style:normal}@media (max-width:1200px){.m02-grid,.m02-grid.bottom{grid-template-columns:1fr}.m02-stats{grid-template-columns:repeat(2,120px)}.m02-hero{align-items:flex-start;flex-direction:column}.member-card{width:170px}}


/* v9 M04 investments */
.m04-page{padding-bottom:56px}.m04-container{padding:0 56px;display:grid;gap:24px}.m04-head{padding-bottom:22px}.m04-hero{display:flex;justify-content:space-between;gap:24px;align-items:center;padding:26px 30px;background:linear-gradient(135deg,#ffffff,#f7fbff)}.m04-hero p{margin:0;color:var(--muted)}.m04-stats{display:grid;grid-template-columns:repeat(3,132px);gap:10px}.m04-stat{border:1px solid var(--line);border-radius:9px;background:#fff;padding:12px}.m04-stat b{display:block;font-size:22px;color:var(--blue)}.m04-stat span{font-size:12px;color:var(--muted);font-weight:700}.m04-grid{display:grid;grid-template-columns:1.25fr .75fr;gap:24px}.m04-grid.banks{grid-template-columns:1fr 1fr}.m04-grid.bottom{grid-template-columns:1fr 1fr}.m04-terminal .panel-head{align-items:flex-start}.market-chart{padding:18px 18px 12px;background:#0f172a;border-radius:14px;color:#e5edf8;box-shadow:inset 0 0 0 1px rgba(255,255,255,.08)}.terminal-top{display:grid;grid-template-columns:auto 1fr auto;gap:16px;align-items:center;margin-bottom:8px;font-size:11px;color:#9aa7bd;letter-spacing:.08em}.terminal-top b{font-size:14px;color:#fff;letter-spacing:0}.terminal-top em{font-style:normal}.market-chart svg{width:100%;height:auto}.grid-lines line{stroke:#243046;stroke-width:1}.wick{stroke:#d7dde8;stroke-width:1}.candle.up{fill:#36d399}.candle.down{fill:#fb7185}.ma{fill:none;stroke-width:2.3}.ma20{stroke:#fbbf24}.ma50{stroke:#60a5fa}.bench{fill:none;stroke:#a78bfa;stroke-width:2;stroke-dasharray:6 6}.volumes rect{fill:#475569;opacity:.7}.market-chart .chart-legend{color:#cbd5e1}.m04-alerts{padding:20px;display:grid;gap:12px}.m04-alert{position:relative;text-align:left;border:1px solid var(--line);background:#fff;border-radius:12px;padding:14px 14px 14px 38px}.m04-alert .growth-dot{position:absolute;left:14px;top:17px}.m04-alert b{display:block;color:#11172f}.m04-alert p{margin:6px 0;color:var(--muted);font-size:13px}.m04-alert strong{font-size:11px;border-radius:999px;background:#f3f6fa;padding:4px 8px;color:#566175}.bank-grid{padding:20px;display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.bank-card{position:relative;text-align:left;border:1px solid var(--line);border-radius:14px;background:#fff;padding:14px;box-shadow:0 6px 16px rgba(50,50,93,.07)}.bank-card .growth-dot{position:absolute;right:10px;top:10px}.bank-logo{width:92px;height:34px;border-radius:8px;background:#11172f;color:#fff;display:grid;place-items:center;font-size:12px;font-weight:900;letter-spacing:.08em;margin-bottom:12px}.bank-logo.big{width:130px;height:48px}.bank-card b{display:block;color:#11172f}.bank-card p,.bank-card small{color:var(--muted);font-size:12px}.bank-card.small{box-shadow:none}.bank-card.selected{outline:2px solid #635bff}.allocation-list{padding:20px;display:grid;gap:14px}.allocation-row{display:grid;grid-template-columns:170px 1fr 64px;gap:12px;align-items:center}.allocation-row b{display:block}.allocation-row span{font-size:12px;color:var(--muted)}.alloc-track{position:relative;height:16px;border-radius:999px;background:#edf2f8}.alloc-track i{display:block;height:100%;border-radius:999px;background:#635bff}.alloc-track em{position:absolute;top:-4px;width:2px;height:24px;background:#11172f}.allocation-row strong{font-size:12px}.allocation-row strong.warn{color:#df1b41}.allocation-row strong.ok{color:#21a67a}.proposal-list,.report-actions{padding:20px;display:grid;gap:12px}.proposal-card,.report-tile{position:relative;text-align:left;border:1px solid var(--line);border-radius:12px;background:#fff;padding:14px 14px 14px 38px}.proposal-card .growth-dot,.report-tile .growth-dot{position:absolute;left:14px;top:17px}.proposal-card b,.report-tile b{display:block;color:#11172f}.proposal-card p,.report-tile p{margin:6px 0;color:var(--muted);font-size:13px}.proposal-card div{display:flex;justify-content:space-between;gap:12px;font-size:12px}.proposal-card strong{color:#635bff}.trade-modal{padding:18px}.workflow-head{display:flex;gap:8px;flex-wrap:wrap;margin:18px 0}.workflow-head span{border:1px solid var(--line);background:#f8fafc;border-radius:999px;padding:8px 11px;font-size:12px;font-weight:800;color:#697386}.workflow-head span.done{background:#eef0ff;color:#635bff;border-color:#d9dcff}.workflow-head span.current{box-shadow:0 0 0 4px rgba(99,91,255,.12)}.trade-grid{display:grid;grid-template-columns:1fr .9fr;gap:18px}.trade-form{display:grid;grid-template-columns:1fr 1fr;gap:12px}.trade-form label{font-size:12px;font-weight:800;color:#4f566b}.trade-form input,.trade-form select{width:100%;margin-top:6px;border:1px solid var(--line);border-radius:8px;padding:10px;background:#fff;font-weight:700;color:#11172f}.bank-picker{display:grid;gap:10px}.document-preview{border:1px solid var(--line);border-radius:12px;padding:16px;background:#f8fafc;margin-top:18px}.document-preview p{color:var(--muted)}.bank-detail-grid,.proposal-matrix{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:18px 0}.proposal-matrix div{border:1px solid var(--line);border-radius:12px;padding:14px;background:#fff}.proposal-matrix p{color:var(--muted);font-size:13px}.modal-card{max-width:1080px}@media (max-width:1200px){.m04-grid,.m04-grid.banks,.m04-grid.bottom{grid-template-columns:1fr}.m04-stats{grid-template-columns:repeat(2,132px)}.m04-hero{align-items:flex-start;flex-direction:column}.bank-grid{grid-template-columns:1fr}.trade-grid,.trade-form,.bank-detail-grid,.proposal-matrix{grid-template-columns:1fr}}

/* v10 refinements */
.nav-group.action-wrap > .growth-dot{right:34px;top:50%;transform:translateY(-50%);}
.workflow-head{position:relative;display:grid!important;grid-template-columns:repeat(6,1fr);gap:0!important;align-items:start;margin:26px 0 30px!important;padding-top:8px;}
.workflow-head:before{content:"";position:absolute;left:calc(100% / 12);right:calc(100% / 12);top:21px;height:4px;border-radius:999px;background:#e7ebf2;}
.workflow-head:after{content:"";position:absolute;left:calc(100% / 12);top:21px;height:4px;width:calc(var(--progress,0%) * .833);max-width:calc(100% - 100% / 6);border-radius:999px;background:#635bff;box-shadow:0 6px 18px rgba(99,91,255,.22);}
.workflow-head span{position:relative;z-index:1;display:grid;justify-items:center;gap:8px;border:0!important;background:transparent!important;border-radius:0!important;padding:0!important;color:#697386!important;font-size:12px!important;font-weight:800!important;text-align:center;}
.workflow-head span i{width:28px;height:28px;border-radius:999px;background:#fff;border:2px solid #dbe2ec;box-shadow:0 0 0 6px #fff;display:block;}
.workflow-head span.done i{border-color:#635bff;background:#635bff;}
.workflow-head span.current i{background:#fff;border-color:#635bff;box-shadow:0 0 0 6px rgba(99,91,255,.14);}
.workflow-head span b{font:inherit;color:inherit;white-space:normal;line-height:1.2;}
.workflow-head span.done b,.workflow-head span.current b{color:#635bff;}
@media (max-width:900px){.workflow-head{grid-template-columns:repeat(3,1fr);row-gap:18px}.workflow-head:before,.workflow-head:after{display:none}}

/* v11 cleanup */
.workspace-switch{gap:0!important;}
.chevron{display:none!important;}
.workflow-head span.current{box-shadow:none!important;outline:0!important;background:transparent!important;}
.workflow-head span.current::before,.workflow-head span.current::after{display:none!important;}

/* v12 deploy fixes */
.workspace-switch{gap:0!important;}
.workspace-switch::after{content:none!important;display:none!important;}
.workspace-switch img{width:154px!important;height:auto!important;}

.download-link{text-decoration:none}.m05-page{padding-bottom:56px}.m05-container{padding:0 56px;display:grid;gap:24px}.m05-head{padding-bottom:22px}.m05-hero{display:flex;justify-content:space-between;gap:24px;align-items:center;padding:26px 30px;background:linear-gradient(135deg,#ffffff,#f8fafc)}.m05-hero p{margin:0;color:var(--muted);max-width:760px}.m05-stats{display:grid;grid-template-columns:repeat(5,128px);gap:10px}.m05-stat{border:1px solid var(--line);border-radius:9px;background:#fff;padding:12px}.m05-stat b{display:block;font-size:20px;color:var(--blue)}.m05-stat span{font-size:11px;color:var(--muted);font-weight:800}.m05-grid{display:grid;gap:24px}.m05-grid.top{grid-template-columns:1.15fr .85fr}.m05-grid.middle{grid-template-columns:1fr 1fr}.m05-grid.bottom{grid-template-columns:.9fr 1.1fr}.build-stage{display:grid;gap:18px}.render-card{border:1px solid var(--line);border-radius:16px;overflow:hidden;background:#fff;box-shadow:0 12px 30px rgba(50,50,93,.08)}.render-visual{height:260px;background:linear-gradient(135deg,#dfe7f4,#ffffff);position:relative;display:grid;place-items:center}.render-visual:before{content:"";position:absolute;width:62%;height:58%;border-radius:18px;background:linear-gradient(135deg,#f7f1e8,#c8d3df);clip-path:polygon(8% 42%,50% 8%,92% 42%,92% 88%,8% 88%);box-shadow:0 22px 44px rgba(0,0,0,.13)}.render-visual:after{content:"3D render aprovat";position:absolute;right:18px;bottom:18px;border-radius:999px;background:#11172f;color:#fff;padding:8px 12px;font-size:12px;font-weight:900}.render-meta{display:flex;justify-content:space-between;gap:12px;padding:16px}.render-meta b{display:block}.render-meta span{color:var(--muted);font-size:13px}.phase-list{display:grid;gap:10px}.phase-row{display:grid;grid-template-columns:130px 1fr 90px;gap:12px;align-items:center;border:1px solid var(--line);border-radius:10px;padding:12px;background:#fff}.phase-row b{font-size:13px}.phase-row span{font-size:12px;color:var(--muted);font-weight:700}.phase-track{height:8px;border-radius:999px;background:#edf2f8;overflow:hidden}.phase-track i{display:block;height:100%;background:#635bff;border-radius:999px}.m05-pipeline,.m05-inventory,.m05-ops,.commission-list{display:grid;gap:12px}.lead-card,.property-card,.ops-card,.commission-card{border:1px solid var(--line);border-radius:12px;padding:14px;background:#fff;position:relative}.lead-card.clickable,.property-card.clickable{cursor:pointer}.lead-card .growth-dot,.property-card .growth-dot{right:12px;top:12px}.lead-card b,.property-card b,.ops-card b,.commission-card b{display:block;color:#11172f}.lead-card p,.property-card p,.ops-card p,.commission-card p{margin:6px 0;color:var(--muted);font-size:13px;line-height:1.45}.lead-meta,.property-meta,.commission-meta{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.lead-meta span,.property-meta span,.commission-meta span{font-size:11px;font-weight:900;border-radius:999px;background:#f3f6fa;color:#566175;padding:5px 8px}.lead-meta .hot,.commission-meta .hot{background:#ffe8ec;color:#df1b41}.lead-meta .ok,.commission-meta .ok{background:#e3f8ef;color:#087756}.property-card{display:grid;grid-template-columns:1fr auto;gap:12px}.property-card strong{font-size:18px;color:#11172f}.ops-card{display:grid;grid-template-columns:44px 1fr auto;gap:12px;align-items:center}.ops-icon{width:44px;height:44px;border-radius:12px;background:#eef0ff;display:grid;place-items:center;font-weight:900;color:#635bff}.doc-chip-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.doc-chip{border:1px solid var(--line);border-radius:10px;padding:12px;background:#fff;text-align:left}.doc-chip b{display:block}.doc-chip span{font-size:12px;color:var(--muted)}.dubai-property-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.dubai-tile{border:1px solid var(--line);border-radius:14px;background:#fff;overflow:hidden}.dubai-img{height:110px;background:linear-gradient(135deg,#f2d9b3,#f9fbff);position:relative}.dubai-img:after{content:"Dubai";position:absolute;right:12px;bottom:10px;background:#11172f;color:#fff;border-radius:999px;padding:5px 8px;font-size:11px;font-weight:900}.dubai-tile div:not(.dubai-img){padding:12px}.chat-thread{border:1px solid var(--line);border-radius:12px;background:#f8fafc;padding:14px;display:grid;gap:10px}.chat-msg{max-width:78%;border-radius:12px;padding:10px 12px;background:#fff;font-size:13px}.chat-msg.partner{margin-left:auto;background:#eef0ff}.signature-box{border:1px dashed #9aa4b2;border-radius:12px;padding:16px;background:#fff;text-align:center;font-weight:900;color:#4f566b}.budget-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.budget-grid div{border:1px solid var(--line);border-radius:10px;padding:12px;background:#fff}.budget-grid b{display:block;color:#11172f}.budget-grid span{font-size:12px;color:var(--muted)}@media (max-width:1200px){.m05-grid.top,.m05-grid.middle,.m05-grid.bottom{grid-template-columns:1fr}.m05-stats{grid-template-columns:repeat(2,128px)}.m05-hero{align-items:flex-start;flex-direction:column}.dubai-property-grid{grid-template-columns:1fr}}
/* M05 v14 vertical zones */
.m05-vertical{gap:22px}.m05-zone{position:relative;padding:24px 28px;overflow:hidden}.zone-label{display:inline-flex;align-items:center;gap:8px;border:1px solid var(--line);border-radius:999px;background:#fff;padding:7px 11px;font-size:11px;font-weight:900;color:#566175;margin-bottom:16px;text-transform:uppercase;letter-spacing:.04em}.m05-hero-lite{display:flex;justify-content:space-between;gap:24px;align-items:center}.family-zone{background:linear-gradient(135deg,#ffffff,#f8fafc)}.estrint-zone{background:linear-gradient(135deg,#fff,#f8fbff)}.realstatum-zone{background:linear-gradient(135deg,#fff,#fbfaf7)}.lux-zone{background:linear-gradient(135deg,#fff,#f8f6ff)}.docs-zone{background:linear-gradient(135deg,#fff,#f8fafc)}.m05-hero-lite p{margin:0;color:var(--muted);max-width:780px}.m05-hero-lite h2{margin:4px 0 8px}.m05-hero-lite .m05-stats{grid-template-columns:repeat(4,132px)}.render-strip{display:grid;grid-template-columns:1.1fr .9fr .9fr;gap:12px;margin-bottom:16px}.render-strip.large{margin:18px 0}.render-photo{min-height:184px;border-radius:16px;background-size:cover;background-position:center;box-shadow:0 14px 32px rgba(50,50,93,.12);border:1px solid rgba(255,255,255,.7);position:relative;overflow:hidden}.render-photo:after{position:absolute;left:12px;bottom:12px;border-radius:999px;background:rgba(17,23,47,.86);color:#fff;padding:6px 9px;font-size:11px;font-weight:900}.render-a{background-image:url('https://cdn.renderhub.com/za-design/modern-villa/modern-villa-01.jpg')}.render-a:after{content:'Render exterior 3D'}.render-b{background-image:url('https://media.gettyimages.com/id/1464476798/photo/computer-generated-image-of-a-house-architectural-visualization-3d-rendering-interior-design.jpg')}.render-b:after{content:'Interiorisme'}.render-c{background-image:url('https://cdn.renderhub.com/danian3d/modern-villa-with-private-pool-scene-archicad/modern-villa-with-private-pool-scene-archicad-01.jpg')}.render-c:after{content:'ArchiCAD model'}.sale-grid{grid-template-columns:repeat(3,1fr)}.lux-layout{display:grid;grid-template-columns:1.2fr .8fr;gap:18px}.dubai-img{background-image:url('https://media.gettyimages.com/id/1483584718/photo/3d-render-of-modern-living-room-in-luxury-apartment.jpg');background-size:cover;background-position:center}.dubai-img:after{content:'Dubai apartment'}@media (max-width:1200px){.m05-hero-lite{align-items:flex-start;flex-direction:column}.m05-hero-lite .m05-stats{grid-template-columns:repeat(2,132px)}.render-strip,.lux-layout,.sale-grid{grid-template-columns:1fr}.render-photo{min-height:220px}}
/* M05 v15 refinements */
.m05-head h1{font-size:38px}
.m05-vertical{grid-template-columns:1fr}.m05-zone{overflow:hidden}
.phase-row{grid-template-columns:150px 1fr 100px 86px}.phase-action{border:1px solid #635bff;background:#fff;color:#635bff;border-radius:999px;padding:7px 10px;font-weight:900;font-size:12px;cursor:pointer}.phase-row:not(:has(.phase-action)){grid-template-columns:150px 1fr 100px}.render-photo{background-size:cover;background-position:center}.render-a{background-image:url('https://images.unsplash.com/photo-1600607687939-ce8a6c25118c?auto=format&fit=crop&w=900&q=80')}.render-b{background-image:url('https://images.unsplash.com/photo-1600566753190-17f0baa2a6c3?auto=format&fit=crop&w=900&q=80')}.render-c{background-image:url('https://images.unsplash.com/photo-1600210492486-724fe5c67fb0?auto=format&fit=crop&w=900&q=80')}.render-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.render-strip .render-photo{height:150px;border-radius:16px;border:1px solid var(--line);box-shadow:0 10px 24px rgba(0,0,0,.08)}.render-strip.large .render-photo{height:210px}.sale-grid{grid-template-columns:repeat(2,1fr)}.andorra-card{border:1px solid var(--line);border-radius:16px;overflow:hidden;background:#fff;box-shadow:0 10px 24px rgba(15,23,42,.06);cursor:pointer}.andorra-img{height:170px;background-size:cover;background-position:center}.andorra-body{padding:16px}.andorra-body b{display:block;color:#11172f}.andorra-body p{color:var(--muted);font-size:13px;line-height:1.45}.andorra-body strong{display:block;margin-top:12px;color:#006b6b;font-size:20px}.lux-hubspot{display:grid;gap:18px}.lux-subsection{border:1px solid var(--line);border-radius:16px;background:#f8fafc;padding:14px}.subsection-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.subsection-head h4{margin:0;font-size:16px}.subsection-head span{font-size:12px;color:var(--muted);font-weight:800}.hubspot-toolbar{display:flex;gap:10px;align-items:center;border:1px solid var(--line);background:#fff;border-radius:12px;padding:10px;margin-bottom:10px}.hubspot-toolbar input{border:1px solid var(--line);border-radius:999px;padding:9px 14px;color:#667085}.hubspot-toolbar span,.hubspot-toolbar button{font-size:12px;font-weight:800}.hubspot-toolbar button{margin-left:auto;border:0;background:#fff}.hubspot-table{width:100%;border-collapse:collapse;background:#fff;border:1px solid var(--line);border-radius:12px;overflow:hidden}.hubspot-table th,.hubspot-table td{text-align:left;border-bottom:1px solid var(--line);padding:11px 12px;font-size:13px}.hubspot-table th{background:#f1f5f9;font-size:12px}.hubspot-table b{color:#006b6b}.avatar{display:inline-grid;place-items:center;width:28px;height:28px;border-radius:999px;background:#eef0f3;margin-right:8px;font-size:11px;font-weight:900}.hubspot-board{display:grid;grid-template-columns:repeat(5,minmax(160px,1fr));gap:10px;overflow:auto}.deal-column{background:#f2f3f5;border:1px solid #d9dde3;border-radius:12px;padding:10px;min-height:190px}.deal-column h5{margin:0 0 10px;font-size:13px}.deal-column h5 span{background:#fff;border:1px solid #d9dde3;border-radius:999px;padding:2px 8px;margin-left:6px}.deal-card{background:#fff;border:1px solid #d7dce2;border-radius:10px;padding:12px;box-shadow:0 8px 18px rgba(0,0,0,.04);cursor:pointer}.deal-card b{color:#006b6b;text-decoration:underline}.deal-card p{font-size:12px;margin:7px 0;color:#2d3748}.deal-card small{color:#667085}.dubai-img{background-size:cover;background-position:center}.invest-btn{margin-top:10px;width:100%;justify-content:center}.modal-photo{height:280px;background-size:cover;background-position:center;border-radius:16px;border:1px solid var(--line);margin:16px 0}.modal-card{max-width:1040px}.dubai-tile p{margin:6px 0;color:var(--muted);font-size:13px}@media (max-width:1200px){.sale-grid{grid-template-columns:1fr}.hubspot-board{grid-template-columns:repeat(2,minmax(220px,1fr))}.phase-row{grid-template-columns:1fr}.phase-row:not(:has(.phase-action)){grid-template-columns:1fr}.phase-action{width:max-content}.render-strip{grid-template-columns:1fr}}
.lux-pipeline-health{display:grid;grid-template-columns:repeat(4,minmax(180px,1fr));gap:14px;margin-bottom:14px;background:#fff;border:1px solid var(--line);border-radius:16px;padding:18px}.lux-metric{text-align:center}.lux-metric span{display:block;text-transform:uppercase;font-size:11px;font-weight:900;color:#11172f;letter-spacing:.03em}.lux-metric b{display:inline-block;color:#006b6b;font-size:30px;line-height:1.1;border-bottom:2px solid #006b6b;margin:8px 0 4px}.lux-metric i{display:block;font-style:normal;color:#11172f;font-size:13px}.lux-pipe-stages{display:grid;grid-template-columns:repeat(5,minmax(160px,1fr));gap:10px;margin-bottom:14px}.pipe-stage{border:1px solid #d9dde3;border-radius:12px;background:#fff;padding:12px}.pipe-stage-head{display:flex;justify-content:space-between;align-items:center;gap:10px}.pipe-stage-head b{font-size:12px}.pipe-stage-head span{font-size:12px;font-weight:900;color:#006b6b}.pipe-stage small{display:block;margin-top:7px;color:#667085;font-weight:700}.dubai-opportunity-detail{display:grid;grid-template-columns:1fr 300px;gap:18px;align-items:start}.partner-panel{border:1px solid var(--line);border-radius:16px;background:#f8fafc;padding:18px;display:grid;gap:8px}.partner-panel span{font-size:12px;text-transform:uppercase;font-weight:900;color:#667085}.partner-panel b{font-size:18px;color:#11172f;line-height:1.25}.partner-panel small{color:#667085;line-height:1.45;margin-top:6px}.send-lead-btn{white-space:nowrap;align-self:start}@media (max-width:1200px){.lux-pipeline-health{grid-template-columns:repeat(2,1fr)}.lux-pipe-stages{grid-template-columns:repeat(2,minmax(180px,1fr))}.dubai-opportunity-detail{grid-template-columns:1fr}}@media (max-width:760px){.lux-pipeline-health,.lux-pipe-stages{grid-template-columns:1fr}.lux-metric b{font-size:24px}.send-lead-btn{width:100%;justify-content:center}}

/* v17 refinements */
.lux-deals-wrap{display:grid;gap:16px;overflow:hidden}.lux-opportunity-board{grid-template-columns:repeat(5,minmax(220px,1fr));align-items:start}.lux-opportunity-board .deal-column{min-height:260px}.lux-pipeline-health{grid-template-columns:repeat(4,minmax(210px,1fr));padding:24px 28px}.lux-metric span{font-size:13px}.lux-metric b{font-size:42px}.lux-metric i{font-size:16px}.lux-metric em{display:block;font-style:normal;color:#11172f;font-size:14px;margin-top:8px}.lux-pipe-stages{grid-template-columns:repeat(5,minmax(180px,1fr));align-items:stretch}.pipe-stage{min-height:92px}.deal-column{overflow:hidden}.deal-card{position:relative}.deal-card.clickable:after,.andorra-card.clickable:after,.render-strip.clickable:after{content:"";position:absolute;right:12px;top:12px;width:12px;height:12px;border-radius:999px;background:#8f98a6;box-shadow:0 0 0 5px rgba(111,122,138,.14);animation:pulseGray 1.8s infinite}.render-strip.clickable{position:relative}.andorra-card.clickable{position:relative}.phase-action .growth-dot,.invest-btn .growth-dot,.send-lead-btn .growth-dot,.mini-action .growth-dot{position:absolute;right:-6px;top:-6px}.phase-action,.invest-btn,.send-lead-btn,.mini-action[data-action]{position:relative}.modal-pipeline-health{margin-top:18px}.modal-opportunity-board{grid-template-columns:repeat(5,minmax(190px,1fr));margin:16px 0}.modal-pipe-stages{margin:16px 0}.hubspot-board .deal-column h5{line-height:1.2;min-height:34px}.lux-subsection{overflow:hidden}@media (max-width:1400px){.lux-opportunity-board,.modal-opportunity-board{grid-template-columns:repeat(3,minmax(220px,1fr))}.lux-pipe-stages{grid-template-columns:repeat(3,minmax(180px,1fr))}}@media (max-width:900px){.lux-pipeline-health,.lux-opportunity-board,.modal-opportunity-board,.lux-pipe-stages{grid-template-columns:1fr}.lux-metric b{font-size:32px}}
/* M05 v18 refinements */
.lux-subsection{overflow-x:auto;overflow-y:visible}
.lux-deals-wrap{overflow:visible}
.hubspot-board{overflow-x:auto;overflow-y:visible;padding-bottom:8px}
.lux-opportunity-board{grid-template-columns:repeat(5,minmax(260px,1fr));min-width:1380px}
.deal-column{overflow:visible}
.deal-card{cursor:default}
.deal-card b{text-decoration:none;color:#006b6b}
.render-strip.clickable:after{display:none}

/* ============================================================= */
/* v21 · Mobile responsive layer (desktop untouched)             */
/* New chrome elements: hidden on desktop, shown on mobile only  */
/* ============================================================= */
.nav-toggle,.topbar-brand,.drawer-close,.nav-backdrop{display:none}
img,svg,video{max-width:100%}
button,a,input,select{touch-action:manipulation}
.nav-toggle:focus-visible,.drawer-close:focus-visible{outline:2px solid var(--blue);outline-offset:2px;border-radius:10px}

@media (max-width:900px){
  /* shell becomes a single column; sidebar lifts out into an off-canvas drawer */
  body{background:var(--bg)}
  body.drawer-open{overflow:hidden}
  .shell{display:block;width:100%;min-height:100vh;margin:0;border-radius:0;box-shadow:none;overflow:visible}
  .content{width:100%;min-width:0}

  /* ---- drawer ---- */
  .sidebar{position:fixed;top:0;left:0;bottom:0;width:min(86vw,320px);transform:translateX(-100%);transition:transform .26s ease;z-index:200;overflow-y:auto;-webkit-overflow-scrolling:touch;box-shadow:24px 0 60px rgba(18,31,61,.26);padding:18px 18px 26px}
  body.drawer-open .sidebar{transform:translateX(0)}
  .nav-backdrop{display:block;position:fixed;inset:0;background:rgba(18,31,61,.45);z-index:190;backdrop-filter:blur(2px)}
  .workspace-switch{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px}
  .workspace-switch img{width:118px!important}
  .drawer-close{display:inline-grid;place-items:center;width:40px;height:40px;border:0;background:transparent;font-size:30px;line-height:1;color:var(--muted);border-radius:8px}
  /* larger tap targets inside the drawer */
  .main-nav{gap:6px}
  .nav-group{min-height:48px;padding:12px 10px;font-size:14px}
  .nav-item{min-height:44px;padding:11px 10px;font-size:15px}
  .nav-sub{margin-left:30px}
  .nav-sub .nav-item{min-height:40px;font-size:14px;padding:10px 10px}
  .sidebar-bottom .nav-item{min-height:44px}

  /* ---- top app bar ---- */
  .topbar{position:sticky;top:0;z-index:50;height:auto;min-height:60px;padding:10px 16px;gap:12px;flex-wrap:wrap;background:rgba(255,255,255,.96);backdrop-filter:blur(10px)}
  .nav-toggle{display:inline-flex;flex-direction:column;justify-content:center;gap:5px;width:44px;height:44px;flex:0 0 auto;border:1px solid var(--line);border-radius:10px;background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.06)}
  .nav-toggle span{display:block;width:20px;height:2px;margin:0 auto;background:#2f3650;border-radius:2px;transition:.25s ease}
  body.drawer-open .nav-toggle span:nth-child(1){transform:translateY(7px) rotate(45deg)}
  body.drawer-open .nav-toggle span:nth-child(2){opacity:0}
  body.drawer-open .nav-toggle span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
  .topbar-brand{display:block;height:24px;width:auto;flex:0 0 auto}
  .search-box{order:3;flex-basis:100%;min-width:0;border:1px solid var(--line);border-radius:999px;padding:9px 14px;background:#f7f9fc}
  .search-box input{font-size:15px}
  .topbar-actions{margin-left:auto;gap:12px}
  .date-chip,.user-chip,.dropdown-pill{min-height:44px}

  /* ---- page heads ---- */
  .page-head,.m02-head,.m04-head,.m05-head{padding:22px 16px 14px;flex-direction:column;align-items:stretch;gap:16px}
  .title-row{align-items:flex-start;gap:12px}
  h1{font-size:clamp(26px,7vw,34px)}
  h2{font-size:clamp(22px,6vw,28px)}
  h3{font-size:17px}
  .head-actions{flex-wrap:wrap}
  .head-actions .primary-btn,.head-actions .secondary-btn{flex:1 1 auto;text-align:center}
  .segmented{max-width:100%;overflow-x:auto;scrollbar-width:none}
  .segmented::-webkit-scrollbar{display:none}
  .segmented button{flex:0 0 auto;white-space:nowrap;min-height:40px}

  /* ---- hero / today card ---- */
  .today-card{margin:0 16px 32px;grid-template-columns:1fr}
  .today-left{padding:20px 0}
  .today-side{border-left:0;border-top:1px solid var(--line)}
  .hero-metric-row{flex-wrap:wrap;gap:14px}
  .hero-metric-row strong{font-size:30px}
  .line-chart{overflow:hidden}

  /* ---- dashboard sections ---- */
  .overview-section{padding:0 16px 28px}
  .section-header{flex-direction:column;align-items:stretch;gap:12px}
  .filters{flex-wrap:wrap;gap:8px}
  .filters .select-wrap{flex:1 1 150px}
  .filters select{min-width:0;width:100%}
  .report-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .kpi{border-right:0;border-bottom:1px solid var(--line)}
  .lower-grid{grid-template-columns:1fr;padding:0 16px 20px}
  .full-panel{margin:0 16px 40px}
  .decision-grid{grid-template-columns:1fr}
  .decision-card{border-right:0;border-bottom:1px solid var(--line);min-height:auto}
  .panel-head{flex-wrap:wrap;gap:14px}
  .tabs{overflow-x:auto;scrollbar-width:none}
  .tabs::-webkit-scrollbar{display:none}

  /* ---- M02 family ---- */
  .m02-container{padding:0 16px}
  .m02-grid,.m02-grid.bottom{grid-template-columns:1fr}
  .m02-hero{flex-direction:column;align-items:flex-start;padding:20px}
  .m02-stats{grid-template-columns:repeat(2,minmax(0,1fr))}
  .family-tree-visual{min-height:auto;padding:20px}
  .generation{flex-direction:column;align-items:center;gap:14px}
  .member-card{width:100%;max-width:340px}
  .family-lines{display:none}
  .owner-row,.allocation-row{grid-template-columns:1fr;gap:6px}
  .owner-track,.alloc-track{width:100%}
  .member-detail-grid{grid-template-columns:1fr}

  /* ---- M04 investments ---- */
  .m04-container{padding:0 16px}
  .m04-grid,.m04-grid.banks,.m04-grid.bottom{grid-template-columns:1fr}
  .m04-hero{flex-direction:column;align-items:flex-start;padding:20px}
  .m04-stats{grid-template-columns:repeat(2,minmax(0,1fr))}
  .bank-grid{grid-template-columns:1fr}
  .market-chart{padding:14px 12px 10px}
  .terminal-top{grid-template-columns:1fr;gap:6px}
  .trade-grid,.trade-form,.bank-detail-grid,.proposal-matrix{grid-template-columns:1fr}

  /* ---- M05 real estate ---- */
  .m05-container,.m05-vertical{grid-template-columns:1fr;padding:0 16px 24px}
  .m05-hero-lite{flex-direction:column;align-items:flex-start;gap:16px}
  .m05-stats{grid-template-columns:repeat(2,minmax(0,1fr))}
  .sale-grid,.dubai-property-grid,.render-strip{grid-template-columns:1fr!important}
  .budget-grid,.lux-pipeline-health,.lux-pipe-stages{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .phase-row{grid-template-columns:1fr!important;gap:10px}
  .lux-subsection,.hubspot-table-wrap,.hubspot-board{overflow-x:auto;-webkit-overflow-scrolling:touch}

  /* ---- modal / side panel: full-screen with an always-reachable close ---- */
  .modal{place-items:stretch;z-index:120}
  .side-panel{z-index:130}
  .modal-card{width:100vw;height:100dvh;max-height:none;border-radius:0;padding:20px 18px calc(24px + env(safe-area-inset-bottom));overflow:auto;-webkit-overflow-scrolling:touch}
  .modal-close{position:fixed;top:max(12px,env(safe-area-inset-top));right:14px;z-index:60;width:42px;height:42px;display:grid;place-items:center;border-radius:999px;background:#fff;color:#11172f;box-shadow:0 4px 16px rgba(18,31,61,.22);font-size:26px;line-height:1}
  body.modal-open{overflow:hidden}
  .modal-title-row{flex-direction:column;gap:12px;padding-right:52px}
  .side-panel{width:min(440px,100vw)}
  .close-panel{min-width:44px;min-height:44px}
  .side-content{padding:64px 22px}
  .contract-meta,.pdf-grid{grid-template-columns:1fr}
  /* media inside modals scales to viewport instead of fixed heights */
  .modal-photo{height:auto;aspect-ratio:16/10;margin:14px 0}
  .render-strip,.render-strip.large{grid-template-columns:1fr;gap:12px}
  .render-photo,.render-strip .render-photo,.render-strip.large .render-photo{height:auto;min-height:0;aspect-ratio:16/10}
  .andorra-img,.dubai-img{height:auto;aspect-ratio:16/10}
  .dubai-opportunity-detail{grid-template-columns:1fr}
  .pdf-page{padding:22px;min-height:0}
  .pdf-page img{width:76px}
  .toast{left:16px;right:16px;bottom:20px;transform:translateY(20px);text-align:center}
  .toast.show{transform:translateY(0)}
}

@media (max-width:560px){
  .report-grid,.m02-stats,.m04-stats,.m05-stats,.budget-grid,.lux-pipeline-health,.lux-pipe-stages{grid-template-columns:1fr!important}
  h1{font-size:clamp(24px,8vw,30px)}
  .hero-metric-row strong{font-size:26px}
  .kpi-value{font-size:23px}
  .today-card,.full-panel,.lower-grid{margin-left:12px;margin-right:12px}
  .overview-section,.m02-container,.m04-container,.m05-container,.m05-vertical{padding-left:12px;padding-right:12px}
  .nav-toggle{width:42px;height:42px}
  .topbar-brand{height:22px}
}

@media (prefers-reduced-motion:reduce){
  .sidebar{transition:none}
  .nav-toggle span{transition:none}
}
