:root{--bg:#f7f8f6;--ink:#111512;--muted:#68716c;--line:#dfe5e1;--green:#50fccf;--green-deep:#16b889;--panel:#fff;--dark:#101512;--radius:24px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink);font-family:"DM Sans",sans-serif;overflow-x:hidden}a{text-decoration:none;color:inherit}button{font:inherit}.section-shell{width:min(1180px,calc(100% - 40px));margin:auto}.page-glow{position:absolute;border-radius:50%;filter:blur(90px);pointer-events:none;opacity:.35}.glow-one{width:540px;height:420px;background:#8dffd8;top:-180px;left:50%;transform:translateX(-50%)}.glow-two{width:380px;height:380px;background:#b7d9ff;top:530px;right:-260px}.site-header{position:sticky;top:0;z-index:50;width:min(1220px,calc(100% - 28px));margin:14px auto 0;padding:10px 12px 10px 16px;display:flex;align-items:center;justify-content:space-between;border:1px solid rgba(210,218,213,.8);background:rgba(250,251,249,.78);backdrop-filter:blur(18px);border-radius:16px;box-shadow:0 8px 30px rgba(25,40,31,.06)}.brand{display:flex;align-items:center;gap:10px;font-family:Manrope,sans-serif;font-weight:800;letter-spacing:-.04em}.brand-mark{width:30px;height:30px;display:grid;place-items:center;border-radius:9px;background:#101512;overflow:hidden}.brand-mark img{width:24px;height:24px;object-fit:contain}.desktop-nav{display:flex;gap:30px;font-size:14px;color:#4f5853}.desktop-nav a:hover{color:#111}.header-actions{display:flex;align-items:center;gap:10px}.text-button{font-size:14px;padding:9px 12px}.button{display:inline-flex;align-items:center;justify-content:center;gap:18px;background:#121714;color:#fff;border-radius:12px;padding:14px 20px;font-weight:600;box-shadow:0 8px 22px rgba(17,23,20,.16);transition:.25s transform,.25s box-shadow}.button:hover{transform:translateY(-2px);box-shadow:0 12px 30px rgba(17,23,20,.22)}.button span{color:var(--green)}.button-small{padding:10px 15px;font-size:14px}.menu-button{display:none;background:none;border:0}.hero{text-align:center;padding-top:108px}.eyebrow{display:inline-flex;align-items:center;gap:8px;padding:8px 13px;border:1px solid var(--line);background:rgba(255,255,255,.65);border-radius:999px;color:#5f6963;font-size:13px}.status-dot{width:7px;height:7px;border-radius:50%;background:#24d99b;box-shadow:0 0 0 4px rgba(36,217,155,.12)}h1,h2,h3,h4,h5{font-family:Manrope,sans-serif}h1{font-size:clamp(50px,7.2vw,88px);line-height:.98;letter-spacing:-.065em;margin:28px 0 24px;font-weight:700}h1 span{background:linear-gradient(90deg,#22a77b,#57d9ae);-webkit-background-clip:text;color:transparent}.hero-copy{max-width:720px;margin:0 auto;color:#626d67;font-size:19px;line-height:1.6}.hero-actions{display:flex;justify-content:center;gap:12px;margin-top:30px}.secondary-button{display:inline-flex;align-items:center;gap:10px;background:rgba(255,255,255,.75);border:1px solid var(--line);border-radius:12px;padding:13px 19px;font-weight:600}.play{display:grid;place-items:center;width:24px;height:24px;border-radius:50%;background:#e9eeeb;font-size:9px}.microcopy{font-size:12px;color:#87918b;margin-top:15px}.hero-product{margin-top:70px;background:#e8ece9;border:1px solid #d6ddd8;border-radius:22px;padding:8px;box-shadow:0 40px 90px rgba(20,35,27,.16);text-align:left;transform:perspective(1600px) rotateX(1.5deg);transform-origin:top}.window-bar{height:44px;padding:0 13px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;color:#717b75;font-size:11px}.traffic{display:flex;gap:6px}.traffic span{width:9px;height:9px;border-radius:50%;background:#c9cfcb}.workspace-pill{display:flex;align-items:center;gap:6px;background:#f8faf8;border:1px solid #dce2de;border-radius:7px;padding:6px 12px}.workspace-pill img{width:14px;height:14px;object-fit:contain;filter:drop-shadow(0 0 2px rgba(0,0,0,.12))}.window-actions{text-align:right}.window-actions span{margin-left:18px}.app-shell{height:670px;display:flex;background:#fff;border-radius:15px;overflow:hidden;border:1px solid #dfe4e1}.sidebar{width:205px;background:#f7f8f7;border-right:1px solid #e6e9e7;padding:15px 12px;display:flex;flex-direction:column}.sidebar-search{display:flex;align-items:center;gap:8px;border:1px solid #e1e5e2;background:#fff;padding:8px;border-radius:8px;color:#777;font-size:12px}.sidebar-search span{flex:1}.sidebar-search kbd{font-size:9px;background:#f1f3f1;padding:2px 4px;border-radius:3px}.side-label{font-size:9px;text-transform:uppercase;letter-spacing:.11em;color:#9aa19d;margin:20px 8px 7px}.side-item{padding:8px;border-radius:7px;font-size:12px;color:#58615c;display:flex;align-items:center;gap:9px;margin:1px 0}.side-item.active{background:#e9eeeb;color:#202622;font-weight:600}.side-item b{margin-left:auto;border-radius:999px;background:#dfe7e2;padding:1px 5px;font-size:9px}.purple-dot,.orange-dot{width:8px;height:8px;border-radius:3px;background:#8a7cf6}.orange-dot{background:#f29c60}.sidebar-bottom{margin-top:auto;display:flex;align-items:center;justify-content:space-between}.avatar-stack{display:flex}.avatar-stack span{width:26px;height:26px;border-radius:50%;display:grid;place-items:center;background:#d8e5df;border:2px solid #f7f8f7;font-size:8px;margin-right:-5px}.sidebar-bottom button{border:1px solid #ddd;background:white;border-radius:7px;font-size:10px;padding:6px 9px}.workspace-content{padding:30px 34px;flex:1;background:linear-gradient(180deg,#fcfdfc,#f7f9f7)}.content-header{display:flex;justify-content:space-between;align-items:center}.content-header p{font-size:11px;color:#858e89;margin:0 0 5px}.content-header h2{font-size:25px;letter-spacing:-.04em;margin:0}.icon-button{border:1px solid #dbe1dd;background:#fff;width:35px;height:35px;border-radius:9px}.command-card{margin:25px 0 22px;border:1px solid #cfe7dd;background:linear-gradient(90deg,#f3fffa,#fff);box-shadow:0 8px 26px rgba(30,130,94,.08);border-radius:13px;padding:15px;display:flex;align-items:center;gap:12px}.command-card .spark{width:34px;height:34px;border-radius:9px;background:#152019;color:var(--green);display:grid;place-items:center}.command-card div{flex:1}.command-card strong{font-size:12px}.command-card p{font-size:10px;color:#87908b;margin:3px 0}.command-card kbd{font-size:9px;color:#7b857f;background:#f1f5f2;padding:5px 7px;border-radius:5px}.dashboard-grid{display:grid;grid-template-columns:1.45fr .85fr;gap:15px}.dashboard-card{background:#fff;border:1px solid #e1e6e3;border-radius:13px;padding:17px}.card-heading{display:flex;align-items:center;justify-content:space-between;font-size:11px;margin-bottom:18px}.card-heading>div{display:flex;align-items:center;gap:7px}.card-heading a{color:#89928d}.mini-icon{width:23px;height:23px;border-radius:6px;background:#edf2ef;display:grid;place-items:center}.project-row{display:grid;grid-template-columns:33px 1fr auto;gap:10px;align-items:center;padding:11px 0;border-top:1px solid #edf0ee}.project-icon{width:31px;height:31px;display:grid;place-items:center;border-radius:8px;font-weight:700;font-size:11px}.mint{background:#d8faee;color:#148761}.violet{background:#ebe7ff;color:#7164d8}.blue{background:#dfeeff;color:#4b7aac}.project-row strong{font-size:11px}.project-row p{font-size:9px;color:#8b948f;margin:3px 0 6px}.progress{height:3px;background:#edf0ee;border-radius:3px;width:150px}.progress i{display:block;height:100%;border-radius:3px;background:#40c99a}.status{font-size:8px;padding:4px 7px;border-radius:999px}.on-track{background:#e0faef;color:#19835f}.at-risk{background:#fff0df;color:#af6b25}.planning{background:#e8effc;color:#5273a8}.meeting-card h3{font-size:16px;margin:24px 0 4px}.meeting-card>p{font-size:9px;color:#86908a}.live-dot{font-size:8px;background:#e5faef;color:#168660;border-radius:999px;padding:4px 7px}.meeting-note{display:flex;gap:9px;background:#f3faf7;border:1px solid #dceee7;padding:10px;border-radius:9px;margin:20px 0}.meeting-note span{color:#22a87a}.meeting-note p{margin:0;font-size:9px;color:#6f7973;line-height:1.5}.meeting-note strong{color:#25302a}.dark-button{width:100%;background:#18201c;color:#fff;border:0;border-radius:8px;padding:9px;font-size:10px}.insights-card{grid-column:1/-1}.insights-card select{border:0;background:#f3f5f4;font-size:9px;padding:5px;border-radius:5px}.metric{display:flex;align-items:center;gap:8px}.metric strong{font-size:26px}.metric span{font-size:9px;color:#1c9d72;background:#e6faF2;border-radius:999px;padding:3px 5px}.insights-card>p{font-size:9px;color:#88918c}.chart{height:75px;display:flex;align-items:flex-end;gap:16px;border-bottom:1px solid #e6eae7;padding:0 8px}.chart span{flex:1;max-width:28px;background:#dfe9e4;border-radius:4px 4px 0 0}.chart span.current{background:linear-gradient(#4de1b4,#20b986)}.chart-labels{display:flex;justify-content:space-around;color:#929b96;font-size:8px;padding-top:6px}.trusted{margin:80px 0 100px;color:#8d9691;font-size:11px}.trusted>span{display:block;margin-bottom:25px;text-transform:uppercase;letter-spacing:.12em}.trusted div{display:flex;justify-content:center;gap:65px;flex-wrap:wrap;color:#a3aba7;font-size:18px}.feature-intro{text-align:center;padding:60px 0}.section-kicker{font-size:11px;letter-spacing:.18em;color:#1fa176;font-weight:700}.feature-intro h2,.ai-copy h2,.security-inner h2,.cta-card h2{font-size:clamp(38px,5vw,61px);letter-spacing:-.055em;margin:15px 0}.feature-intro>p:last-child{color:#707a74;font-size:17px}.feature-stack{display:flex;flex-direction:column;gap:24px}.feature-panel{min-height:600px;display:grid;grid-template-columns:.78fr 1.22fr;background:#fff;border:1px solid #e0e5e2;border-radius:var(--radius);overflow:hidden}.feature-panel:nth-child(even){grid-template-columns:1.22fr .78fr}.feature-copy{padding:70px 55px;display:flex;flex-direction:column;justify-content:center}.feature-number{font:700 12px Manrope;color:#27ac7e;margin-bottom:34px}.feature-copy h3{font-size:38px;line-height:1.15;letter-spacing:-.045em;margin:0 0 22px}.feature-copy p{font-size:16px;color:#6d7771;line-height:1.7}.feature-copy a{font-size:14px;font-weight:600;margin-top:24px}.feature-copy a span{color:#27ad7f;margin-left:8px}.feature-visual{margin:35px;background:#f1f4f2;border:1px solid #e0e5e2;border-radius:18px;overflow:hidden;box-shadow:0 20px 50px rgba(19,34,25,.08)}.document-visual{margin-right:-30px;transform:rotate(-1deg);background:#fff}.doc-top{height:49px;border-bottom:1px solid #e9ecea;display:flex;align-items:center;justify-content:space-between;padding:0 20px;color:#7b847f;font-size:10px}.doc-body{padding:45px 55px}.doc-icon{font-size:24px;color:#1db183}.doc-body h4{font-size:30px;letter-spacing:-.04em;margin:12px 0 3px}.doc-muted{font-size:10px;color:#949b97}.doc-body hr{border:0;border-top:1px solid #ecefed;margin:30px 0}.doc-body h5{font-size:15px;margin:20px 0 10px}.doc-body>p{font-size:12px;line-height:1.7;color:#5f6963}.ai-selection{margin:18px 0;background:#e9fbf4;border:1px solid #bdebd9;border-radius:8px;padding:10px 12px;font-size:10px;color:#278664;display:flex;justify-content:space-between}.check{display:flex;align-items:center;gap:10px;font-size:11px;margin:10px 0}.check i{width:16px;height:16px;border-radius:5px;background:#36c495;color:#fff;display:grid;place-items:center;font-style:normal;font-size:9px}.check.empty i{background:#fff;border:1px solid #d7ddd9}.meeting-panel{background:#101512;color:#fff;border-color:#202722}.meeting-panel .feature-copy p{color:#a8b0ab}.meeting-panel .feature-copy a{color:#fff}.recorder-visual{background:#f9faf9;color:#19201c;margin-left:-30px;transform:rotate(1deg);padding:22px}.recorder-head{display:flex;justify-content:space-between;align-items:center;font-size:10px}.recorder-head>div{display:flex;gap:8px;align-items:center}.record-dot{width:8px;height:8px;border-radius:50%;background:#fa675d;box-shadow:0 0 0 5px rgba(250,103,93,.12)}.waveform{display:flex;height:95px;align-items:center;gap:3px;padding:10px 0;border-bottom:1px solid #e4e8e5}.waveform i{width:3px;border-radius:3px;background:#4ad6a8;height:20%;animation:wave 1.8s ease-in-out infinite alternate}.waveform i:nth-child(3n){height:70%;animation-delay:.2s}.waveform i:nth-child(4n){height:45%;animation-delay:.4s}.waveform i:nth-child(5n){height:90%;animation-delay:.6s}@keyframes wave{to{transform:scaleY(.55)}}.transcript{display:flex;gap:12px;padding:30px 6px}.speaker{width:30px;height:30px;border-radius:50%;background:#e0dcff;color:#6658c9;display:grid;place-items:center;font-size:9px}.transcript p{margin:0;flex:1;color:#55605a;font-size:11px;line-height:1.8}.transcript strong{color:#1d251f}.transcript span{margin-left:8px;color:#9aa19d;font-size:9px}.insight-box{display:flex;gap:11px;align-items:flex-start;background:#edfbf6;border:1px solid #c8eadf;border-radius:10px;padding:14px}.insight-box>span{color:#1bb17e}.insight-box div{flex:1}.insight-box strong{font-size:10px}.insight-box p{font-size:9px;color:#6d7771;line-height:1.5;margin:4px 0}.insight-box button{border:1px solid #bcded2;background:#fff;border-radius:7px;padding:7px 9px;font-size:8px}.board-visual{margin-right:-80px;background:#fbfcfb}.board-head{height:58px;display:flex;align-items:center;justify-content:space-between;padding:0 18px;border-bottom:1px solid #e3e7e4;font-size:10px}.board-head div{display:flex;align-items:center;gap:15px}.board-head div strong{font-size:13px}.board-head div span{color:#8a938e}.board-head button{border:0;background:#17201b;color:#fff;border-radius:7px;padding:8px 10px;font-size:9px}.kanban{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;padding:18px;min-width:660px}.column-title{display:flex;justify-content:space-between;font-size:8px;color:#7d8781;padding:4px}.column-title b{background:#edf0ee;border-radius:4px;padding:2px 5px}.task{position:relative;background:#fff;border:1px solid #dde3df;border-radius:9px;padding:12px;margin-top:9px;box-shadow:0 3px 10px rgba(20,30,24,.03)}.task>span:first-child{position:absolute;right:10px;color:#e36e65}.task>span.low{color:#89a9c5}.task>span.medium{color:#e5b15d}.task p{font-size:10px;font-weight:600;margin:0 0 10px}.task small{font-size:8px;color:#9aa29d}.task-meta{display:flex;justify-content:space-between;align-items:center;margin-top:12px}.task-meta em{font-size:7px;font-style:normal;background:#edf2f0;padding:3px 5px;border-radius:4px}.task-meta i{font-size:7px;font-style:normal;width:20px;height:20px;border-radius:50%;background:#ddecE5;display:grid;place-items:center}.active-task{border-color:#9ee2ca;box-shadow:0 0 0 2px rgba(80,252,207,.15)}.done-task>span:first-child{color:#2bb988}.done-task p{text-decoration:line-through;color:#75807a}.data-panel{background:#101512;color:#fff;border-color:#202722}.data-panel .feature-copy p{color:#aab2ad}.data-panel .feature-copy a{color:#fff}.data-visual{margin-left:-80px;background:#121915;border-color:#273029;display:flex}.data-sidebar{width:50px;border-right:1px solid #29312c;display:flex;flex-direction:column;align-items:center;padding:15px 0;gap:26px;color:#75817a}.db-logo{width:28px;height:28px;border-radius:8px;background:#24302a;display:grid;place-items:center;margin-bottom:8px}.db-logo img{width:20px;height:20px;object-fit:contain}.data-main{flex:1;padding:23px}.data-head{display:flex;justify-content:space-between;align-items:center}.data-head p{font-size:8px;color:#67736c;margin:0}.data-head strong{font-size:12px}.data-head button{font-size:8px;background:#1c251f;border:1px solid #303a34;color:#aeb8b2;border-radius:6px;padding:7px}.stats-row{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:25px}.stats-row>div{border:1px solid #29342e;background:#151d18;border-radius:9px;padding:13px}.stats-row p{font-size:8px;color:#75817a;margin:0}.stats-row strong{font-size:17px;display:block;margin:7px 0}.stats-row span{font-size:7px;color:#4ce0af}.area-chart{height:250px;position:relative;margin-top:18px;border:1px solid #29342e;background:#151d18;border-radius:10px;overflow:hidden}.area-chart svg{position:absolute;inset:25px 15px 15px;width:calc(100% - 30px);height:calc(100% - 40px);z-index:2}.area-chart .area{fill:url(#area)}.area-chart .line{fill:none;stroke:#50fccf;stroke-width:3}.grid-lines{position:absolute;inset:25px 15px}.grid-lines i{display:block;height:25%;border-top:1px dashed #29342e}.ai-section{display:grid;grid-template-columns:1fr 1fr;align-items:center;min-height:740px}.ai-orbit{position:relative;width:520px;height:520px;display:grid;place-items:center}.orbit{position:absolute;border:1px solid #d7e1dc;border-radius:50%}.orbit-one{width:230px;height:230px}.orbit-two{width:360px;height:360px}.orbit-three{width:500px;height:500px}.ai-core{width:110px;height:110px;border-radius:30px;background:#121813;display:grid;place-items:center;box-shadow:0 0 0 20px rgba(80,252,207,.09),0 20px 50px rgba(17,30,23,.2)}.ai-core img{width:80px;height:80px;object-fit:contain}.node{position:absolute;background:#fff;border:1px solid #dce4df;box-shadow:0 10px 25px rgba(30,45,36,.08);padding:10px 14px;border-radius:10px;font-size:11px}.n1{top:55px;left:205px}.n2{right:-5px;top:235px}.n3{bottom:45px;left:215px}.n4{left:-5px;top:235px}.ai-copy{padding-left:60px}.ai-copy>p:not(.section-kicker){font-size:17px;color:#6b756f;line-height:1.7}.ai-prompts{display:flex;flex-direction:column;gap:9px;margin-top:30px}.ai-prompts button{text-align:left;background:#fff;border:1px solid #dce3df;border-radius:10px;padding:13px 15px;color:#4c5751}.security-section{background:#101512;color:#fff;padding:105px 0}.security-inner{display:grid;grid-template-columns:1fr 1fr;gap:30px}.security-inner h2{margin-bottom:0}.security-inner>p{color:#9ea8a2;line-height:1.7;align-self:end;padding-bottom:10px}.security-grid{grid-column:1/-1;display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:45px}.security-grid div{border:1px solid #27312b;background:#141c17;border-radius:14px;padding:25px}.security-grid span{color:#50fccf;font-size:22px}.security-grid strong{display:block;margin:25px 0 9px;font-size:13px}.security-grid p{font-size:11px;color:#8f9993;line-height:1.6}.cta-section{padding:110px 0}.cta-card{position:relative;overflow:hidden;text-align:center;background:#e9fbf4;border:1px solid #cde9de;border-radius:30px;padding:90px 20px}.cta-card>img{width:58px;height:58px;object-fit:contain;background:#111813;padding:8px;border-radius:16px}.cta-card h2{font-size:58px}.cta-card>p:not(.section-kicker){color:#69746e;font-size:17px}.cta-card small{display:block;color:#89928d;margin-top:18px}.cta-glow{position:absolute;width:500px;height:500px;border-radius:50%;background:#71f2c8;filter:blur(120px);opacity:.25;left:50%;top:-300px;transform:translateX(-50%)}.secondary-button.dark{background:rgba(255,255,255,.6)}.site-footer{display:grid;grid-template-columns:1fr 1.3fr;gap:50px;padding:70px 0 25px;border-top:1px solid #dde3df}.footer-brand p{color:#7d8781;font-size:13px}.footer-links{display:grid;grid-template-columns:repeat(3,1fr)}.footer-links div{display:flex;flex-direction:column;gap:12px}.footer-links strong{font-size:12px;margin-bottom:6px}.footer-links a{font-size:12px;color:#7b857f}.footer-bottom{grid-column:1/-1;border-top:1px solid #e1e5e2;padding-top:20px;display:flex;justify-content:space-between;color:#8c958f;font-size:10px}.footer-bottom div{display:flex;gap:20px}@media(max-width:900px){.desktop-nav,.text-button{display:none}.menu-button{display:block}.hero{padding-top:75px}.app-shell{height:560px}.sidebar{display:none}.workspace-content{padding:24px}.feature-panel,.feature-panel:nth-child(even){grid-template-columns:1fr}.feature-copy{padding:50px 35px}.feature-visual{min-height:420px;margin:20px 20px 45px!important;transform:none!important}.meeting-panel .feature-copy,.data-panel .feature-copy{order:-1}.ai-section{grid-template-columns:1fr;padding:80px 0}.ai-orbit{width:min(500px,100%);height:500px;margin:auto;transform:scale(.8)}.ai-copy{padding:0;text-align:center}.security-inner{grid-template-columns:1fr}.security-grid{grid-template-columns:repeat(2,1fr)}.site-footer{grid-template-columns:1fr}.footer-bottom{grid-column:auto}.trusted div{gap:30px}.hero-product{overflow:hidden}.workspace-content{min-width:750px}}@media(max-width:600px){.section-shell{width:min(100% - 24px,1180px)}.site-header{width:calc(100% - 16px);margin-top:8px}.header-actions .button-small{display:none}h1{font-size:49px}.hero-copy{font-size:16px}.hero-actions{flex-direction:column;align-items:stretch}.hero-product{margin-top:45px}.app-shell{height:500px}.workspace-content{transform:scale(.73);transform-origin:top left;min-width:760px}.feature-copy h3{font-size:31px}.feature-visual{min-height:350px}.document-visual,.recorder-visual,.board-visual,.data-visual{width:720px;transform:scale(.63)!important;transform-origin:top left!important}.security-grid{grid-template-columns:1fr}.security-inner{text-align:center}.ai-orbit{margin-left:-55px}.cta-card{padding:70px 18px}.cta-card h2{font-size:40px}.footer-links{grid-template-columns:1fr 1fr;gap:35px}.footer-bottom{flex-direction:column}.trusted{display:none}}

/* Premium dark homepage */
.home-dark{--home-bg:#050908;--home-panel:#0b110f;--home-panel-2:#0e1512;--home-text:#f4f6f5;--home-muted:#98a19d;--home-green:#47d997;background:var(--home-bg);color:var(--home-text)}
.home-dark .site-header{display:none}.site-noise{position:fixed;inset:0;pointer-events:none;opacity:.035;z-index:100;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.7'/%3E%3C/svg%3E")}
.premium-header{position:relative;z-index:30;width:min(1380px,calc(100% - 54px));height:82px;margin:auto;display:grid;grid-template-columns:1fr auto 1fr;align-items:center}.premium-brand{display:flex;align-items:center;gap:11px;font:700 17px/1 Manrope,sans-serif;letter-spacing:-.04em}.premium-brand img{width:28px;height:28px;object-fit:contain}.premium-nav{display:flex;gap:42px;color:#a7aeaa;font-size:14px}.premium-nav a,.login-link{transition:.2s color}.premium-nav a:hover,.login-link:hover{color:#fff}.premium-actions{display:flex;justify-content:flex-end;align-items:center;gap:20px;font-size:14px}.mint-button{display:inline-flex;align-items:center;justify-content:center;padding:14px 21px;border-radius:8px;background:linear-gradient(180deg,#38b978,#258e5b);color:#fff;font-weight:600;box-shadow:inset 0 1px rgba(255,255,255,.22),0 12px 35px rgba(34,178,112,.16);transition:transform .25s,filter .25s}.mint-button:hover{transform:translateY(-2px);filter:brightness(1.08)}.mint-button.small{padding:11px 17px}.dark-button{display:inline-flex;align-items:center;gap:18px;padding:14px 20px;border-radius:8px;background:#111715;color:#dfe4e1;box-shadow:inset 0 0 0 1px rgba(255,255,255,.04)}.dark-button span{font-size:10px;color:#7f8984}.premium-hero{position:relative;isolation:isolate;width:min(1380px,calc(100% - 54px));min-height:720px;margin:auto;display:grid;grid-template-columns:.9fr 1.1fr;align-items:center;overflow:hidden}.hero-aurora{position:absolute;width:780px;height:580px;right:-100px;top:40px;background:radial-gradient(circle,rgba(48,203,131,.16),transparent 68%);filter:blur(10px);z-index:-1}.hero-copy-block{padding:40px 0 80px 30px;max-width:650px}.hero-copy-block h1{font:600 clamp(56px,5vw,82px)/1.08 Manrope,sans-serif;letter-spacing:-.065em;margin:0;max-width:700px}.hero-copy-block h1 span,.workspace-copy h2 span,.network-cta h2 span{color:#3fbf7c}.hero-copy-block>p{max-width:550px;margin:30px 0;color:#aab2ae;font-size:18px;line-height:1.65}.premium-hero-actions{display:flex;gap:12px}.hero-proof{display:flex;gap:28px;margin-top:38px;color:#78827d;font-size:12px}.hero-proof span{display:flex;align-items:baseline;gap:7px}.hero-proof strong{font-size:18px;color:#dce2df}.globe-column{position:relative;height:660px;display:grid;place-items:center}.globe-aura{position:absolute;width:580px;height:580px;border-radius:50%;background:radial-gradient(circle,rgba(39,183,112,.16),rgba(15,61,40,.06) 48%,transparent 70%);filter:blur(15px)}#particle-globe{width:100%;height:100%;cursor:grab}#particle-globe:active{cursor:grabbing}.globe-card{position:absolute;display:flex;align-items:center;gap:10px;padding:10px 13px;border-radius:10px;background:rgba(13,18,16,.77);box-shadow:0 15px 50px rgba(0,0,0,.3);backdrop-filter:blur(12px);animation:floatCard 5s ease-in-out infinite}.person-dot{width:30px;height:30px;display:grid;place-items:center;border-radius:50%;background:linear-gradient(145deg,#77e3b2,#1c6f49);font-size:9px;font-weight:700}.globe-card strong,.globe-card small{display:block}.globe-card strong{font-size:11px}.globe-card small{margin-top:3px;color:#8e9993;font-size:9px}.globe-card-a{left:8%;top:30%}.globe-card-b{right:5%;top:20%;animation-delay:-1.2s}.globe-card-c{right:3%;bottom:28%;animation-delay:-2.5s}.globe-card-d{left:25%;bottom:15%;animation-delay:-3.5s}@keyframes floatCard{50%{transform:translateY(-9px)}}.metric-strip{display:grid;grid-template-columns:repeat(4,1fr);padding:26px 8px 30px;background:linear-gradient(180deg,rgba(16,24,21,.86),rgba(8,13,11,.9));border-radius:12px;box-shadow:inset 0 1px rgba(255,255,255,.035),0 30px 70px rgba(0,0,0,.18)}.metric-strip>div{position:relative;padding:0 34px}.metric-strip>div+div:before{content:"";position:absolute;left:0;top:10px;bottom:8px;width:1px;background:linear-gradient(transparent,#27332d,transparent)}.metric-icon{float:left;margin-right:18px;color:#4ed997;font-size:23px}.metric-strip strong{display:block;font:500 31px/1 Manrope,sans-serif}.metric-strip b{display:block;margin-top:9px;color:#47d997;font-size:14px;font-weight:500}.metric-strip small{display:block;margin-top:8px;color:#6f7974;font-size:11px}.workspace-section{display:grid;grid-template-columns:.7fr 1.3fr;gap:75px;align-items:center;padding:115px 0}.workspace-copy h2{font:600 45px/1.15 Manrope,sans-serif;letter-spacing:-.05em;margin:0}.workspace-copy>p{color:#85908a;line-height:1.7;margin:22px 0 37px}.feature-list{display:flex;flex-direction:column;gap:23px}.feature-list article{display:flex;gap:16px}.feature-list article>span{flex:0 0 46px;width:46px;height:46px;display:grid;place-items:center;border-radius:10px;background:linear-gradient(145deg,#15231d,#0b110f);color:#4ee09d;box-shadow:inset 0 1px rgba(255,255,255,.04)}.feature-list h3{font-size:14px;margin:2px 0 5px}.feature-list p{font-size:12px;line-height:1.5;color:#737e78;margin:0}.product-window{min-height:590px;display:grid;grid-template-columns:145px 1fr;border-radius:14px;overflow:hidden;background:#0b100e;box-shadow:0 50px 100px rgba(0,0,0,.32),inset 0 1px rgba(255,255,255,.05)}.product-sidebar{padding:21px 14px;background:#0d1411;display:flex;flex-direction:column;gap:4px}.sidebar-brand{display:flex;align-items:center;gap:9px;padding:2px 8px 24px;color:#cbd2ce;font-size:10px}.sidebar-brand img{width:19px;height:19px}.product-sidebar a{display:flex;gap:9px;padding:10px 11px;border-radius:7px;color:#67716c;font-size:10px}.product-sidebar a.selected{background:#123524;color:#54d898}.product-main{padding:0 24px 28px;background:radial-gradient(circle at 75% 0,rgba(41,115,78,.08),transparent 36%),#0a100d}.product-topbar{height:56px;display:flex;align-items:center;gap:18px;color:#56605b;font-size:9px}.product-topbar>span{flex:1}.product-topbar button{width:27px;height:27px;border:0;border-radius:6px;background:#143d29;color:#5ee0a1}.product-topbar i{width:24px;height:24px;border-radius:50%;background:linear-gradient(145deg,#dfb081,#6e442b)}.product-greeting small{color:#53605a;font-size:8px}.product-greeting h3{margin:8px 0 5px;font-size:20px}.product-greeting p{margin:0;color:#68736d;font-size:10px}.project-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:23px}.project-cards article{position:relative;padding:14px;background:#101713;border-radius:8px}.project-cards small,.project-cards b{display:block}.project-cards small{font-size:9px}.project-cards b{margin:8px 0;color:#48d592;font-size:8px;font-weight:500}.project-cards article>div{height:3px;background:#1d2822;border-radius:5px;overflow:hidden}.project-cards i{display:block;height:100%;background:#43d493}.project-cards em{position:absolute;right:12px;bottom:9px;color:#87908b;font-size:7px;font-style:normal}.dashboard-grid{display:grid;grid-template-columns:1fr 1.05fr;gap:11px;margin-top:28px}.upcoming-panel,.progress-panel{padding:14px;background:#0e1512;border-radius:9px}.panel-title{display:flex;justify-content:space-between;color:#647069;font-size:8px;margin-bottom:12px}.panel-title strong{color:#cdd3d0}.upcoming-panel article{display:flex;gap:10px;padding:10px;background:#121a16;border-radius:7px;margin-top:7px}.upcoming-panel article i{font-style:normal;color:#49d696}.upcoming-panel b,.upcoming-panel small{display:block}.upcoming-panel b{font-size:8px}.upcoming-panel small{margin-top:4px;color:#69736e;font-size:7px}.progress-panel svg{width:100%;height:185px}.chart-area{fill:url(#chartFill)}.chart-line{fill:none;stroke:#47d997;stroke-width:2}.progress-panel circle{fill:#0e1512;stroke:#47d997;stroke-width:2}.progress-panel text{fill:#8df1bd;font-size:13px}.network-cta{position:relative;min-height:270px;margin-bottom:35px;display:grid;grid-template-columns:.75fr 1.25fr;align-items:center;overflow:hidden;border-radius:14px;background:radial-gradient(circle at 65% 60%,rgba(34,155,96,.18),transparent 35%),linear-gradient(135deg,#0b120f,#07100c);box-shadow:inset 0 1px rgba(255,255,255,.04)}.network-cta>div:first-child{padding:40px}.network-cta h2{font:600 32px/1.2 Manrope,sans-serif;letter-spacing:-.04em;margin:0}.network-cta p{color:#7d8882;font-size:13px;margin:13px 0 25px}.network-art{position:relative;height:270px}.network-logo{position:absolute;z-index:3;left:50%;top:50%;width:90px;height:90px;transform:translate(-50%,-50%);display:grid;place-items:center;border-radius:22px;background:#101a15;box-shadow:0 22px 55px rgba(0,0,0,.35),inset 0 1px rgba(255,255,255,.06)}.network-logo img{width:63px;height:63px}.network-art svg{position:absolute;inset:0;width:100%;height:100%;fill:none;stroke:#1b3d2d;stroke-width:1}.face{position:absolute;z-index:2;width:45px;height:45px;display:grid;place-items:center;border-radius:50%;font-style:normal;font-size:10px;font-weight:700;background:linear-gradient(145deg,#63dca1,#244c39);box-shadow:0 0 0 4px #0a120e}.f1{left:13%;top:47%}.f2{left:36%;top:11%}.f3{right:28%;top:17%}.f4{right:8%;top:54%}.f5{left:31%;bottom:5%}.premium-footer{display:grid;grid-template-columns:1fr 1fr auto auto;align-items:center;gap:30px;padding:35px 0 45px;color:#66716b;font-size:11px}.premium-footer>div{display:flex;gap:22px}.premium-footer a:hover{color:#fff}
@media(max-width:1000px){.premium-header{grid-template-columns:1fr auto}.premium-nav{display:none}.premium-hero{grid-template-columns:1fr;min-height:auto}.hero-copy-block{padding:80px 0 10px;max-width:760px}.globe-column{height:610px}.metric-strip{grid-template-columns:repeat(2,1fr);gap:30px 0}.metric-strip>div:nth-child(3):before{display:none}.workspace-section{grid-template-columns:1fr}.workspace-copy{max-width:600px}.network-cta{grid-template-columns:1fr}.network-art{height:260px}.premium-footer{grid-template-columns:1fr 1fr}.premium-footer>div{justify-content:flex-end}}
@media(max-width:650px){.premium-header,.premium-hero{width:calc(100% - 28px)}.premium-actions .login-link,.premium-actions .mint-button{display:none}.premium-actions .menu-button{display:block}.hero-copy-block{padding-top:55px}.hero-copy-block h1{font-size:48px}.hero-copy-block>p{font-size:16px}.premium-hero-actions{flex-direction:column;align-items:stretch}.hero-proof{flex-wrap:wrap}.globe-column{height:470px;margin:0 -10px}.globe-card{transform:scale(.82)}.globe-card-a{left:0}.globe-card-b{right:0}.globe-card-d{display:none}.metric-strip{grid-template-columns:1fr;padding:15px 0}.metric-strip>div{padding:18px 28px}.metric-strip>div+div:before{left:28px;right:28px;top:0;bottom:auto;width:auto;height:1px;background:linear-gradient(90deg,transparent,#27332d,transparent)}.workspace-section{padding:80px 0}.workspace-copy h2{font-size:38px}.product-window{grid-template-columns:1fr;min-height:510px}.product-sidebar{display:none}.product-main{padding:0 14px 18px}.dashboard-grid{grid-template-columns:1fr}.progress-panel{display:none}.network-cta>div:first-child{padding:34px 25px}.network-art{height:220px}.premium-footer{grid-template-columns:1fr}.premium-footer>div{justify-content:flex-start}}

/* Lightweight ASCII globe */
#particle-globe {
  position: relative;
  width: 100%;
  height: 100%;
  min-height: 560px;
}

.ascii-globe-canvas {
  display: block;
  width: 100%;
  height: 100%;
  cursor: grab;
  touch-action: pan-y;
}

.ascii-globe-canvas:active { cursor: grabbing; }

.globe-stat {
  position: absolute;
  z-index: 3;
  min-width: 170px;
  padding: 14px 16px;
  border: 0;
  border-radius: 12px;
  background: rgba(10, 18, 15, 0.76);
  box-shadow: 0 16px 50px rgba(0,0,0,.28);
  backdrop-filter: blur(14px);
  pointer-events: none;
}

.globe-stat strong,
.globe-stat span { display: block; }
.globe-stat strong { color: #f5f7f6; font-size: 1.05rem; font-weight: 600; }
.globe-stat span { margin-top: 4px; color: rgba(230,239,235,.58); font-size: .76rem; }
.globe-stat-a { top: 20%; right: 2%; }
.globe-stat-b { top: 46%; right: -1%; }
.globe-stat-c { top: 70%; right: 7%; }

@media (max-width: 900px) {
  #particle-globe { min-height: 430px; }
  .globe-stat { min-width: 145px; padding: 11px 13px; }
  .globe-stat-a { top: 14%; right: 1%; }
  .globe-stat-b { top: 48%; right: 0; }
  .globe-stat-c { top: 72%; right: 5%; }
}

@media (max-width: 620px) {
  #particle-globe { min-height: 360px; }
  .globe-stat { display: none; }
}

/* v6: restrained character globe and simplified product UI */
.globe-column{overflow:hidden}
.globe-aura{opacity:.42;filter:blur(85px);background:radial-gradient(circle,rgba(79,224,161,.12),transparent 68%)}
#particle-globe{min-height:540px}
.ascii-globe-canvas{opacity:.96}
.feature-list article>span.feature-index{width:34px;height:auto;background:none;box-shadow:none;border-radius:0;color:#55d99c;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:10px;letter-spacing:.08em;align-self:flex-start;padding-top:3px}
.product-sidebar a{gap:0;padding-left:13px}
.product-sidebar a span{display:block}
.product-topbar>span{font-size:11px;color:#65716b}
.upcoming-panel article>i{width:7px;height:7px;border-radius:50%;background:#4fe0a1;opacity:.75;font-size:0;flex:none;margin:4px 6px 0 0}
.product-window{box-shadow:0 35px 100px rgba(0,0,0,.32),inset 0 1px rgba(255,255,255,.025)}
.project-cards article,.upcoming-panel,.progress-panel{background:rgba(255,255,255,.023)}
.hero-proof{margin-top:40px}
@media(max-width:650px){#particle-globe{min-height:350px}}


/* v8 — unified Prodigy identity */
:root{
  --green:#50FCCF;
  --green-deep:#50FCCF;
  --accent:#50FCCF;
  --accent-rgb:80,252,207;
}
html,body,button,input,select,textarea{font-family:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
h1,h2,h3,h4,h5,.brand,.premium-brand{font-family:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}

/* One visual language throughout: no outlined cards or boxes. */
.site-header,.eyebrow,.secondary-button,.hero-product,.workspace-pill,.app-shell,.sidebar-search,
.sidebar-bottom button,.icon-button,.command-card,.dashboard-card,.meeting-note,.feature-card,
.ai-demo,.security-grid article,.cta-card,.app-window,.canvas-card,.wide-feature,.prompt-stack p,
.match-cards>div,.community-card,.skill-cloud i,.event-ticket,.featured-story,.story-tile,
.product-window,.project-cards article,.upcoming-panel,.progress-panel,.network-cta,
.mint-button,.dark-button,.product-topbar button{
  border:none!important;
  outline:none!important;
}

/* Remove divider lines inside product mockups while preserving spacing. */
.app-shell,.sidebar,.project-row,.chart,.product-window,.product-sidebar,.product-topbar,
.upcoming-panel article,.premium-footer,.site-footer{border-color:transparent!important}

/* Logo color becomes the only accent. */
a:hover,.desktop-nav a:hover,.premium-nav a:hover,.premium-nav a.active,.site-header nav a.active,
h1 span,.premium-hero h1 span,.workspace-copy h2 span,.network-cta h2 span,
.section-kicker,.feature-index,.text-link,.up,.status-dot,.live-dot{
  color:#50FCCF!important;
}
.mint-button,.button,.button-small,.event-ticket button,.dark-card button{
  background:#50FCCF!important;
  color:#06110d!important;
  box-shadow:0 12px 34px rgba(80,252,207,.14)!important;
}
.button span,.mint-button span{color:#06110d!important}
.progress i,.chart span.current,.project-cards article div i,.upcoming-panel article>i{
  background:#50FCCF!important;
}
.chart-line{stroke:#50FCCF!important}.chart-area{fill:rgba(80,252,207,.12)!important}.progress-panel circle{fill:#50FCCF!important}
.network-art svg{stroke:rgba(80,252,207,.22)!important}.face,.network-logo{box-shadow:0 0 32px rgba(80,252,207,.14)!important}

/* Softer premium surfaces replace outlines. */
.product-window,.app-window,.hero-product,.community-card,.story-tile,.featured-story,.network-cta,.cta-card{
  background:linear-gradient(180deg,rgba(255,255,255,.048),rgba(255,255,255,.022))!important;
  box-shadow:0 36px 110px rgba(0,0,0,.26)!important;
}
.home-dark .product-window,.home-dark .network-cta{background:rgba(255,255,255,.026)!important}
.project-cards article,.upcoming-panel,.progress-panel,.canvas-card,.prompt-stack p,.match-cards>div{
  background:rgba(255,255,255,.035)!important;
  box-shadow:none!important;
}

/* Cleaner typography and spacing. */
body{letter-spacing:-.012em}
h1,h2,h3{font-weight:600;letter-spacing:-.055em}
p{letter-spacing:-.014em}
.premium-nav,.premium-actions,.site-header nav{font-weight:500}
.premium-hero h1{font-weight:600}
.product-window{border-radius:22px!important}
.project-cards article,.upcoming-panel,.progress-panel{border-radius:14px!important}

/* Higher fidelity ASCII globe without excessive load. */
#particle-globe{min-height:570px}
.ascii-globe-canvas{opacity:1;filter:drop-shadow(0 0 22px rgba(80,252,207,.075))}
.globe-aura{background:radial-gradient(circle,rgba(80,252,207,.11),transparent 68%)!important;opacity:.55}
@media(max-width:900px){#particle-globe{min-height:455px}}
@media(max-width:650px){#particle-globe{min-height:365px}}

/* v9 — unified borderless system, smoother globe, stronger product asset */
.home-dark,.unified-page{background:#070b09;color:#f4f7f5}
.home-dark .premium-header,.unified-page .premium-header{background:rgba(7,11,9,.74);box-shadow:none;border:0!important}
.premium-nav a.active{color:#50FCCF!important}
.mint-button,.dark-button,.button,.button-small{border:0!important;outline:0!important}
.dark-button{background:rgba(255,255,255,.055)!important;box-shadow:none!important}
.dark-button:hover{background:rgba(255,255,255,.09)!important}
.mint-button{box-shadow:0 14px 38px rgba(80,252,207,.13)!important}
.product-window,.workspace-preview,.workspace-rail,.workspace-canvas,.workspace-toolbar,.focus-project,.today-list,.team-strip,.activity-chart,.network-cta,.simple-cta,.idea-map,.signal-timeline,.contribution-graph,.story-stream article{border:0!important;outline:0!important}

/* Globe: slightly more air between characters and cheaper rendering. */
#particle-globe{min-height:550px}
.ascii-globe-canvas{filter:drop-shadow(0 0 16px rgba(80,252,207,.055));opacity:.98}

/* Premium product preview */
.workspace-preview{display:grid!important;grid-template-columns:170px 1fr;min-height:620px;border-radius:24px!important;overflow:hidden;background:#0a100d!important;box-shadow:0 42px 120px rgba(0,0,0,.38)!important}
.workspace-rail{padding:24px 16px 18px;background:rgba(255,255,255,.018);display:flex;flex-direction:column}
.workspace-brand{display:flex;align-items:center;gap:9px;padding:0 8px 28px;font-size:12px;font-weight:600}.workspace-brand img{width:24px;height:24px}
.workspace-rail nav{display:flex;flex-direction:column;gap:5px}.workspace-rail nav a{padding:10px 11px;border-radius:9px;color:#77837d;font-size:11px}.workspace-rail nav a.selected{background:rgba(80,252,207,.08);color:#9dffe5}
.workspace-user{display:flex;align-items:center;gap:10px;margin-top:auto;padding:12px 8px}.workspace-user>span{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:#173127;color:#8fffe1;font-size:9px;font-weight:700}.workspace-user b,.workspace-user small{display:block}.workspace-user b{font-size:9px}.workspace-user small{font-size:7px;color:#66726c;margin-top:2px}
.workspace-canvas{padding:0 28px 25px;min-width:0}.workspace-toolbar{min-height:68px;display:flex;align-items:center;justify-content:space-between;color:#5f6d66;font-size:10px}.workspace-toolbar>div{display:flex;gap:8px}.workspace-toolbar button{border:0;border-radius:8px;background:rgba(255,255,255,.045);color:#aab5b0;padding:8px 11px;font-size:8px}.workspace-toolbar .new-project{background:#50FCCF;color:#07110d;font-weight:600}
.workspace-heading{display:flex;justify-content:space-between;align-items:flex-start;padding:35px 0 27px}.workspace-heading small{font-size:7px;letter-spacing:.16em;color:#56635d}.workspace-heading h3{font-size:30px;margin:8px 0 7px;letter-spacing:-.05em}.workspace-heading p{margin:0;color:#68756e;font-size:10px}.momentum{text-align:right;padding-top:7px}.momentum span,.momentum strong{display:block}.momentum span{color:#65716b;font-size:8px}.momentum strong{font-size:25px;color:#50FCCF;margin-top:5px}
.focus-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:14px}.focus-project,.today-list,.team-strip,.activity-chart{background:rgba(255,255,255,.027);border-radius:15px;padding:20px}.project-meta,.list-heading{display:flex;align-items:center;justify-content:space-between}.project-meta span{font-size:7px;letter-spacing:.14em;color:#5f6c65}.project-meta b{font-size:8px;color:#89f9dc}.focus-project h4{font-size:24px;margin:25px 0 8px}.focus-project>p{font-size:10px;line-height:1.55;color:#748079;max-width:380px}.milestone-line{height:5px;border-radius:10px;background:rgba(255,255,255,.055);margin:28px 0 18px;overflow:hidden}.milestone-line i{display:block;height:100%;background:#50FCCF;border-radius:10px}.project-footer{display:grid;grid-template-columns:1fr auto;gap:4px}.project-footer span{grid-column:1/-1;font-size:7px;color:#56635d;text-transform:uppercase;letter-spacing:.12em}.project-footer strong{font-size:9px}.project-footer small{font-size:8px;color:#6e7a74}.list-heading strong{font-size:10px}.list-heading span{font-size:7px;color:#5d6a63}.today-list article{display:flex;gap:10px;padding:15px 0}.today-list article i{width:7px;height:7px;border-radius:50%;background:#50FCCF;margin-top:4px;box-shadow:0 0 14px rgba(80,252,207,.28)}.today-list article b,.today-list article small{display:block}.today-list article b{font-size:9px}.today-list article small{font-size:7px;color:#68746e;margin-top:4px}
.workspace-bottom{display:grid;grid-template-columns:.75fr 1.25fr;gap:14px;margin-top:14px}.team-strip,.activity-chart{min-height:125px}.avatars{display:flex;align-items:center;margin-top:26px}.avatars span{width:31px;height:31px;border-radius:50%;display:grid;place-items:center;background:#13241d;color:#9fffe5;font-size:8px;margin-right:-5px;box-shadow:0 0 0 3px #0d1411}.avatars i{font-size:8px;color:#66736c;margin-left:13px}.activity-chart svg{width:100%;height:65px;margin-top:13px;overflow:visible}.activity-chart path{fill:none;stroke:#50FCCF;stroke-width:2}.activity-chart circle{fill:#50FCCF}

/* Unified secondary pages */
.unified-page main{padding-top:50px}.unified-hero{min-height:610px;display:grid;grid-template-columns:.92fr 1.08fr;align-items:center;gap:60px}.unified-hero h1{font-size:68px;line-height:1.01;margin:0;letter-spacing:-.07em}.unified-hero h1 span{color:#50FCCF}.unified-hero p{max-width:590px;color:#77827c;font-size:17px;line-height:1.7;margin-top:28px}.idea-orbit,.text-network,.story-signal{position:relative;height:470px}.idea-orbit svg,.contribution-graph svg,.story-signal svg{position:absolute;inset:0;width:100%;height:100%;fill:none;stroke:rgba(80,252,207,.16);stroke-width:1}.orbit-core{position:absolute;left:50%;top:50%;width:90px;height:90px;transform:translate(-50%,-50%);display:grid;place-items:center;border-radius:24px;background:rgba(80,252,207,.07)}.orbit-core img{width:54px}.orbit-node{position:absolute;padding:9px 12px;border-radius:10px;background:rgba(255,255,255,.035);font-size:11px;color:#aab5b0}.n1{left:8%;top:48%}.n2{left:31%;top:12%}.n3{right:9%;top:28%}.n4{right:18%;bottom:16%}.n5{left:28%;bottom:9%}
.asset-sections>article{min-height:520px;display:grid;grid-template-columns:1fr 1.1fr;gap:80px;align-items:center;padding:80px 0}.asset-sections>article.reverse{grid-template-columns:1.1fr 1fr}.asset-sections>article.reverse .asset-copy{order:2}.asset-copy small,.flow-copy small{font-size:10px;letter-spacing:.16em;color:#50FCCF}.asset-copy h2,.flow-copy h2{font-size:47px;margin:16px 0 18px}.asset-copy p,.flow-copy p{max-width:500px;color:#738078;line-height:1.7}.idea-map,.contribution-graph{position:relative;height:390px;background:radial-gradient(circle at center,rgba(80,252,207,.055),transparent 62%);border-radius:30px}.idea-map svg{position:absolute;inset:0;width:100%;height:100%;stroke:rgba(80,252,207,.16);fill:none}.map-center,.center-idea{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);padding:17px 20px;border-radius:13px;background:#102019;color:#baffeb;font-size:12px}.idea-map i,.contribution-graph i{position:absolute;font-style:normal;padding:9px 12px;border-radius:9px;background:rgba(255,255,255,.038);font-size:10px;color:#88958e}.m1{left:8%;top:18%}.m2{right:7%;top:16%}.m3{right:3%;bottom:20%}.m4{left:7%;bottom:18%}.m5{left:44%;top:5%}.signal-timeline{position:relative;height:250px;background:rgba(255,255,255,.02);border-radius:28px;padding:0 30px}.timeline-axis{position:absolute;left:6%;right:6%;top:50%;height:2px;background:rgba(255,255,255,.06)}.signal-timeline>i{position:absolute;left:6%;top:50%;height:2px;background:#50FCCF}.signal-timeline span{position:absolute;top:50%;transform:translate(-50%,-50%)}.signal-timeline span:before{content:"";display:block;width:9px;height:9px;border-radius:50%;background:#50FCCF;box-shadow:0 0 20px rgba(80,252,207,.28);margin-bottom:14px}.signal-timeline b,.signal-timeline small{display:block}.signal-timeline b{font-size:10px}.signal-timeline small{font-size:8px;color:#65716a;margin-top:4px}.simple-cta{margin-top:80px;margin-bottom:70px;padding:72px;display:flex;align-items:center;justify-content:space-between;border-radius:28px;background:radial-gradient(circle at 80% 30%,rgba(80,252,207,.08),transparent 40%),rgba(255,255,255,.02)}.simple-cta h2{font-size:42px;margin:0}
.text-network{display:grid;place-items:center}.text-network pre{margin:0;color:rgba(80,252,207,.58);font:500 15px/2 ui-monospace,SFMono-Regular,Menlo,monospace;text-align:center;letter-spacing:.02em}.network-pulse{position:absolute;width:8px;height:8px;border-radius:50%;background:#50FCCF;box-shadow:0 0 25px #50FCCF}.p1{left:20%;top:28%}.p2{right:18%;top:45%}.p3{left:45%;bottom:18%}.community-flow{min-height:600px;display:grid;grid-template-columns:.8fr 1.2fr;gap:70px;align-items:center}.contribution-graph i b,.contribution-graph i small{display:block}.contribution-graph i b{font-size:10px;color:#c9d2cd}.contribution-graph i small{font-size:8px;color:#65726b;margin-top:3px}.cg1{left:5%;top:12%}.cg2{right:4%;top:8%}.cg3{right:2%;bottom:12%}.cg4{left:4%;bottom:10%}.country-line{display:flex;flex-wrap:wrap;justify-content:center;gap:16px 32px;padding:60px 0;color:#65726b;font-size:12px}.country-line span:hover{color:#50FCCF}
.story-signal svg path{stroke:#50FCCF;stroke-width:2}.story-signal circle{fill:#50FCCF}.story-signal span{position:absolute;font-size:10px;color:#87938c}.ss1{left:1%;bottom:22%}.ss2{left:32%;top:30%}.ss3{left:63%;bottom:38%}.ss4{right:2%;top:19%}.story-stream{padding-top:45px}.story-stream article{display:grid;grid-template-columns:90px 1fr auto;gap:34px;align-items:center;padding:50px 0;background:transparent!important}.story-number{font-size:34px;color:#50FCCF;font-weight:500}.story-stream small{font-size:9px;letter-spacing:.15em;color:#50FCCF}.story-stream h2{font-size:34px;margin:10px 0 10px;max-width:740px}.story-stream p{color:#6f7c75;margin:0;max-width:690px}.story-stream a{color:#8fffe2;font-size:12px}

@media(max-width:900px){.workspace-preview{grid-template-columns:1fr}.workspace-rail{display:none}.focus-grid,.workspace-bottom{grid-template-columns:1fr}.unified-hero,.asset-sections>article,.asset-sections>article.reverse,.community-flow{grid-template-columns:1fr}.unified-hero{padding-top:70px}.unified-hero h1{font-size:54px}.idea-orbit,.text-network,.story-signal{height:400px}.asset-sections>article.reverse .asset-copy{order:0}.simple-cta{padding:48px;gap:30px}.story-stream article{grid-template-columns:60px 1fr}.story-stream article>a{grid-column:2}}
@media(max-width:620px){.workspace-canvas{padding:0 15px 18px}.workspace-heading{flex-direction:column}.momentum{text-align:left}.focus-grid{grid-template-columns:1fr}.today-list{display:none}.workspace-bottom{grid-template-columns:1fr}.activity-chart{display:none}.workspace-preview{min-height:auto}.unified-hero h1{font-size:44px}.unified-hero p{font-size:15px}.idea-orbit,.text-network,.story-signal{height:330px}.asset-sections>article{padding:45px 0;gap:30px}.asset-copy h2,.flow-copy h2{font-size:36px}.idea-map,.contribution-graph{height:320px}.simple-cta{flex-direction:column;align-items:flex-start;padding:36px}.simple-cta h2{font-size:32px}.story-stream article{grid-template-columns:1fr;gap:12px}.story-stream article>a{grid-column:1}.text-network pre{font-size:10px}.country-line{justify-content:flex-start}}

/* v11 — unified borderless product walkthrough */
.hero-aurora,.globe-aura{display:none!important}
button,.mint-button,.dark-button,.demo-shell,.demo-panel,.demo-tab,.demo-sidebar,.demo-app{border:0!important;outline-offset:3px}
.demo-section{padding-top:132px;padding-bottom:150px;display:grid;grid-template-columns:minmax(280px,.72fr) minmax(620px,1.55fr);gap:72px;align-items:start}
.demo-copy{position:sticky;top:118px}
.demo-kicker{display:block;color:var(--mint,#50fccf);font-size:12px;letter-spacing:.12em;text-transform:uppercase;margin-bottom:22px}
.demo-copy h2{font-size:clamp(42px,5vw,72px);line-height:1.02;letter-spacing:-.055em;margin:0;max-width:620px}
.demo-copy h2 span{color:var(--mint,#50fccf)}
.demo-copy>p{font-size:17px;line-height:1.7;color:#989d9b;max-width:520px;margin:26px 0 36px}
.demo-tabs{display:flex;flex-direction:column;gap:8px}
.demo-tab{background:transparent;color:#6f7673;text-align:left;padding:13px 2px;font:500 14px/1.2 inherit;cursor:pointer;transition:color .25s,transform .25s}
.demo-tab span{display:inline-block;width:34px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11px;color:#474d4b}
.demo-tab.active{color:#f2f5f4;transform:translateX(5px)}
.demo-tab.active span{color:var(--mint,#50fccf)}
.demo-shell{min-height:690px;border-radius:22px;background:#0e1110;box-shadow:0 40px 120px rgba(0,0,0,.5),inset 0 1px 0 rgba(255,255,255,.035);overflow:hidden;display:grid;grid-template-columns:178px 1fr}
.demo-sidebar{background:#0a0c0b;padding:22px 14px;display:flex;flex-direction:column;min-width:0}
.demo-logo{display:flex;align-items:center;gap:9px;padding:0 8px 24px;font-weight:600;color:#f0f5f3}
.demo-logo img{width:22px;height:22px}
.demo-space-title{font-size:10px;color:#4f5653;letter-spacing:.1em;text-transform:uppercase;padding:10px 10px}
.demo-sidebar nav{display:flex;flex-direction:column;gap:3px}
.demo-sidebar nav button{background:transparent;color:#737b77;padding:10px 10px;border-radius:9px;text-align:left;font:500 12px inherit;display:flex;align-items:center;gap:9px}
.demo-sidebar nav button i{width:7px;height:7px;border-radius:2px;background:#2b312e}
.demo-sidebar nav button span{margin-left:auto;color:#4e5652}
.demo-sidebar nav button.selected{background:#151a17;color:#eef4f1}
.demo-sidebar nav button.selected i{background:var(--mint,#50fccf);box-shadow:0 0 14px rgba(80,252,207,.35)}
.demo-sidebar-bottom{margin-top:auto;display:flex;gap:9px;align-items:center;padding:12px 8px 2px}
.demo-avatar{width:29px;height:29px;border-radius:50%;display:grid;place-items:center;background:#18221e;color:var(--mint,#50fccf);font-size:10px;font-weight:600}
.demo-sidebar-bottom div{display:flex;flex-direction:column;min-width:0}.demo-sidebar-bottom b{font-size:11px;color:#d7ddda}.demo-sidebar-bottom small{font-size:9px;color:#59615d}
.demo-app{min-width:0;display:flex;flex-direction:column;background:linear-gradient(180deg,#111513,#0d100f)}
.demo-topbar{height:62px;padding:0 22px;display:flex;align-items:center;justify-content:space-between;background:rgba(255,255,255,.012)}
.demo-breadcrumb{display:flex;gap:9px;align-items:center;font-size:11px}.demo-breadcrumb span,.demo-breadcrumb b{color:#515955}.demo-breadcrumb strong{color:#b7bfbb;font-weight:500}
.demo-top-actions{display:flex;gap:8px}.demo-top-actions button{font:500 10px inherit;color:#808884;background:#191e1b;padding:8px 11px;border-radius:8px}.demo-top-actions .demo-primary{background:var(--mint,#50fccf);color:#07100d}
.demo-stage{position:relative;flex:1;padding:32px;min-height:570px;overflow:hidden}
.demo-panel{position:absolute;inset:32px;background:#141816;border-radius:16px;padding:28px;box-shadow:0 24px 70px rgba(0,0,0,.35);opacity:0;transform:translateY(22px) scale(.985);pointer-events:none;transition:opacity .55s cubic-bezier(.2,.8,.2,1),transform .55s cubic-bezier(.2,.8,.2,1)}
.demo-panel.active{opacity:1;transform:translateY(0) scale(1);pointer-events:auto}
.demo-panel-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:34px}.demo-panel-heading small,.project-title-row small{font-size:9px;letter-spacing:.12em;color:#5f6763}.demo-status,.demo-panel-heading>span{font-size:10px;color:#77807b;background:#1d2420;padding:6px 9px;border-radius:99px}.demo-ai-dot{color:#07100d!important;background:var(--mint,#50fccf)!important;font-weight:700}
.demo-compose h3{font-size:31px;letter-spacing:-.04em;margin:0 0 38px;color:#f1f4f3}.demo-editor-label{font-size:11px;color:#68706c;margin-bottom:12px}.demo-editor{min-height:150px;background:#101311;border-radius:13px;padding:22px;color:#e7ece9;font-size:17px;line-height:1.55;box-shadow:inset 0 1px 0 rgba(255,255,255,.025)}
.typing-caret{display:inline-block;width:1.5px;height:1.1em;background:var(--mint,#50fccf);vertical-align:-2px;margin-left:2px;animation:caretBlink .75s steps(1) infinite}.demo-prompt-row{display:flex;gap:7px;flex-wrap:wrap;margin-top:17px}.demo-prompt-row span{font-size:9px;color:#68706c;background:#101311;padding:7px 9px;border-radius:7px}
.analysis-line{display:grid;grid-template-columns:100px 1fr;gap:22px;padding:15px 0}.analysis-line span{font-size:10px;color:#5f6763}.analysis-line p{font-size:13px;color:#d2d8d5;margin:0}.generated-tasks{margin-top:24px;display:flex;flex-direction:column;gap:8px}.generated-tasks article{display:grid;grid-template-columns:8px 1fr auto;align-items:center;gap:12px;padding:13px 15px;border-radius:11px;background:#101311;opacity:0;transform:translateY(8px)}.demo-analysis.active .generated-tasks article{animation:itemIn .42s forwards}.demo-analysis.active .generated-tasks article:nth-child(2){animation-delay:.16s}.demo-analysis.active .generated-tasks article:nth-child(3){animation-delay:.32s}.generated-tasks i{width:7px;height:7px;border-radius:50%;background:var(--mint,#50fccf)}.generated-tasks b{display:block;color:#dbe1de;font-size:11px}.generated-tasks small,.generated-tasks em{font-style:normal;color:#59615d;font-size:9px}
.demo-match{padding-top:28px}.match-row{display:grid;grid-template-columns:38px 1fr auto auto;align-items:center;gap:13px;background:#101311;border-radius:12px;padding:14px 15px;margin-bottom:9px;opacity:0;transform:translateX(15px)}.demo-match.active .match-row{animation:matchIn .46s forwards}.demo-match.active .match-row:nth-of-type(2){animation-delay:.15s}.demo-match.active .match-row:nth-of-type(3){animation-delay:.3s}.match-avatar{width:35px;height:35px;border-radius:50%;display:grid;place-items:center;background:#1a2420;color:#aafbe4;font-size:10px}.match-row b{display:block;color:#dde2df;font-size:11px}.match-row small{font-size:9px;color:#606863}.match-row strong{font-size:10px;color:var(--mint,#50fccf)}.match-row button{background:#1c2420;color:#c8cecb;padding:7px 10px;border-radius:7px;font:500 9px inherit}
.project-title-row{display:flex;justify-content:space-between;align-items:start}.project-title-row h3{font-size:34px;letter-spacing:-.04em;margin:8px 0 0}.project-live{font-size:9px;background:#163028;color:var(--mint,#50fccf);padding:7px 10px;border-radius:99px}.project-progress{margin-top:48px}.project-progress>div{display:flex;justify-content:space-between;margin-bottom:12px}.project-progress span{font-size:10px;color:#69716d}.project-progress strong{font-size:12px;color:#e1e7e4}.project-progress>i{display:block;height:7px;border-radius:99px;background:#0d100f;overflow:hidden}.project-progress b{display:block;height:100%;width:18%;background:var(--mint,#50fccf);border-radius:inherit;box-shadow:0 0 18px rgba(80,252,207,.25);transition:width 2.3s cubic-bezier(.2,.8,.2,1)}.project-columns{display:grid;grid-template-columns:1.5fr 1fr;gap:10px;margin-top:26px}.project-columns>div{background:#101311;border-radius:12px;padding:18px}.project-columns small{display:block;font-size:8px;color:#59615d;letter-spacing:.08em}.project-columns b{display:block;color:#d8ddda;font-size:12px;margin:12px 0 5px}.project-columns span{font-size:9px;color:#606762}.mini-team{display:flex;margin-top:14px}.mini-team span,.mini-team i{width:29px;height:29px;border-radius:50%;display:grid;place-items:center;background:#1c2622;color:#b7c2bd;font-size:8px;font-style:normal;margin-right:-5px;box-shadow:0 0 0 3px #101311}.project-activity{margin-top:10px;background:#101311;border-radius:12px;padding:14px 16px;display:grid;grid-template-columns:7px 1fr auto;gap:10px;align-items:center}.project-activity>span{width:7px;height:7px;background:var(--mint,#50fccf);border-radius:50%}.project-activity p{margin:0;color:#7d8581;font-size:10px}.project-activity p b{color:#cbd2ce}.project-activity time{font-size:8px;color:#4f5653}
.demo-cursor{position:absolute;z-index:20;width:20px;height:24px;opacity:0;pointer-events:none;transition:transform .8s cubic-bezier(.2,.8,.2,1),opacity .25s}.demo-cursor:before{content:"";position:absolute;width:0;height:0;border-left:8px solid #f4f8f6;border-top:12px solid transparent;border-bottom:3px solid transparent;transform:rotate(-20deg)}.demo-cursor span{position:absolute;width:13px;height:13px;border-radius:50%;background:rgba(80,252,207,.18);left:-4px;top:-4px;animation:cursorPulse 1.2s infinite}
.demo-progress{height:48px;display:grid;grid-template-columns:auto 1fr auto;gap:13px;align-items:center;padding:0 20px;background:#0b0e0c}.demo-replay{font:500 9px inherit;background:transparent;color:#6f7773;cursor:pointer}.demo-progress>div{height:2px;background:#202622;overflow:hidden}.demo-progress i{display:block;height:100%;width:0;background:var(--mint,#50fccf)}.demo-progress>span{font-size:8px;color:#565e5a;min-width:112px;text-align:right}
@keyframes caretBlink{50%{opacity:0}}@keyframes itemIn{to{opacity:1;transform:none}}@keyframes matchIn{to{opacity:1;transform:none}}@keyframes cursorPulse{50%{transform:scale(1.8);opacity:0}}
@media(max-width:1050px){.demo-section{grid-template-columns:1fr;gap:44px}.demo-copy{position:static}.demo-tabs{flex-direction:row;flex-wrap:wrap}.demo-shell{min-height:650px}.demo-copy h2{max-width:800px}}
@media(max-width:720px){.demo-section{padding-top:92px}.demo-shell{grid-template-columns:1fr;min-height:640px}.demo-sidebar{display:none}.demo-stage{padding:14px;min-height:540px}.demo-panel{inset:14px;padding:20px}.demo-topbar{padding:0 14px}.demo-top-actions button:first-child{display:none}.demo-copy h2{font-size:42px}.match-row{grid-template-columns:34px 1fr auto}.match-row button{display:none}.project-columns{grid-template-columns:1fr}.demo-progress>span{display:none}.demo-progress{grid-template-columns:auto 1fr}}

/* v12 performance + globe reliability */
.hero-aurora,.globe-aura{display:none!important}
.globe-column{contain:layout paint style;isolation:isolate}
#particle-globe{position:relative;display:block;min-height:520px;background:transparent!important;overflow:hidden;touch-action:pan-y;content-visibility:auto;contain-intrinsic-size:620px}
#particle-globe canvas{display:block;width:100%;height:100%;background:transparent;image-rendering:auto}
.demo-shell{contain:layout paint style}
.demo-panel{will-change:opacity,transform}
@media (prefers-reduced-motion:reduce){.demo-panel,.reveal{transition:none!important;animation:none!important}}

/* v13 — dense Trata-inspired character renderer */
.hero-aurora,.globe-aura,.page-glow{display:none!important}
#particle-globe{background:transparent!important;min-height:560px;overflow:hidden;contain:layout paint style;isolation:isolate}
#particle-globe .ascii-globe-canvas{display:block;width:100%;height:100%;opacity:1;filter:none!important;image-rendering:auto;cursor:grab;touch-action:pan-y}
#particle-globe .ascii-globe-canvas:active{cursor:grabbing}
@media(max-width:900px){#particle-globe{min-height:470px}}
@media(max-width:650px){#particle-globe{min-height:370px}}

/* v14 — Trata-inspired dense typographic globe */
.hero-aurora,.globe-aura{display:none!important}
#particle-globe{background:transparent!important;overflow:hidden}
#particle-globe .ascii-globe-canvas{opacity:1;filter:none!important;image-rendering:auto}

/* v15 — minimal Trata-inspired hero using the reliable v12 globe */
.trata-hero{
  width:min(1240px,calc(100% - 48px));
  min-height:760px;
  display:grid;
  grid-template-columns:minmax(0,.86fr) minmax(520px,1.14fr);
  align-items:center;
  gap:28px;
  padding:54px 0 36px;
}
.trata-copy{
  align-self:center;
  padding:0 0 0 8px;
  max-width:620px;
}
.trata-copy h1{
  max-width:610px;
  margin:0;
  font-size:clamp(62px,6.7vw,104px);
  line-height:.93;
  letter-spacing:-.075em;
  font-weight:600;
}
.trata-copy h1 span{display:block;color:var(--mint,#50fccf)}
.hero-single-cta{
  margin-top:42px;
  width:max-content;
  min-width:170px;
  justify-content:center;
}
.trata-globe{
  height:690px;
  min-width:0;
  overflow:visible;
}
.trata-globe #particle-globe{
  width:112%;
  height:100%;
  margin-left:-4%;
  min-height:0;
}
@media(max-width:1000px){
  .trata-hero{grid-template-columns:1fr;min-height:auto;padding-top:90px}
  .trata-copy{max-width:800px;padding-left:0}
  .trata-copy h1{max-width:800px}
  .trata-globe{height:590px;margin-top:-10px}
  .trata-globe #particle-globe{width:100%;margin-left:0}
}
@media(max-width:650px){
  .trata-hero{width:calc(100% - 28px);padding-top:62px;gap:8px}
  .trata-copy h1{font-size:52px;line-height:.96}
  .hero-single-cta{margin-top:30px}
  .trata-globe{height:410px}
}

/* v16 — warm white Trata-inspired system; globe renderer intentionally unchanged */
:root{
  --bg:#f7f5ef;
  --ink:#12120f;
  --muted:#686861;
  --panel:#fbfaf6;
  --mint:#50fccf;
  --mint-deep:#159a78;
}
html,body{background:var(--bg)!important;color:var(--ink)!important}
body,
body.home-dark,
body.unified-page{
  background-color:var(--bg)!important;
  background-image:none!important;
  color:var(--ink)!important;
  font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif!important;
}
.site-noise,.page-glow,.hero-aurora,.globe-aura{display:none!important}

/* global white navigation */
.premium-header{
  position:relative!important;
  top:auto!important;
  z-index:30;
  width:min(1340px,calc(100% - 48px))!important;
  margin:0 auto!important;
  padding:24px 0 14px!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  backdrop-filter:none!important;
  color:var(--ink)!important;
}
.premium-brand,.premium-brand span,.premium-nav a,.login-link{color:var(--ink)!important}
.premium-brand img{filter:none!important}
.premium-nav a{opacity:.68}
.premium-nav a:hover,.premium-nav a.active{opacity:1}
.mint-button,
.mint-button.small,
.demo-primary{
  border:0!important;
  box-shadow:none!important;
  background:var(--ink)!important;
  color:#fff!important;
}
.mint-button:hover,.demo-primary:hover{transform:translateY(-1px);background:#292923!important}
.menu-button{border:0!important;background:transparent!important}
.menu-button span{background:var(--ink)!important}

/* Trata-like homepage hero */
.trata-hero{
  position:relative;
  width:min(1340px,calc(100% - 48px))!important;
  min-height:790px!important;
  grid-template-columns:minmax(420px,.78fr) minmax(560px,1.22fr)!important;
  gap:10px!important;
  padding:54px 0 28px!important;
  overflow:hidden;
}
.trata-hero::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  opacity:.42;
  background-image:
    linear-gradient(rgba(28,28,25,.055) 1px,transparent 1px),
    linear-gradient(90deg,rgba(28,28,25,.055) 1px,transparent 1px);
  background-size:32px 32px;
  mask-image:linear-gradient(to bottom,black 0%,black 78%,transparent 100%);
  pointer-events:none;
}
.trata-copy{padding-left:2px!important;max-width:610px!important;z-index:2}
.trata-copy h1{
  font-family:Georgia,"Times New Roman",serif!important;
  font-size:clamp(66px,7.1vw,112px)!important;
  line-height:.88!important;
  letter-spacing:-.068em!important;
  font-weight:400!important;
  color:var(--ink)!important;
  text-wrap:balance;
}
.trata-copy h1 span{
  display:block;
  color:var(--mint-deep)!important;
}
.hero-single-cta{
  margin-top:36px!important;
  border-radius:999px!important;
  min-width:0!important;
  padding:14px 22px!important;
  font-size:14px!important;
}
.trata-globe{height:720px!important;align-self:center}
.trata-globe #particle-globe{width:116%!important;margin-left:-8%!important}
#particle-globe{background:transparent!important}
#particle-globe canvas{filter:none!important}

/* light product demo */
.demo-section{color:var(--ink)!important}
.demo-kicker,.demo-copy p,.demo-tabs button,.demo-step-label{color:var(--muted)!important}
.demo-copy h2,.demo-copy h2 span{color:var(--ink)!important}
.demo-copy h2 span{color:var(--mint-deep)!important}
.demo-tab{border:0!important;background:transparent!important}
.demo-tab.active{color:var(--ink)!important}
.demo-tab.active span{color:var(--mint-deep)!important}
.demo-shell{
  background:#ecebe5!important;
  color:var(--ink)!important;
  border:0!important;
  box-shadow:0 24px 70px rgba(28,28,24,.12)!important;
}
.demo-sidebar,.demo-app,.demo-topbar,.demo-stage,.demo-progress,
.demo-panel,.demo-editor,.demo-prompt-row span,.generated-tasks article,
.match-row,.project-columns>div,.project-activity{
  border:0!important;
}
.demo-sidebar{background:#e6e5df!important;color:var(--ink)!important}
.demo-app,.demo-stage,.demo-topbar{background:#f7f6f1!important;color:var(--ink)!important}
.demo-panel{background:#fffef9!important;color:var(--ink)!important;box-shadow:0 16px 44px rgba(30,30,26,.09)!important}
.demo-sidebar nav button,.demo-sidebar-bottom,.demo-breadcrumb,.demo-top-actions button,
.demo-space-title,.demo-panel-heading,.demo-editor-label,.demo-editor,.analysis-line,
.generated-tasks article,.match-row,.project-columns,.project-activity,.demo-progress{
  color:var(--ink)!important;
}
.demo-sidebar nav button.selected{background:#d9d8d2!important;color:var(--ink)!important}
.demo-editor,.generated-tasks article,.match-row,.project-columns>div,.project-activity,
.demo-prompt-row span{background:#f1f0ea!important}
.demo-progress{background:#e6e5df!important}
.demo-progress>div{background:#d2d1ca!important}
.demo-replay,.demo-progress>span{color:#64645e!important}

/* white-theme secondary pages */
.unified-hero,.asset-sections,.community-flow,.story-stream,.simple-cta,.premium-footer,
.country-line{color:var(--ink)!important}
.unified-hero h1,.unified-hero h1 span,.asset-copy h2,.flow-copy h2,.story-stream h2,.simple-cta h2{
  color:var(--ink)!important;
}
.unified-hero h1 span{color:var(--mint-deep)!important}
.unified-hero p,.asset-copy p,.flow-copy p,.story-stream p,.premium-footer p,.premium-footer small{
  color:var(--muted)!important;
}
.idea-orbit,.idea-map,.signal-timeline,.text-network,.contribution-graph,.story-signal,
.story-stream article,.simple-cta,.premium-footer{
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
}
.idea-orbit svg,.idea-map svg,.contribution-graph svg,.story-signal svg{stroke:#94948b!important}
.orbit-node,.map-center,.idea-map i,.center-idea,.contribution-graph i,
.story-signal span,.country-line span{
  border:0!important;
  background:#ebeae4!important;
  color:var(--ink)!important;
  box-shadow:none!important;
}
.country-line{border:0!important}
.story-stream article{border-bottom:1px solid rgba(20,20,17,.12)!important}
.premium-footer{border-top:1px solid rgba(20,20,17,.1)!important}

@media(max-width:1000px){
  .trata-hero{grid-template-columns:1fr!important;padding-top:70px!important}
  .trata-copy h1{max-width:900px!important}
  .trata-globe{height:600px!important;margin-top:-20px}
  .trata-globe #particle-globe{width:100%!important;margin-left:0!important}
}
@media(max-width:700px){
  .premium-header{width:calc(100% - 28px)!important}
  .trata-hero{width:calc(100% - 28px)!important;padding-top:44px!important}
  .trata-copy h1{font-size:56px!important;line-height:.92!important}
  .trata-globe{height:430px!important}
}

/* ═══════════════════════════════════════════════════════════════
   v17 — Premium cleanup: borders, typography, globe, spacing
   ═══════════════════════════════════════════════════════════════ */

/* Remove all remaining decorative borders on the homepage */
.home-dark *{border-color:transparent!important}
.home-dark .premium-footer{border-top:1px solid rgba(20,20,17,.10)!important}
.home-dark .story-stream article{border-bottom:1px solid rgba(20,20,17,.08)!important}
.home-dark .demo-shell{border:0!important}

/* Globe canvas: transparent bg, no filter, clean */
#particle-globe,
#particle-globe canvas,
.globe-canvas{
  background:transparent!important;
  filter:none!important;
  outline:none!important;
}
.globe-column{overflow:visible}

/* ASCII / mode toggle */
.hero-cta-row{
  display:flex;
  align-items:center;
  gap:14px;
  margin-top:36px;
}
.globe-toggle{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:10px 16px;
  border-radius:999px;
  background:transparent;
  border:1px solid rgba(18,18,15,.18)!important;
  color:var(--muted);
  font:500 12px/1 Inter,sans-serif;
  letter-spacing:.08em;
  cursor:pointer;
  transition:color .2s,border-color .2s;
}
.globe-toggle:hover{color:var(--ink);border-color:rgba(18,18,15,.4)!important}

/* Typography refinements */
.trata-copy h1{
  font-family:Georgia,"Times New Roman",Times,serif!important;
  font-weight:400!important;
  line-height:.88!important;
  letter-spacing:-.065em!important;
}
.demo-copy h2{
  font-weight:500!important;
  letter-spacing:-.055em!important;
}

/* Hero single CTA — pill shape */
.hero-single-cta{
  border-radius:999px!important;
  padding:13px 24px!important;
  font-size:14px!important;
}

/* Softer footer */
.premium-footer{
  color:var(--muted)!important;
  padding:40px 0 50px!important;
}
.premium-footer a{color:var(--muted)!important}
.premium-footer a:hover{color:var(--ink)!important}

/* Demo shell: remove any remaining borders inside panels */
.demo-editor,.demo-prompt-row span,.generated-tasks article,
.match-row,.project-columns>div,.project-activity{
  box-shadow:none!important;
}

/* Performance: contain repaints to the globe column */
.globe-column,.trata-globe{
  contain:layout paint style;
  isolation:isolate;
}
.demo-shell{contain:layout paint style}

/* Remove metric strip gradient */
.metric-strip{background:transparent!important;box-shadow:none!important;border:0!important}

/* Consistent section spacing */
.demo-section{padding-top:120px!important;padding-bottom:140px!important}

@media(max-width:700px){
  .hero-cta-row{flex-direction:column;align-items:flex-start;gap:12px}
  .globe-toggle{align-self:center}
}

/* ═══════════════════════════════════════════════════════════════
   v18 — Inter everywhere, white-background clarity, final polish
   ═══════════════════════════════════════════════════════════════ */

/* 1. Strip every serif/Manrope/DM Sans reference — Inter only */
*,
h1, h2, h3, h4, h5, h6,
.trata-copy h1,
.demo-copy h2,
.premium-brand,
.premium-brand span,
.workspace-brand,
.demo-logo {
  font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
}

/* 2. Hero headline — tight, heavy Inter */
.trata-copy h1 {
  font-size: clamp(58px, 6.4vw, 98px) !important;
  font-weight: 700 !important;
  line-height: .90 !important;
  letter-spacing: -.065em !important;
  color: var(--ink) !important;
}
.trata-copy h1 span {
  color: var(--mint-deep) !important;
  display: block;
}

/* 3. Section headings */
.demo-copy h2 {
  font-size: clamp(36px, 4.2vw, 60px) !important;
  font-weight: 600 !important;
  letter-spacing: -.05em !important;
  line-height: 1.04 !important;
}
.unified-hero h1 {
  font-size: clamp(44px, 5.2vw, 72px) !important;
  font-weight: 700 !important;
  letter-spacing: -.06em !important;
}

/* 4. Navigation — lighter weight, clean */
.premium-nav a, .login-link {
  font-weight: 400 !important;
  font-size: 14px !important;
  letter-spacing: -.01em !important;
}
.premium-brand span {
  font-weight: 600 !important;
  font-size: 16px !important;
  letter-spacing: -.03em !important;
}

/* 5. Globe colors tuned for warm-white background
      Accent: dark teal #0f6b52 — strong on #f7f5ef (4.3:1 contrast)
      Dim:    muted #2e7060                               */
:root {
  --globe-accent: #0f6b52;
  --globe-dim:    #2e7060;
}

/* 6. White-bg visibility: ensure page-level text is always dark */
body, .home-dark, .unified-page {
  color: var(--ink) !important;
}
.premium-nav a,
.login-link,
.demo-kicker,
.demo-copy > p,
.demo-tab,
.analysis-line span,
.analysis-line p {
  color: var(--muted) !important;
}
.demo-tab.active { color: var(--ink) !important; }
.demo-tab.active span { color: var(--mint-deep) !important; }

/* Hero section — grid + grid line background only */
.trata-hero {
  background: none !important;
}

/* 7. CTA button — clean dark pill */
.mint-button,
.mint-button.small,
.hero-single-cta,
.demo-primary {
  background: var(--ink) !important;
  color: #fff !important;
  border-radius: 999px !important;
  box-shadow: none !important;
  font-weight: 500 !important;
  font-size: 14px !important;
  letter-spacing: -.01em !important;
  padding: 12px 22px !important;
}
.mint-button:hover, .hero-single-cta:hover {
  background: #2a2a24 !important;
  transform: translateY(-1px);
}

/* 8. Globe toggle — subtle pill, same line as CTA */
.hero-cta-row {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-top: 38px;
}
.globe-toggle {
  display: inline-flex;
  align-items: center;
  padding: 11px 18px;
  border-radius: 999px;
  border: 1px solid rgba(18,18,12,.16) !important;
  background: transparent !important;
  color: var(--muted) !important;
  font: 400 13px/1 "Inter", sans-serif !important;
  letter-spacing: .02em;
  cursor: pointer;
  transition: color .18s, border-color .18s;
}
.globe-toggle:hover {
  color: var(--ink) !important;
  border-color: rgba(18,18,12,.38) !important;
}

/* 9. Demo shell on light background */
.demo-shell {
  background: #efede6 !important;
  box-shadow: 0 20px 60px rgba(20,20,14,.10) !important;
  border-radius: 18px !important;
}
.demo-sidebar  { background: #e8e6df !important; }
.demo-app,
.demo-stage,
.demo-topbar   { background: #f5f3ed !important; }
.demo-panel    {
  background: #faf9f5 !important;
  box-shadow: 0 8px 28px rgba(20,20,14,.07) !important;
}
.demo-progress { background: #e8e6df !important; }
.demo-progress > div { background: #d5d3cb !important; }
.demo-editor,
.generated-tasks article,
.match-row,
.project-columns > div,
.project-activity,
.demo-prompt-row span { background: #eeecea !important; }

/* Demo text on light bg */
.demo-logo span,
.demo-breadcrumb strong,
.demo-compose h3,
.project-title-row h3 { color: var(--ink) !important; }
.demo-breadcrumb span,
.demo-breadcrumb b    { color: #888880 !important; }
.demo-top-actions button { background: #e4e2db !important; color: var(--ink) !important; }
.demo-sidebar nav button { color: #737068 !important; }
.demo-sidebar nav button.selected {
  background: #dddbd4 !important;
  color: var(--ink) !important;
}
.demo-sidebar nav button.selected i { background: var(--mint-deep) !important; }

/* Accent colour in demo = mint-deep for contrast on light */
.demo-ai-dot        { background: var(--mint-deep) !important; color: #fff !important; }
.project-live       { background: #d9f0e8 !important; color: var(--mint-deep) !important; }
.project-activity > span,
.today-list article i,
.milestone-line i   { background: var(--mint-deep) !important; }
.match-row strong   { color: var(--mint-deep) !important; }
.typing-caret       { background: var(--mint-deep) !important; }
#demo-progress-bar  { background: var(--mint-deep) !important; }
.demo-tab.active span { color: var(--mint-deep) !important; }
.demo-primary       {
  background: var(--mint-deep) !important;
  color: #fff !important;
  border-radius: 7px !important;
}

/* 10. Footer */
.premium-footer {
  border-top: 1px solid rgba(18,18,12,.10) !important;
  padding: 38px 0 48px !important;
}
.premium-footer,
.premium-footer a,
.premium-footer p,
.premium-footer small { color: var(--muted) !important; }
.premium-footer a:hover { color: var(--ink) !important; }

/* 11. Unified secondary pages */
.unified-page .idea-map svg,
.unified-page .contribution-graph svg,
.unified-page .story-signal svg,
.unified-page .idea-orbit svg { stroke: rgba(18,18,12,.12) !important; }
.unified-page .orbit-node,
.unified-page .map-center,
.unified-page .center-idea,
.unified-page .idea-map i,
.unified-page .contribution-graph i {
  background: #eeece6 !important;
  color: var(--ink) !important;
}
.simple-cta {
  background: #f0ede6 !important;
  border-radius: 20px !important;
}

@media(max-width:700px){
  .hero-cta-row { flex-direction: column; align-items: flex-start; gap: 10px; }
  .trata-copy h1 { font-size: 52px !important; line-height: .92 !important; }
}

/* ── v19: Logo size, Notion-style demo, brand name ──────────────────────────── */

/* Bigger logo in nav */
.premium-brand img { width: 46px !important; height: 46px !important; }
.premium-brand span { font-size: 21px !important; }

/* Bigger logo in footer */
.premium-footer .premium-brand img { width: 52px !important; height: 52px !important; }
.premium-footer .premium-brand span { font-size: 24px !important; }

/* ── Compose panel: document blocks ── */
.doc-props {
  display: flex;
  gap: 14px;
  flex-wrap: wrap;
  margin: 6px 0 10px;
  padding-bottom: 8px;
  border-bottom: 1px solid rgba(18,18,12,.08);
}
.doc-prop {
  display: flex;
  align-items: center;
  gap: 5px;
  font-size: 11px;
  color: #999;
}
.doc-prop b { font-weight: 400; }
.doc-prop span { color: var(--ink); font-weight: 500; font-size: 11px; }

.doc-blocks {
  display: flex;
  flex-direction: column;
  gap: 1px;
  margin-bottom: 10px;
}
.doc-block {
  display: flex;
  gap: 6px;
  align-items: flex-start;
  padding: 2px 0;
  font-size: 12px;
  color: var(--muted);
  line-height: 1.5;
}
.bh {
  width: 16px;
  color: #d0cec7;
  flex-shrink: 0;
  font-size: 9px;
  letter-spacing: -.05em;
  margin-top: 2px;
  opacity: 0;
  transition: opacity .15s;
}
.doc-blocks:hover .bh { opacity: 1; }
.doc-block.db-h2 > span:last-child { font-size: 11px; font-weight: 600; color: var(--ink); }
.doc-block.db-bullet > span:last-child::before { content: "• "; color: #ccc; }

/* ── Analysis panel: task database header ── */
.task-db-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin: 10px 0 4px;
  padding-top: 8px;
  border-top: 1px solid rgba(18,18,12,.07);
}
.task-db-cols {
  display: flex;
  gap: 12px;
}
.task-db-cols span {
  font-size: 9px;
  font-weight: 500;
  letter-spacing: .06em;
  color: #bbb;
}

/* ── Match panel: skill tags ── */
.match-skills {
  display: flex;
  gap: 4px;
  flex-wrap: wrap;
  margin-top: 4px;
}
.skill-tag {
  font-size: 10px;
  padding: 2px 7px;
  border-radius: 4px;
  background: #e4e2db !important;
  color: #666 !important;
  font-weight: 400;
}
.match-mutual {
  font-size: 10px;
  color: #aaa;
  margin-top: 3px;
}

/* ── Sidebar: nested page list ── */
.demo-sidebar nav button:has(.sidebar-pages) { flex-wrap: wrap; }
.sidebar-pages {
  display: flex;
  flex-direction: column;
  flex-basis: 100%;
  width: 100%;
  margin: 2px 0 2px 20px;
  gap: 1px;
}
.page-item {
  font-size: 11px;
  color: #888 !important;
  padding: 3px 6px;
  border-radius: 4px;
  text-align: left;
  cursor: pointer;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.page-active {
  background: #dddbd4 !important;
  color: var(--ink) !important;
  font-weight: 500;
}

/* ── Project panel: kanban ── */
.kanban-view {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 7px;
  margin: 8px 0;
}
.kanban-col { display: flex; flex-direction: column; gap: 4px; }
.kanban-col-header {
  font-size: 10px;
  font-weight: 500;
  color: #999;
  text-transform: uppercase;
  letter-spacing: .05em;
  display: flex;
  align-items: center;
  gap: 5px;
  padding-bottom: 4px;
  border-bottom: 1px solid rgba(18,18,12,.08);
  margin-bottom: 2px;
}
.kanban-col-header span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 14px;
  height: 14px;
  border-radius: 3px;
  background: #dddbd4 !important;
  font-size: 9px;
  color: #888 !important;
}
.kanban-card {
  background: #f5f3ed !important;
  border-radius: 5px;
  padding: 6px 8px;
  font-size: 11px;
  color: var(--ink) !important;
  line-height: 1.3;
  display: flex;
  flex-direction: column;
  gap: 3px;
  box-shadow: 0 1px 3px rgba(0,0,0,.05);
}
.kanban-card small {
  font-size: 10px;
  color: #aaa !important;
}
.kanban-card.kc-done { opacity: .55; }
.kc-tag {
  display: inline-block;
  font-size: 9px;
  padding: 2px 6px;
  border-radius: 3px;
  font-weight: 500;
  align-self: flex-start;
}
.kc-tag.research { background: #e0ecfe !important; color: #3a7fd4 !important; }
.kc-tag.proto    { background: #fef0dc !important; color: #c07820 !important; }
.kc-tag.build    { background: #ddf5eb !important; color: #1a8a60 !important; }

/* ── Project panel: activity feed ── */
.activity-feed {
  display: flex;
  flex-direction: column;
  gap: 5px;
  margin-top: 6px;
  padding-top: 6px;
  border-top: 1px solid rgba(18,18,12,.07);
}
.af-item {
  display: flex;
  gap: 8px;
  align-items: flex-start;
  font-size: 11px;
  color: var(--muted) !important;
}
.af-dot {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--mint-deep) !important;
  flex-shrink: 0;
  margin-top: 4px;
}
.af-item p { flex: 1; margin: 0; }
.af-item b { color: var(--ink) !important; }
.af-item time { font-size: 10px; color: #bbb !important; flex-shrink: 0; }

/* ── v20: window chrome, live badge, launch/team panels, more demos ──────── */

/* Demo shell gains a header row for the window chrome bar */
.demo-shell {
  grid-template-rows: 40px 1fr !important;
  grid-template-columns: 178px 1fr !important;
}
.demo-window-chrome {
  grid-column: 1 / -1;
  display: flex;
  align-items: center;
  gap: 7px;
  padding: 0 16px;
  background: #08090a !important;
  border-bottom: 1px solid rgba(255,255,255,.06);
}
.wc-dot { width: 9px; height: 9px; border-radius: 50%; flex-shrink: 0; }
.wc-red    { background: #ff5f57; }
.wc-yellow { background: #febc2e; }
.wc-green  { background: #28c840; }
.wc-url {
  margin-left: 14px;
  font-size: 11px;
  color: #5c645f !important;
  font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
  letter-spacing: -.01em;
}
.wc-live {
  margin-left: auto;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 10px;
  font-weight: 500;
  color: #8f9793 !important;
}
.wc-live i {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #ff5f57;
  animation: liveBlink 1.6s ease-in-out infinite;
}
@keyframes liveBlink { 0%,100% { opacity: 1; } 50% { opacity: .25; } }

/* ── Launch panel ── */
.launch-title { font-size: 27px; letter-spacing: -.04em; margin: 4px 0 26px; color: var(--ink) !important; }
.kpi-row { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; margin-bottom: 22px; }
.kpi-card {
  background: #eeecea !important;
  border-radius: 12px;
  padding: 16px;
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.kpi-card small { font-size: 10px; color: #999 !important; }
.kpi-card b { font-size: 24px; letter-spacing: -.03em; color: var(--ink) !important; }
.kpi-card em { font-style: normal; font-size: 10px; color: var(--mint-deep) !important; }
.chart-block { background: #eeecea !important; border-radius: 12px; padding: 18px; }
.chart-block-heading { display: flex; justify-content: space-between; font-size: 10px; color: #999 !important; margin-bottom: 16px; }
.bar-chart { display: flex; align-items: flex-end; gap: 8px; height: 90px; }
.bar-chart i {
  flex: 1;
  height: var(--v);
  background: var(--mint-deep) !important;
  border-radius: 4px 4px 0 0;
  opacity: .85;
}

/* ── Team panel ── */
.team-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 10px; }
.team-card {
  background: #eeecea !important;
  border-radius: 12px;
  padding: 16px;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 8px;
}
.team-card b { font-size: 12px; color: var(--ink) !important; }
.team-card small { font-size: 10px; color: #999 !important; }
.team-invite-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-top: 16px;
  padding-top: 14px;
  border-top: 1px solid rgba(18,18,12,.08);
}
.team-invite-row span { font-size: 12px; color: var(--muted) !important; }

/* ── Section heading accent underline (site-wide design touch) ── */
.unified-hero h1::before {
  content: "";
  display: block;
  width: 46px;
  height: 3px;
  background: var(--mint-deep);
  border-radius: 2px;
  margin-bottom: 20px;
}

/* ── More demos showcase strip ── */
.showcase-strip {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 18px;
  margin-top: 90px;
}
.showcase-card {
  background: #efede6 !important;
  border-radius: 16px;
  padding: 20px;
  box-shadow: 0 14px 40px rgba(20,20,14,.08);
}
.showcase-card-head { display: flex; align-items: center; justify-content: space-between; margin-bottom: 14px; }
.showcase-card-head b { font-size: 13px; color: var(--ink) !important; }
.showcase-card-head span {
  font-size: 9px;
  color: var(--mint-deep) !important;
  background: #d9f0e8 !important;
  padding: 3px 8px;
  border-radius: 99px;
}
.showcase-mock {
  background: #faf9f5 !important;
  border-radius: 10px;
  padding: 14px;
  min-height: 130px;
}
.showcase-mock .sm-line { height: 7px; border-radius: 4px; background: #e4e2db !important; margin-bottom: 8px; }
.showcase-mock .sm-line.short { width: 55%; }
.showcase-mock .sm-pill {
  display: inline-block;
  font-size: 9px;
  padding: 4px 8px;
  border-radius: 6px;
  background: #e4e2db !important;
  color: #888 !important;
  margin-right: 6px;
  margin-top: 6px;
}
.showcase-mock .sm-bars { display: flex; align-items: flex-end; gap: 5px; height: 46px; margin-top: 10px; }
.showcase-mock .sm-bars i { flex: 1; background: var(--mint-deep) !important; border-radius: 3px 3px 0 0; opacity: .8; }
.showcase-card p { font-size: 12px; color: var(--muted) !important; margin: 14px 0 0; }

@media(max-width: 900px) {
  .showcase-strip { grid-template-columns: 1fr; }
  .kpi-row { grid-template-columns: 1fr; }
  .agent-list { grid-template-columns: 1fr; }
}

/* ── v21: contrast, spacing, cutoff fixes, agentic panels, no emoji ────────── */

/* Nav text a touch darker for readability */
.premium-nav a,
.login-link {
  color: #4c5350 !important;
}
.premium-nav a:hover,
.login-link:hover {
  color: var(--ink) !important;
}

/* More vertical room so the 6 demo steps never clip their content */
.demo-shell { min-height: 760px !important; }
.demo-stage { min-height: 660px !important; }
.demo-panel {
  overflow-y: auto;
  scrollbar-width: none;
}
.demo-panel::-webkit-scrollbar { display: none; }

/* Compose panel: tighten spacing so nothing gets cut off */
.demo-compose h3 { margin: 0 0 16px !important; font-size: 26px !important; }
.doc-props { margin: 0 0 14px !important; }
.doc-blocks { margin-bottom: 14px !important; }
.doc-block { padding: 3px 0 !important; }

/* Darken low-contrast text introduced in v19/v20 so nothing blends into the light background */
.doc-prop { color: #5c6460 !important; }
.doc-prop span { color: var(--ink) !important; }
.bh { color: #9a9d97 !important; }
.doc-block.db-bullet > span:last-child::before { color: #9a9d97 !important; }
.task-db-cols span { color: #7c827d !important; }
.match-mutual { color: #7c827d !important; }
.page-item { color: #5c6460 !important; }
.kanban-col-header { color: #5c6460 !important; }
.kanban-col-header span { color: #5c6460 !important; }
.kanban-card small { color: #7c827d !important; }
.kpi-card small { color: #7c827d !important; }
.chart-block-heading { color: #7c827d !important; }
.showcase-mock .sm-pill { color: #5c6460 !important; }
.demo-status,
.demo-panel-heading > span:not(.demo-ai-dot):not(.project-live) {
  color: #d9ded9 !important;
}

/* ── Agent panel (replaces the old team-directory panel — no avatars/photos) ── */
.agents-title { font-size: 22px; letter-spacing: -.03em; margin: 2px 0 22px; color: var(--ink) !important; }
.agent-list { display: flex; flex-direction: column; gap: 10px; }
.agent-row {
  background: #eeecea !important;
  border-radius: 12px;
  padding: 14px 16px;
}
.agent-row-head { display: flex; align-items: center; justify-content: space-between; margin-bottom: 6px; }
.agent-row-head b {
  font-size: 12px;
  font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
  color: var(--ink) !important;
  font-weight: 600;
}
.agent-status-pill {
  font-size: 9px;
  text-transform: uppercase;
  letter-spacing: .06em;
  color: var(--mint-deep) !important;
  background: #d9f0e8 !important;
  padding: 3px 8px;
  border-radius: 99px;
}
.agent-row p { margin: 0; font-size: 12px; color: var(--muted) !important; line-height: 1.5; }
.agent-summary {
  margin-top: 16px;
  padding-top: 14px;
  border-top: 1px solid rgba(18,18,12,.08);
  font-size: 12px;
  color: var(--mint-deep) !important;
  font-weight: 500;
}

/* ── Showcase strip: richer analytics/milestones, agent-workflow card ── */
.sm-stat-row { display: flex; align-items: baseline; gap: 8px; margin-bottom: 8px; }
.sm-stat-row span { font-size: 10px; color: #7c827d !important; flex: 1; }
.sm-stat-row b { font-size: 13px; color: var(--ink) !important; }
.sm-stat-row em { font-style: normal; font-size: 10px; color: var(--mint-deep) !important; }
.sm-legend { display: flex; justify-content: space-between; margin-top: 6px; }
.sm-legend span { font-size: 8px; color: #9a9d97 !important; }

.sm-timeline { display: flex; flex-direction: column; gap: 7px; margin-bottom: 10px; }
.sm-tl-row { display: flex; align-items: center; gap: 8px; font-size: 10px; }
.sm-tl-row span { flex: 1; color: #5c6460 !important; }
.sm-tl-row em { font-style: normal; color: #9a9d97 !important; }
.sm-tl-dot { width: 7px; height: 7px; border-radius: 50%; background: #d5d3cb !important; flex-shrink: 0; }
.sm-tl-dot.sm-done { background: var(--mint-deep) !important; }

.agent-mini-row { display: flex; align-items: center; gap: 8px; padding: 6px 0; font-size: 11px; }
.agent-mini-row span { flex: 1; color: #5c6460 !important; }
.agent-mini-row em { font-style: normal; font-size: 9px; color: #9a9d97 !important; }
.agent-mini-dot { width: 6px; height: 6px; border-radius: 50%; background: var(--mint-deep) !important; flex-shrink: 0; }
.agent-mini-dot.agent-mini-running { background: #c9a227 !important; animation: agentPulse 1.3s ease-in-out infinite; }
@keyframes agentPulse { 0%,100% { opacity: 1; } 50% { opacity: .35; } }

/* ── v22: Platform page — split-screen comparison + agent sequence ──────────
   Scoped entirely to unique classnames used only on platform.html.
   No borders, no gradients, no drop shadows, no glassmorphism.          ── */

.platform-comparison {
  width: min(1280px, calc(100% - 40px));
  margin: 70px auto 0;
}

.pc-split {
  display: grid;
  grid-template-columns: 1fr 1fr;
  min-height: 560px;
  border-radius: 20px;
  overflow: hidden;
}

.pc-left {
  background: #f7f5ef;
  position: relative;
  padding: 64px 56px 40px;
  overflow: hidden;
  display: flex;
  flex-direction: column;
}
.pc-left-headline {
  font-family: "Inter", sans-serif;
  font-size: clamp(30px, 3.2vw, 46px);
  font-weight: 700;
  letter-spacing: -.045em;
  line-height: 1.06;
  color: var(--ink, #12120f);
  max-width: 460px;
  margin: 0 0 44px;
}
.pc-messages {
  position: relative;
  flex: 1;
  min-height: 260px;
}
.pc-msg {
  position: absolute;
  background: rgba(18,18,15,.045);
  border-radius: 10px;
  padding: 10px 14px;
  font: 400 12.5px/1.5 "Inter", sans-serif;
  color: #4c524e;
  max-width: 230px;
  opacity: 0;
  transform: translateY(14px);
  transition: opacity .6s cubic-bezier(.2,.8,.2,1), transform .6s cubic-bezier(.2,.8,.2,1);
}
.pc-msg.pc-in { opacity: 1; transform: translateY(0); }
.pc-m1 { top: 0;   left: 0; }
.pc-m2 { top: 6px; left: 250px; }
.pc-m3 { top: 66px; left: 30px; }
.pc-m4 { top: 118px; left: 220px; }
.pc-m5 { top: 168px; left: 0; }
.pc-m6 { top: 206px; left: 258px; }
.pc-m7 { top: 236px; left: 70px; }

.pc-wave { display: block; width: 100%; height: 64px; margin-top: 14px; }

.pc-right {
  background: var(--mint, #50fccf);
  padding: 64px 48px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
}
.pc-right-headline {
  font-family: "Inter", sans-serif;
  font-size: clamp(30px, 3.2vw, 46px);
  font-weight: 700;
  letter-spacing: -.045em;
  line-height: 1.06;
  color: #fff;
  margin: 0 0 48px;
}
.pc-chip {
  display: inline-flex;
  align-items: center;
  background: rgba(255,255,255,.22);
  border-radius: 99px;
  padding: 14px 24px;
  font: 500 13.5px/1.3 "Inter", sans-serif;
  color: #0d3a2e;
  opacity: 0;
  transform: scale(.94);
  transition: opacity .5s cubic-bezier(.2,.8,.2,1), transform .5s cubic-bezier(.2,.8,.2,1);
}
.pc-chip.pc-in { opacity: 1; transform: scale(1); }

.pc-agent-strip {
  background: #101210;
  border-radius: 0 0 20px 20px;
  padding: 36px 44px 40px;
}
.pc-agent-headline {
  font: 500 14px/1.4 "Inter", sans-serif;
  color: #cfd6d2;
  min-height: 20px;
  margin-bottom: 4px;
}
.pc-agent-count {
  font-size: 11px;
  color: #6f7773;
  margin-bottom: 18px;
  opacity: 0;
  transition: opacity .4s ease;
}
.pc-agent-count.pc-in { opacity: 1; }
.pc-agent-list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 12px;
}
.pc-agent-card {
  background: #171a18;
  border-radius: 12px;
  padding: 16px;
  opacity: 0;
  transform: translateY(10px);
  transition: opacity .5s cubic-bezier(.2,.8,.2,1), transform .5s cubic-bezier(.2,.8,.2,1);
}
.pc-agent-card.pc-in { opacity: 1; transform: translateY(0); }
.pc-agent-card-head { display: flex; align-items: center; justify-content: space-between; margin-bottom: 8px; }
.pc-agent-card-head b {
  font: 600 12px/1 ui-monospace, SFMono-Regular, Menlo, monospace;
  color: #eef4f1;
}
.pc-agent-status {
  font-size: 9px;
  text-transform: uppercase;
  letter-spacing: .06em;
  color: #9aa19d;
}
.pc-agent-status.pc-agent-status-done { color: var(--mint, #50fccf); }
.pc-agent-task { margin: 0 0 8px; font-size: 11px; color: #b7bfbb; line-height: 1.4; }
.pc-agent-tokens { font-size: 10px; color: #5e6662; }
.pc-agent-done {
  margin-top: 20px;
  font: 500 12.5px/1.3 "Inter", sans-serif;
  color: var(--mint, #50fccf);
  opacity: 0;
  transition: opacity .5s ease;
}
.pc-agent-done.pc-in { opacity: 1; }

/* ── Platform pillars: simple 4-up explanation, no cards/borders/shadows ── */
.platform-pillars {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 32px;
  margin: 110px auto 90px;
}
.pillar { padding-top: 18px; border-top: 1px solid rgba(18,18,12,.1); }
.pillar small {
  display: block;
  font-size: 11px;
  letter-spacing: .1em;
  color: var(--mint-deep, #159a78);
  margin-bottom: 14px;
}
.pillar h3 {
  font-size: 18px;
  font-weight: 600;
  letter-spacing: -.02em;
  margin: 0 0 8px;
  color: var(--ink, #12120f);
}
.pillar p {
  font-size: 13px;
  line-height: 1.6;
  color: var(--muted, #68716c);
  margin: 0;
}

@media (max-width: 800px) {
  .pc-split { grid-template-columns: 1fr; min-height: 0; }
  .pc-left, .pc-right { padding: 40px 24px; }
  .pc-left-headline, .pc-right-headline { font-size: 30px; margin-bottom: 28px; }
  .pc-messages { position: static; min-height: 0; display: flex; flex-direction: column; gap: 8px; }
  .pc-msg { position: static; max-width: 100%; transform: none !important; }
  .pc-agent-strip { padding: 26px 20px 30px; border-radius: 0 0 16px 16px; }
  .pc-agent-list { grid-template-columns: 1fr; }
  .platform-pillars { grid-template-columns: 1fr 1fr; gap: 26px; margin: 70px auto 60px; }
}

@media (max-width: 480px) {
  .platform-pillars { grid-template-columns: 1fr; }
}

@media (prefers-reduced-motion: reduce) {
  .pc-msg, .pc-chip, .pc-agent-card, .pc-agent-count, .pc-agent-done {
    transition: none !important;
  }
}

/* ── v24: unified product demo shell (Validate / Build / Grow) ──────────────
   Scoped entirely to .pd-* classnames. No borders, no gradients, no heavy
   shadows, no blue/emoji accents — tonal surfaces + spacing establish
   hierarchy. Used on the homepage (compact) and platform.html (full).    ── */

.pd-home-section {
  margin: 60px auto 110px;
}
.pd-home-head { max-width: 620px; margin-bottom: 30px; }
.pd-home-head h2 {
  font-size: clamp(28px, 3vw, 38px);
  font-weight: 700;
  letter-spacing: -.04em;
  color: var(--ink);
  margin: 0 0 12px;
}
.pd-home-head p { font-size: 15px; line-height: 1.6; color: var(--muted); margin: 0; }
.pd-full-link {
  display: inline-block;
  margin-top: 22px;
  font-size: 13px;
  font-weight: 500;
  color: var(--mint-deep) !important;
}
.pd-full-link:hover { color: var(--ink) !important; }
.pd-noscript {
  background: #fbfaf6;
  border-radius: 16px;
  padding: 40px 30px;
  text-align: center;
  color: var(--muted);
  font-size: 14px;
}

.pd-full-section { margin: 70px auto 100px; }
.pd-full-head { max-width: 640px; margin-bottom: 34px; }
.pd-full-head h2 {
  font-size: clamp(30px, 3.4vw, 42px);
  font-weight: 700;
  letter-spacing: -.04em;
  color: var(--ink);
  margin: 0 0 14px;
}
.pd-full-head p { font-size: 15px; line-height: 1.65; color: var(--muted); margin: 0; }

/* ── shell frame ── */
.pd-shell {
  position: relative;
  background: #fbfaf6;
  border-radius: 20px;
  box-shadow: 0 20px 60px rgba(20,20,14,.09);
  overflow: hidden;
  font-family: "Inter", sans-serif;
  outline: none;
}
.pd-topbar {
  height: 54px;
  padding: 0 18px;
  display: flex;
  align-items: center;
  gap: 16px;
  background: #f5f3ed;
}
.pd-project { display: flex; align-items: center; gap: 10px; min-width: 0; }
.pd-project-name { font-size: 13px; font-weight: 600; color: var(--ink); letter-spacing: -.01em; }
.pd-stage {
  font-size: 10px;
  font-weight: 500;
  padding: 4px 10px;
  border-radius: 99px;
  background: #eeece6;
  color: #5c6460;
}
.pd-search {
  flex: 1;
  display: flex;
  align-items: center;
  justify-content: space-between;
  max-width: 320px;
  background: #eeece6;
  border-radius: 8px;
  padding: 7px 10px;
  font-size: 12px;
  color: #8a8f8a;
  cursor: pointer;
}
.pd-search kbd {
  font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
  font-size: 10px;
  color: #9a9d97;
  background: #e4e2db;
  padding: 2px 6px;
  border-radius: 4px;
}
.pd-presence { display: flex; margin-left: auto; }
.pd-avatar {
  width: 26px; height: 26px;
  border-radius: 50%;
  background: #dddbd4;
  color: #5c6460;
  font-size: 9px;
  font-weight: 600;
  display: flex; align-items: center; justify-content: center;
  margin-left: -6px;
  box-shadow: 0 0 0 2px #f5f3ed;
}
.pd-avatar:first-child { margin-left: 0; }

.pd-body { display: grid; grid-template-columns: 168px 1fr 260px; min-height: 560px; }

.pd-nav { background: #efede6; padding: 16px 10px; display: flex; flex-direction: column; gap: 2px; }
.pd-nav-item {
  display: flex; align-items: center; gap: 9px;
  padding: 8px 10px; border-radius: 8px;
  background: transparent; color: #767b73;
  font-size: 12px; text-align: left;
}
.pd-nav-ic { width: 6px; height: 6px; border-radius: 2px; background: #c7c5bc; flex-shrink: 0; }
.pd-nav-item.pd-nav-active { background: #dddbd4; color: var(--ink); }
.pd-nav-item.pd-nav-active .pd-nav-ic { background: var(--mint-deep); }

.pd-canvas { padding: 26px 28px; min-width: 0; overflow-y: auto; }
.pd-side { background: #eeece6; padding: 22px 18px; overflow-y: auto; }

.pd-footer {
  display: flex; align-items: center; justify-content: space-between;
  gap: 16px; padding: 12px 18px; background: #f5f3ed; flex-wrap: wrap;
}
.pd-scenario-tabs { display: flex; gap: 6px; }
.pd-scenario-tab {
  font-size: 12px; font-weight: 500; color: #767b73;
  background: transparent; padding: 8px 14px; border-radius: 8px;
}
.pd-scenario-tab.pd-active { background: var(--ink); color: #fff; }
.pd-controls { display: flex; align-items: center; gap: 6px; }
.pd-ctrl {
  font-size: 12px; color: #767b73; background: #eeece6;
  padding: 7px 11px; border-radius: 7px;
}
.pd-ctrl:hover { color: var(--ink); }
.pd-ctrl-toggle, .pd-ctrl-replay { font-weight: 500; }
.pd-dots { display: flex; gap: 4px; margin-left: 8px; }
.pd-dot { width: 5px; height: 5px; border-radius: 50%; background: #d5d3cb; }
.pd-dot-on { background: var(--mint-deep); }

/* ── compact variant (homepage) ── */
.pd-compact .pd-nav,
.pd-compact .pd-side { display: none; }
.pd-compact .pd-body { grid-template-columns: 1fr; min-height: 0; }
.pd-compact .pd-canvas { padding: 22px 22px 26px; max-height: 480px; }
.pd-compact .pd-search { max-width: 220px; }
.pd-compact .pd-avatar:nth-child(n+3) { display: none; }

/* ── canvas page content ── */
.pd-page { display: flex; flex-direction: column; gap: 20px; }
.pd-page-head { display: flex; align-items: center; justify-content: space-between; }
.pd-page-head small { font-size: 10px; letter-spacing: .1em; color: #9a9d97; }
.pd-badge { font-size: 10px; font-weight: 500; color: #5c6460; background: #eeece6; padding: 4px 10px; border-radius: 99px; }
.pd-page-title { font-size: 21px; font-weight: 600; letter-spacing: -.03em; color: var(--ink); margin: -8px 0 0; }
.pd-sample-note { font-size: 11px; color: #9a9d97; margin-top: -14px; }

.pd-intake { display: flex; flex-direction: column; gap: 8px; }
.pd-intake-label { font-size: 11px; color: #9a9d97; }
.pd-intake-text {
  background: #f0eee7; border-radius: 12px; padding: 16px 18px;
  font-size: 15px; color: var(--ink); min-height: 24px;
}
.pd-typewriter { display: inline-block; overflow: hidden; white-space: nowrap; vertical-align: bottom; width: 0; }
.pd-caret { display: inline-block; width: 1.5px; height: 1em; background: var(--mint-deep); vertical-align: -2px; margin-left: 2px; animation: pdCaretBlink .8s steps(1) infinite; }
@keyframes pdCaretBlink { 50% { opacity: 0; } }

.pd-field, .pd-block, .pd-outcome, .pd-metrics, .pd-milestone-note {
  opacity: 0; transform: translateY(8px);
  transition: opacity .45s cubic-bezier(.2,.8,.2,1), transform .45s cubic-bezier(.2,.8,.2,1);
}
.pd-field.pd-in, .pd-block.pd-in, .pd-outcome.pd-in, .pd-metrics.pd-in, .pd-milestone-note.pd-in {
  opacity: 1; transform: none;
}
.pd-field small, .pd-block > small { display: block; font-size: 10px; letter-spacing: .08em; color: #9a9d97; margin-bottom: 8px; }
.pd-field p { font-size: 14px; color: var(--ink); line-height: 1.55; margin: 0; }

.pd-list { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 6px; }
.pd-list li {
  font-size: 13px; color: var(--ink); background: #f0eee7; border-radius: 8px;
  padding: 9px 12px; opacity: 0; animation: pdRowIn .4s var(--d, 0ms) forwards;
}
@keyframes pdRowIn { from { opacity: 0; transform: translateY(6px); } to { opacity: 1; transform: none; } }

.pd-rows { display: flex; flex-direction: column; gap: 6px; }
.pd-row {
  display: flex; align-items: center; gap: 12px;
  background: #fff; border-radius: 8px; padding: 11px 14px;
  cursor: pointer; opacity: 0; animation: pdRowIn .4s var(--d, 0ms) forwards;
  transition: background .12s ease;
}
.pd-row:hover { background: #f5f4f0; }
.pd-row-main { display: flex; flex-direction: column; gap: 2px; flex: 1; min-width: 0; }
.pd-row-main b { font-size: 13px; font-weight: 500; color: var(--ink); }
.pd-row-sub { font-size: 11px; color: #8a8f8a; }
.pd-row-detail {
  flex-basis: 100%; font-size: 12px; color: var(--muted);
  margin-top: 6px; padding-top: 8px; border-top: 1px solid rgba(18,18,12,.07);
}
.pd-row.pd-row-expanded { flex-wrap: wrap; background: #ece9e0; }

.pd-table { display: flex; flex-direction: column; gap: 4px; }
.pd-table-row {
  display: grid; grid-template-columns: 1.2fr 1fr 1fr; gap: 10px;
  font-size: 12px; color: var(--muted); padding: 8px 12px; border-radius: 8px;
  background: #f0eee7; opacity: 0; animation: pdRowIn .4s var(--d, 0ms) forwards;
}
.pd-table-row span:first-child { color: var(--ink); font-weight: 500; }

.pd-score-row { display: flex; align-items: center; gap: 12px; }
.pd-score-track, .pd-score-fill { border-radius: 99px; }
.pd-score-track { flex: 1; height: 6px; background: #eeece6; overflow: hidden; }
.pd-score-fill { height: 100%; width: 0%; background: var(--mint-deep); }
.pd-score-value { font-size: 15px; font-weight: 600; color: var(--ink); min-width: 28px; text-align: right; }

.pd-outcome {
  font-size: 13px; font-weight: 500; color: var(--mint-deep);
  padding-top: 14px; border-top: 1px solid rgba(18,18,12,.08);
}

.pd-status-pill { font-size: 10px; font-weight: 500; padding: 4px 10px; border-radius: 99px; flex-shrink: 0; }
.pd-status-queued    { background: #eeece6; color: #6b7066; }
.pd-status-analyzing { background: #ece9fb; color: #6a5fcf; }
.pd-status-progress  { background: #fbf0d9; color: #a9791d; }
.pd-status-review    { background: #e0eefc; color: #2f7cc4; }
.pd-status-complete  { background: #d9f0e8; color: var(--mint-deep); }

/* ── build scenario: timeline, chips, matches, mentor ── */
.pd-timeline { display: flex; align-items: center; gap: 4px; overflow-x: auto; }
.pd-tl-node {
  display: flex; flex-direction: column; align-items: center; gap: 6px;
  flex: 1; min-width: 84px; opacity: 0; animation: pdRowIn .4s var(--d, 0ms) forwards;
}
.pd-tl-dot { width: 9px; height: 9px; border-radius: 50%; background: #d5d3cb; }
.pd-tl-node.pd-tl-current .pd-tl-dot { background: var(--mint-deep); box-shadow: 0 0 0 4px #d9f0e8; }
.pd-tl-node.pd-tl-done .pd-tl-dot { background: var(--mint-deep); }
.pd-tl-label { font-size: 10.5px; color: #8a8f8a; text-align: center; }
.pd-tl-node.pd-tl-current .pd-tl-label { color: var(--ink); font-weight: 500; }

.pd-chips { display: flex; flex-wrap: wrap; gap: 6px; }
.pd-chip {
  font-size: 11px; color: #5c6460; background: #f0eee7; padding: 6px 11px;
  border-radius: 7px; opacity: 0; animation: pdRowIn .4s var(--d, 0ms) forwards;
}

.pd-avatar-sm {
  width: 30px; height: 30px; border-radius: 50%; background: #dddbd4;
  color: #5c6460; font-size: 10px; font-weight: 600;
  display: flex; align-items: center; justify-content: center; flex-shrink: 0;
}
.pd-match-pct { font-size: 12px; font-weight: 600; color: var(--mint-deep); }
.pd-invite-btn { font-size: 11px; font-weight: 500; color: #fff; background: var(--mint-deep); padding: 7px 12px; border-radius: 7px; }
.pd-invite-btn.pd-invite-done { background: #dddbd4; color: #5c6460; }
.pd-mentor-row { display: flex; align-items: center; gap: 12px; background: #f0eee7; border-radius: 10px; padding: 12px 14px; }

/* ── grow scenario: metrics, experiment, checklist, graph ── */
.pd-metrics { display: grid; grid-template-columns: repeat(auto-fit, minmax(110px, 1fr)); gap: 8px; }
.pd-kpi {
  background: #f0eee7; border-radius: 10px; padding: 12px 14px;
  display: flex; flex-direction: column; gap: 4px;
  opacity: 0; animation: pdRowIn .4s var(--d, 0ms) forwards;
}
.pd-kpi small { font-size: 10px; color: #9a9d97; }
.pd-kpi b, .pd-kpi-value { font-size: 17px; font-weight: 600; color: var(--ink); letter-spacing: -.02em; display: block; }
.pd-milestone-note { font-size: 11.5px; color: #9a9d97; }

.pd-highlight { background: #d9f0e8; color: #0d4a3a; font-size: 13px; line-height: 1.5; padding: 12px 14px; border-radius: 10px; }

.pd-experiment { background: #f0eee7; border-radius: 10px; padding: 14px; display: flex; flex-direction: column; gap: 10px; }
.pd-experiment p { margin: 0; font-size: 13px; color: var(--ink); line-height: 1.5; }
.pd-select-btn { align-self: flex-start; font-size: 11px; font-weight: 500; color: #fff; background: var(--mint-deep); padding: 8px 14px; border-radius: 7px; }
.pd-select-btn.pd-invite-done { background: #dddbd4; color: #5c6460; }

.pd-checklist { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 6px; }
.pd-checklist li {
  position: relative; font-size: 13px; color: var(--ink); background: #f0eee7;
  border-radius: 8px; padding: 9px 12px 9px 34px;
  opacity: 0; animation: pdRowIn .4s var(--d, 0ms) forwards;
}
.pd-checklist li::before {
  content: ""; position: absolute; left: 12px; top: 50%; transform: translateY(-50%);
  width: 12px; height: 12px; border-radius: 4px; background: #dddbd4;
}
.pd-checklist li.pd-goal-done { color: #6b7066; }
.pd-checklist li.pd-goal-done::before { background: var(--mint-deep); }

.pd-mentor-comment { display: flex; align-items: flex-start; gap: 10px; background: #f0eee7; border-radius: 10px; padding: 12px 14px; }
.pd-mentor-comment p { margin: 0; font-size: 13px; line-height: 1.5; color: var(--ink); }
.pd-mentor-comment b { color: var(--ink); }

.pd-graph { width: 100%; height: 70px; display: block; }
.pd-graph path { fill: none; stroke: var(--mint-deep); stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }

/* ── side panel: agent activity feed ── */
.pd-side-head { font-size: 11px; letter-spacing: .08em; color: #8a8f8a; margin-bottom: 12px; }
.pd-side-announce { font-size: 12px; color: var(--ink); margin-bottom: 14px; line-height: 1.5; }
.pd-agent-list { display: flex; flex-direction: column; gap: 8px; }
.pd-agent-row {
  background: #f5f3ed; border-radius: 10px; padding: 12px 13px;
  opacity: 0; transform: translateY(6px);
  transition: opacity .4s cubic-bezier(.2,.8,.2,1), transform .4s cubic-bezier(.2,.8,.2,1);
}
.pd-agent-row.pd-in { opacity: 1; transform: none; }
.pd-agent-row-head { display: flex; align-items: center; justify-content: space-between; margin-bottom: 5px; }
.pd-agent-row-head b { font: 600 11px ui-monospace, SFMono-Regular, Menlo, monospace; color: var(--ink); }
.pd-agent-status { font-size: 9px; text-transform: uppercase; letter-spacing: .05em; color: #9a9d97; }
.pd-agent-status-done { color: var(--mint-deep); }
.pd-agent-row p { margin: 0; font-size: 11.5px; color: var(--muted); line-height: 1.4; }

/* ── command palette ── */
.pd-palette {
  position: absolute; inset: 0; z-index: 20;
  background: rgba(18,18,15,.34);
  display: flex; align-items: flex-start; justify-content: center; padding-top: 70px;
  opacity: 0; pointer-events: none; transition: opacity .2s ease;
}
.pd-palette.pd-in { opacity: 1; pointer-events: auto; }
.pd-palette-box {
  width: min(360px, 84%); background: #fff; border-radius: 12px;
  box-shadow: 0 24px 60px rgba(0,0,0,.24); padding: 14px;
  transform: translateY(-8px); transition: transform .2s ease;
}
.pd-palette.pd-in .pd-palette-box { transform: translateY(0); }
.pd-palette-hint { font-size: 10px; letter-spacing: .08em; color: #9a9d97; padding: 4px 8px 8px; }
.pd-palette-list { display: flex; flex-direction: column; gap: 2px; }
.pd-palette-item { text-align: left; font-size: 13px; color: var(--ink); padding: 9px 10px; border-radius: 7px; }
.pd-palette-item:hover, .pd-palette-item:focus-visible { background: #f0eee7; outline: none; }

/* ── responsive ── */
@media (max-width: 980px) {
  .pd-body { grid-template-columns: 56px 1fr 220px; }
  .pd-nav-item span { display: none; }
  .pd-nav-item { justify-content: center; }
}

@media (max-width: 800px) {
  .pd-topbar { flex-wrap: wrap; height: auto; padding: 12px 14px; gap: 10px; }
  .pd-search { order: 3; max-width: 100%; }
  .pd-body { grid-template-columns: 1fr; }
  .pd-nav { flex-direction: row; overflow-x: auto; padding: 10px; }
  .pd-nav-item span { display: none; }
  .pd-side { border-radius: 0; }
  .pd-footer { flex-direction: column; align-items: stretch; }
  .pd-scenario-tabs { overflow-x: auto; }
  .pd-table-row { grid-template-columns: 1fr; gap: 2px; }
}

@media (max-width: 520px) {
  .pd-canvas { padding: 18px 16px; }
  .pd-side { padding: 16px 14px; }
}

@media (prefers-reduced-motion: reduce) {
  .pd-field, .pd-block, .pd-outcome, .pd-metrics, .pd-milestone-note,
  .pd-agent-row, .pd-list li, .pd-row, .pd-table-row, .pd-tl-node,
  .pd-chip, .pd-kpi, .pd-checklist li, .pd-score-fill, .pd-typewriter {
    transition: none !important;
    animation: none !important;
    opacity: 1 !important;
    transform: none !important;
    width: auto !important;
  }
}

/* ── v25: real product application (platform.html centerpiece) ─────────────
   Sidebar app shell + ten connected workspaces + dialogs/drawers/menus/
   toasts/command palette. Reuses the tonal-surface language above; the
   old scripted marketing demo (v20–v24) is no longer mounted, but its
   selectors are left in place and are harmless.                       ── */

/* Real workspace content should never replay the scripted-demo entrance
   animation on every re-render — interactions must feel instant. */
.pd-app-content .pd-row,
.pd-app-content .pd-list li,
.pd-app-content .pd-table-row,
.pd-app-content .pd-chip,
.pd-app-content .pd-kpi,
.pd-app-content .pd-tl-node,
.pd-app-content .pd-checklist li,
.pd-app-content .pd-field,
.pd-app-content .pd-block,
.pd-home-preview .pd-row,
.pd-home-preview .pd-kpi {
  opacity: 1 !important;
  animation: none !important;
  transform: none !important;
}
.pd-row-static { cursor: default; }

/* ── layout primitives ── */
.pd-btn {
  display: inline-flex; align-items: center; gap: 7px;
  font: 500 12.5px "Inter", sans-serif; color: var(--ink);
  background: #fff; border: 1px solid rgba(18,18,12,.1); padding: 7px 13px; border-radius: 8px; white-space: nowrap;
  box-shadow: 0 1px 2px rgba(18,18,12,.03); transition: background .12s ease, border-color .12s ease, box-shadow .12s ease, transform .06s ease;
}
.pd-btn:hover { background: #f7f6f2; border-color: rgba(18,18,12,.16); }
.pd-btn:active { transform: translateY(1px); }
.pd-btn:disabled, .pd-btn[disabled] { opacity: .42; cursor: not-allowed; pointer-events: none; }
.pd-btn-primary { background: var(--ink); color: #fff; border-color: var(--ink); box-shadow: 0 1px 2px rgba(18,18,12,.12); }
.pd-btn-primary:hover { background: #2a2a24; border-color: #2a2a24; }
.pd-btn-sm { padding: 6px 10px; font-size: 11.5px; }
.pd-btn-danger { background: #fef1ee; color: #b23a2a; border-color: #f3d4cc; }
.pd-btn-danger:hover { background: #fbe4e0; border-color: #edb9ac; }
.pd-icon-btn {
  display: inline-flex; align-items: center; justify-content: center;
  width: 28px; height: 28px; border-radius: 7px; color: #767b73; background: transparent; flex-shrink: 0;
  transition: background .12s ease, color .12s ease;
}
.pd-icon-btn:hover { background: rgba(18,18,12,.06); color: var(--ink); }
.pd-icon { display: inline-block; vertical-align: -3px; flex-shrink: 0; }

.pd-panel { background: transparent; border-radius: 10px; padding: 16px 18px; display: flex; flex-direction: column; gap: 10px; transition: box-shadow .15s ease; }
.pd-panel-head { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.pd-panel-head small { font-size: 10px; letter-spacing: .08em; color: #9a9d97; }
.pd-empty-line { font-size: 12px; color: #9a9d97; padding: 4px 0; }
.pd-empty-state { padding: 40px 20px; text-align: center; color: var(--muted); font-size: 13px; }

.pd-select, .pd-input {
  font: 500 12px "Inter", sans-serif; color: var(--ink);
  background: #fff; border: 1px solid rgba(18,18,12,.11); border-radius: 7px; padding: 7px 10px;
  transition: border-color .13s ease, box-shadow .13s ease;
}
.pd-select:focus, .pd-input:focus { outline: none; border-color: var(--mint-deep); box-shadow: 0 0 0 3px rgba(80,252,207,.16); }
select.pd-select, select.pd-input { cursor: pointer; }
textarea.pd-input { font-weight: 400; line-height: 1.5; resize: vertical; }
input[type="range"].pd-input { padding: 0; background: transparent; }

.pd-toolbar { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin: 16px 0; }
.pd-toolbar-check { font-size: 12px; color: var(--muted); }
.pd-view-toggle { display: flex; background: #eeece6; border-radius: 8px; padding: 2px; }
.pd-toggle-btn { display: inline-flex; align-items: center; gap: 6px; font-size: 12px; color: #767b73; padding: 6px 10px; border-radius: 6px; }
.pd-toggle-btn.pd-active { background: #fff; color: var(--ink); }

.pd-table-scroll { overflow-x: auto; border-radius: 10px; border: 1px solid rgba(18,18,12,.08); }
.pd-record-table { width: 100%; border-collapse: collapse; font-size: 12.5px; }
.pd-record-table th { text-align: left; font-weight: 500; color: #7d8278; padding: 9px 12px; background: #f8f7f2; border-bottom: 1px solid rgba(18,18,12,.08); cursor: pointer; white-space: nowrap; }
.pd-record-table th:hover { color: var(--ink); }
.pd-record-table td { padding: 9px 12px; border-bottom: 1px solid rgba(18,18,12,.06); color: var(--ink); vertical-align: middle; }
.pd-record-table tr[data-row] { cursor: pointer; }
.pd-record-table tr[data-row]:hover { background: #f8f7f2; }
.pd-record-table tr[data-row]:focus-visible { outline: 2px solid var(--mint-deep); outline-offset: -2px; }
.pd-record-table [data-inline] { cursor: pointer; }
.pd-search-inline { display: flex; align-items: center; gap: 8px; background: transparent; border-radius: 8px; padding: 7px 12px; flex: 1; max-width: 280px; }
.pd-search-inline .pd-input { background: none; padding: 0; flex: 1; }

.pd-ws-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; flex-wrap: wrap; }
.pd-ws-head h2 { font-size: 24px; font-weight: 700; letter-spacing: -.03em; color: var(--ink); margin: 0 0 4px; }
.pd-ws-head p { font-size: 13px; color: var(--muted); margin: 0; }
.pd-ws-head kbd { font: 500 10px ui-monospace, monospace; background: #eeece6; padding: 1px 5px; border-radius: 4px; }
.pd-ws-head-actions { display: flex; gap: 8px; }

.pd-filter-row { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 14px; }
.pd-filter-chip { font-size: 11.5px; font-weight: 500; padding: 5px 12px; border-radius: 99px; border: 1px solid rgba(18,18,12,.1); color: var(--muted); background: #fff; transition: background .12s ease, border-color .12s ease, color .12s ease; }
.pd-filter-chip:hover { border-color: rgba(18,18,12,.2); color: var(--ink); }
.pd-filter-chip-active { background: var(--ink); color: #fff; border-color: var(--ink); }

.pd-stage-pipeline { display: flex; gap: 4px; margin-bottom: 16px; overflow-x: auto; padding-bottom: 2px; }
.pd-pipeline-stage { font-size: 11px; font-weight: 600; color: #9a9d97; background: #f0efe9; padding: 5px 10px; border-radius: 6px; white-space: nowrap; display: flex; align-items: center; gap: 5px; }
.pd-pipeline-stage-active { background: #e3f0ea; color: var(--mint-deep); }
.pd-pipeline-count { font-size: 10px; font-weight: 700; min-width: 16px; height: 16px; display: inline-flex; align-items: center; justify-content: center; border-radius: 99px; background: rgba(22,180,130,.15); color: var(--mint-deep); padding: 0 4px; }

.pd-tip-row { display: flex; align-items: flex-start; gap: 8px; font-size: 12.5px; color: var(--muted); line-height: 1.5; }
.pd-tip-row .pd-icon { color: var(--mint-deep); flex-shrink: 0; margin-top: 1px; }

.pd-rows { display: flex; flex-direction: column; gap: 6px; }
.pd-suggest-row { width: 100%; text-align: left; cursor: pointer; }
.pd-suggest-row:hover { background: #ece9e0; }

.pd-field-label { display: flex; flex-direction: column; gap: 5px; font-size: 11px; color: #767b73; margin-bottom: 10px; }
.pd-field-label.pd-field-label-icon { flex-direction: row; align-items: center; gap: 6px; }
.pd-field-label-icon .pd-icon { color: #9a9d97; }
.pd-row-icon { display: flex; align-items: center; color: #8a8f8a; flex-shrink: 0; }
.pd-select-icon-wrap { display: flex; align-items: center; gap: 7px; background: #eeece6; border-radius: 7px; padding: 0 4px 0 10px; color: #9a9d97; }
.pd-select-icon-wrap .pd-select { background: none; padding-left: 0; }
.pd-check-list { display: flex; flex-direction: column; gap: 4px; margin-bottom: 8px; }
.pd-checkbox-row { display: flex; align-items: center; gap: 8px; font-size: 12.5px; color: var(--ink); padding: 3px 0; }
.pd-tag-add { margin-top: 6px; }
.pd-link-btn { font-size: 11px; color: var(--mint-deep); font-weight: 500; }
.pd-inline-editable:focus { outline: 2px solid var(--mint-deep); outline-offset: 2px; border-radius: 4px; }
.pd-inline-editable:hover { background: rgba(21,154,120,.06); border-radius: 4px; }

/* ── overview ── */
.pd-ov-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 14px; margin-bottom: 18px; }
.pd-ov-eyebrow { font-size: 10.5px; letter-spacing: .08em; color: #9a9d97; text-transform: uppercase; }
.pd-ov-head h2 { font-size: 26px; font-weight: 700; letter-spacing: -.03em; margin: 4px 0 6px; color: var(--ink); }
.pd-ov-desc { font-size: 13px; color: var(--muted); margin: 0; max-width: 480px; }
.pd-ov-actions { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 22px; }
.pd-ov-grid { display: grid; grid-template-columns: 1.4fr 1fr; gap: 16px; align-items: start; }
.pd-ov-col { display: flex; flex-direction: column; gap: 14px; }
.pd-ov-milestone { display: flex; align-items: baseline; justify-content: space-between; margin-bottom: 10px; }
.pd-ov-milestone b { font-size: 15px; color: var(--ink); }
.pd-ov-milestone span { font-size: 11px; color: #9a9d97; }
.pd-presence-row { display: flex; }
.pd-activity-list { display: flex; flex-direction: column; gap: 10px; }
.pd-activity-row { display: flex; align-items: flex-start; gap: 8px; font-size: 12px; }
.pd-activity-row p { flex: 1; margin: 0; color: var(--ink); line-height: 1.45; }
.pd-activity-row time { font-size: 10px; color: #9a9d97; flex-shrink: 0; }
.pd-activity-dot { width: 6px; height: 6px; border-radius: 50%; background: var(--mint-deep); margin-top: 5px; flex-shrink: 0; }

/* ── ideas ── */
.pd-idea-row { cursor: pointer; }
.pd-idea-tags { display: flex; gap: 4px; }
.pd-chip-static { background: #e4e2da; }
.pd-score-badge { font: 600 12px "Inter"; color: var(--mint-deep); background: #d9f0e8; border-radius: 99px; width: 30px; height: 22px; display: inline-flex; align-items: center; justify-content: center; }
.pd-idea-board { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; }
.pd-board-col { background: #f7f6f3; border: 1px solid rgba(18,18,12,.06); border-radius: 12px; padding: 12px; display: flex; flex-direction: column; gap: 8px; min-height: 120px; }
.pd-board-col-head { display: flex; align-items: center; justify-content: space-between; font-size: 11px; color: #767b73; padding: 2px 4px 6px; }
.pd-board-col-body { display: flex; flex-direction: column; gap: 8px; min-height: 40px; }
.pd-board-card { background: #fff; border-radius: 8px; padding: 11px 12px; cursor: pointer; display: flex; flex-direction: column; gap: 6px; box-shadow: 0 1px 3px rgba(0,0,0,.06); transition: box-shadow .15s ease, transform .1s ease; }
.pd-board-card:hover { box-shadow: 0 6px 16px rgba(18,18,12,.09); border-color: rgba(18,18,12,.12); transform: translateY(-1px); }
.pd-board-card b { font-size: 12.5px; color: var(--ink); }
.pd-board-card p { font-size: 11.5px; color: var(--muted); margin: 0; line-height: 1.4; }
.pd-board-card-foot { display: flex; align-items: center; gap: 6px; }
.pd-board-card.pd-dragging { opacity: .4; }
.pd-drag-over { outline: 2px dashed #c7c5bc; outline-offset: -4px; border-radius: 12px; }

.pd-idea-detail-title, .pd-task-detail .pd-idea-detail-title { font-size: 20px; font-weight: 600; color: var(--ink); margin-bottom: 8px; letter-spacing: -.02em; padding: 2px 4px; }
.pd-idea-detail-desc { font-size: 13px; color: var(--muted); line-height: 1.55; margin-bottom: 18px; padding: 2px 4px; }
.pd-detail-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 12px 14px; margin-bottom: 14px; }
.pd-detail-actions { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 18px; padding-top: 16px; border-top: 1px solid rgba(18,18,12,.08); }
.pd-chip-x { display: inline-flex; margin-left: 4px; opacity: .6; }
.pd-chip-x:hover { opacity: 1; }

/* ── validation ── */
.pd-validation-summary { margin-bottom: 16px; }
.pd-validation-summary-text { font-size: 12.5px; color: var(--muted); margin: 0; }
.pd-status-select { border: none; font-size: 10px; font-weight: 500; padding: 5px 9px; border-radius: 99px; }
.pd-status-select.pd-status-untested { background: #eeece6; color: #6b7066; }
.pd-status-select.pd-status-supported { background: #d9f0e8; color: var(--mint-deep); }
.pd-status-select.pd-status-contradicted { background: #fbe4e0; color: #b23a2a; }
.pd-interview-notes { font-size: 12px; color: var(--muted); margin: 4px 0 0; line-height: 1.5; }

/* ── roadmap ── */
.pd-roadmap-list { display: flex; flex-direction: column; gap: 10px; }
.pd-milestone-card { background: #f5f3ed; border-radius: 12px; padding: 12px 14px; }
.pd-milestone-card.pd-dragging { opacity: .4; }
.pd-milestone-card.pd-drag-over { outline: 2px dashed #c7c5bc; outline-offset: -3px; }
.pd-milestone-head { display: flex; align-items: center; gap: 8px; }
.pd-drag-handle { cursor: grab; }
.pd-milestone-check input { width: 15px; height: 15px; accent-color: var(--mint-deep); }
.pd-milestone-name { flex: 1; font-size: 13.5px; font-weight: 500; color: var(--ink); padding: 2px 4px; border-radius: 5px; min-width: 0; }
.pd-milestone-card.pd-milestone-complete .pd-milestone-name { text-decoration: line-through; color: #9a9d97; }
.pd-milestone-date { width: 132px; font-size: 11px; padding: 5px 8px; }
.pd-milestone-task-count { font-size: 10.5px; color: #9a9d97; white-space: nowrap; }
.pd-milestone-body { margin-top: 12px; padding-top: 12px; border-top: 1px solid rgba(18,18,12,.07); display: flex; flex-direction: column; gap: 8px; }
.pd-priority-pill { font-size: 9.5px; font-weight: 500; text-transform: uppercase; letter-spacing: .04em; padding: 3px 8px; border-radius: 99px; flex-shrink: 0; }
.pd-priority-low { background: #eeece6; color: #767b73; }
.pd-priority-medium { background: #fbf0d9; color: #a9791d; }
.pd-priority-high { background: #fbe4e0; color: #b23a2a; }

/* ── tasks ── */
.pd-task-board { display: grid; grid-template-columns: repeat(5, 1fr); gap: 10px; overflow-x: auto; }
.pd-comment-list { display: flex; flex-direction: column; gap: 10px; margin-bottom: 6px; }
.pd-comment-row { background: var(--t-subtle, #f5f3ed); border-radius: 9px; padding: 10px 12px; }
.pd-comment-head { display: flex; justify-content: space-between; font-size: 11px; color: #767b73; margin-bottom: 4px; }
.pd-comment-row p { margin: 0 0 6px; font-size: 12.5px; color: var(--ink); }
.pd-subtask-done { text-decoration: line-through; color: #9a9d97; }

/* ── team ── */
.pd-sample-banner { display: flex; align-items: center; gap: 8px; font-size: 12px; color: #a9791d; background: #fbf0d9; border-radius: 8px; padding: 9px 12px; margin: 14px 0 18px; }
.pd-team-row { display: flex; align-items: center; gap: 12px; background: #f5f3ed; border-radius: 10px; padding: 12px 14px; margin-bottom: 8px; cursor: pointer; }
.pd-team-row:hover { background: #efede6; }

/* ── mentors ── */
.pd-mentor-list { display: flex; flex-direction: column; gap: 14px; }
.pd-review-section { margin-top: 20px; }
.pd-review-section-head { display: flex; align-items: center; justify-content: space-between; margin-bottom: 12px; }
.pd-review-section-head h3 { font-size: 13px; font-weight: 600; color: var(--ink); margin: 0; letter-spacing: -.01em; }
.pd-review-actions { display: flex; gap: 8px; }
.pd-feedback-list { display: flex; flex-direction: column; gap: 8px; }
.pd-feedback-row { background: #fff; border-radius: 9px; padding: 10px 12px; }
.pd-feedback-row p { margin: 0; font-size: 12.5px; color: var(--ink); line-height: 1.5; cursor: pointer; }
.pd-feedback-row.pd-feedback-resolved p { color: #9a9d97; text-decoration: line-through; }
.pd-feedback-row.pd-feedback-highlighted { background: #d9f0e8; }
.pd-feedback-actions { display: flex; gap: 14px; margin-top: 8px; }

/* ── documents ── */
/* ── Document editor: top row, properties, blocks ────────────────────── */
.pd-doc-toprow { display: flex; align-items: flex-start; justify-content: space-between; gap: 10px; }
.pd-doc-toprow .pd-idea-detail-title { flex: 1; }
.pd-badge-dot { position: absolute; top: -2px; right: -2px; min-width: 14px; height: 14px; padding: 0 3px; border-radius: 99px; background: var(--mint-deep); color: #fff; font-size: 8.5px; font-weight: 700; display: grid; place-items: center; }
.pd-icon-btn { position: relative; }

.pd-doc-props { display: flex; flex-direction: column; gap: 1px; margin: 14px 0; }
.pd-prop-row { display: grid; grid-template-columns: 132px 1fr; align-items: center; gap: 10px; padding: 6px 4px; border-radius: 6px; cursor: pointer; font-size: 12.5px; }
.pd-prop-row:hover { background: #f4f2ea; }
.pd-prop-key { display: flex; align-items: center; gap: 7px; color: #7d8278; }
.pd-prop-key .pd-icon { color: #9a9d97; flex-shrink: 0; }
.pd-prop-val { color: var(--ink); display: flex; flex-wrap: wrap; gap: 4px; }
.pd-tag-chip { font-size: 10px; font-weight: 500; padding: 2px 8px; border-radius: 99px; background: #eeece6; color: #6b7066; }

.pd-hairline { border: 0; border-top: 1px solid rgba(18,18,12,.08); margin: 16px 0; }

.pd-doc-blocks { display: flex; flex-direction: column; gap: 1px; }
.pd-block-row { display: flex; align-items: flex-start; gap: 2px; border-radius: 6px; position: relative; }
.pd-block-row:hover { background: #f8f7f2; }
.pd-block-handle { flex-shrink: 0; width: 20px; height: 26px; margin-top: 4px; display: grid; place-items: center; color: #b9bcb3; opacity: 0; border: 0; background: none; border-radius: 4px; cursor: grab; }
.pd-block-row:hover .pd-block-handle, .pd-block-handle:focus-visible { opacity: 1; }
.pd-block-handle:hover { background: #eeece6; color: #6b7066; }
.pd-block-slot { flex: 1; min-width: 0; }

.pd-doc-block { padding: 6px 4px; border-radius: 5px; font-size: 13.5px; color: var(--ink); line-height: 1.6; }
.pd-block-editable:focus { outline: none; background: #f4f2ea; }
.pd-block-editable:empty:before { content: attr(data-placeholder); color: #a7ab9f; }
.pd-doc-heading { font-size: 17px; font-weight: 600; margin-top: 6px; letter-spacing: -.01em; }
.pd-doc-bullet, .pd-doc-numbered { display: flex; gap: 8px; align-items: baseline; }
.pd-bullet-dot { width: 4px; height: 4px; border-radius: 50%; background: #9a9d97; flex-shrink: 0; margin-top: 8px; }
.pd-numbered-index { color: #9a9d97; font-variant-numeric: tabular-nums; flex-shrink: 0; }
.pd-doc-checklist { display: flex; align-items: flex-start; gap: 8px; padding: 4px; }
.pd-doc-checklist input { width: 14px; height: 14px; margin-top: 3px; accent-color: var(--mint-deep); flex-shrink: 0; }
.pd-doc-callout { display: flex; gap: 9px; align-items: flex-start; background: #f4f2ea; border-left: 2px solid var(--mint-deep); border-radius: 0 6px 6px 0; padding: 10px 12px; }
.pd-doc-callout .pd-icon { color: var(--mint-deep); flex-shrink: 0; margin-top: 2px; }
.pd-doc-divider { border: 0; border-top: 1px solid rgba(18,18,12,.1); margin: 10px 4px; }

.pd-doc-table-wrap { padding: 4px; }
.pd-doc-table { border-collapse: collapse; width: 100%; font-size: 12.5px; }
.pd-doc-table td { border: 1px solid rgba(18,18,12,.09); padding: 7px 9px; min-width: 60px; }
.pd-doc-table td:focus { outline: 2px solid var(--mint-deep); outline-offset: -2px; }
.pd-table-controls { display: flex; gap: 6px; margin-top: 6px; }

.pd-linked-chip { display: flex; align-items: center; gap: 8px; width: 100%; text-align: left; background: #f4f2ea; border-radius: 7px; padding: 8px 10px; font-size: 12.5px; color: var(--ink); }
.pd-linked-chip .pd-icon { color: #7d8278; flex-shrink: 0; }
.pd-linked-chip span:first-of-type { flex: 1; }
.pd-linked-empty { color: #9a9d97; }
.pd-metric-chip { display: flex; align-items: center; gap: 9px; background: #f4f2ea; border-radius: 7px; padding: 8px 10px; }
.pd-metric-chip .pd-icon { color: var(--mint-deep); }
.pd-metric-chip b { font-size: 14px; display: block; }
.pd-metric-chip span { font-size: 10.5px; color: #7d8278; }
.pd-doc-attachment { display: flex; align-items: center; gap: 8px; background: #f4f2ea; border-radius: 7px; padding: 8px 10px; font-size: 12.5px; }
.pd-doc-attachment em { margin-left: auto; font-style: normal; font-size: 10px; color: #9a9d97; }

.pd-add-block-btn { display: flex; align-items: center; gap: 7px; width: 100%; padding: 8px; margin-top: 4px; border-radius: 6px; font-size: 12.5px; color: #7d8278; background: none; border: 1px dashed rgba(18,18,12,.13); }
.pd-add-block-btn:hover { background: #f4f2ea; color: var(--ink); }
.pd-kbd-hint { margin-left: auto; font-size: 10px; color: #a7ab9f; }

/* Slash command menu */
.pd-slash-menu { position: absolute; z-index: var(--z-float); width: 240px; max-height: 320px; overflow-y: auto; background: #fff; border-radius: 10px; box-shadow: 0 18px 44px rgba(0,0,0,.2); padding: 6px; font-family: "Inter", sans-serif; }
.pd-slash-item { display: flex; align-items: center; gap: 9px; width: 100%; text-align: left; font-size: 12.5px; color: var(--ink); padding: 8px 9px; border-radius: 7px; }
.pd-slash-item .pd-icon { color: #7d8278; flex-shrink: 0; }
.pd-slash-item-active { background: #eef8f4; color: var(--mint-deep); }
.pd-slash-item-active .pd-icon { color: var(--mint-deep); }
.pd-slash-empty { padding: 10px; font-size: 12px; color: #9a9d97; }

/* Comments */
.pd-comments { display: flex; flex-direction: column; gap: 14px; margin-bottom: 16px; }
.pd-comment-row { display: flex; gap: 10px; }
.pd-comment-resolved { opacity: .55; }
.pd-comment-body { flex: 1; }
.pd-comment-head { display: flex; align-items: baseline; gap: 8px; font-size: 12px; margin-bottom: 3px; }
.pd-comment-head b { color: var(--ink); }
.pd-comment-head span { color: #9a9d97; font-size: 10.5px; }
.pd-comment-body p { margin: 0 0 6px; font-size: 13px; line-height: 1.55; color: var(--ink); }
.pd-comment-actions { display: flex; gap: 14px; }
.pd-comment-actions button { font-size: 11px; color: var(--mint-deep); font-weight: 500; background: none; border: 0; }
.pd-comment-actions button:hover { text-decoration: underline; }
.pd-comment-compose { border-top: 1px solid rgba(18,18,12,.08); padding-top: 14px; display: flex; flex-direction: column; gap: 8px; }
.pd-comment-compose textarea { width: 100%; resize: vertical; }

/* ── growth ── */
.pd-kpi-editable { gap: 6px; }
.pd-kpi-edit-row { display: flex; align-items: baseline; gap: 5px; }
.pd-kpi-input { width: 70px; font-size: 17px; font-weight: 600; color: var(--ink); background: transparent; border-radius: 5px; padding: 2px 4px; }
.pd-kpi-input:focus { background: #fff; outline: 1px solid var(--mint-deep); }
.pd-experiment-result { font-size: 11.5px; color: var(--mint-deep); margin: 4px 0 0; }

/* ── analytics ── */
.pd-analytics-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.pd-analytics-caption { font-size: 11.5px; color: #9a9d97; margin: 4px 0 0; }
.pd-ring { width: 120px; height: 120px; }
.pd-progress-ring-wrap { display: flex; justify-content: center; padding: 6px 0; }
.pd-ring-track { fill: none; stroke: #e4e2da; stroke-width: 8; }
.pd-ring-fill { fill: none; stroke: var(--mint-deep); stroke-width: 8; stroke-linecap: round; transform: rotate(-90deg); transform-origin: center; }
.pd-ring-text { font: 600 15px "Inter"; fill: var(--ink); }
.pd-bars, .pd-velocity { width: 100%; height: auto; }
.pd-bar-rect { fill: var(--mint-deep); opacity: .85; }
.pd-bar-label { font-size: 7px; fill: #9a9d97; }
.pd-velocity-path { fill: none; stroke: var(--mint-deep); stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.pd-evidence-bar { display: flex; height: 10px; border-radius: 99px; overflow: hidden; background: #eeece6; }
.pd-evidence-bar > div { height: 100%; }
.pd-evidence-supported { background: var(--mint-deep); }
.pd-evidence-untested { background: #d5d3cb; }
.pd-evidence-contradicted { background: #d98a72; }
.pd-evidence-legend { display: flex; gap: 14px; margin-top: 10px; font-size: 11px; color: var(--muted); }
.pd-evidence-legend i { display: inline-block; width: 8px; height: 8px; border-radius: 2px; margin-right: 5px; vertical-align: -1px; }
.pd-evidence-legend i.pd-evidence-supported { background: var(--mint-deep); }
.pd-evidence-legend i.pd-evidence-untested { background: #d5d3cb; }
.pd-evidence-legend i.pd-evidence-contradicted { background: #d98a72; }

/* ── settings / connections ── */
.pd-connection-list { display: flex; flex-direction: column; gap: 8px; }
.pd-connection-row { display: flex; align-items: center; gap: 12px; background: #fff; border-radius: 9px; padding: 11px 13px; }
.pd-demo-label { font-size: 9.5px; font-weight: 500; letter-spacing: .04em; text-transform: uppercase; color: #a9791d; background: #fbf0d9; padding: 3px 8px; border-radius: 99px; }
.pd-switch { position: relative; display: inline-block; width: 34px; height: 20px; flex-shrink: 0; }
.pd-switch input { opacity: 0; width: 0; height: 0; }
.pd-switch span { position: absolute; inset: 0; background: #dddbd4; border-radius: 99px; transition: background .15s; }
.pd-switch span::before { content: ""; position: absolute; width: 16px; height: 16px; left: 2px; top: 2px; background: #fff; border-radius: 50%; transition: transform .15s; }
.pd-switch input:checked + span { background: var(--mint-deep); }
.pd-switch input:checked + span::before { transform: translateX(14px); }

/* ── assistant ── */
.pd-assistant-intro { font-size: 12.5px; color: var(--muted); margin: 0 0 14px; }
.pd-assistant-log { margin-top: 16px; display: flex; flex-direction: column; gap: 6px; }
.pd-assistant-result { font-size: 12px; color: var(--mint-deep); background: #d9f0e8; border-radius: 8px; padding: 8px 11px; }

/* ══ application shell ══════════════════════════════════════════════════ */
.pd-app-mount {
  width: min(1360px, calc(100% - 32px));
  margin: 0 auto 90px;
  border-radius: 16px;
  overflow: hidden;
  box-shadow: 0 20px 60px rgba(20,20,14,.1);
  min-height: 720px;
}
.pd-full-head { margin-bottom: 26px; }
.pd-full-head h2 { font-size: clamp(28px, 3.2vw, 40px); font-weight: 700; letter-spacing: -.04em; color: var(--ink); margin: 0 0 10px; }
.pd-full-head p { font-size: 14px; line-height: 1.6; color: var(--muted); max-width: 620px; margin: 0; }

.pd-app-shell { display: flex; height: 760px; background: #fff; font-family: "Inter", sans-serif; box-shadow: inset 0 0 0 1px rgba(18,18,12,.08); }

.pd-app-sidebar { width: 220px; flex-shrink: 0; background: #162920; border-right: none; display: flex; flex-direction: column; padding: 14px 10px; gap: 10px; transition: width .18s ease; }
.pd-app-sidebar.pd-collapsed { width: 60px; }
.pd-app-sidebar.pd-collapsed .pd-app-nav-item span,
.pd-app-sidebar.pd-collapsed .pd-venture-name,
.pd-app-sidebar.pd-collapsed .pd-venture-caret,
.pd-app-sidebar.pd-collapsed .pd-search-trigger span,
.pd-app-sidebar.pd-collapsed .pd-search-trigger kbd { display: none; }
.pd-app-sidebar.pd-collapsed .pd-app-nav-item { justify-content: center; position: relative; }
.pd-app-sidebar.pd-collapsed .pd-app-nav-item:hover::after {
  content: attr(data-tooltip); position: absolute; left: 100%; top: 50%; transform: translateY(-50%);
  margin-left: 8px; background: #0e1f18; color: #e8efe9; font-size: 11px; padding: 5px 9px; border-radius: 6px;
  white-space: nowrap; z-index: 5; pointer-events: none;
}

.pd-sidebar-top { display: flex; align-items: center; gap: 4px; padding-bottom: 6px; border-bottom: 1px solid rgba(255,255,255,.08); margin-bottom: 4px; }
.pd-venture-switch { display: flex; align-items: center; gap: 8px; flex: 1; min-width: 0; font: 600 13px "Inter"; color: #e8efe9; padding: 8px 8px; border-radius: 8px; transition: background .13s ease; letter-spacing: -.01em; background: transparent; border: 0; cursor: pointer; text-align: left; }
.pd-venture-switch:hover { background: rgba(255,255,255,.08); }
.pd-venture-name { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; flex: 1; text-align: left; }
.pd-venture-caret { flex-shrink: 0; opacity: .5; }

.pd-search-trigger { display: flex; align-items: center; gap: 8px; font-size: 12px; color: rgba(200,218,207,.55); background: rgba(255,255,255,.06); border: 1px solid rgba(255,255,255,.1); border-radius: 8px; padding: 8px 10px; transition: border-color .13s ease, background .13s ease; }
.pd-search-trigger:hover { border-color: rgba(255,255,255,.18); background: rgba(255,255,255,.09); }
.pd-search-trigger span { flex: 1; text-align: left; }
.pd-search-trigger kbd { font: 500 10px ui-monospace, monospace; color: rgba(200,218,207,.4); background: rgba(255,255,255,.06); padding: 2px 6px; border-radius: 4px; }

.pd-app-nav { display: flex; flex-direction: column; gap: 1px; flex: 1; overflow-y: auto; }
.pd-nav-section-label { font-size: 10px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: rgba(200,218,207,.38); padding: 14px 9px 4px; }
.pd-app-nav-item { display: flex; align-items: center; gap: 10px; font-size: 12.5px; color: rgba(200,218,207,.72); padding: 7px 9px; border-radius: 7px; text-align: left; transition: background .12s ease, color .12s ease; background: transparent; border: none; cursor: pointer; width: 100%; }
.pd-app-nav-item:hover { background: rgba(255,255,255,.07); color: #e8efe9; }
.pd-app-nav-item.pd-active { background: rgba(80,252,207,.15); color: #50fcce; font-weight: 600; }
.pd-app-nav-item.pd-active .pd-icon { color: #50fcce; }
.pd-app-nav-item .pd-icon { color: rgba(200,218,207,.55); transition: color .12s ease; }
.pd-app-nav-item:hover .pd-icon { color: rgba(200,218,207,.85); }
.pd-icon-btn.pd-collapse-btn { color: rgba(200,218,207,.5); }
.pd-icon-btn.pd-collapse-btn:hover { background: rgba(255,255,255,.07); color: #e8efe9; }

.pd-sidebar-bottom { display: flex; flex-direction: column; gap: 1px; border-top: 1px solid rgba(255,255,255,.07); padding-top: 8px; }
.pd-avatar-xs { width: 18px; height: 18px; border-radius: 50%; background: var(--mint-deep); color: #fff; font-size: 8px; font-weight: 700; display: inline-flex; align-items: center; justify-content: center; flex-shrink: 0; }

.pd-app-main { flex: 1; min-width: 0; display: flex; flex-direction: column; }
.pd-app-topbar { display: flex; align-items: center; gap: 10px; padding: 10px 16px; background: #fff; }
.pd-mobile-nav-btn { display: none; }
.pd-app-crumb { font-size: 12.5px; font-weight: 600; color: var(--ink); display: flex; align-items: center; gap: 8px; }
.pd-app-crumb [data-el="crumbVenture"] { color: #7d8278; font-weight: 500; }
.pd-crumb-sep { color: #b9bcb3; }
.pd-app-topbar-actions { margin-left: auto; display: flex; align-items: center; gap: 2px; }
.pd-activity-dot { width: 6px; height: 6px; border-radius: 50%; background: var(--mint-deep); margin-top: 6px; flex-shrink: 0; }
.pd-app-content { flex: 1; overflow-y: auto; padding: 26px 30px 40px; background: #fdfdfb; }

/* ── empty states ── */
.pd-empty-state-lg { padding: 60px 30px; text-align: center; }
.pd-empty-state-lg h3 { font-size: 18px; font-weight: 600; color: var(--ink); margin: 0 0 8px; }
.pd-empty-state-lg p { font-size: 14px; color: var(--muted); line-height: 1.55; max-width: 400px; margin: 0 auto 20px; }
.pd-empty-actions { display: flex; align-items: center; justify-content: center; gap: 10px; flex-wrap: wrap; margin-bottom: 14px; }
.pd-empty-hint { font-size: 12px; color: var(--muted); opacity: .7; margin-top: 10px; }

/* ── contacts workspace ── */
.pd-ws-head-row { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; flex-wrap: wrap; }
.pd-ws-head-row h2 { margin: 0; }
.pd-contacts-search { margin-bottom: 16px; }
.pd-contacts-list { margin-top: 0; }
.pd-contact-avatar { width: 34px; height: 34px; border-radius: 50%; background: var(--mint-deep, #1a7a5e); color: #fff; font-size: 11px; font-weight: 700; display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
.pd-contact-email { font-size: 12px; color: var(--muted); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; max-width: 180px; }
.pd-contact-more { margin-left: 4px; flex-shrink: 0; }
.pd-type-badge { font-size: 10px; font-weight: 600; letter-spacing: .04em; text-transform: uppercase; padding: 2px 7px; border-radius: 99px; white-space: nowrap; }
.pd-type-mentor   { background: #e6f0fb; color: #2060a0; }
.pd-type-advisor  { background: #f0ebfb; color: #5a30a0; }
.pd-type-investor { background: #fef3e6; color: #a05a10; }
.pd-type-customer { background: #e8f8f0; color: #1a7a5e; }
.pd-type-sponsor  { background: #fef9e6; color: #8a6a10; }
.pd-type-peer     { background: #f5f4f0; color: #5a5e58; }
.pd-type-contact  { background: #f5f4f0; color: #5a5e58; }

/* ── home preview ── */
.pd-home-preview { border-radius: 16px; overflow: hidden; box-shadow: 0 16px 46px rgba(20,20,14,.08); }
.pd-home-preview-shell.pd-shell { border-radius: 0; box-shadow: none; }
.pd-home-preview-topbar { background: #f5f3ed; }
.pd-home-preview-canvas.pd-canvas { max-height: none; padding: 22px 24px 28px; }

/* ══ dialog / drawer / menu / toast / command palette ═════════════════ */
.pd-scroll-lock { overflow: hidden; }

.pd-dialog-scrim { position: fixed; inset: 0; background: rgba(18,18,15,.4); z-index: var(--z-dialog); display: flex; align-items: center; justify-content: center; opacity: 0; transition: opacity .16s ease; padding: 20px; }
.pd-dialog-scrim.pd-in { opacity: 1; }
.pd-dialog { width: min(440px, 100%); background: var(--wr-surface); border-radius: 14px; box-shadow: 0 30px 70px rgba(0,0,0,.28); padding: 20px; transform: translateY(-10px) scale(.98); transition: transform .16s ease; font-family: "Inter", sans-serif; }
.pd-dialog-scrim.pd-in .pd-dialog { transform: none; }
.pd-dialog-head { display: flex; align-items: center; justify-content: space-between; margin-bottom: 14px; }
.pd-dialog-head h3 { font-size: 15px; font-weight: 600; color: var(--ink); margin: 0; }
.pd-dialog-body .pd-input { width: 100%; }
.pd-dialog-message { font-size: 13px; color: var(--muted); line-height: 1.55; margin: 0 0 14px; }
.pd-dialog-actions { display: flex; justify-content: flex-end; gap: 8px; margin-top: 16px; }

.pd-drawer-scrim { position: fixed; inset: 0; background: rgba(18,18,15,.3); z-index: var(--z-drawer); opacity: 0; pointer-events: none; transition: opacity .2s ease; }
.pd-drawer-scrim.pd-in { opacity: 1; pointer-events: auto; }
.pd-drawer { position: absolute; right: 0; top: 0; bottom: 0; width: min(420px, 92vw); background: #fff; box-shadow: -18px 0 50px rgba(0,0,0,.14); display: flex; flex-direction: column; transform: translateX(16px); transition: transform .2s cubic-bezier(.2,.8,.2,1); font-family: "Inter", sans-serif; }
.pd-drawer.pd-drawer-wide { width: min(520px, 94vw); }
.pd-drawer-scrim.pd-in .pd-drawer { transform: none; }
.pd-drawer-head { display: flex; align-items: center; justify-content: space-between; padding: 16px 20px; border-bottom: 1px solid rgba(18,18,12,.07); }
.pd-drawer-head h3 { font-size: 13px; font-weight: 600; color: #767b73; margin: 0; text-transform: uppercase; letter-spacing: .05em; }
.pd-drawer-body { flex: 1; overflow-y: auto; padding: 20px; }
.pd-drawer-body .pd-input { width: 100%; }

.pd-menu { position: absolute; z-index: var(--z-float); min-width: 180px; background: #fff; border-radius: 10px; box-shadow: 0 16px 40px rgba(0,0,0,.18); padding: 6px; font-family: "Inter", sans-serif; }
.pd-menu-item { display: flex; align-items: center; gap: 9px; width: 100%; text-align: left; font-size: 12.5px; color: var(--ink); padding: 8px 10px; border-radius: 7px; }
.pd-menu-item .pd-icon { color: #8a8f8a; flex-shrink: 0; }
.pd-menu-item-danger .pd-icon { color: #b23a2a; }
.pd-menu-item:hover { background: #f0eee7; }
.pd-menu-item-danger { color: #b23a2a; }
.pd-menu-divider { height: 1px; background: rgba(18,18,12,.08); margin: 5px 4px; }

.pd-toast-stack { position: fixed; bottom: 22px; left: 50%; transform: translateX(-50%); z-index: var(--z-toast); display: flex; flex-direction: column; gap: 8px; align-items: center; }
.pd-toast { display: flex; align-items: center; gap: 14px; background: var(--ink); color: #fff; font: 500 12.5px "Inter"; padding: 11px 16px; border-radius: 10px; box-shadow: 0 14px 34px rgba(0,0,0,.22); opacity: 0; transform: translateY(8px); transition: opacity .2s ease, transform .2s ease; }
.pd-toast.pd-in { opacity: 1; transform: none; }
.pd-toast-action { color: var(--mint); font-weight: 600; }

.pd-cmdk-scrim { position: fixed; inset: 0; background: rgba(18,18,15,.4); z-index: var(--z-cmdk); display: flex; align-items: flex-start; justify-content: center; padding-top: 12vh; opacity: 0; pointer-events: none; transition: opacity .15s ease; }
.pd-cmdk-scrim.pd-in { opacity: 1; pointer-events: auto; }
.pd-cmdk { width: min(520px, 92vw); background: #fff; border-radius: 14px; box-shadow: 0 30px 80px rgba(0,0,0,.3); overflow: hidden; font-family: "Inter", sans-serif; }
.pd-cmdk-input-row { display: flex; align-items: center; gap: 10px; padding: 14px 16px; border-bottom: 1px solid rgba(18,18,12,.08); color: #9a9d97; }
.pd-cmdk-input { flex: 1; border: none; outline: none; font-size: 14px; color: var(--ink); background: transparent; }
.pd-cmdk-list { max-height: 340px; overflow-y: auto; padding: 6px; }
.pd-cmdk-item { width: 100%; display: flex; align-items: center; gap: 10px; text-align: left; font-size: 13px; color: var(--ink); padding: 9px 10px; border-radius: 8px; }
.pd-cmdk-item em { margin-left: auto; font-style: normal; font-size: 10px; color: #9a9d97; }
.pd-cmdk-item-active, .pd-cmdk-item:hover { background: #f0eee7; }
.pd-cmdk-empty { padding: 20px; text-align: center; font-size: 12.5px; color: #9a9d97; }

/* ══ responsive ══════════════════════════════════════════════════════ */
@media (max-width: 980px) {
  .pd-ov-grid, .pd-analytics-grid { grid-template-columns: 1fr; }
  .pd-idea-board { grid-template-columns: 1fr; }
  .pd-task-board { grid-template-columns: repeat(5, 220px); }
}

@media (max-width: 800px) {
  .pd-app-mount { min-height: 0; border-radius: 12px; }
  .pd-app-shell { height: 640px; position: relative; overflow: hidden; }
  .pd-mobile-nav-btn { display: grid; }
  .pd-app-crumb [data-el="crumbVenture"], .pd-crumb-sep { display: none; }
  .pd-app-topbar-actions .pd-icon-btn:nth-child(n+5) { display: none; }
  .pd-app-sidebar { position: absolute; inset: 0 30% 0 0; z-index: 10; transform: translateX(-100%); transition: transform .2s ease; width: auto; }
  .pd-app-sidebar.pd-mobile-open { transform: translateX(0); box-shadow: 12px 0 30px rgba(0,0,0,.15); }
  .pd-app-content { padding: 18px 16px 30px; }
  .pd-detail-grid { grid-template-columns: 1fr; }
  .pd-drawer, .pd-drawer.pd-drawer-wide {
    width: 100% !important; left: 0; right: 0; top: auto; bottom: 0;
    max-height: 86vh; border-radius: 16px 16px 0 0;
    transform: translateY(16px);
  }
  .pd-drawer-scrim.pd-in .pd-drawer { transform: none; }
  .pd-slash-menu { width: min(280px, calc(100vw - 32px)); }
  .pd-slash-item { padding: 11px 10px; }
  .pd-prop-row { grid-template-columns: 110px 1fr; }
}

@media (max-width: 520px) {
  .pd-app-shell { height: 600px; }
  .pd-ov-actions { gap: 6px; }
  .pd-btn { padding: 7px 10px; font-size: 11.5px; }
  .pd-drawer, .pd-drawer.pd-drawer-wide { width: 100vw; }
}

@media (prefers-reduced-motion: reduce) {
  .pd-app-sidebar, .pd-dialog, .pd-drawer, .pd-toast, .pd-cmdk-scrim, .pd-dialog-scrim, .pd-drawer-scrim {
    transition: none !important;
  }
}

/* ── v26: Community page typographic particle field ─────────────────────
   Decorative marketing asset only — never mounted in the product shell.
   No border, no card surface, no gradient: it reads as part of the page. */
.particle-field-section {
  margin: 20px auto 70px;
  display: flex;
  flex-direction: column;
  align-items: center;
}
.particle-field-mount {
  width: 100%;
  height: 480px;
}
.particle-field-mount canvas { cursor: default; }
.particle-field-caption {
  margin-top: 18px;
  font-size: 15px;
  color: var(--muted);
  text-align: center;
}

@media (max-width: 800px) {
  .particle-field-mount { height: 320px; }
}
@media (max-width: 520px) {
  .particle-field-mount { height: 260px; }
}

/* ── v27: semantic color system ──────────────────────────────────────────
   Brand mint stays reserved for brand/selected/active. Everything else
   uses one restrained accessible palette, paired with icons + labels,
   never color alone.                                                  ── */
:root {
  --sem-success: #1a8a4f;
  --sem-success-bg: #e1f3e6;
  --sem-error: #b23a2a;
  --sem-error-bg: #fbe4e0;
  --sem-warning: #9a6b0a;
  --sem-warning-bg: #fbf0d9;
  --sem-info: #2f6fc4;
  --sem-info-bg: #e0eaf9;
  --sem-neutral: #63685f;
  --sem-neutral-bg: #eeece6;
}

/* Retarget the product's status/priority pills onto the semantic system. */
.pd-status-complete  { background: var(--sem-success-bg) !important; color: var(--sem-success) !important; }
.pd-status-contradicted,
.pd-priority-high    { background: var(--sem-error-bg) !important; color: var(--sem-error) !important; }
.pd-status-untested,
.pd-status-progress,
.pd-priority-medium   { background: var(--sem-warning-bg) !important; color: var(--sem-warning) !important; }
.pd-status-review,
.pd-status-analyzing,
.pd-status-supported  { background: var(--sem-info-bg) !important; color: var(--sem-info) !important; }
.pd-status-queued,
.pd-status-backlog,
.pd-priority-low      { background: var(--sem-neutral-bg) !important; color: var(--sem-neutral) !important; }
.pd-agent-status-done { color: var(--sem-success) !important; }
.pd-evidence-supported { background: var(--sem-success) !important; }
.pd-evidence-untested { background: var(--sem-warning) !important; }
.pd-evidence-contradicted { background: var(--sem-error) !important; }
.pd-evidence-legend i.pd-evidence-supported { background: var(--sem-success) !important; }
.pd-evidence-legend i.pd-evidence-untested { background: var(--sem-warning) !important; }
.pd-evidence-legend i.pd-evidence-contradicted { background: var(--sem-error) !important; }
.pd-sample-banner { color: var(--sem-warning) !important; background: var(--sem-warning-bg) !important; }
.pd-demo-label { color: var(--sem-warning) !important; background: var(--sem-warning-bg) !important; }

/* ── v28: auth pages ──────────────────────────────────────────────────── */
.auth-main {
  min-height: 70vh;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 60px 20px;
}
.auth-card {
  width: min(420px, 100%);
  background: #fbfaf6;
  border-radius: 16px;
  box-shadow: 0 20px 60px rgba(20,20,14,.09);
  padding: 36px 32px;
}
.auth-card h1 { font-size: 26px; font-weight: 700; letter-spacing: -.03em; color: var(--ink); margin: 0 0 8px; }
.auth-sub { font-size: 13.5px; color: var(--muted); margin: 0 0 22px; }
.auth-form { display: flex; flex-direction: column; }
.auth-form .pd-field-label { margin-bottom: 14px; }
.auth-form .pd-input { width: 100%; padding: 10px 12px; }
.auth-row { display: flex; justify-content: flex-end; margin: -6px 0 16px; }
.auth-link { font-size: 12.5px; color: var(--mint-deep); font-weight: 500; }
.auth-hint { font-size: 11px; color: #9a9d97; margin: -8px 0 16px; }
.auth-submit { width: 100%; justify-content: center; padding: 12px; font-size: 13.5px; }
.auth-switch { font-size: 13px; color: var(--muted); text-align: center; margin: 20px 0 0; }
.auth-switch a { color: var(--mint-deep); font-weight: 500; }
.auth-banner {
  font-size: 12.5px;
  line-height: 1.5;
  padding: 11px 14px;
  border-radius: 9px;
  margin-bottom: 18px;
}
.auth-banner-info    { background: var(--sem-info-bg); color: var(--sem-info); }
.auth-banner-success { background: var(--sem-success-bg); color: var(--sem-success); }
.auth-banner-error   { background: var(--sem-error-bg); color: var(--sem-error); }
.auth-banner-warning { background: var(--sem-warning-bg); color: var(--sem-warning); }

/* ── app.html full-viewport shell ── */
.pd-app-body {
  margin: 0;
  padding: 0;
  background: #fbfaf6;
  overflow: hidden;
  height: 100vh;
}
.pd-app-loading {
  height: 100vh;
  display: flex;
  align-items: center;
  justify-content: center;
  font: 500 13px "Inter", sans-serif;
  color: var(--muted, #68716c);
}
.pd-app-loading[hidden] { display: none; }
/* First-workspace setup screen */
.pd-setup-screen {
  min-height: 100vh;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 24px;
  background: #fbfaf6;
}
.pd-setup-card {
  width: 100%;
  max-width: 440px;
  background: #fff;
  border-radius: 16px;
  box-shadow: 0 20px 60px rgba(18,18,12,.1);
  padding: 32px;
  font-family: "Inter", sans-serif;
}
.pd-setup-card h1 { font-size: 22px; font-weight: 700; color: var(--ink); margin: 0 0 6px; letter-spacing: -.03em; }
.pd-setup-card .pd-setup-sub { font-size: 14px; color: var(--muted); margin: 0 0 28px; line-height: 1.5; }
.pd-setup-slug-row { display: flex; align-items: center; gap: 0; margin-top: 6px; }
.pd-setup-slug-prefix { font-size: 12px; color: var(--muted); padding: 9px 10px; background: #f5f4f0; border: 1px solid rgba(18,18,12,.1); border-right: none; border-radius: 8px 0 0 8px; white-space: nowrap; }
.pd-setup-slug-input { border-radius: 0 8px 8px 0 !important; flex: 1; }
.pd-setup-actions { display: flex; justify-content: flex-end; margin-top: 24px; }
.pd-setup-error { font-size: 12.5px; color: var(--sem-error, #b23a2a); margin-top: 10px; min-height: 18px; }
/* App root fills viewport */
.pd-app-root {
  position: fixed;
  inset: 0;
  display: flex;
  flex-direction: column;
  overflow: hidden;
}
/* Shell fills root, overrides the 760px marketing height */
.pd-app-root .pd-app-shell {
  flex: 1;
  height: auto;
  min-height: 0;
  border-radius: 0;
  box-shadow: none;
  width: 100%;
}
/* Main content area: fills remaining width */
.pd-app-root .pd-app-main {
  display: flex;
  flex-direction: column;
  flex: 1;
  min-width: 0;
  overflow: hidden;
}
.pd-app-root .pd-app-content {
  flex: 1;
  overflow-y: auto;
}
/* Nav item text truncation — prevents long emails from overflowing */
.pd-app-nav-item > span {
  flex: 1;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

/* ── v29: marketing demo sections (Home page) ────────────────────────── */
.mkt-demo-section { margin: 90px auto; }
.mkt-demo-section-alt .demo1-grid,
.demo2-grid { direction: rtl; }
.mkt-demo-section-alt .demo1-grid > *,
.demo2-grid > * { direction: ltr; }

.demo-eyebrow { display: block; font-size: 11px; letter-spacing: .1em; color: var(--mint-deep); text-transform: uppercase; margin-bottom: 14px; }
.demo-sample-badge {
  font-size: 10px; font-weight: 500; letter-spacing: .04em; text-transform: uppercase;
  color: var(--sem-warning); background: var(--sem-warning-bg); padding: 4px 10px; border-radius: 99px;
}
.demo-replay-btn { font-size: 11px; font-weight: 500; color: #8a8f8a; background: transparent; padding: 4px 8px; border-radius: 6px; }
.demo-replay-btn:hover { color: var(--ink); background: rgba(0,0,0,.05); }

.demo-select-rows { display: flex; flex-direction: column; background: transparent; }
.demo-select-row {
  display: flex; align-items: center; gap: 12px; text-align: left;
  padding: 14px 4px 14px 12px; font-size: 15px; color: var(--muted);
  background: transparent; border: none; border-top: 1px solid rgba(18,18,12,.08);
  border-left: 2px solid transparent;
  transition: color .16s ease, border-color .16s ease, background-color .16s ease;
}
.demo-select-row:last-child { border-bottom: 1px solid rgba(18,18,12,.08); }
.demo-select-row:hover { color: var(--ink); background: rgba(18,18,12,.025); }
.demo-select-row:focus-visible { outline: 2px solid var(--mint-deep); outline-offset: -2px; border-radius: 4px; }
.demo-select-marker { width: 6px; height: 6px; border-radius: 50%; background: #d5d3cb; flex-shrink: 0; transition: background .15s; }
.demo-select-row-active { color: var(--ink); font-weight: 600; background: transparent; border-left-color: var(--mint-deep); }
.demo-select-row-active .demo-select-marker { background: var(--mint-deep); }

/* ── Demo 1: workflows ── */
.demo1-grid { display: grid; grid-template-columns: 1.15fr 1fr; gap: 64px; align-items: center; }
.demo1-panel {
  background: #f0eee5;
  border-radius: 16px;
  padding: 0;
  overflow: hidden;
  min-height: 420px;
  display: flex;
  flex-direction: column;
}
.demo1-panel-chrome { display: flex; align-items: center; justify-content: space-between; padding: 16px 20px; }
.demo1-channel { font: 600 12.5px ui-monospace, SFMono-Regular, Menlo, monospace; color: #767b73; }
.demo1-thread { flex: 1; padding: 4px 20px 24px; display: flex; flex-direction: column; gap: 12px; overflow-y: auto; }
.demo1-msg {
  max-width: 82%; opacity: 0; transform: translateY(6px) scale(.985); transform-origin: bottom left;
  transition: opacity .32s cubic-bezier(.22,.7,.32,1), transform .32s cubic-bezier(.22,.7,.32,1);
}
.demo1-msg.pd-in { opacity: 1; transform: none; }
.demo1-msg-founder { align-self: flex-end; text-align: right; transform-origin: bottom right; }
.demo1-msg-tag { display: block; font-size: 10px; font-weight: 600; letter-spacing: .04em; color: var(--mint-deep); margin-bottom: 4px; }
.demo1-msg-tag-founder { color: #8a8f8a; }
.demo1-msg-tag-mentor { color: var(--sem-info); }
.demo1-msg p { margin: 0; background: #fff; padding: 11px 14px; border-radius: 12px; font-size: 13.5px; line-height: 1.5; color: var(--ink); box-shadow: 0 1px 3px rgba(0,0,0,.05); overflow: hidden; }
.demo1-msg-founder p { background: #e4e2da; }

/* text reveals with a restrained clip-path wipe as the bubble settles in */
.demo1-msg-text {
  display: inline-block;
  clip-path: inset(0 100% 0 0);
  transition: clip-path .38s cubic-bezier(.22,.7,.32,1) .05s;
}
.demo1-msg.pd-in .demo1-msg-text { clip-path: inset(0 0 0 0); }

/* typing / processing indicator — reserves the same row shape as a message */
.demo1-msg-typing p, .demo1-typing-dots { background: #fff; box-shadow: 0 1px 3px rgba(0,0,0,.05); }
.demo1-msg-founder.demo1-msg-typing .demo1-typing-dots { background: #e4e2da; box-shadow: none; }
.demo1-typing-dots { display: inline-flex; align-items: center; gap: 4px; padding: 13px 15px; border-radius: 12px; }
.demo1-typing-dots i { width: 5px; height: 5px; border-radius: 50%; background: #b7bfbb; animation: pdTypingPulse 1.1s ease-in-out infinite; }
.demo1-typing-dots i:nth-child(2) { animation-delay: .15s; }
.demo1-typing-dots i:nth-child(3) { animation-delay: .3s; }
@keyframes pdTypingPulse { 0%, 60%, 100% { opacity: .3; } 30% { opacity: 1; } }

.demo1-copy h2 { font-size: clamp(28px, 3vw, 38px); font-weight: 700; letter-spacing: -.03em; line-height: 1.1; color: var(--ink); margin: 0 0 24px; }

/* ── Demo 2: multilingual ── */
.demo2-grid { display: grid; grid-template-columns: 1fr 1.15fr; gap: 64px; align-items: center; }
.demo2-copy h2 { font-size: clamp(28px, 3vw, 38px); font-weight: 700; letter-spacing: -.03em; line-height: 1.1; color: var(--ink); margin: 0 0 16px; }
.demo2-copy p { font-size: 15px; line-height: 1.65; color: var(--muted); max-width: 400px; margin: 0; }
.demo2-panel { background: #f0eee5; border-radius: 16px; padding: 20px 20px 22px; }
.demo2-tabs { display: flex; gap: 6px; margin-bottom: 16px; }
.demo2-tab { font-size: 12.5px; font-weight: 500; color: #767b73; padding: 7px 13px; border-radius: 99px; }
.demo2-tab-active { background: var(--ink); color: #fff; }
.demo2-thread { display: flex; flex-direction: column; gap: 12px; min-height: 190px; }
.demo2-voice { display: flex; align-items: center; gap: 10px; margin-top: 18px; padding-top: 16px; border-top: 1px solid rgba(18,18,12,.08); }
.demo2-wave { display: inline-flex; align-items: center; gap: 3px; height: 16px; }
.demo2-wave i { display: block; width: 3px; border-radius: 2px; background: #c7c5bc; }
.demo2-wave i:nth-child(1) { height: 6px; } .demo2-wave i:nth-child(2) { height: 14px; }
.demo2-wave i:nth-child(3) { height: 9px; } .demo2-wave i:nth-child(4) { height: 16px; }
.demo2-wave i:nth-child(5) { height: 7px; }
.demo2-voice-label { font-size: 10.5px; color: #9a9d97; }

/* ── Demo 3: venture workspace ── */
.mkt-demo-head { max-width: 640px; margin: 0 auto 34px; text-align: left; }
.mkt-demo-head h2 { font-size: clamp(28px, 3vw, 38px); font-weight: 700; letter-spacing: -.03em; margin: 0 0 10px; color: var(--ink); }
.mkt-demo-head p { font-size: 14.5px; color: var(--muted); margin: 0; }

.demo3-shell {
  display: grid;
  grid-template-columns: 192px 1fr 228px;
  background: #fff;
  border: 1px solid rgba(18,18,12,.09);
  border-radius: 0;
  box-shadow: none;
  overflow: hidden;
  min-height: 500px;
  max-height: 500px;
  /* Watch-only animation: nothing inside is clickable. */
  pointer-events: none;
  user-select: none;
}

/* ── left nav: Prodigy Pro dark forest green sidebar ── */
.demo3-nav {
  background: #162920; border-right: none;
  display: flex; flex-direction: column; overflow: hidden;
}
.demo3-nav-head {
  display: flex; align-items: center; gap: 4px; padding: 12px 10px 6px;
  border-bottom: 1px solid rgba(255,255,255,.08);
}
.demo3-venture-switch {
  display: flex; align-items: center; gap: 7px; font-size: 12.5px; font-weight: 600; color: #e8efe9;
  padding: 5px 7px; border-radius: 7px; flex: 1;
}
.demo3-venture-switch span { flex: 1; text-align: left; }
.demo3-venture-caret { opacity: .45; color: #e8efe9; }
.demo3-nav-new {
  display: grid; place-items: center; width: 26px; height: 26px; border-radius: 6px;
  color: rgba(200,218,207,.5); flex-shrink: 0;
}
.demo3-nav-search {
  display: flex; align-items: center; gap: 8px; font-size: 11.5px; color: rgba(200,218,207,.45);
  background: rgba(255,255,255,.06); border: 1px solid rgba(255,255,255,.09); padding: 6px 10px; border-radius: 7px; margin: 8px 10px 4px;
}
.demo3-nav-search span { flex: 1; }
.demo3-nav-search kbd { font-size: 9.5px; color: rgba(200,218,207,.3); font-family: inherit; }
.demo3-nav-scroll { flex: 1; overflow-y: auto; padding: 4px 8px 8px; display: flex; flex-direction: column; gap: 1px; }
.demo3-nav-section { font-size: 10px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: rgba(200,218,207,.35); padding: 10px 8px 3px; }
.demo3-nav-item {
  display: flex; align-items: center; gap: 8px; text-align: left; font-size: 12px; color: rgba(200,218,207,.68);
  padding: 6px 8px; border-radius: 5px; min-width: 0; transition: background .1s ease, color .1s ease;
}
.demo3-nav-item:hover { background: rgba(255,255,255,.07); color: #e8efe9; }
.demo3-nav-item span:first-of-type { flex: 1; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.demo3-nav-item-active { background: rgba(80,252,207,.14); color: #50fcce; font-weight: 600; }
.demo3-nav-item-active .pd-icon { color: #50fcce; }
.demo3-nav-top { }
.demo3-nav-badge {
  font-size: 9.5px; font-weight: 700; min-width: 16px; height: 16px; padding: 0 4px;
  background: #50fcce; color: #0e1f18; border-radius: 99px; display: grid; place-items: center; flex-shrink: 0;
}
.demo3-nav-count {
  font-size: 10px; font-weight: 600; color: rgba(200,218,207,.4); flex-shrink: 0; margin-left: auto;
}
.demo3-nav-footer {
  border-top: 1px solid rgba(255,255,255,.07); padding: 6px 8px 8px; display: flex; flex-direction: column; gap: 0; flex-shrink: 0;
}
.demo3-nav-footer-item { font-size: 12px; color: rgba(200,218,207,.62); }
.demo3-nav-footer-profile {
  display: flex; align-items: center; gap: 9px; padding: 8px 8px 4px; margin-top: 2px;
  border-top: 1px solid rgba(255,255,255,.07);
}
.demo3-nav-avatar {
  width: 24px; height: 24px; border-radius: 50%; background: #50fcce; color: #0e1f18;
  display: flex; align-items: center; justify-content: center; font-size: 9px; font-weight: 700; flex-shrink: 0;
}
.demo3-nav-profile-info { flex: 1; min-width: 0; }
.demo3-nav-profile-name { display: block; font-size: 12px; font-weight: 600; color: #e8efe9; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.demo3-nav-profile-role { display: block; font-size: 10.5px; color: rgba(200,218,207,.5); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.demo3-nav-profile-more { color: rgba(200,218,207,.4); flex-shrink: 0; }

/* ── demo frame: controlled crop on public page ── */
.demo3-frame { position: relative; border-radius: 12px; overflow: hidden; }
.demo3-frame::after {
  content: ''; position: absolute; bottom: 0; left: 0; right: 0; height: 100px;
  background: linear-gradient(transparent, #f7f8f6); pointer-events: none; border-radius: 0 0 12px 12px;
}

/* ── main document ── */
.demo3-doc { padding: 24px 28px 28px; overflow-y: auto; background: #fff; }
.demo3-doc-topbar { display: flex; align-items: center; justify-content: space-between; margin-bottom: 20px; }
.demo3-doc-crumb { font-size: 11.5px; color: #b0b3a8; display: flex; align-items: center; gap: 4px; }
.demo3-doc-crumb span { color: #d4d0c8; }
.demo3-topbar-actions { display: flex; align-items: center; gap: 6px; }
.demo3-topbar-icon-sm { color: #c4c7be; width: 22px; height: 22px; }
.demo3-tb-collaborators { display: flex; align-items: center; gap: -3px; margin-right: 4px; }
.demo3-tb-collaborators > * { margin-right: -5px; box-shadow: 0 0 0 2px #fff; border-radius: 50%; }

.demo3-page-header { display: flex; align-items: flex-start; gap: 14px; margin-bottom: 22px; }
.demo3-page-icon { font-size: 32px; line-height: 1; flex-shrink: 0; margin-top: 2px; }
.demo3-page-header-text { flex: 1; min-width: 0; }
.demo3-doc-title { font-size: 22px; font-weight: 700; letter-spacing: -.025em; color: var(--ink); margin: 0 0 3px; }
.demo3-doc-sub { font-size: 13px; color: var(--muted); margin: 0; line-height: 1.5; }

.demo3-props { display: flex; flex-direction: column; margin-bottom: 4px; }
.demo3-prop { display: grid; grid-template-columns: 126px 1fr; align-items: center; padding: 5px 4px; min-height: 30px; }
.demo3-prop + .demo3-prop { border-top: 1px solid rgba(18,18,12,.05); }
.demo3-prop-key { display: flex; align-items: center; gap: 6px; font-size: 11.5px; color: #9a9d97; font-weight: 500; }
.demo3-prop-key .pd-icon { color: #c0c3ba; width: 12px; height: 12px; }
.demo3-prop-val { font-size: 12.5px; color: var(--ink); }
.demo3-prop-meta { font-size: 11.5px; color: #a5a89e; }
.demo3-prop-person { display: flex; align-items: center; gap: 7px; }
.demo3-stage-tag { font-size: 11.5px; font-weight: 600; color: #1a6b4a; background: #e0f2ea; padding: 2px 8px; border-radius: 4px; }
.demo3-status-text { font-size: 12.5px; font-weight: 500; }
.demo3-status-green { color: #1a6b4a; }

.demo3-hr { border: none; border-top: 1px solid rgba(18,18,12,.07); margin: 18px 0 16px; }
.demo3-inline-summary {
  font-size: 12px; color: var(--muted); margin: 8px 0 0; padding: 9px 11px;
  background: #f7f6f0; border-radius: 6px; opacity: 0; transform: translateY(3px);
  transition: opacity .3s ease, transform .3s ease;
}
.demo3-inline-summary.pd-in { opacity: 1; transform: none; }

/* content sections */
.demo3-section { margin-bottom: 20px; }
.demo3-section-head { display: flex; align-items: center; justify-content: space-between; margin-bottom: 10px; }
.demo3-section-head h3 { font-size: 12.5px; font-weight: 600; color: var(--ink); margin: 0; letter-spacing: -.01em; }
.demo3-section-meta { font-size: 11px; color: #a5a89e; }

/* evidence table */
.demo3-etable { display: flex; flex-direction: column; border: 1px solid rgba(18,18,12,.08); border-radius: 8px; overflow: hidden; }
.demo3-etable-head {
  display: grid; grid-template-columns: 14px 1fr 76px 44px;
  gap: 10px; padding: 7px 12px;
  font-size: 10px; font-weight: 700; color: #a5a89e; letter-spacing: .04em; text-transform: uppercase;
  background: #fafaf8; border-bottom: 1px solid rgba(18,18,12,.07);
}
.demo3-etable-row {
  display: grid; grid-template-columns: 14px 1fr 76px 44px;
  gap: 10px; align-items: center; padding: 9px 12px;
  font-size: 12px; color: var(--ink); background: #fff;
}
.demo3-etable-row + .demo3-etable-row { border-top: 1px solid rgba(18,18,12,.06); }
.demo3-edot { width: 7px; height: 7px; border-radius: 50%; flex-shrink: 0; }
.demo3-edot-green { background: #22a86a; }
.demo3-edot-grey { background: #d4d0c8; }
.demo3-etable-meta { font-size: 11px; color: #a5a89e; }

/* milestone header row */
.demo3-milestone-name-row {
  display: flex; align-items: center; gap: 9px;
  padding: 8px 10px; background: #fafaf8; border: 1px solid rgba(18,18,12,.08);
  border-radius: 8px 8px 0 0; font-size: 13px; font-weight: 500; color: var(--ink);
}
.demo3-milestone-marker { width: 7px; height: 7px; border-radius: 50%; background: var(--mint-deep); flex-shrink: 0; }
.demo3-milestone-label { flex: 1; }
.demo3-milestone-due { font-size: 11px; color: #a5a89e; }
.demo3-milestone-chevron { transition: transform .18s ease; flex-shrink: 0; color: #c0c3ba; }

/* task rows v2 */
.demo3-task2 { display: flex; flex-direction: column; border: 1px solid rgba(18,18,12,.08); border-top: none; border-radius: 0 0 8px 8px; overflow: hidden; }
.demo3-task2-row {
  display: flex; align-items: center; gap: 10px; padding: 8px 12px;
  font-size: 12px; color: var(--ink); background: #fff;
}
.demo3-task2-row + .demo3-task2-row { border-top: 1px solid rgba(18,18,12,.05); }
.demo3-task2-check {
  width: 14px; height: 14px; border-radius: 4px; flex-shrink: 0;
  display: flex; align-items: center; justify-content: center;
}
.demo3-task2-done { background: var(--mint-deep); color: #fff; }
.demo3-task2-prog { background: #fff; border: 1.5px solid #d4d0c8; }
.demo3-task2-label { flex: 1; }
.demo3-done-text { color: #a5a89e; }
.demo3-task2-assignee { flex-shrink: 0; }
.demo3-task2-date { font-size: 11px; color: #b0b3a8; white-space: nowrap; }
.demo3-task2-row-new { opacity: 0; transform: translateY(3px); transition: opacity .3s ease, transform .3s ease; }
.demo3-task2-row-new.pd-in { opacity: 1; transform: none; }

/* ── right panel ── */
.demo3-side { background: #fff; border-left: 1px solid rgba(18,18,12,.07); display: flex; flex-direction: column; overflow-y: auto; }
.demo3-side-header { padding: 0 16px; border-bottom: 1px solid rgba(18,18,12,.07); flex-shrink: 0; }
.demo3-side-tabs { display: flex; }
.demo3-side-tab { font-size: 12px; font-weight: 500; color: #9a9d97; padding: 12px 10px 11px; border-bottom: 2px solid transparent; transition: color .15s ease, border-color .15s ease; cursor: default; }
.demo3-side-tab-active { color: var(--ink); border-bottom-color: var(--ink); }
.demo3-side-body { padding: 16px; display: flex; flex-direction: column; gap: 18px; }
.demo3-side-section { display: flex; flex-direction: column; gap: 9px; }
.demo3-side-section-label { font-size: 10px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: #b5b8b0; }
.demo3-side-reviewer { display: flex; align-items: center; gap: 10px; }
.demo3-side-reviewer-info { flex: 1; min-width: 0; }
.demo3-side-reviewer-info b { display: block; font-size: 12.5px; color: var(--ink); font-weight: 600; }
.demo3-side-reviewer-info span { font-size: 11px; color: #9a9d97; }
.demo3-reviewed-badge { font-size: 10.5px; font-weight: 600; color: #1a6b4a; background: #e0f2ea; padding: 2px 7px; border-radius: 4px; white-space: nowrap; }
.demo3-side-note { font-size: 12px; color: var(--muted); line-height: 1.55; margin: 0; padding: 9px 11px; background: #f7f6f0; border-radius: 6px; border-left: 2px solid var(--mint-deep); }
.demo3-side-qlist { display: flex; flex-direction: column; gap: 8px; }
.demo3-side-q { display: flex; align-items: flex-start; gap: 8px; }
.demo3-side-q-num { font-size: 10px; font-weight: 700; color: #c0c3ba; width: 14px; flex-shrink: 0; margin-top: 2px; }
.demo3-side-q p { margin: 0; font-size: 12px; color: var(--muted); line-height: 1.5; }
.demo3-side-milestone { display: flex; align-items: center; gap: 9px; font-size: 12.5px; color: var(--ink); }
.demo3-side-date { font-size: 11px; color: #a5a89e; margin-left: auto; }

/* activity rows with profile avatars */
.demo3-act-row { display: flex; align-items: flex-start; gap: 9px; padding: 7px 0; }
.demo3-act-row + .demo3-act-row { border-top: 1px solid rgba(18,18,12,.05); }
.demo3-act-body { flex: 1; min-width: 0; }
.demo3-act-body span { font-size: 12px; color: var(--muted); line-height: 1.45; display: block; }
.demo3-act-body time { font-size: 10.5px; color: #b5b8b0; display: block; margin-top: 2px; }

/* signals tab */
.demo3-score-sub { font-size: 11.5px; color: #9a9d97; margin: 2px 0 0; }
.demo3-signal-rows { display: flex; flex-direction: column; gap: 12px; }
.demo3-signal-row { display: flex; align-items: flex-start; gap: 9px; }
.demo3-next-step-clean { font-size: 12px; color: var(--ink); line-height: 1.55; padding: 10px 12px; background: #f7f6f0; border-radius: 6px; margin: 0; }

/* impact tab */
.demo3-impact-clean-metrics { display: grid; grid-template-columns: 1fr 1fr; gap: 1px; background: rgba(18,18,12,.08); border-radius: 8px; overflow: hidden; }
.demo3-icm-cell { background: #fff; padding: 10px 12px; display: flex; flex-direction: column; gap: 2px; }
.demo3-icm-cell b { font-size: 15px; font-weight: 700; color: var(--ink); letter-spacing: -.02em; }
.demo3-icm-cell span { font-size: 10px; color: #9a9d97; font-weight: 500; }

.demo3-cta-row { display: flex; justify-content: center; margin-top: 24px; }

/* ── Demo: question rows ── */
.demo3-side-questions { display: flex; flex-direction: column; gap: 8px; }
.demo3-side-question-row { display: flex; align-items: flex-start; gap: 8px; }
.demo3-side-q-dot { width: 6px; height: 6px; border-radius: 50%; background: #d4cfc6; flex-shrink: 0; margin-top: 5px; }
.demo3-side-question-row p { font-size: 11.5px; color: var(--muted); margin: 0; line-height: 1.5; }

/* ── Demo: venture health row ── */
.demo3-health-row { display: flex; gap: 8px; margin: 14px 0 4px; }
.demo3-health-cell { flex: 1; background: #f7f6f0; border-radius: 8px; padding: 9px 10px; display: flex; flex-direction: column; gap: 5px; }
.demo3-health-label { display: flex; align-items: center; gap: 5px; font-size: 10px; font-weight: 600; color: #9a9d97; letter-spacing: .01em; }
.demo3-health-label .pd-icon { color: #b0b3a8; }
.demo3-health-bar-wrap { height: 4px; background: #e8e6de; border-radius: 99px; overflow: hidden; }
.demo3-health-bar { height: 100%; background: var(--mint-deep); border-radius: 99px; transition: width .6s ease; }
.demo3-health-bar-amber { background: #f59e0b; }
.demo3-health-bar-green { background: #22c55e; }
.demo3-health-val { font-size: 10.5px; font-weight: 600; color: var(--ink); }

/* ── Demo: signals tab ── */
.demo3-evidence-score-row { display: flex; align-items: center; gap: 10px; }
.demo3-evidence-score-track { flex: 1; height: 6px; background: #e8e6de; border-radius: 99px; overflow: hidden; }
.demo3-evidence-score-fill { height: 100%; background: var(--mint-deep); border-radius: 99px; transition: width .05s linear; }
.demo3-evidence-score-num { font-size: 13px; font-weight: 700; color: var(--ink); min-width: 32px; text-align: right; }
.demo3-evidence-breakdown { display: flex; gap: 6px; flex-wrap: wrap; margin-top: 2px; }
.demo3-eb-item { display: inline-flex; align-items: center; gap: 4px; font-size: 10.5px; font-weight: 600; padding: 3px 8px; border-radius: 99px; }
.demo3-eb-supported { background: #d9f0e8; color: #1a7a54; }
.demo3-eb-untested { background: #eeece6; color: #6b7066; }
.demo3-eb-contra { background: #fbe4e0; color: #b23a2a; }

.demo3-signal-card { border-radius: 8px; padding: 10px 12px; display: flex; flex-direction: column; gap: 5px; }
.demo3-signal-card-green { background: #edf7f2; border-left: 3px solid var(--mint-deep); }
.demo3-signal-card-amber { background: #fef8ec; border-left: 3px solid #f59e0b; }
.demo3-signal-card-head { display: flex; align-items: center; gap: 5px; font-size: 11px; font-weight: 700; color: var(--ink); }
.demo3-signal-card-green .demo3-signal-card-head .pd-icon { color: var(--mint-deep); }
.demo3-signal-card-amber .demo3-signal-card-head .pd-icon { color: #f59e0b; }
.demo3-signal-card p { font-size: 11px; color: var(--muted); margin: 0; line-height: 1.5; }

.demo3-next-step { display: flex; align-items: flex-start; gap: 8px; background: #f0faf6; border-radius: 8px; padding: 10px 12px; }
.demo3-next-step .pd-icon { color: var(--mint-deep); flex-shrink: 0; margin-top: 1px; }
.demo3-next-step p { font-size: 11.5px; color: var(--ink); margin: 0; line-height: 1.5; font-weight: 500; }

/* ── Demo: impact tab ── */
.demo3-impact-goal { display: flex; align-items: flex-start; gap: 10px; background: #f7f6f0; border-radius: 9px; padding: 11px 12px; }
.demo3-impact-goal-icon { font-size: 20px; line-height: 1; flex-shrink: 0; }
.demo3-impact-goal b { display: block; font-size: 12.5px; font-weight: 700; color: var(--ink); margin-bottom: 2px; }
.demo3-impact-goal span { font-size: 11px; color: var(--muted); line-height: 1.45; }
.demo3-impact-metrics { display: grid; grid-template-columns: 1fr 1fr; gap: 6px; }
.demo3-impact-metric { background: #f7f6f0; border-radius: 8px; padding: 9px 10px; display: flex; flex-direction: column; gap: 2px; }
.demo3-impact-metric b { font-size: 15px; font-weight: 700; color: var(--ink); letter-spacing: -.02em; }
.demo3-impact-metric span { font-size: 10px; color: #9a9d97; font-weight: 500; }
.demo3-sdg-row { display: flex; flex-wrap: wrap; gap: 6px; }
.demo3-sdg-badge { display: inline-flex; flex-direction: column; align-items: center; gap: 2px; font-size: 10px; font-weight: 700; padding: 5px 9px; border-radius: 7px; line-height: 1; }
.demo3-sdg-badge small { font-size: 9px; font-weight: 400; opacity: .85; }
.demo3-sdg-2 { background: #fef9c3; color: #854d0e; }
.demo3-sdg-4 { background: #dbeafe; color: #1e40af; }
.demo3-sdg-12 { background: #f3e8ff; color: #6b21a8; }
.demo3-readiness-list { display: flex; flex-direction: column; gap: 6px; }
.demo3-readiness-row { display: flex; align-items: center; gap: 7px; font-size: 12px; }
.demo3-readiness-done { color: var(--ink); }
.demo3-readiness-done .pd-icon { color: var(--mint-deep); }
.demo3-readiness-open { color: #9a9d97; }
.demo3-readiness-open .pd-icon { color: #d4cfc6; }

/* ── Mission page ── */
/* ── Mission page: narrow editorial column (Copperlane-style hierarchy) ── */
.editorial-col { width: min(680px, calc(100% - 40px)); margin: 0 auto; padding: 64px 0; }
.editorial-col p { font-size: 16px; line-height: 1.75; color: var(--muted); margin: 0 0 16px; }
.editorial-col p:last-child { margin-bottom: 0; }
.editorial-col h2 { font-size: clamp(26px, 2.8vw, 34px); font-weight: 700; letter-spacing: -.03em; color: var(--ink); margin: 0 0 18px; line-height: 1.15; }

.editorial-hero { padding-top: 90px; padding-bottom: 50px; }
.editorial-hero h1 { font-size: clamp(38px, 5.2vw, 64px); font-weight: 700; letter-spacing: -.04em; line-height: 1.04; color: var(--ink); margin: 0 0 26px; }
.editorial-lede { font-size: 19px !important; line-height: 1.6 !important; color: var(--ink) !important; max-width: 560px; }

.editorial-manifesto p { font-size: 18px; line-height: 1.8; color: var(--ink); opacity: .82; margin-bottom: 22px; }
.editorial-manifesto .demo-eyebrow { display: block; margin-bottom: 22px; }

.editorial-final { padding-top: 30px; padding-bottom: 100px; }
.editorial-final-text { font-size: clamp(22px, 2.4vw, 28px) !important; color: var(--ink) !important; line-height: 1.5 !important; letter-spacing: -.01em; }
.editorial-final-text a { color: var(--mint-deep); font-weight: 600; white-space: nowrap; }
.editorial-final-text a:hover { text-decoration: underline; }

.mission-templates { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; margin-top: 22px; }
.mission-template { background: #f5f3ed; border-radius: 12px; padding: 16px; }
.mission-template .pd-badge { margin-bottom: 10px; display: inline-block; }
.mission-template p { font-size: 12.5px; margin: 0; }
.mission-principles { list-style: none; margin: 18px 0 0; padding: 0; display: flex; flex-direction: column; gap: 12px; }
.mission-principles li { font-size: 14px; line-height: 1.6; color: var(--muted); }
.mission-principles b { color: var(--ink); }
.mission-methodology-link { display: inline-block; margin-top: 14px; font-size: 12px; color: var(--mint-deep); font-weight: 500; }
.mission-methodology { max-width: 480px; margin: 10px auto 0; font-size: 11.5px; color: #9a9d97; text-align: center; }

/* ── Community Reach Map (mission.html) ── */
.reach-section { display: flex; flex-direction: column; gap: 28px; padding: 70px 0; }

/* Centered stats above the map */
.reach-stats-centered { display: flex; justify-content: center; gap: 80px; padding-bottom: 4px; }
.reach-stat { display: flex; flex-direction: column; align-items: center; gap: 5px; }
.reach-stat b { font-size: clamp(40px, 5vw, 60px); font-weight: 700; letter-spacing: -.04em; color: var(--ink); line-height: 1; font-family: Manrope, sans-serif; }
.reach-stat span { font-size: 13px; color: var(--muted); line-height: 1.4; }

.reach-map-col { width: 100%; }
.reach-map-mount { width: 100%; }

/* SVG flag icons — real rectangular flags */
.reach-flag { display: inline-block; width: 20px; height: 14px; border-radius: 2px; flex-shrink: 0; box-shadow: inset 0 0 0 1px rgba(18,18,12,.13); background-size: cover; background-position: center; }
.reach-point-label .reach-flag { width: 18px; height: 12px; }

/* No card, no gradient, no glow — the map sits directly on the page's own
   off-white background, the way a technical/infrastructure map would. */
.reach-map { position: relative; width: 100%; aspect-ratio: 16 / 9; }
.reach-map-svg { position: absolute; inset: 0; width: 100%; height: 100%; display: block; overflow: visible; }
.reach-map-land { fill: #6a6860; }
.reach-map-connector { display: none; }
.reach-map-points { position: absolute; inset: 0; z-index: 2; }

.reach-point { position: absolute; transform: translate(-50%, -50%); display: flex; align-items: center; gap: 9px; background: none; border: 0; padding: 10px; margin: -10px; cursor: pointer; z-index: 3; }
.reach-point-dot { width: 9px; height: 9px; border-radius: 50%; background: var(--mint-deep); box-shadow: 0 0 0 0 rgba(21, 154, 120, .0); display: block; flex-shrink: 0; transition: transform .18s ease, box-shadow .18s ease; }
.reach-point:hover .reach-point-dot, .reach-point:focus-visible .reach-point-dot { transform: scale(1.6); box-shadow: 0 0 0 5px rgba(21, 154, 120, .22); }
.reach-point-active .reach-point-dot { transform: scale(1.5); animation: reachDotPulse 1.8s cubic-bezier(.17,.67,.83,.67) infinite; }
@keyframes reachDotPulse { 0% { box-shadow: 0 0 0 0 rgba(21,154,120,.55); } 70% { box-shadow: 0 0 0 9px rgba(21,154,120,0); } 100% { box-shadow: 0 0 0 0 rgba(21,154,120,0); } }
.reach-point-label {
  position: absolute; left: 50%; top: calc(100% + 6px); transform: translateX(-50%) translateY(4px);
  display: flex; align-items: center; gap: 8px;
  background: #fff; border: 1px solid rgba(18,18,12,.12); border-radius: 9px;
  padding: 7px 12px 7px 10px; white-space: nowrap;
  opacity: 0; transition: opacity .18s ease, transform .18s ease;
  pointer-events: none; box-shadow: 0 8px 24px rgba(20, 22, 20, .13); z-index: 10;
}
.reach-point:hover .reach-point-label, .reach-point:focus-visible .reach-point-label, .reach-point-active .reach-point-label { opacity: 1; transform: translateX(-50%) translateY(0); }
.reach-point-name { font-size: 12px; font-weight: 600; color: var(--ink); }
.reach-point:focus-visible { outline: 2px solid var(--mint-deep); outline-offset: 3px; border-radius: 50%; }

.reach-index { display: grid; grid-template-columns: repeat(auto-fill, minmax(170px, 1fr)); gap: 2px 20px; max-width: 720px; margin: 0 auto; padding-top: 8px; border-top: 1px solid #e6e3d8; }
.reach-index-row { display: flex; align-items: center; gap: 8px; padding: 9px 4px; font-size: 13px; color: var(--muted); background: none; border: 0; text-align: left; width: 100%; cursor: pointer; border-radius: 4px; transition: background .15s ease, color .15s ease; }
.reach-index-row:hover, .reach-index-row:focus-visible { background: #f0eee7; color: var(--ink); outline: none; }
.reach-index-row-active { color: var(--ink); font-weight: 600; }
.reach-index-row-active .reach-index-code { color: var(--mint-deep); }
/* .reach-index-flag replaced by .reach-flag + flag-icons */
.reach-index-code { font-size: 10.5px; font-weight: 700; letter-spacing: .04em; color: #9a9d97; width: 22px; flex-shrink: 0; }

@media (max-width: 860px) {
  .reach-section { grid-template-columns: 1fr; gap: 32px; }
  .reach-copy p { max-width: none; }
  .editorial-manifesto { padding: 40px 28px; }
}

@media (max-width: 900px) {
  .demo1-grid, .demo2-grid { grid-template-columns: 1fr; gap: 32px; direction: ltr; }
  .demo3-shell { grid-template-columns: 1fr; grid-template-rows: auto auto auto; }
  .demo3-nav { flex-direction: row; flex-wrap: wrap; align-items: center; gap: 6px 12px; height: auto; border-right: none; border-bottom: 1px solid rgba(18,18,12,.07); padding: 12px; }
  .demo3-nav-section { display: none; }
  .demo3-nav-search { display: none; }
  .demo3-venture-switch { margin-bottom: 0; }
  .demo3-side { border-left: none; border-top: 1px solid rgba(18,18,12,.07); }
  .mission-templates { grid-template-columns: 1fr; }
}
@media (max-width: 600px) {
  .editorial-manifesto { padding: 26px 20px; }
  .reach-index { grid-template-columns: 1fr 1fr; }
}

@media (prefers-reduced-motion: reduce) {
  .demo1-msg, .demo1-msg-text, .demo1-typing-dots i,
  .demo3-suggested-action, .demo3-metric-row, .demo3-task-row-new,
  .demo3-inline-summary, .demo3-mentor-questions, .demo3-mentor-questions p {
    transition: none !important; animation: none !important; clip-path: none !important;
  }
}

/* ── Final nav-text pass: dark navy token, not bright mint, not too pale ── */
.premium-nav a {
  color: var(--ink) !important;
  opacity: .62 !important;
  font-weight: 400 !important;
  position: relative !important;
  transition: opacity .18s ease !important;
}
.premium-nav a:hover,
.premium-nav a:focus-visible {
  opacity: 1 !important;
}
.premium-nav a.active {
  color: var(--ink) !important;
  opacity: 1 !important;
  font-weight: 500 !important;
}
.premium-nav a.active::after {
  content: "" !important;
  position: absolute !important;
  left: 0 !important;
  right: 0 !important;
  bottom: -8px !important;
  height: 2px !important;
  border-radius: 2px !important;
  background: var(--mint-deep) !important;
}

/* ── Settings panel (v2: tabbed institutional settings) ── */
.pd-settings { display: flex; flex-direction: column; gap: 0; min-height: 100%; }
.pd-settings-tabs { display: flex; gap: 2px; border-bottom: 1px solid rgba(18,18,12,.09); margin: -20px -20px 0; padding: 0 20px; }
.pd-settings-tab { background: none; border: 0; border-bottom: 2px solid transparent; font: 500 13px "Inter"; color: var(--muted); padding: 12px 14px 10px; cursor: pointer; margin-bottom: -1px; transition: color .14s ease, border-color .14s ease; }
.pd-settings-tab:hover { color: var(--ink); }
.pd-settings-tab-active { color: var(--ink) !important; border-bottom-color: var(--mint-deep) !important; font-weight: 600; }
.pd-settings-body { padding-top: 24px; }
.pd-settings-section { padding: 0 0 22px; border-bottom: 1px solid rgba(18,18,12,.07); margin-bottom: 22px; }
.pd-settings-section:last-child { border-bottom: 0; margin-bottom: 0; padding-bottom: 0; }
.pd-settings-group-label { font-size: 10.5px; font-weight: 700; letter-spacing: .07em; text-transform: uppercase; color: #9a9d97; margin-bottom: 14px; }
.pd-settings-field-row { display: flex; align-items: center; gap: 14px; min-height: 44px; padding: 8px 0; border-bottom: 1px solid rgba(18,18,12,.06); }
.pd-settings-field-row:last-child { border-bottom: 0; }
.pd-settings-field-readonly { background: transparent; }
.pd-settings-label { font-size: 13px; font-weight: 500; color: var(--ink); width: 140px; flex-shrink: 0; }
.pd-settings-value { font-size: 13px; color: var(--muted); flex: 1; }
.pd-settings-input { flex: 1; font-size: 13px; }
.pd-settings-sub { font-size: 11.5px; color: #9a9d97; margin: 3px 0 0; line-height: 1.5; }
.pd-settings-badge { font-size: 10.5px; font-weight: 500; color: #7d8278; background: #f0ede5; border-radius: 5px; padding: 3px 8px; white-space: nowrap; }
.pd-badge-off { background: #f2efea; color: #9a9d97; }
.pd-settings-code { font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: 12px; color: var(--muted); background: #f0ede5; border-radius: 5px; padding: 3px 8px; }
.pd-settings-role-tag { font-size: 11.5px; color: var(--muted); background: var(--t-subtle); border-radius: 5px; padding: 3px 8px; }
.pd-settings-actions { display: flex; justify-content: flex-end; padding-top: 6px; }
.pd-settings-toggle-row { display: flex; align-items: center; gap: 16px; padding: 12px 0; border-bottom: 1px solid rgba(18,18,12,.06); }
.pd-settings-toggle-row:last-child { border-bottom: 0; }
.pd-settings-toggle-text { flex: 1; }
.pd-settings-toggle-text .pd-settings-label { width: auto; }
.pd-profile-header { display: flex; align-items: flex-start; gap: 16px; padding: 6px 0 18px; }
.pd-profile-avatar-block { display: flex; align-items: center; gap: 16px; }
.pd-profile-avatar-note { display: flex; flex-direction: column; gap: 3px; }
.pd-connection-icon { width: 32px; height: 32px; border-radius: 8px; background: #f0ede5; display: flex; align-items: center; justify-content: center; flex-shrink: 0; color: var(--muted); }
.pd-connection-row { display: flex; align-items: center; gap: 14px; padding: 12px 0; border-bottom: 1px solid rgba(18,18,12,.06); }
.pd-connection-row:last-child { border-bottom: 0; }
.pd-row-icon { flex-shrink: 0; }

/* pd-switch toggle */
.pd-switch { position: relative; display: inline-block; width: 36px; height: 20px; flex-shrink: 0; }
.pd-switch input { opacity: 0; width: 0; height: 0; }
.pd-switch span { position: absolute; cursor: pointer; inset: 0; background: #d5d2ca; border-radius: 20px; transition: background .18s ease; pointer-events: none; }
.pd-switch span:before { content: ""; position: absolute; width: 14px; height: 14px; left: 3px; bottom: 3px; background: #fff; border-radius: 50%; transition: transform .18s ease; box-shadow: 0 1px 3px rgba(0,0,0,.18); }
.pd-switch input:checked + span { background: var(--mint-deep); }
.pd-switch input:checked + span:before { transform: translateX(16px); }

/* Auth pages — cleaner card on warm background */
.auth-main { min-height: 80vh; display: flex; align-items: center; justify-content: center; padding: 60px 20px; }
.auth-card {
  width: min(400px, 100%);
  background: #f5f4f0;
  border-radius: 14px;
  border: 1px solid rgba(18,18,12,.09);
  box-shadow: 0 8px 30px rgba(20,20,14,.08);
  padding: 36px 32px;
}
.auth-card-logo { display: flex; align-items: center; gap: 9px; margin-bottom: 28px; font: 600 15px "Inter"; color: var(--ink); }
.auth-card-logo img { width: 24px; height: 24px; }
.auth-card h1 { font-size: 22px; font-weight: 700; letter-spacing: -.03em; color: var(--ink); margin: 0 0 6px; }
.auth-sub { font-size: 13px; color: var(--muted); margin: 0 0 24px; }
.pd-field-label { display: flex; flex-direction: column; gap: 5px; font-size: 13px; font-weight: 500; color: var(--ink); }
.pd-input { height: 40px; border: 1px solid rgba(18,18,12,.13); border-radius: 8px; padding: 0 12px; font: 500 13.5px "Inter"; color: var(--ink); background: #fff; transition: border-color .14s ease, box-shadow .14s ease; }
.pd-input:focus { outline: none; border-color: var(--mint-deep); box-shadow: 0 0 0 3px rgba(21,154,120,.13); }
.auth-divider { display: flex; align-items: center; gap: 12px; margin: 20px 0; color: #b9bcb3; font-size: 12px; }
.auth-divider::before, .auth-divider::after { content: ""; flex: 1; height: 1px; background: rgba(18,18,12,.09); }
.auth-submit { margin-top: 8px; }

/* ═══════════════════════════════════════════════════════════════
   CHART COMPONENTS
   ═══════════════════════════════════════════════════════════════ */

/* Chart panel variant */
.pd-panel-chart { display: flex; flex-direction: column; gap: 8px; }
.pd-panel-head-meta { font-size: 11px; color: #9a9d97; font-weight: 400; }

/* Chart containers */
.pd-chart-wrap { width: 100%; min-height: 140px; }
.pd-chart-wrap-sm { width: 100%; min-height: 80px; }
.pd-chart-empty { display: flex; align-items: center; justify-content: center; min-height: 120px; background: var(--t-subtle, #f7f6f2); border-radius: 8px; }
.pd-chart-empty p { font-size: 12px; color: #9a9d97; text-align: center; max-width: 200px; }
.pd-chart-caption { font-size: 11px; color: #9a9d97; margin: 0; line-height: 1.4; }

/* Analytics KPI strip */
.pd-kpi-strip { display: grid; grid-template-columns: repeat(4, 1fr); gap: 0; margin-bottom: 24px; border-bottom: 1px solid var(--t-border, rgba(18,18,12,.07)); padding-bottom: 20px; }
@media (max-width: 900px) { .pd-kpi-strip { grid-template-columns: repeat(2, 1fr); } }
.pd-kpi-card { background: transparent; border-radius: 10px; padding: 14px 0; display: flex; flex-direction: column; gap: 4px; }
.pd-kpi-card .pd-kpi-value { font-size: 22px; font-weight: 700; color: var(--ink); letter-spacing: -.03em; line-height: 1; }
.pd-kpi-of { font-size: 14px; font-weight: 500; color: #9a9d97; }
.pd-kpi-label { font-size: 11px; color: #9a9d97; font-weight: 500; }

/* Overview KPI strip */
.pd-ov-kpi-strip { display: flex; gap: 10px; flex-wrap: wrap; margin-bottom: 14px; }
.pd-ov-kpi { background: transparent; border-radius: 9px; padding: 10px 0; display: flex; flex-direction: column; gap: 3px; min-width: 80px; }
.pd-ov-kpi span { font-size: 18px; font-weight: 700; color: var(--ink); letter-spacing: -.02em; line-height: 1; }
.pd-ov-kpi small { font-size: 10.5px; color: #9a9d97; font-weight: 500; }
.pd-ov-trend-panel { background: transparent; border-radius: 10px; margin-bottom: 14px; }


/* ═══════════════════════════════════════════════════════════════
   SETTINGS WORKSPACE (full-page)
   ═══════════════════════════════════════════════════════════════ */

.pd-settings-page { display: flex; flex: 1; height: 100%; min-height: 0; overflow: hidden; }

/* Left nav */
.pd-settings-nav { width: 192px; flex-shrink: 0; border-right: 1px solid var(--t-border); padding: 20px 10px; display: flex; flex-direction: column; gap: 2px; overflow-y: auto; background: var(--t-nav); }
.pd-settings-nav-head { font-size: 11px; font-weight: 700; letter-spacing: .07em; text-transform: uppercase; color: #9a9d97; padding: 4px 10px 12px; }
.pd-settings-nav-item { display: flex; align-items: center; gap: 8px; padding: 8px 10px; border-radius: 7px; font: 500 13px "Inter"; color: var(--muted); background: none; border: 0; cursor: pointer; text-align: left; transition: background .12s ease, color .12s ease; }
.pd-settings-nav-item:hover { background: rgba(18,18,12,.05); color: var(--ink); }
.pd-settings-nav-item.pd-active { background: rgba(21,154,120,.1); color: var(--mint-deep); font-weight: 600; }
.pd-settings-nav-item.pd-active svg { color: var(--mint-deep); }
.pd-settings-nav-danger { color: #c0533a !important; margin-top: auto; }
.pd-settings-nav-danger:hover { background: rgba(192,83,58,.08) !important; }
.pd-settings-nav-danger.pd-active { background: rgba(192,83,58,.1) !important; color: #c0533a !important; }

/* Right content */
.pd-settings-content { flex: 1; padding: 28px 32px; overflow-y: auto; max-width: 680px; }
@media (max-width: 780px) { .pd-settings-nav { width: 46px; } .pd-settings-nav-item span { display: none; } .pd-settings-nav-head { display: none; } .pd-settings-content { padding: 20px 16px; } }

/* Section heading */
.pd-settings-section-head { margin-bottom: 22px; padding-bottom: 16px; border-bottom: 1px solid var(--t-border); }
.pd-settings-section-head h2 { font-size: 18px; font-weight: 700; letter-spacing: -.02em; color: var(--ink); margin: 0 0 4px; }
.pd-settings-section-head p { font-size: 13px; color: var(--muted); margin: 0; line-height: 1.5; }

/* Groups */
.pd-settings-group { margin-bottom: 24px; padding: 16px; background: var(--t-surface); border-radius: 10px; border: 1px solid var(--t-border); }
.pd-settings-group-danger { background: rgba(192,83,58,.08); border-color: rgba(192,83,58,.22); }

/* Rows */
.pd-settings-row { display: flex; align-items: center; gap: 14px; padding: 10px 0; border-bottom: 1px solid var(--t-border); }
.pd-settings-row:last-child { border-bottom: 0; padding-bottom: 0; }
.pd-settings-row:first-child { padding-top: 0; }
.pd-settings-row-readonly { flex-wrap: wrap; }
.pd-settings-row-photo { flex-wrap: wrap; align-items: flex-start; }
.pd-settings-label { font-size: 13px; font-weight: 500; color: var(--ink); min-width: 150px; flex-shrink: 0; }
.pd-settings-value { font-size: 13px; color: var(--muted); flex: 1; }
.pd-settings-hint { font-size: 11.5px; color: #9a9d97; margin: 0; line-height: 1.4; }
.pd-settings-input { flex: 1; font-size: 13px; min-width: 0; }
.pd-settings-badge { font-size: 11px; font-weight: 500; color: var(--muted); background: var(--t-subtle); border-radius: 5px; padding: 3px 8px; white-space: nowrap; }
.pd-settings-code { font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: 12px; color: var(--muted); background: var(--t-subtle); border-radius: 5px; padding: 3px 8px; }
.pd-settings-provider-row { display: flex; align-items: center; gap: 8px; flex: 1; }
.pd-settings-time-range { display: flex; align-items: center; gap: 8px; flex: 1; font-size: 13px; color: var(--muted); }
.pd-settings-avatar-wrap { width: 56px; height: 56px; flex-shrink: 0; }
.pd-settings-avatar-actions { display: flex; flex-direction: column; gap: 4px; }
.pd-settings-save-bar { display: flex; justify-content: flex-end; padding-top: 8px; margin-top: 4px; }

/* Readonly toggle rows */
.pd-settings-toggle-row { display: flex; align-items: center; gap: 14px; padding: 10px 0; border-bottom: 1px solid rgba(18,18,12,.06); }
.pd-settings-toggle-row:last-child { border-bottom: 0; padding-bottom: 0; }
.pd-settings-toggle-row:first-child { padding-top: 0; }
.pd-settings-toggle-text { flex: 1; display: flex; flex-direction: column; gap: 2px; }
.pd-settings-toggle-text .pd-settings-label { min-width: 0; }

/* Theme picker */
.pd-theme-picker { display: flex; gap: 10px; }
.pd-theme-option { display: flex; flex-direction: column; align-items: center; gap: 6px; cursor: pointer; font-size: 11.5px; color: var(--muted); }
.pd-theme-option input { display: none; }
.pd-theme-swatch { width: 52px; height: 36px; border-radius: 8px; border: 2px solid rgba(18,18,12,.12); transition: border-color .15s; }
.pd-theme-option.pd-active .pd-theme-swatch { border-color: var(--mint-deep); }
.pd-theme-option.pd-active { color: var(--ink); font-weight: 600; }
.pd-theme-light { background: linear-gradient(135deg, #fdfdfb 50%, #eeece6 100%); }
.pd-theme-dark  { background: linear-gradient(135deg, #1e201b 50%, #2d2f28 100%); }
.pd-theme-system { background: linear-gradient(135deg, #fdfdfb 50%, #1e201b 50%); }

/* Density segmented control */
.pd-segmented { display: flex; background: #eeece6; border-radius: 8px; padding: 2px; gap: 2px; }
.pd-segmented-opt { padding: 5px 14px; border-radius: 6px; font: 500 12.5px "Inter"; cursor: pointer; color: var(--muted); transition: background .14s, color .14s; }
.pd-segmented-opt input { display: none; }
.pd-segmented-opt.pd-active { background: #fff; color: var(--ink); box-shadow: 0 1px 3px rgba(0,0,0,.08); }

/* Integrations */
.pd-integration-row { display: flex; align-items: flex-start; gap: 14px; padding: 14px 0; border-bottom: 1px solid rgba(18,18,12,.06); }
.pd-integration-row:last-child { border-bottom: 0; }
.pd-integration-planned { opacity: .7; }
.pd-integration-icon { width: 36px; height: 36px; border-radius: 8px; background: #f0ede5; display: flex; align-items: center; justify-content: center; flex-shrink: 0; color: var(--muted); }
.pd-int-csv { background: #e9f5f0; color: var(--mint-deep); }
.pd-int-cal { background: #e8f0fa; color: #2563eb; }
.pd-int-planned { background: #f0ede5; color: #9a9d97; }
.pd-integration-info { flex: 1; }
.pd-integration-info b { font-size: 13px; font-weight: 600; color: var(--ink); display: block; margin-bottom: 2px; }
.pd-integration-info p { font-size: 12px; color: var(--muted); margin: 0; line-height: 1.4; }
.pd-int-perms { font-size: 11px; color: #9a9d97; display: inline-block; margin-top: 3px; }
.pd-integration-status { display: flex; align-items: center; gap: 8px; flex-shrink: 0; }
.pd-int-badge { font-size: 11px; font-weight: 600; border-radius: 5px; padding: 3px 8px; white-space: nowrap; }
.pd-int-available { background: #e2f4ec; color: #1a7a58; }
.pd-int-connected { background: #e2f4ec; color: #1a7a58; }
.pd-int-planned-badge, .pd-int-pending { background: #f0ede5; color: #9a9d97; }
.pd-int-account { font-size: 11px; color: #9a9d97; display: inline-block; margin-top: 3px; }
.pd-provider-mark { background: #ffffff; border: 1px solid rgba(18,18,12,.08); }
.pd-provider-logo { display: block; }

/* OAuth callback interstitial */
.pd-oauth-status {
  min-height: 100vh; display: flex; align-items: center; justify-content: center;
  font-size: 14px; color: var(--muted);
}

/* CSV import */
.pd-import-drop { border: 2px dashed rgba(18,18,12,.15); border-radius: 10px; padding: 28px 20px; display: flex; flex-direction: column; align-items: center; gap: 6px; text-align: center; cursor: pointer; color: var(--muted); font-size: 13px; transition: border-color .15s, background .15s; }
.pd-import-drop:hover, .pd-import-drop:focus { border-color: var(--mint-deep); background: rgba(21,154,120,.04); outline: none; }
.pd-import-drop.pd-drag-over { border-color: var(--mint-deep); background: rgba(21,154,120,.07); }
.pd-import-drop small { font-size: 11px; color: #9a9d97; }
.pd-import-preview-head { display: flex; align-items: center; justify-content: space-between; font-size: 12.5px; font-weight: 500; color: var(--ink); padding: 10px 0 8px; }
.pd-import-table-wrap { overflow-x: auto; border-radius: 8px; border: 1px solid rgba(18,18,12,.08); }

/* Export grid */
.pd-data-export-grid { display: flex; flex-direction: column; gap: 0; }
.pd-export-row { display: flex; align-items: center; gap: 12px; padding: 10px 0; border-bottom: 1px solid rgba(18,18,12,.06); }
.pd-export-row:last-child { border-bottom: 0; }
.pd-export-icon { width: 30px; height: 30px; border-radius: 7px; background: #f0ede5; display: flex; align-items: center; justify-content: center; color: var(--muted); flex-shrink: 0; }
.pd-export-info { flex: 1; }
.pd-export-info b { font-size: 13px; font-weight: 600; color: var(--ink); }
.pd-export-info p { font-size: 11.5px; color: var(--muted); margin: 1px 0 0; }

/* Danger zone */
.pd-danger-row { display: flex; align-items: flex-start; justify-content: space-between; gap: 20px; padding: 16px 0; border-bottom: 1px solid rgba(192,83,58,.1); }
.pd-danger-row:last-child { border-bottom: 0; padding-bottom: 0; }
.pd-danger-row:first-child { padding-top: 0; }
.pd-danger-text { flex: 1; }
.pd-danger-text b { font-size: 13px; font-weight: 600; color: var(--ink); display: block; margin-bottom: 3px; }
.pd-danger-text p { font-size: 12px; color: var(--muted); margin: 0; line-height: 1.5; }

/* Danger buttons */
.pd-btn-danger-outline { background: transparent; color: #c0533a; border-color: rgba(192,83,58,.4); }
.pd-btn-danger-outline:hover { background: #fef1ee; border-color: #c0533a; }
.pd-btn-danger { background: #c0533a; color: #fff; border-color: #c0533a; }
.pd-btn-danger:hover { background: #a84430; border-color: #a84430; }

/* Locked switch */
.pd-switch-locked { opacity: .55; cursor: not-allowed; }
.pd-switch-locked span { cursor: not-allowed; }

/* Dialog: danger message */
.pd-dialog-message-danger { color: var(--ink); background: rgba(192,83,58,.08); border: 1px solid rgba(192,83,58,.22); border-radius: 8px; padding: 10px 12px; font-size: 13px; line-height: 1.5; margin-bottom: 14px; }



/* ═══════════════════════════════════════════════════════════════
   v24 — Sidebar, Toolbar, Text Tokens, Breadcrumb, Border Audit
   ═══════════════════════════════════════════════════════════════ */

/* B. Text hierarchy tokens
   Use these everywhere instead of one-off rgba() text colors.    */
:root {
  --text-primary:   #111512;
  --text-secondary: #4a514d;
  --text-muted:     #68716c;
  --text-disabled:  #a8aea9;
}

/* ── C+D. Collapsed sidebar — fix overflow & hide section labels ── */
.pd-app-sidebar.pd-collapsed {
  overflow-x: hidden;
}
.pd-app-sidebar.pd-collapsed .pd-nav-section-label {
  display: none;
}

/* Collapsed search trigger: icon-only; no border box */
.pd-app-sidebar.pd-collapsed .pd-search-trigger {
  justify-content: center;
  padding: 8px;
  background: transparent;
  border-color: transparent;
  min-width: 0;
}
.pd-app-sidebar.pd-collapsed .pd-search-trigger:hover {
  background: rgba(255,255,255,.07);
  border-color: transparent;
}

/* Collapsed venture switch: icon only, no flex expansion */
.pd-app-sidebar.pd-collapsed .pd-venture-switch {
  flex: 0 0 auto;
  padding: 6px;
  justify-content: center;
  min-width: 0;
}

/* ── E. Collapsed sidebar: tooltip on ALL nav items (including bottom) ── */
/* The existing rule for .pd-app-nav-item already centers the icon and   */
/* adds tooltip; extend to sidebar-bottom for focus state as well.       */
.pd-app-sidebar.pd-collapsed .pd-app-nav-item:focus-visible::after {
  content: attr(data-tooltip);
  position: absolute;
  left: calc(100% + 8px);
  top: 50%;
  transform: translateY(-50%);
  background: #0e1f18;
  color: #e8efe9;
  font-size: 11px;
  padding: 5px 9px;
  border-radius: 6px;
  white-space: nowrap;
  z-index: 5;
  pointer-events: none;
}

/* ── A. Ideas (and shared) toolbar — unified surface, no nested boxes ── */
.pd-toolbar {
  background: #f0ede6;
  border-radius: 10px;
  padding: 5px 8px;
  gap: 4px;
  margin: 14px 0;
  border: none;
}
/* View toggle sits inside toolbar — transparent bg, no extra padding */
.pd-view-toggle {
  background: transparent;
  padding: 0;
  border-radius: 6px;
  margin-right: 2px;
}
.pd-toggle-btn {
  padding: 5px 9px;
  border-radius: 6px;
  font-size: 12px;
}
.pd-toggle-btn.pd-active {
  background: rgba(255,255,255,.8);
  color: var(--ink);
  box-shadow: 0 1px 3px rgba(0,0,0,.08);
}
/* Select wrappers blend into toolbar — no separate background */
.pd-select-icon-wrap {
  background: transparent;
  padding: 2px 2px 2px 8px;
  border-radius: 6px;
  gap: 5px;
}
.pd-select-icon-wrap:hover {
  background: rgba(18,18,12,.06);
}
.pd-select-icon-wrap .pd-select {
  background: transparent;
  border: none;
  padding: 4px 4px 4px 0;
  font-size: 12.5px;
  color: var(--ink);
  box-shadow: none;
}
.pd-select-icon-wrap .pd-select:focus {
  outline: none;
  border: none;
  box-shadow: none;
}
/* Checkbox in toolbar */
.pd-toolbar-check {
  font-size: 12.5px;
  color: var(--text-muted);
  padding: 4px 6px;
  border-radius: 6px;
}
.pd-toolbar-check:hover {
  background: rgba(18,18,12,.06);
}

/* ── G. Breadcrumb normalization ── */
.pd-app-crumb {
  color: var(--text-muted);
  font-size: 12.5px;
  font-weight: 500;
}
.pd-app-crumb [data-el="crumbVenture"] {
  color: var(--text-secondary);
  font-weight: 500;
}
.pd-crumb-sep { color: #c0c4be; }

/* ── F. Overview/content: prevent horizontal scroll ── */
.pd-app-content {
  overflow-x: hidden;
  min-width: 0;
}
.pd-ov-head { flex-wrap: wrap; min-width: 0; }
.pd-ov-actions { flex-wrap: wrap; min-width: 0; }
.pd-ov-grid { min-width: 0; }

/* ── H. Border audit: remove decorative inset border on app shell ── */
.pd-app-shell { box-shadow: none; }

/* Responsive: single-column at narrow viewport */
@media (max-width: 680px) {
  .pd-ov-grid { grid-template-columns: 1fr; }
  .pd-toolbar { flex-wrap: wrap; }
}


/* ═══════════════════════════════════════════════════════════════════
   v24b — sidebar tooltip (JS), collapsed-top, height, custom controls
   ═══════════════════════════════════════════════════════════════════ */

/* ── Disable old CSS ::after tooltip (replaced by JS tooltip) ──── */
.pd-app-sidebar.pd-collapsed .pd-app-nav-item:hover::after,
.pd-app-sidebar.pd-collapsed .pd-app-nav-item:focus-visible::after {
  content: none !important;
  display: none !important;
}

/* ── JS tooltip (appended to body, position: fixed via inline style) */
.pd-sidebar-tt {
  position: fixed;
  z-index: 400;
  background: #0e1f18;
  color: #e8efe9;
  font: 500 11.5px "Inter", sans-serif;
  padding: 5px 10px;
  border-radius: 7px;
  white-space: nowrap;
  pointer-events: none;
  opacity: 0;
  transform: translateY(-50%) scale(.92);
  transition: opacity .1s ease, transform .1s ease;
  box-shadow: 0 4px 14px rgba(0,0,0,.22);
}
.pd-sidebar-tt.pd-sidebar-tt-visible {
  opacity: 1;
  transform: translateY(-50%) scale(1);
}

/* ── Fix sidebar height so it always fills the full shell height ── */
.pd-app-root [data-el="sidebarMount"] {
  display: flex;
  flex-direction: column;
}
.pd-app-root .pd-app-sidebar {
  flex: 1;
  /* Ensure width is preserved — flex applies on column axis of sidebarMount */
  min-height: 0;
}

/* ── Collapsed sidebar-top: hide venture switch, center collapse btn */
.pd-app-sidebar.pd-collapsed .pd-venture-switch {
  display: none;
}
.pd-app-sidebar.pd-collapsed .pd-sidebar-top {
  justify-content: center;
  border-bottom: none;
  padding-bottom: 2px;
  margin-bottom: 2px;
}

/* ── Toolbar custom select button ── */
.pd-toolbar-select-btn {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 5px 8px;
  border-radius: 6px;
  font-size: 12.5px;
  font-family: "Inter", sans-serif;
  color: var(--ink);
  background: transparent;
  border: none;
  cursor: pointer;
  white-space: nowrap;
}
.pd-toolbar-select-btn:hover { background: rgba(18,18,12,.06); }
.pd-toolbar-select-btn:focus-visible {
  outline: 2px solid var(--mint-deep);
  outline-offset: 1px;
}
.pd-toolbar-select-btn .pd-icon { color: #9a9d97; flex-shrink: 0; }
.pd-toolbar-select-btn span { color: var(--ink); }

/* ── Custom Date Picker ── */
.pd-datepicker {
  position: absolute;
  z-index: var(--z-float);
  background: #fff;
  border-radius: 12px;
  box-shadow: 0 18px 45px rgba(0,0,0,.16), 0 0 0 1px rgba(18,18,12,.06);
  padding: 12px;
  width: 248px;
  font-family: "Inter", sans-serif;
  animation: pd-dp-in .12s ease;
}
@keyframes pd-dp-in {
  from { opacity: 0; transform: translateY(-4px) scale(.97); }
  to   { opacity: 1; transform: none; }
}
.pd-dp-head {
  display: flex;
  align-items: center;
  gap: 4px;
  margin-bottom: 8px;
}
.pd-dp-title {
  flex: 1;
  text-align: center;
  font-size: 13px;
  font-weight: 600;
  color: var(--ink);
}
.pd-dp-nav {
  width: 28px;
  height: 28px;
  border-radius: 7px;
  background: transparent;
  border: none;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--muted);
  transition: background .1s;
}
.pd-dp-nav:hover { background: #f0ede6; color: var(--ink); }
.pd-dp-dow {
  display: grid;
  grid-template-columns: repeat(7, 1fr);
  margin-bottom: 3px;
}
.pd-dp-dow span {
  text-align: center;
  font-size: 9.5px;
  font-weight: 700;
  color: var(--muted);
  letter-spacing: .06em;
  text-transform: uppercase;
  padding: 3px 0;
}
.pd-dp-grid {
  display: grid;
  grid-template-columns: repeat(7, 1fr);
  gap: 1px;
}
.pd-dp-cell {
  aspect-ratio: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 12px;
  color: var(--ink);
  background: transparent;
  border: none;
  border-radius: 6px;
  cursor: pointer;
  padding: 0;
  transition: background .1s, color .1s;
}
.pd-dp-cell:hover { background: #f0ede6; }
.pd-dp-empty { pointer-events: none; }
.pd-dp-today {
  color: var(--mint-deep, #16b889);
  font-weight: 700;
}
.pd-dp-sel {
  background: var(--mint-deep, #16b889) !important;
  color: #fff !important;
  font-weight: 600;
}
.pd-dp-foot {
  display: flex;
  justify-content: space-between;
  margin-top: 10px;
  padding-top: 8px;
  border-top: 1px solid rgba(18,18,12,.06);
}
.pd-dp-action {
  font-size: 11.5px;
  font-family: "Inter", sans-serif;
  color: var(--muted);
  background: transparent;
  border: none;
  cursor: pointer;
  padding: 4px 8px;
  border-radius: 6px;
  transition: background .1s, color .1s;
}
.pd-dp-action:hover { background: #f0ede6; color: var(--ink); }
.pd-dp-action-today { color: var(--mint-deep, #16b889); font-weight: 500; }
.pd-dp-action-today:hover { background: rgba(22,184,137,.08); color: var(--mint-deep, #16b889); }

/* ── Date trigger button (replaces native <input type="date">) ── */
.pd-date-btn {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  cursor: pointer;
  text-align: left;
  background: #fff;
  border: 1px solid rgba(18,18,12,.12);
  border-radius: 8px;
  padding: 8px 10px;
  font-size: 13px;
  font-family: "Inter", sans-serif;
  color: var(--ink);
  min-width: 0;
  transition: border-color .13s;
}
.pd-date-btn:hover { border-color: rgba(18,18,12,.22); }
.pd-date-btn:focus-visible {
  outline: none;
  border-color: var(--mint-deep);
  box-shadow: 0 0 0 3px rgba(80,252,207,.16);
}
.pd-date-btn .pd-icon { color: var(--muted); flex-shrink: 0; }
.pd-date-placeholder { color: var(--muted); }
.pd-date-val { color: var(--ink); }

/* Compact date button used inline (e.g. milestone rows) */
.pd-milestone-date.pd-date-btn {
  font-size: 12px;
  padding: 4px 8px;
  border-radius: 6px;
  border-color: transparent;
  background: rgba(18,18,12,.04);
}
.pd-milestone-date.pd-date-btn:hover { border-color: rgba(18,18,12,.12); background: #fff; }

/* ── v25: borderless search inputs + global scrollbar hide ── */

/* Search containers: move the visual ring to the wrapper, not the inner input */
.pd-search-inline {
  border: 1.5px solid rgba(18,18,12,.09);
  box-shadow: none;
  transition: border-color .14s, box-shadow .14s;
}
.pd-search-inline:focus-within {
  border-color: var(--mint-deep, #16b889);
  box-shadow: 0 0 0 3px rgba(21,154,120,.1);
}

/* Strip border + focus ring from the input itself inside search wrappers */
.pd-search-inline .pd-input,
.pd-search-inline .pd-input:focus {
  border: none !important;
  box-shadow: none !important;
  height: auto;
  padding: 0;
  background: transparent !important;
}

/* Hide all scrollbars across the app — content still scrolls by wheel/touch/keys */
* {
  scrollbar-width: none;
}
*::-webkit-scrollbar {
  display: none;
}

/* ── v26: analytics visual polish ─────────────────────────────────────── */

/* 1. ApexCharts tooltip — remove border, use minimal shadow only */
.apexcharts-tooltip,
.apexcharts-tooltip.apexcharts-theme-light {
  border: none !important;
  box-shadow: 0 2px 14px rgba(18,18,12,.10) !important;
  border-radius: 8px !important;
  background: #fff !important;
}
.apexcharts-tooltip-title {
  background: transparent !important;
  border-bottom: 1px solid rgba(18,18,12,.07) !important;
  font-size: 11px !important;
  font-weight: 600 !important;
  color: #9a9d97 !important;
  padding: 6px 10px 5px !important;
}
.apexcharts-tooltip-series-group { padding: 5px 10px 6px !important; }
.apexcharts-tooltip-text-y-value { font-weight: 600 !important; color: var(--ink) !important; }

/* 2. Breathing room between page heading and content below */
.pd-ws-head { margin-bottom: 20px; }

/* 3. Chart panels — same quiet beige surface as KPI cards (bg only, no extra padding) */
.pd-panel.pd-panel-chart { background: transparent; }

/* ── v27: board, roadmap, and priority visual overhaul ─────────────────── */

/* Board columns — open surfaces, no heavy bordered bin */
.pd-board-col {
  background: transparent !important;
  border: none !important;
  border-radius: 0 !important;
  padding: 0 !important;
  border-top: 2px solid rgba(18,18,12,.10) !important;
}
.pd-board-col-head {
  padding: 8px 2px 10px !important;
  font-size: 11px !important;
  font-weight: 600 !important;
  color: var(--ink) !important;
  letter-spacing: .04em !important;
  text-transform: uppercase !important;
}
.pd-board-col-body {
  min-height: 32px !important;
}

/* Task cards — clean flat surface, no shadow by default */
.pd-board-card {
  background: #fff !important;
  border: 1px solid rgba(18,18,12,.09) !important;
  border-radius: 6px !important;
  padding: 10px 12px !important;
  box-shadow: none !important;
  transition: border-color .13s !important;
}
.pd-board-card:hover {
  border-color: rgba(18,18,12,.18) !important;
  box-shadow: none !important;
  transform: none !important;
}
.pd-board-card b { font-size: 13px; line-height: 1.35; }
.pd-board-card .pd-board-card-foot { margin-top: 6px; }

/* Priority — compact dot + text instead of large colored pill */
.pd-priority-pill {
  display: inline-flex !important;
  align-items: center !important;
  gap: 5px !important;
  font-size: 11px !important;
  font-weight: 500 !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
  padding: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: var(--muted) !important;
}
.pd-priority-pill::before {
  content: '';
  display: inline-block;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  flex-shrink: 0;
}
.pd-priority-high { color: #b24a34 !important; }
.pd-priority-high::before { background: #c0533a; }
.pd-priority-medium { color: #a06830 !important; }
.pd-priority-medium::before { background: #c9873a; }
.pd-priority-low::before { background: #b5b8b2; }

/* Roadmap milestone rows — compact, separator-based, no heavy cards */
.pd-milestone-card {
  background: transparent !important;
  border-radius: 0 !important;
  padding: 0 !important;
  border-bottom: 1px solid rgba(18,18,12,.07) !important;
}
.pd-milestone-card:last-child { border-bottom: none !important; }
.pd-milestone-head {
  padding: 10px 4px !important;
  min-height: 44px;
}
.pd-milestone-head:hover { background: rgba(18,18,12,.02); border-radius: 6px; }
.pd-milestone-body {
  padding: 2px 4px 12px 38px !important;
  margin-top: 0 !important;
  border-top: none !important;
}
.pd-milestone-card.pd-drag-over {
  outline: 2px dashed rgba(18,18,12,.15) !important;
  outline-offset: -2px;
}
.pd-roadmap-list { display: flex; flex-direction: column; }

/* Roadmap task rows inside milestones — flat list, not nested cards */
.pd-milestone-body .pd-row {
  background: transparent !important;
  border: none !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  padding: 6px 4px !important;
  border-bottom: 1px solid rgba(18,18,12,.05) !important;
}
.pd-milestone-body .pd-row:last-child { border-bottom: none !important; }
.pd-milestone-body .pd-row:hover { background: rgba(18,18,12,.02) !important; border-radius: 4px; }

/* "Add task" button inline style */
.pd-milestone-body [data-add-task] {
  margin-top: 4px;
  font-size: 12px;
  color: var(--muted);
  background: transparent;
  border: none;
  padding: 4px 4px;
  display: inline-flex;
  align-items: center;
  gap: 5px;
  cursor: pointer;
}
.pd-milestone-body [data-add-task]:hover { color: var(--ink); }

/* ── v28: form select-field buttons ───────────────────────────────────── */
button.pd-input {
  appearance: none;
  -webkit-appearance: none;
  cursor: pointer;
  text-align: left;
}
.pd-select-field-btn {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 6px !important;
  white-space: nowrap;
}
.pd-select-field-btn > span { flex: 1; overflow: hidden; text-overflow: ellipsis; }
.pd-select-field-btn .pd-icon { flex-shrink: 0; color: var(--muted); }

/* Clickable breadcrumb venture name */
.pd-crumb-btn {
  background: none;
  border: none;
  font: inherit;
  color: inherit;
  cursor: pointer;
  padding: 2px 4px;
  margin: -2px -4px;
  border-radius: 4px;
  transition: background .12s;
}
.pd-crumb-btn:hover { background: rgba(18,18,12,.06); }


/* ═══════════════════════════════════════════════════════════════════
   THEME SYSTEM — themes: light (default), dark, dim, sand
   Applied via data-theme attribute on <html>
   ═══════════════════════════════════════════════════════════════════ */

/* ── Light defaults ─────────────────────────────────────────────── */
:root {
  --t-bg:          #faf9f7;   /* page / content background */
  --t-surface:     #fdfcf9;   /* elevated surfaces: dialogs, drawers */
  --t-nav:         #efede6;   /* secondary nav strip */
  --t-nav-active:  #dddbd4;   /* active nav item */
  --t-subtle:      #f0eee7;   /* rows, chips, kpi bg */
  --t-row-hover:   #f5f4f0;   /* row hover */
  --t-toolbar:     #f0ede6;   /* toolbar */
  --t-menu:        #fdfcf9;   /* dropdown menus */
  --t-menu-hover:  #eeede9;   /* menu item hover */
  --t-btn:         #fdfcf9;   /* button bg */
  --t-btn-hover:   #eeede9;   /* button hover */
  --t-input:       #faf9f7;   /* input bg */
  --t-panel:       transparent; /* content panels — transparent over page bg */
  --t-panel-chart: #f5f4f0;   /* chart panel */
  --t-kpi-card:    #f5f4f0;   /* KPI card */
  --t-board-card:  #fdfcf9;   /* kanban card */
  --t-segmented:   #f3f2ef;   /* segmented control track */
  --t-seg-active:  #fdfcf9;   /* segmented active pill */
  --t-border:      rgba(18,18,12,.08);
  --t-topbar-line: rgba(18,18,12,.06);
  --t-dp-hover:    #eeede9;   /* datepicker cell hover */

  --btn-primary-bg: #111512;
  --btn-primary-fg: #ffffff;
}

/* ── Dark — near-black, neutral ──────────────────────────────────── */
[data-theme="dark"] {
  --bg:            #0c0f0d;
  --ink:           #d9e3db;
  --muted:         #78837e;
  --line:          #232a26;
  --panel:         #151a17;
  --text-primary:  #d9e3db;
  --text-secondary:#97a39d;
  --text-muted:    #78837e;
  --text-disabled: #374039;

  --t-bg:          #0c0f0d;
  --t-surface:     #151a17;
  --t-nav:         #151a17;
  --t-nav-active:  #1c2420;
  --t-subtle:      #1b2220;
  --t-row-hover:   #1e2522;
  --t-toolbar:     #161b18;
  --t-menu:        #1b2220;
  --t-menu-hover:  #222b27;
  --t-btn:         #1b2220;
  --t-btn-hover:   #222b27;
  --t-input:       #151a17;
  --t-panel:       #151a17;
  --t-panel-chart: #141918;
  --t-kpi-card:    #1b2220;
  --t-board-card:  #1b2220;
  --t-segmented:   #191f1c;
  --t-seg-active:  #222b27;
  --t-border:      rgba(255,255,255,.08);
  --t-topbar-line: rgba(255,255,255,.06);
  --t-dp-hover:    #1e2522;

  --btn-primary-bg: #1f9c77;
  --btn-primary-fg: #041008;
}

/* ── Dim — forest-green ambient dark ─────────────────────────────── */
[data-theme="dim"] {
  --bg:            #111c15;
  --ink:           #d5e8db;
  --muted:         #77907f;
  --line:          #1c2d22;
  --panel:         #162019;
  --text-primary:  #d5e8db;
  --text-secondary:#8faa98;
  --text-muted:    #77907f;
  --text-disabled: #354a3d;

  --t-bg:          #111c15;
  --t-surface:     #162019;
  --t-nav:         #162019;
  --t-nav-active:  #1e2d23;
  --t-subtle:      #1b2920;
  --t-row-hover:   #1e2c22;
  --t-toolbar:     #172019;
  --t-menu:        #1b2920;
  --t-menu-hover:  #233528;
  --t-btn:         #1b2920;
  --t-btn-hover:   #233528;
  --t-input:       #162019;
  --t-panel:       #162019;
  --t-panel-chart: #152018;
  --t-kpi-card:    #1b2920;
  --t-board-card:  #1b2920;
  --t-segmented:   #192820;
  --t-seg-active:  #233528;
  --t-border:      rgba(148,220,178,.09);
  --t-topbar-line: rgba(148,220,178,.07);
  --t-dp-hover:    #1e2c22;

  --btn-primary-bg: #1f9c77;
  --btn-primary-fg: #041008;
}

/* ── Sand — warm cream, vintage paper ────────────────────────────── */
[data-theme="sand"] {
  --bg:            #f3efe5;
  --ink:           #29231a;
  --muted:         #79705e;
  --line:          #dcd7cc;
  --panel:         #f9f6ef;
  --text-primary:  #29231a;
  --text-secondary:#544d42;
  --text-muted:    #79705e;
  --text-disabled: #b8b3ab;

  --t-bg:          #f3efe5;
  --t-surface:     #f9f6ef;
  --t-nav:         #ece8de;
  --t-nav-active:  #e2ddd2;
  --t-subtle:      #e8e4d9;
  --t-row-hover:   #e4e0d4;
  --t-toolbar:     #e8e4d9;
  --t-menu:        #f9f6ef;
  --t-menu-hover:  #ece8de;
  --t-btn:         #f9f6ef;
  --t-btn-hover:   #ece8de;
  --t-input:       #f3efe5;
  --t-panel:       transparent;
  --t-panel-chart: #ede9df;
  --t-kpi-card:    #e8e4d9;
  --t-board-card:  #f9f6ef;
  --t-segmented:   #e8e4d9;
  --t-seg-active:  #f9f6ef;
  --t-border:      rgba(41,35,26,.11);
  --t-topbar-line: rgba(41,35,26,.08);
  --t-dp-hover:    #e8e4d9;

  --btn-primary-bg: #1a6b50;
  --btn-primary-fg: #f0f8f4;
}

/* ══════════════════════════════════════════════════════════════════
   Application-layer: cascade over earlier hardcoded values
   ══════════════════════════════════════════════════════════════════ */

/* Page shell */
.pd-app-body                            { background: var(--t-bg) !important; }
.pd-setup-screen                        { background: var(--t-bg) !important; }
.pd-setup-card                          { background: var(--t-surface) !important; }
.pd-app-shell,
.pd-app-root .pd-app-shell              { background: var(--t-bg) !important; }
.pd-app-content,
.pd-app-root .pd-app-content            { background: var(--t-bg) !important; }
.pd-app-topbar                          {
  background: var(--t-bg) !important;
  border-bottom: none !important;
}

/* Secondary nav */
.pd-nav                                 { background: var(--t-nav) !important; }
.pd-nav-item.pd-nav-active              { background: var(--t-nav-active) !important; }

/* Toolbar */
.pd-toolbar                             { background: var(--t-toolbar) !important; }
.pd-toggle-btn.pd-active                { background: var(--t-seg-active) !important; }

/* Menus + command palette */
.pd-menu                                { background: var(--t-menu) !important; }
.pd-menu-item:hover,
.pd-menu-item-active                    { background: var(--t-menu-hover) !important; }
.pd-cmdk                                { background: var(--t-menu) !important; }
.pd-cmdk-item:hover,
.pd-cmdk-item-active                    { background: var(--t-menu-hover) !important; }

/* Dialogs + drawers */
.pd-dialog                              { background: var(--t-surface) !important; }
.pd-drawer                              { background: var(--t-surface) !important; }

/* Panels + cards */
.pd-panel                               { background: transparent !important; }
.pd-panel.pd-panel-chart                { background: transparent !important; }
.pd-kpi-card                            { background: transparent !important; }
.pd-board-card                          { background: var(--t-board-card) !important; }
.pd-datepicker                          { background: var(--t-surface) !important; }
.pd-date-btn                            { background: var(--t-btn) !important; }
.pd-milestone-date.pd-date-btn          { background: var(--t-subtle) !important; }

/* List rows */
.pd-row                                 { background: var(--t-surface) !important; }
.pd-row:hover                           { background: var(--t-row-hover) !important; }
.pd-row.pd-row-expanded                 { background: var(--t-subtle) !important; }
.pd-table-row                           { background: var(--t-subtle) !important; }
.pd-chip                                { background: var(--t-subtle) !important;
                                          color: var(--muted) !important; }
.pd-chip-static                         { background: var(--t-subtle) !important; }
.pd-kpi                                 { background: var(--t-subtle) !important; }
.pd-mentor-row                          { background: var(--t-subtle) !important; }
.pd-avatar-sm                           { background: var(--t-subtle) !important;
                                          color: var(--muted) !important; }
.pd-invite-btn.pd-invite-done           { background: var(--t-subtle) !important;
                                          color: var(--muted) !important; }

/* Buttons — skip primary / danger variants */
.pd-btn:not(.pd-btn-primary):not(.pd-btn-danger):not(.pd-btn-danger-outline) {
  background: var(--t-btn) !important;
  border-color: var(--t-border) !important;
  color: var(--ink) !important;
}
.pd-btn:not(.pd-btn-primary):not(.pd-btn-danger):not(.pd-btn-danger-outline):hover:not(:disabled) {
  background: var(--t-btn-hover) !important;
}
.pd-btn-primary {
  background: var(--btn-primary-bg) !important;
  color: var(--btn-primary-fg) !important;
  border-color: var(--btn-primary-bg) !important;
}
.pd-btn-primary:hover:not(:disabled) {
  filter: brightness(1.10) !important;
}

/* Inputs */
.pd-input:not([type="range"]) {
  background: var(--t-input) !important;
  color: var(--ink) !important;
  border-color: var(--t-border) !important;
}
.pd-input::placeholder { color: var(--muted) !important; }

/* Segmented controls */
.pd-segmented                           { background: var(--t-segmented) !important; }
.pd-segmented-opt.pd-active             {
  background: var(--t-seg-active) !important;
  color: var(--ink) !important;
}

/* Datepicker cell hover */
.pd-dp-cell:hover                       { background: var(--t-dp-hover) !important; }
.pd-dp-nav:hover                        { background: var(--t-dp-hover) !important; }
.pd-dp-action:hover                     { background: var(--t-dp-hover) !important; color: var(--ink) !important; }

/* Score track */
.pd-score-track                         { background: var(--t-subtle) !important; }

/* Settings integrations / export rows */
.pd-integration-icon,
.pd-int-planned                         { background: var(--t-subtle) !important; }
.pd-export-icon                         { background: var(--t-subtle) !important; }

/* Dark/dim: darken overlay scrims slightly */
[data-theme="dark"] .pd-dialog-scrim,
[data-theme="dim"]  .pd-dialog-scrim    { background: rgba(0,0,0,.65) !important; }
[data-theme="dark"] .pd-drawer-scrim,
[data-theme="dim"]  .pd-drawer-scrim    { background: rgba(0,0,0,.55) !important; }

/* Dark/dim: menu dividers */
[data-theme="dark"] .pd-menu-divider,
[data-theme="dim"]  .pd-menu-divider    { background: rgba(255,255,255,.08) !important; }

/* ── Theme swatch colors ─────────────────────────────────────────── */
.pd-theme-light  { background: linear-gradient(135deg, #fdfdfb 50%, #eeece6 100%); }
.pd-theme-dark   { background: linear-gradient(135deg, #0c0f0d 50%, #151a17 100%); }
.pd-theme-dim    { background: linear-gradient(135deg, #111c15 50%, #162019 100%); }
.pd-theme-sand   { background: linear-gradient(135deg, #f3efe5 50%, #f9f6ef 100%); }
.pd-theme-system { background: linear-gradient(135deg, #fdfdfb 50%, #0c0f0d 50%); }


/* ═══════════════════════════════════════════════════════════════
   SETTINGS MODAL OVERLAY
   ═══════════════════════════════════════════════════════════════ */

.pd-settings-overlay {
  position: fixed; inset: 0; z-index: 9000;
  display: flex; align-items: center; justify-content: center;
  padding: 24px;
}
.pd-settings-scrim {
  position: absolute; inset: 0;
  background: rgba(0,0,0,.48);
  backdrop-filter: blur(4px);
  -webkit-backdrop-filter: blur(4px);
}
.pd-settings-modal {
  position: relative; z-index: 1;
  width: 880px; max-width: calc(100vw - 48px);
  height: min(640px, calc(100vh - 48px));
  background: var(--t-bg);
  border-radius: 14px;
  box-shadow: 0 28px 80px rgba(0,0,0,.30), 0 0 0 1px rgba(255,255,255,.04), inset 0 0 0 1px var(--t-border);
  display: flex; flex-direction: column;
  overflow: hidden;
  animation: pd-settings-in .18s cubic-bezier(.2,.8,.4,1);
}
@keyframes pd-settings-in {
  from { opacity: 0; transform: scale(.96) translateY(8px); }
  to   { opacity: 1; transform: none; }
}
.pd-settings-overlay-out .pd-settings-modal {
  animation: pd-settings-out .15s ease forwards;
}
@keyframes pd-settings-out {
  to { opacity: 0; transform: scale(.97) translateY(4px); }
}
.pd-settings-modal-body {
  display: flex; flex: 1; min-height: 0; overflow: hidden;
}
.pd-settings-modal-body .pd-settings-page {
  height: 100%;
}
.pd-settings-modal-close {
  position: absolute; top: 11px; right: 11px; z-index: 10;
  width: 28px; height: 28px;
  background: var(--t-subtle) !important;
  border-radius: 7px;
  border: 1px solid var(--t-border) !important;
  display: flex; align-items: center; justify-content: center;
  color: var(--muted);
}
.pd-settings-modal-close:hover {
  background: var(--t-btn-hover) !important;
  color: var(--ink);
}

/* ═══════════════════════════════════════════════════════════════
   CHECKBOX — unified accent-color across all themes
   ═══════════════════════════════════════════════════════════════ */

input[type="checkbox"] {
  accent-color: var(--mint-deep);
  width: 14px; height: 14px;
  cursor: pointer;
  flex-shrink: 0;
}
.pd-checkbox-row input[type="checkbox"] { margin: 0; }

/* ═══════════════════════════════════════════════════════════════
   SEARCH BAR & MISC dark/dim fixes
   ═══════════════════════════════════════════════════════════════ */

/* Switch track in dark/dim */
[data-theme="dark"] .pd-switch span,
[data-theme="dim"]  .pd-switch span { background: rgba(255,255,255,.18); }

/* Record table hover */
[data-theme="dark"] .pd-record-table tr[data-row]:hover,
[data-theme="dim"]  .pd-record-table tr[data-row]:hover { background: var(--t-row-hover) !important; }

/* Settings: remove per-row underlines */
.pd-settings-toggle-row { border-bottom: none !important; padding: 8px 0 !important; }

/* Comments empty state: center properly */
.pd-comments + .pd-empty-state,
.pd-comment-list + .pd-empty-state { margin-top: 0; padding-top: 24px; }
.pd-drawer .pd-empty-state { padding: 32px 20px; }

/* ═══════════════════════════════════════════════════════════════
   NOTION-LIKE POLISH — remove AI boxes, flatten UI
   ═══════════════════════════════════════════════════════════════ */

/* KPI columns: left-border separators instead of boxes */
.pd-kpi-card + .pd-kpi-card { border-left: 1px solid var(--t-border); padding-left: 16px; }
.pd-kpi-card:first-child { padding-left: 0; }

/* Chart panels: borderless, just the chart on the page */
.pd-panel-chart .pd-panel-head { margin-bottom: 4px; }
.pd-chart-caption { color: var(--muted) !important; }
.pd-panel-head-meta { color: var(--muted) !important; }

/* Chart empty state: theme-aware */
.pd-chart-empty { background: var(--t-subtle) !important; }
.pd-chart-empty p { color: var(--muted) !important; }

/* Remove card borders that create boxed look */
.pd-board-card { border: 1px solid var(--t-border) !important; }
.pd-row         { border: 1px solid var(--t-border) !important; }

/* Board cards keep their box (it's intentional) — just ensure no double border */
.pd-board-col-body .pd-board-card { margin-bottom: 6px; }

/* Topbar icon buttons — slightly lighter so they don't pop in light mode */
.pd-app-topbar .pd-icon-btn { color: var(--muted); }
.pd-app-topbar .pd-icon-btn:hover { color: var(--ink); }

/* Search bar — always transparent background */
.pd-search-inline .pd-input { background: transparent !important; }
.pd-app-sidebar .pd-search-inline { border-color: var(--t-border) !important; }
/* Fix border color in dark/dim for search inline */
[data-theme="dark"] .pd-search-inline,
[data-theme="dim"]  .pd-search-inline { border-color: var(--t-border) !important; }

/* Remove hard-coded grey panel-chart bg in dark/dim (already transparent now) */
[data-theme="dark"] .pd-panel-chart,
[data-theme="dim"]  .pd-panel-chart { background: transparent !important; }

/* Settings: remove field-row borders in delivery/push section too */
.pd-settings-group .pd-settings-row:last-child { border-bottom: none; }

/* Row items: use very subtle separation rather than a box per row */
.pd-rows .pd-row { border-bottom: 1px solid var(--t-border) !important; border-left: none !important; border-right: none !important; border-top: none !important; border-radius: 0 !important; }
.pd-rows .pd-row:first-child { border-top: 1px solid var(--t-border) !important; }
.pd-rows .pd-row:last-child { border-bottom: none !important; }

/* ═══════════════════════════════════════════════════════════════
   CUSTOM CHECKBOXES — full cross-theme styling
   ═══════════════════════════════════════════════════════════════ */

input[type="checkbox"] {
  -webkit-appearance: none;
  appearance: none;
  width: 15px; height: 15px;
  border: 1.5px solid var(--t-border);
  border-radius: 4px;
  background: var(--t-subtle);
  cursor: pointer;
  flex-shrink: 0;
  position: relative;
  transition: background .12s ease, border-color .12s ease;
  vertical-align: middle;
}
input[type="checkbox"]:hover {
  border-color: var(--mint-deep);
  background: rgba(80,252,207,.08);
}
input[type="checkbox"]:checked {
  background: var(--mint-deep);
  border-color: var(--mint-deep);
}
input[type="checkbox"]:checked::after {
  content: '';
  position: absolute;
  inset: 0;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M2 6l3 3 5-5' stroke='%230e1f18' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round' fill='none'/%3E%3C/svg%3E") center/10px no-repeat;
}
input[type="checkbox"]:focus-visible {
  outline: 2px solid var(--mint-deep);
  outline-offset: 2px;
}

/* ═══════════════════════════════════════════════════════════════
   DARK-MODE HOVER FIX — icon buttons & toolbar selects
   ═══════════════════════════════════════════════════════════════ */

.pd-icon-btn:hover { background: var(--t-btn-hover) !important; color: var(--ink); }
.pd-toolbar-select-btn:hover { background: var(--t-btn-hover) !important; }
.pd-select-icon-wrap:hover { background: var(--t-btn-hover) !important; }

/* Buttons with hardcoded bg that don't respond to theme */
.pd-btn:not(.pd-btn-primary):not(.pd-btn-danger) {
  background: var(--t-subtle) !important;
  color: var(--ink) !important;
  border-color: var(--t-border) !important;
}
.pd-btn:not(.pd-btn-primary):not(.pd-btn-danger):hover {
  background: var(--t-btn-hover) !important;
}

/* ═══════════════════════════════════════════════════════════════
   COMPACT SIDEBAR — reduce scrolling on left nav
   ═══════════════════════════════════════════════════════════════ */

.pd-app-nav-item { padding: 5px 9px !important; font-size: 12px !important; gap: 8px !important; }
.pd-nav-section-label { padding: 8px 9px 3px !important; font-size: 9.5px !important; }
.pd-sidebar-top { padding-bottom: 4px !important; margin-bottom: 2px !important; }
.pd-search-trigger { padding: 6px 10px !important; font-size: 11.5px !important; }
.pd-venture-switch { padding: 6px 8px !important; font-size: 12.5px !important; }
.pd-sidebar-bottom { padding-top: 6px !important; }
.pd-app-sidebar { gap: 7px !important; padding: 10px 9px !important; }

/* ═══════════════════════════════════════════════════════════════
   GROWTH METRIC CARDS
   ═══════════════════════════════════════════════════════════════ */

.pd-metric-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(140px, 1fr));
  gap: 10px;
  margin-bottom: 20px;
  opacity: 0;
  transform: translateY(8px);
  transition: opacity .22s ease, transform .22s ease;
}
.pd-metric-grid.pd-in { opacity: 1; transform: none; }

.pd-metric-card {
  display: flex;
  flex-direction: column;
  gap: 4px;
  padding: 14px 16px;
  background: var(--t-subtle);
  border: 1px solid var(--t-border);
  border-radius: 10px;
  text-align: left;
  cursor: pointer;
  transition: background .12s ease, border-color .15s ease, transform .1s ease;
}
.pd-metric-card:hover {
  background: var(--t-btn-hover);
  border-color: var(--mint-deep);
  transform: translateY(-1px);
}
.pd-metric-main {
  display: flex;
  align-items: baseline;
  gap: 4px;
}
.pd-metric-val {
  font-size: 22px;
  font-weight: 700;
  color: var(--ink);
  letter-spacing: -.03em;
  line-height: 1;
}
.pd-metric-unit {
  font-size: 12px;
  color: var(--muted);
  font-weight: 500;
}
.pd-metric-label {
  font-size: 12px;
  font-weight: 600;
  color: var(--ink);
}
.pd-metric-period {
  font-size: 11px;
  color: var(--muted);
}
.pd-metric-bottom-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-top: 2px;
}
.pd-metric-trend-badge {
  font-size: 10px;
  font-weight: 600;
  padding: 2px 6px;
  border-radius: 99px;
}
.pd-metric-trend-badge.up     { background: rgba(80,252,207,.14); color: var(--mint-deep); }
.pd-metric-trend-badge.down   { background: rgba(220,60,60,.1);   color: #e05555; }
.pd-metric-trend-badge.neutral { background: var(--t-subtle); color: var(--muted); font-weight: 400; }

/* ═══════════════════════════════════════════════════════════════
   COMPREHENSIVE THEME FIX — replace all hardcoded #fff surfaces
   with CSS custom properties so dark/dim/sand themes work fully.
   ═══════════════════════════════════════════════════════════════ */

/* ── Popup / overlay surfaces ── */
.pd-menu         { background: var(--t-surface) !important; border: 1px solid var(--t-border) !important; }
.pd-menu-item    { color: var(--ink) !important; }
.pd-menu-item:hover { background: var(--t-btn-hover) !important; }
.pd-menu-divider { border-color: var(--t-border) !important; }

.pd-dialog       { background: var(--t-surface) !important; color: var(--ink) !important; }
.pd-dialog-title { color: var(--ink) !important; }
.pd-dialog-body  { color: var(--ink) !important; }
.pd-dialog-close { background: var(--t-subtle) !important; color: var(--muted) !important; border-color: var(--t-border) !important; }
.pd-dialog-close:hover { background: var(--t-btn-hover) !important; }

.pd-drawer       { background: var(--t-surface) !important; }
.pd-drawer-head  { background: var(--t-surface) !important; border-color: var(--t-border) !important; color: var(--ink) !important; }
.pd-drawer-body  { background: var(--t-surface) !important; color: var(--ink) !important; }

.pd-cmdk         { background: var(--t-surface) !important; }
.pd-cmdk-input-wrap { background: var(--t-surface) !important; border-color: var(--t-border) !important; }
.pd-cmdk-input   { background: transparent !important; color: var(--ink) !important; }
.pd-cmdk-result  { color: var(--ink) !important; }
.pd-cmdk-result:hover { background: var(--t-btn-hover) !important; }
.pd-cmdk-result.pd-active { background: var(--t-btn-hover) !important; }
.pd-cmdk-section { color: var(--muted) !important; border-color: var(--t-border) !important; }
.pd-cmdk-empty   { color: var(--muted) !important; }

.pd-slash-menu   { background: var(--t-surface) !important; border: 1px solid var(--t-border) !important; }
.pd-slash-item   { color: var(--ink) !important; }
.pd-slash-item:hover, .pd-slash-item.pd-active { background: var(--t-btn-hover) !important; }

.pd-datepicker   { background: var(--t-surface) !important; border: 1px solid var(--t-border) !important; }
.pd-dp-nav:hover { background: var(--t-btn-hover) !important; }
.pd-dp-action:hover { background: var(--t-btn-hover) !important; }
.pd-dp-day:hover { background: var(--t-btn-hover) !important; }

/* ── Inputs & form controls ── */
.pd-input        { background: var(--t-subtle) !important; color: var(--ink) !important; border-color: var(--t-border) !important; }
.pd-input::placeholder { color: var(--muted) !important; opacity: 1; }
.pd-input:focus  { background: var(--t-surface) !important; }
.pd-date-btn     { background: var(--t-subtle) !important; color: var(--ink) !important; border-color: var(--t-border) !important; }
.pd-date-btn:hover { background: var(--t-btn-hover) !important; border-color: var(--t-border) !important; }
.pd-milestone-date.pd-date-btn:hover { background: var(--t-btn-hover) !important; }

/* ── Cards & list items ── */
.pd-board-card   { background: var(--t-surface) !important; border-color: var(--t-border) !important; }
.pd-board-card:hover { background: var(--t-subtle) !important; }
.pd-feedback-row { background: var(--t-subtle) !important; }
.pd-connection-row { background: var(--t-subtle) !important; border: 1px solid var(--t-border) !important; }

/* ── Toolbar controls ── */
.pd-filter-chip  { background: var(--t-subtle) !important; border-color: var(--t-border) !important; color: var(--muted) !important; }
.pd-filter-chip.pd-active { background: var(--t-btn-hover) !important; color: var(--ink) !important; border-color: var(--mint-deep) !important; }
.pd-toggle-btn   { color: var(--muted) !important; }
.pd-toggle-btn.pd-active { background: var(--t-surface) !important; color: var(--ink) !important; box-shadow: 0 1px 3px rgba(0,0,0,.15) !important; }
.pd-segmented-opt.pd-active { background: var(--t-surface) !important; color: var(--ink) !important; box-shadow: 0 1px 3px rgba(0,0,0,.15) !important; }

/* ── Document editor blocks ── */
.pd-linked-chip  { background: var(--t-subtle) !important; color: var(--ink) !important; }
.pd-linked-chip .pd-icon { color: var(--muted) !important; }
.pd-metric-chip  { background: var(--t-subtle) !important; color: var(--ink) !important; }
.pd-metric-chip span { color: var(--muted) !important; }

/* ── Setup / login cards ── */
.pd-setup-card   { background: var(--t-surface) !important; }
.pd-setup-slug-prefix { background: var(--t-subtle) !important; border-color: var(--t-border) !important; color: var(--muted) !important; }

/* ── App shell backgrounds ── */
.pd-app-topbar   { background: var(--t-bg) !important; border-bottom: none !important; }
.pd-app-content  { background: var(--t-bg) !important; }
.pd-app-shell    { background: var(--t-bg) !important; }

/* ── Table cells in doc editor ── */
[data-table-cell] { background: var(--t-surface) !important; color: var(--ink) !important; border-color: var(--t-border) !important; }

/* ── Panels with hardcoded borders ── */
.pd-panel        { border: 1px solid var(--t-border) !important; background: var(--t-surface) !important; }
.pd-panel-head   { border-bottom: 1px solid var(--t-border) !important; background: transparent !important; }

/* Remove excessive box-shadows/borders on rows in dark mode */
[data-theme="dark"] .pd-row,
[data-theme="dim"]  .pd-row { box-shadow: none !important; }

/* ── Record table ── */
.pd-record-table th { background: var(--t-subtle) !important; color: var(--muted) !important; border-color: var(--t-border) !important; }
.pd-record-table td { border-color: var(--t-border) !important; color: var(--ink) !important; }

/* ── Metric detail panel (Growth) ── */
.pd-metric-detail-overlay {
  position: fixed; inset: 0; z-index: 300;
  background: rgba(0,0,0,.45);
  display: flex; align-items: center; justify-content: center;
  animation: pd-fade-in .14s ease;
}
.pd-metric-detail {
  background: var(--t-surface);
  border: 1px solid var(--t-border);
  border-radius: 16px;
  width: min(680px, 94vw);
  max-height: 88vh;
  overflow-y: auto;
  box-shadow: 0 30px 80px rgba(0,0,0,.32);
  padding: 24px;
  font-family: "Inter", sans-serif;
  animation: pd-slide-in .16s cubic-bezier(.2,.8,.4,1);
}
.pd-metric-detail-head {
  display: flex; align-items: flex-start; justify-content: space-between; gap: 12px;
  margin-bottom: 20px;
}
.pd-metric-detail-title { font-size: 18px; font-weight: 700; color: var(--ink); letter-spacing: -.03em; }
.pd-metric-detail-sub   { font-size: 12px; color: var(--muted); margin-top: 2px; }
.pd-metric-stat-row {
  display: flex; gap: 20px; margin-bottom: 20px;
  padding-bottom: 16px;
  border-bottom: 1px solid var(--t-border);
}
.pd-metric-stat { display: flex; flex-direction: column; gap: 2px; }
.pd-metric-stat-val { font-size: 26px; font-weight: 700; color: var(--ink); letter-spacing: -.04em; }
.pd-metric-stat-label { font-size: 11px; color: var(--muted); }
.pd-metric-trend { font-size: 11px; font-weight: 600; padding: 2px 7px; border-radius: 99px; }
.pd-metric-trend.up   { background: rgba(80,252,207,.12); color: var(--mint-deep); }
.pd-metric-trend.down { background: rgba(220,60,60,.1); color: #dc3c3c; }
.pd-metric-chart-area { height: 200px; margin-bottom: 20px; }
.pd-metric-log-section { border-top: 1px solid var(--t-border); padding-top: 16px; }
.pd-metric-log-title { font-size: 11px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--muted); margin-bottom: 10px; }
.pd-metric-log-row {
  display: flex; align-items: center; gap: 10px;
  padding: 6px 0;
  border-bottom: 1px solid var(--t-border);
  font-size: 12.5px; color: var(--ink);
}
.pd-metric-log-row:last-child { border-bottom: none; }
.pd-metric-log-date { color: var(--muted); font-size: 11px; min-width: 70px; }
.pd-metric-log-val  { font-weight: 600; }
.pd-metric-log-add  {
  display: flex; align-items: center; gap: 8px; margin-top: 12px;
}

/* ── Venture switcher: active item checkmark ── */
.pd-menu-item .pd-icon { color: var(--mint-deep) !important; }

/* ════════════════════════════════════════════════════════════════════════════
   ANALYTICS WORKSPACE — PostHog-style tabs + charts
   ════════════════════════════════════════════════════════════════════════════ */

/* Tab nav */
.pd-analytics-tabs {
  display: flex; align-items: center; gap: 2px;
  margin-bottom: 18px;
  border-bottom: 1px solid var(--t-border);
  padding-bottom: 0;
}
.pd-analytics-tab {
  display: flex; align-items: center; gap: 6px;
  padding: 7px 12px 8px;
  font-size: 12.5px; font-weight: 500;
  color: var(--muted); background: transparent; border: none;
  border-bottom: 2px solid transparent; cursor: pointer;
  margin-bottom: -1px;
  transition: color .12s ease, border-color .12s ease;
}
.pd-analytics-tab:hover { color: var(--ink); }
.pd-analytics-tab.active { color: var(--ink); border-bottom-color: var(--mint-deep); }
.pd-analytics-tab svg { opacity: .7; }
.pd-analytics-tab.active svg { opacity: 1; }

/* Mini KPI row (used in Retention, Cohorts, Events) */
.pd-analytics-kpi-row {
  display: grid; grid-template-columns: repeat(4, 1fr);
  gap: 10px; margin-bottom: 16px;
}
.pd-analytics-mini-kpi {
  background: var(--t-subtle); border: 1px solid var(--t-border);
  border-radius: 10px; padding: 12px 14px;
}
.pd-analytics-mini-kpi .val {
  font-size: 22px; font-weight: 700; color: var(--ink);
  letter-spacing: -.04em; line-height: 1;
}
.pd-analytics-mini-kpi.accent .val { color: var(--mint-deep); }
.pd-analytics-mini-kpi .lbl {
  font-size: 11px; color: var(--muted); margin-top: 4px;
}

/* ── Funnels ── */
.pd-funnel-wrap { animation: pd-fade-in .14s ease; }
.pd-funnel-header {
  display: flex; align-items: flex-start; justify-content: space-between;
  gap: 16px; margin-bottom: 20px;
}
.pd-funnel-title { font-size: 15px; font-weight: 700; color: var(--ink); letter-spacing: -.02em; }
.pd-funnel-sub   { font-size: 12px; color: var(--muted); margin-top: 3px; }
.pd-funnel-header-kpis { display: flex; gap: 16px; }
.pd-funnel-kpi { text-align: right; }
.pd-funnel-kpi span { font-size: 18px; font-weight: 700; color: var(--ink); }
.pd-funnel-kpi.accent span { color: var(--mint-deep); }
.pd-funnel-kpi small { display: block; font-size: 10px; color: var(--muted); margin-top: 1px; }

.pd-funnel-steps { display: flex; flex-direction: column; gap: 10px; }
.pd-funnel-step { }
.pd-funnel-step-meta {
  display: flex; align-items: center; gap: 8px; margin-bottom: 5px;
}
.pd-funnel-step-num {
  width: 20px; height: 20px; border-radius: 50%;
  background: var(--t-subtle); border: 1px solid var(--t-border);
  font-size: 10px; font-weight: 700; color: var(--muted);
  display: flex; align-items: center; justify-content: center; flex-shrink: 0;
}
.pd-funnel-step-name { font-size: 12.5px; font-weight: 500; color: var(--ink); flex: 1; }
.pd-funnel-step-count { font-size: 12px; font-weight: 600; color: var(--ink); }
.pd-funnel-bar-row { display: flex; align-items: center; gap: 10px; }
.pd-funnel-track {
  flex: 1; height: 8px; background: var(--t-subtle);
  border-radius: 99px; overflow: hidden;
}
.pd-funnel-fill {
  height: 100%; background: var(--mint-deep);
  border-radius: 99px;
  transition: width .4s cubic-bezier(.2,.8,.4,1);
}
.pd-funnel-pct { font-size: 11px; font-weight: 600; color: var(--ink); min-width: 36px; text-align: right; }
.pd-funnel-drop { font-size: 10px; color: #e05555; min-width: 70px; }

/* ── Retention table ── */
.pd-retention-wrap { animation: pd-fade-in .14s ease; }
.pd-ret-table-wrap { overflow-x: auto; padding: 0 0 4px; }
.pd-ret-table { width: 100%; border-collapse: collapse; font-size: 11.5px; }
.pd-ret-table th {
  padding: 7px 10px; text-align: center;
  font-size: 10px; font-weight: 600; letter-spacing: .06em;
  color: var(--muted); border-bottom: 1px solid var(--t-border);
  white-space: nowrap;
}
.pd-ret-table th:first-child, .pd-ret-table th:nth-child(2) { text-align: left; }
.pd-ret-table td { padding: 6px 10px; text-align: center; border-bottom: 1px solid var(--t-border); }
.pd-ret-table tr:last-child td { border-bottom: none; }
.pd-ret-label { font-size: 11px; color: var(--muted); white-space: nowrap; text-align: left !important; }
.pd-ret-users  { font-weight: 600; color: var(--ink); text-align: left !important; }
.pd-ret-cell   { font-size: 11px; font-weight: 500; color: var(--ink); border-radius: 3px; }
.pd-ret-empty  { color: var(--muted); background: transparent !important; }

/* ── Events ── */
.pd-events-wrap { animation: pd-fade-in .14s ease; }
.pd-events-table { width: 100%; border-collapse: collapse; font-size: 12.5px; }
.pd-events-table th {
  padding: 7px 12px; text-align: left;
  font-size: 10px; font-weight: 600; letter-spacing: .06em;
  color: var(--muted); border-bottom: 1px solid var(--t-border);
}
.pd-events-table td { padding: 8px 12px; border-bottom: 1px solid var(--t-border); color: var(--ink); vertical-align: middle; }
.pd-events-table tr:last-child td { border-bottom: none; }
.pd-events-table tr:hover td { background: var(--t-subtle); }
.pd-event-name  { font-family: "SFMono-Regular", Consolas, monospace; font-size: 12px; color: var(--ink); }
.pd-event-count { font-weight: 600; color: var(--ink); }
.pd-event-trend { font-size: 11px; font-weight: 600; }
.pd-event-trend.ev-up { color: var(--mint-deep); }
.pd-event-trend.ev-dn { color: #e05555; }
.pd-ev-bar-row  { display: flex; align-items: center; gap: 8px; }
.pd-ev-track    { flex: 1; height: 5px; background: var(--t-subtle); border-radius: 99px; overflow: hidden; max-width: 100px; }
.pd-ev-fill     { height: 100%; background: var(--mint-deep); border-radius: 99px; }
.pd-ev-bar-row span { font-size: 11px; color: var(--muted); min-width: 34px; }

/* ── Cohorts ── */
.pd-cohorts-wrap { animation: pd-fade-in .14s ease; }
.pd-cohort-table { width: 100%; border-collapse: collapse; font-size: 12.5px; }
.pd-cohort-table th {
  padding: 7px 12px; text-align: left;
  font-size: 10px; font-weight: 600; letter-spacing: .06em;
  color: var(--muted); border-bottom: 1px solid var(--t-border);
}
.pd-cohort-table td { padding: 10px 12px; border-bottom: 1px solid var(--t-border); color: var(--ink); }
.pd-cohort-table tr:last-child td { border-bottom: none; }
.pd-cohort-table tr:hover td { background: var(--t-subtle); }
.pd-cohort-name { font-weight: 600; }
.pd-ret-pill-row { display: flex; align-items: center; gap: 8px; }
.pd-ret-pill-track { flex: 1; height: 5px; background: var(--t-subtle); border-radius: 99px; overflow: hidden; max-width: 80px; }
.pd-ret-pill-fill  { height: 100%; background: var(--mint-deep); border-radius: 99px; }
.pd-ret-pill-row span { font-size: 11px; color: var(--muted); min-width: 28px; }

/* ── Retention wrap ── */
.pd-retention-wrap { animation: pd-fade-in .14s ease; }
.pd-funnel-wrap    { animation: pd-fade-in .14s ease; }
.pd-events-wrap    { animation: pd-fade-in .14s ease; }
.pd-cohorts-wrap   { animation: pd-fade-in .14s ease; }

/* ════════════════════════════════════════════════════════════════════════════
   BORDER CLEANUP — remove excess/decorative borders
   ════════════════════════════════════════════════════════════════════════════ */

/* Rows inside panels don't need their own bottom borders */
.pd-rows .pd-row:last-child { border-bottom: none !important; }

/* Task list items — soften/remove inner borders in dark mode */
[data-theme="dark"] .pd-row,
[data-theme="dim"]  .pd-row { border-color: var(--t-border) !important; }

/* KPI strip cards — no border, just background */
.pd-kpi-strip .pd-kpi-card { border: none !important; }

/* Workspace head — remove bottom rule */
.pd-ws-head { border-bottom: none !important; margin-bottom: 16px; }

/* Panel-head inside panel — only show when panel has visible border */
.pd-panel-head { background: transparent !important; }

/* Analytics mini KPI table borders — already using outline */
.pd-analytics-mini-kpi { box-shadow: none !important; }

/* Remove double-borders on nested pd-panel inside pd-funnel-wrap */
.pd-funnel-wrap .pd-panel,
.pd-retention-wrap .pd-panel,
.pd-events-wrap .pd-panel,
.pd-cohorts-wrap .pd-panel { border: 1px solid var(--t-border) !important; }

/* Toolbar / segmented control — remove outer border */
.pd-segmented { border: 1px solid var(--t-border) !important; background: var(--t-subtle) !important; }

/* Filter chips row — no extra wrapper border */
.pd-filter-row { border: none !important; background: transparent !important; }

/* Topbar breadcrumb separator — keep but soften */
.pd-breadcrumb-sep { opacity: .35; }

/* Remove box shadows on pills and status badges */
.pd-status-pill { box-shadow: none !important; }
.pd-chip        { box-shadow: none !important; }

/* Sidebar nav items — remove hover underlines/extra outlines */
.pd-app-nav-item:focus-visible { outline: 2px solid var(--mint-deep) !important; outline-offset: -2px !important; }

/* Remove the outer border on the experiments panel inside Growth */
.pd-experiment-row { border-bottom: 1px solid var(--t-border) !important; }
.pd-rows .pd-experiment-row:last-child { border-bottom: none !important; }

/* ══════════════════════════════════════════════════════════════════════════
   EDITORIAL WORKSPACE REDESIGN — v38
   Calm hierarchy: whitespace + dividers instead of cards everywhere.
   Applied as the final cascade layer; uses !important to win over prior overrides.
   ══════════════════════════════════════════════════════════════════════════ */

/* ── 1. Design tokens ──────────────────────────────────────────────────── */
:root {
  --wr-bg:          #faf9f7;
  --wr-surface:     #fdfcf9;
  --wr-subtle:      #f3f2ef;
  --wr-hover:       #eeede9;
  --wr-border:      rgba(18,17,12,.07);
  --wr-border-ctl:  rgba(18,17,12,.16);
  --wr-text:        #1a1916;
  --wr-text-2:      #58574f;
  --wr-text-m:      #908e84;
  --wr-brand:       #1a6b4a;
  --wr-focus:       rgba(26,107,74,.18);
  --wr-shadow-sm:   0 1px 4px rgba(0,0,0,.06);
  --wr-shadow-md:   0 4px 24px rgba(0,0,0,.11), 0 0 0 1px rgba(0,0,0,.04);
  --wr-radius:      5px;
  --wr-radius-lg:   10px;
  /* Accent + aliases. `--accent` is the marketing neon (#50FCCF) that leaked
     into the app; remap it and the missing `--wr-*` aliases to the app's
     established green (`--mint-deep`) so RecordPeek / tabs / AI / toggles
     render the same accent as the rest of the app. */
  --accent:         #159a78;
  --accent-rgb:     21,154,120;
  --wr-accent:      #159a78;
  --wr-accent-soft: rgba(21,154,120,.14);
  --wr-text-primary:   var(--wr-text);
  --wr-text-secondary: var(--wr-text-2);
  --wr-text-muted:     var(--wr-text-m);
  --wr-bg-raised:         var(--wr-surface);
  --wr-bg-raised-hover:   var(--wr-hover);
}

/* ── 2. App shell / body ───────────────────────────────────────────────── */
.pd-app-body    { background: var(--wr-bg) !important; }
.pd-app-shell   { background: var(--wr-bg) !important; box-shadow: none !important; }
.pd-app-content { background: var(--wr-bg) !important; padding: 28px 40px 64px !important; }
@media (max-width: 1100px) { .pd-app-content { padding: 28px 36px 48px !important; } }
@media (max-width: 900px)  { .pd-app-content { padding: 24px 24px 40px !important; } }
@media (max-width: 800px)  { .pd-app-content { padding: 20px 16px 32px !important; } }
@media (max-width: 520px)  { .pd-app-content { padding: 16px 14px 28px !important; } }

/* ── 3. Topbar ─────────────────────────────────────────────────────────── */
.pd-app-topbar {
  background: var(--wr-bg) !important;
  border-bottom: none !important;
  padding: 0 18px !important;
  min-height: 44px !important;
  height: 44px !important;
}
.pd-app-crumb { font-size: 12px !important; font-weight: 500 !important; color: var(--wr-text-2) !important; letter-spacing: 0 !important; }
.pd-app-topbar .pd-icon-btn { color: var(--wr-text-m) !important; border-radius: var(--wr-radius) !important; width: 28px !important; height: 28px !important; }
.pd-app-topbar .pd-icon-btn:hover { background: var(--wr-subtle) !important; color: var(--wr-text) !important; }

/* ── 4. Sidebar tweaks ─────────────────────────────────────────────────── */
.pd-app-nav-item { font-size: 11.5px !important; padding: 5px 8px !important; border-radius: 5px !important; gap: 8px !important; }
.pd-nav-section-label { font-size: 9px !important; letter-spacing: .09em !important; padding: 12px 8px 3px !important; color: rgba(200,218,207,.28) !important; }
.pd-sidebar-top { border-bottom-color: rgba(255,255,255,.06) !important; }

/* ── 5. Page / workspace headers ───────────────────────────────────────── */
.pd-ws-head { margin-bottom: 24px !important; padding-bottom: 0 !important; border-bottom: none !important; }
.pd-ws-head h2 { font-size: 20px !important; font-weight: 600 !important; letter-spacing: -.025em !important; color: var(--wr-text) !important; margin: 0 0 2px !important; }
.pd-ws-head p  { font-size: 12.5px !important; color: var(--wr-text-m) !important; margin: 0 !important; line-height: 1.5 !important; }

/* ── 6. Buttons ────────────────────────────────────────────────────────── */
.pd-btn {
  font-size: 12px !important; font-weight: 500 !important;
  padding: 5px 11px !important; height: 30px !important; line-height: 1 !important;
  border-radius: var(--wr-radius) !important;
  border: 1px solid var(--wr-border-ctl) !important;
  background: var(--wr-surface) !important;
  color: var(--wr-text-2) !important;
  box-shadow: none !important; gap: 5px !important;
  display: inline-flex !important; align-items: center !important;
}
.pd-btn:hover {
  background: var(--wr-hover) !important;
  border-color: rgba(18,17,12,.22) !important;
  color: var(--wr-text) !important;
  transform: none !important;
  box-shadow: none !important;
}
.pd-btn-primary { background: #131510 !important; color: #f4f5f1 !important; border-color: transparent !important; }
.pd-btn-primary:hover { background: #1e2318 !important; color: #fff !important; border-color: transparent !important; }
.pd-btn-sm { height: 26px !important; padding: 3px 9px !important; font-size: 11.5px !important; line-height: 1 !important; }

/* ── 7. Status pills: compact text badges, not colored bubbles ─────────── */
.pd-status-pill {
  font-size: 10.5px !important; font-weight: 500 !important;
  padding: 2px 6px !important; border-radius: 4px !important;
  letter-spacing: 0 !important; box-shadow: none !important; line-height: 1.4 !important;
}
.pd-status-complete,
.pd-status-supported    { background: #e6f2ea !important; color: #1a6b4a !important; }
.pd-status-progress     { background: #fef3e1 !important; color: #9a6811 !important; }
.pd-status-queued,
.pd-status-backlog      { background: #f1f0ec !important; color: #6b6a62 !important; }
.pd-status-blocked      { background: #fce9e6 !important; color: #b33c2a !important; }
.pd-status-review       { background: #e9edf6 !important; color: #2c5aaa !important; }
.pd-status-untested     { background: #f1f0ec !important; color: #6b6a62 !important; }
.pd-status-contradicted { background: #fce9e6 !important; color: #b33c2a !important; }
.pd-status-analyzing    { background: #e9edf6 !important; color: #2c5aaa !important; }
.pd-status-suggested    { background: #f1f0ec !important; color: #6b6a62 !important; }

/* ── 8. Panels: remove card containers entirely ────────────────────────── */
.pd-panel {
  background: transparent !important; border: none !important;
  border-radius: 0 !important; box-shadow: none !important; padding: 0 !important;
}
.pd-panel-head {
  display: flex !important; align-items: center !important; justify-content: space-between !important;
  padding: 0 0 10px !important; margin-bottom: 14px !important;
  border-bottom: 1px solid var(--wr-border) !important; background: transparent !important;
}
.pd-panel-head small {
  font-size: 10px !important; font-weight: 600 !important;
  letter-spacing: .07em !important; color: var(--wr-text-m) !important; text-transform: uppercase !important;
}

/* ── 9. Rows: table-like with horizontal dividers ──────────────────────── */
.pd-rows {
  display: flex !important; flex-direction: column !important;
  gap: 0 !important; background: transparent !important; border: none !important;
}
.pd-row {
  border-radius: 0 !important; border: none !important;
  border-bottom: 1px solid var(--wr-border) !important;
  background: transparent !important; box-shadow: none !important;
  padding: 9px 4px !important;
  transition: background .1s ease !important;
}
.pd-row:first-child { border-top: 1px solid var(--wr-border) !important; }
.pd-row:last-child  { border-bottom: none !important; }
.pd-row:hover { background: var(--wr-hover) !important; border-radius: 4px !important; }

/* ── 10. KPI strip: flat inline numbers with dividers ─────────────────── */
.pd-kpi-strip {
  display: flex !important; flex-direction: row !important;
  gap: 0 !important; border: none !important;
  border-bottom: 1px solid var(--wr-border) !important;
  background: transparent !important; margin-bottom: 28px !important; padding-bottom: 20px !important;
  grid-template-columns: none !important; grid: none !important;
}
.pd-kpi-card {
  background: transparent !important; border: none !important;
  border-radius: 0 !important; box-shadow: none !important;
  padding: 0 0 0 24px !important; flex: 0 0 auto !important; gap: 2px !important;
}
.pd-kpi-card:first-child { padding-left: 0 !important; }
.pd-kpi-card + .pd-kpi-card { border-left: 1px solid var(--wr-border) !important; margin-left: 24px !important; }
.pd-kpi-value { font-size: 20px !important; font-weight: 700 !important; color: var(--wr-text) !important; letter-spacing: -.03em !important; line-height: 1.1 !important; }
.pd-kpi-of    { font-size: 13px !important; font-weight: 400 !important; color: var(--wr-text-m) !important; }
.pd-kpi-label { font-size: 11.5px !important; color: var(--wr-text-m) !important; font-weight: 400 !important; margin-top: 2px !important; }

/* ── 11. Input controls ────────────────────────────────────────────────── */
.pd-input, .pd-select {
  background: var(--wr-surface) !important; border: 1px solid var(--wr-border-ctl) !important;
  border-radius: var(--wr-radius) !important; color: var(--wr-text) !important;
  font-size: 13px !important; padding: 7px 10px !important; box-shadow: none !important;
}
select.pd-select {
  appearance: none !important; -webkit-appearance: none !important;
  padding-right: 28px !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath d='M1 1l4 4 4-4' stroke='%23908e84' stroke-width='1.4' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-position: right 9px center !important;
  cursor: pointer !important;
}
.pd-input:focus, .pd-select:focus {
  border-color: var(--wr-brand) !important; box-shadow: 0 0 0 3px var(--wr-focus) !important; outline: none !important;
}
.pd-field-label { font-size: 11.5px !important; font-weight: 500 !important; color: var(--wr-text-2) !important; }

/* ── 12. Menus: compact floating panels ────────────────────────────────── */
.pd-menu { background: #fff !important; border-radius: 8px !important; box-shadow: var(--wr-shadow-md) !important; border: none !important; padding: 4px !important; }
.pd-menu-item { font-size: 12px !important; padding: 6px 9px !important; border-radius: 5px !important; color: var(--wr-text) !important; gap: 8px !important; }
.pd-menu-item:hover { background: var(--wr-subtle) !important; }
.pd-menu-divider { background: var(--wr-border) !important; margin: 3px 4px !important; }
.pd-menu-section-label { font-size: 9.5px !important; font-weight: 600 !important; letter-spacing: .07em !important; color: var(--wr-text-m) !important; padding: 6px 9px 3px !important; }

/* ── 13. Dialogs ───────────────────────────────────────────────────────── */
.pd-dialog {
  background: #fff !important; border-radius: var(--wr-radius-lg) !important;
  box-shadow: var(--wr-shadow-md) !important; padding: 22px 24px !important; border: none !important;
}
.pd-dialog-head h3 { font-size: 14px !important; font-weight: 600 !important; letter-spacing: -.01em !important; color: var(--wr-text) !important; }
.pd-dialog-scrim { background: rgba(16,14,10,.3) !important; }
.pd-drawer { background: #fff !important; box-shadow: -10px 0 40px rgba(0,0,0,.1) !important; }
.pd-drawer-head { border-bottom-color: var(--wr-border) !important; padding: 14px 20px !important; }
.pd-drawer-head h3 { font-size: 10.5px !important; font-weight: 600 !important; color: var(--wr-text-m) !important; letter-spacing: .06em !important; }

/* ── 14. Settings window ───────────────────────────────────────────────── */
.pd-settings-nav { background: var(--wr-subtle) !important; border-right-color: var(--wr-border) !important; }
.pd-settings-nav-item {
  font-size: 12px !important; font-weight: 500 !important; padding: 6px 10px !important;
  border-radius: 5px !important; color: var(--wr-text-2) !important; gap: 8px !important;
}
.pd-settings-nav-item:hover { background: rgba(18,17,12,.07) !important; color: var(--wr-text) !important; }
.pd-settings-nav-item.pd-active { background: rgba(18,17,12,.08) !important; color: var(--wr-text) !important; font-weight: 600 !important; }
.pd-settings-nav-item.pd-active svg { color: var(--wr-text) !important; }
.pd-settings-content { padding: 28px 32px !important; }
.pd-settings-section-head h2 { font-size: 16px !important; font-weight: 600 !important; letter-spacing: -.02em !important; }
.pd-settings-section-head { border-bottom-color: var(--wr-border) !important; }
.pd-settings-field-row  { border-bottom-color: var(--wr-border) !important; padding: 10px 0 !important; min-height: 42px !important; }
.pd-settings-toggle-row { border-bottom-color: var(--wr-border) !important; padding: 10px 0 !important; }
.pd-settings-label { font-size: 13px !important; font-weight: 500 !important; color: var(--wr-text) !important; }
.pd-settings-sub   { font-size: 11.5px !important; color: var(--wr-text-m) !important; }
.pd-settings-group-label { font-size: 10px !important; font-weight: 600 !important; letter-spacing: .07em !important; color: var(--wr-text-m) !important; }

/* ── 15. Task board ────────────────────────────────────────────────────── */
.pd-task-board { gap: 14px !important; }
.pd-board-col {
  background: transparent !important; border: none !important; border-radius: 0 !important;
  padding: 0 !important; border-top: 2px solid var(--wr-border) !important;
}
.pd-board-col-head { padding: 8px 2px 10px !important; background: transparent !important; border-radius: 0 !important; }
.pd-board-col-title { font-size: 10.5px !important; font-weight: 600 !important; color: var(--wr-text-m) !important; text-transform: uppercase !important; letter-spacing: .05em !important; }
.pd-board-col-count { font-size: 10px !important; font-weight: 600 !important; color: var(--wr-text-m) !important; background: transparent !important; padding: 0 !important; }
.pd-board-card {
  background: var(--wr-surface) !important; border: 1px solid var(--wr-border) !important;
  border-radius: 5px !important; padding: 10px 12px !important; box-shadow: none !important;
}
.pd-board-card:hover { border-color: rgba(18,17,12,.17) !important; box-shadow: 0 2px 6px rgba(0,0,0,.05) !important; transform: none !important; }
.pd-board-card b   { font-size: 12.5px !important; font-weight: 500 !important; line-height: 1.4 !important; }
.pd-board-card p   { font-size: 11.5px !important; color: var(--wr-text-2) !important; }

/* ── 16. Toolbar / filter row ─────────────────────────────────────────── */
.pd-toolbar    { background: transparent !important; border: none !important; padding: 0 !important; margin: 0 0 14px !important; }
.pd-filter-row { background: transparent !important; border: none !important; padding: 0 !important; margin-bottom: 14px !important; }
.pd-filter-chip {
  font-size: 11.5px !important; font-weight: 500 !important; padding: 4px 10px !important;
  border-radius: var(--wr-radius) !important; border: 1px solid var(--wr-border-ctl) !important;
  background: var(--wr-surface) !important; color: var(--wr-text-2) !important; box-shadow: none !important;
}
.pd-filter-chip:hover { background: var(--wr-hover) !important; color: var(--wr-text) !important; }
.pd-filter-chip.pd-active,
.pd-filter-chip-active { background: var(--wr-text) !important; color: #fff !important; border-color: var(--wr-text) !important; }
.pd-view-toggle { background: var(--wr-subtle) !important; border: 1px solid var(--wr-border) !important; border-radius: 6px !important; }
.pd-toggle-btn { font-size: 12px !important; border-radius: 4px !important; color: var(--wr-text-m) !important; }
.pd-toggle-btn.pd-active { background: var(--wr-surface) !important; color: var(--wr-text) !important; box-shadow: 0 1px 3px rgba(0,0,0,.08) !important; }
.pd-segmented { background: var(--wr-subtle) !important; border: 1px solid var(--wr-border) !important; border-radius: 6px !important; padding: 2px !important; }
.pd-segmented-opt { font-size: 12px !important; font-weight: 500 !important; padding: 4px 10px !important; border-radius: 4px !important; color: var(--wr-text-m) !important; }
.pd-segmented-opt.pd-active { background: var(--wr-surface) !important; color: var(--wr-text) !important; box-shadow: 0 1px 3px rgba(0,0,0,.07) !important; }

/* ── 17. Chips / badges ────────────────────────────────────────────────── */
.pd-chip {
  background: var(--wr-subtle) !important; border: none !important; border-radius: 4px !important;
  font-size: 11px !important; font-weight: 500 !important; padding: 2px 6px !important;
  color: var(--wr-text-2) !important; box-shadow: none !important;
}

/* ── 18. Growth metric cards: borderless grid ──────────────────────────── */
.pd-metric-grid {
  display: grid !important;
  grid-template-columns: repeat(auto-fill, minmax(140px, 1fr)) !important;
  gap: 0 !important; margin-bottom: 28px !important;
  border-top: 1px solid var(--wr-border) !important;
  border-left: 1px solid var(--wr-border) !important;
}
.pd-metric-card {
  background: transparent !important; border: none !important;
  border-right: 1px solid var(--wr-border) !important;
  border-bottom: 1px solid var(--wr-border) !important;
  border-radius: 0 !important; padding: 16px 18px !important;
  cursor: pointer !important; transition: background .1s ease !important;
}
.pd-metric-card:hover { background: var(--wr-hover) !important; transform: none !important; }
.pd-metric-val    { font-size: 20px !important; font-weight: 700 !important; letter-spacing: -.03em !important; color: var(--wr-text) !important; line-height: 1.1 !important; }
.pd-metric-unit   { font-size: 10.5px !important; color: var(--wr-text-m) !important; margin-left: 2px !important; }
.pd-metric-label  { font-size: 12px !important; color: var(--wr-text-2) !important; margin-top: 3px !important; }
.pd-metric-period { font-size: 10px !important; color: var(--wr-text-m) !important; }
.pd-metric-trend-badge { font-size: 10px !important; font-weight: 500 !important; padding: 1px 5px !important; border-radius: 3px !important; }
.pd-metric-trend-badge.up     { background: #e6f2ea !important; color: #1a6b4a !important; }
.pd-metric-trend-badge.down   { background: #fce9e6 !important; color: #b33c2a !important; }
.pd-metric-trend-badge.neutral{ background: #f1f0ec !important; color: #6b6a62 !important; }

/* ── 19. Growth metric detail overlay ─────────────────────────────────── */
.pd-metric-detail-overlay { background: rgba(14,12,8,.38) !important; }
.pd-metric-detail {
  background: #ffffff !important; border: 1px solid var(--wr-border) !important;
  border-radius: var(--wr-radius-lg) !important;
  box-shadow: 0 20px 60px rgba(0,0,0,.16), 0 2px 8px rgba(0,0,0,.06) !important;
  padding: 22px 24px !important; width: min(580px, 94vw) !important;
}
.pd-metric-detail-title { font-size: 16px !important; font-weight: 600 !important; color: var(--wr-text) !important; letter-spacing: -.02em !important; }
.pd-metric-detail-sub   { font-size: 12px !important; color: var(--wr-text-m) !important; }
.pd-metric-stat-val     { font-size: 20px !important; font-weight: 700 !important; color: var(--wr-text) !important; letter-spacing: -.03em !important; }
.pd-metric-stat-label   { font-size: 11px !important; color: var(--wr-text-m) !important; margin-top: 2px !important; }
.pd-metric-stat-row     { border-bottom: 1px solid var(--wr-border) !important; padding-bottom: 16px !important; margin-bottom: 16px !important; }
.pd-metric-log-title    { font-size: 10.5px !important; font-weight: 600 !important; letter-spacing: .06em !important; color: var(--wr-text-m) !important; text-transform: uppercase !important; margin-bottom: 8px !important; }
.pd-metric-log-row      { font-size: 12.5px !important; border-bottom: 1px solid var(--wr-border) !important; padding: 7px 0 !important; }
.pd-metric-log-date     { font-size: 11.5px !important; color: var(--wr-text-m) !important; }
.pd-metric-log-val      { font-size: 12.5px !important; font-weight: 500 !important; color: var(--wr-text) !important; }
.pd-metric-log-add      { margin-top: 10px !important; gap: 6px !important; display: flex !important; }
.pd-metric-log-section  { border-top: 1px solid var(--wr-border) !important; padding-top: 16px !important; margin-top: 16px !important; }
.pd-metric-trend.up     { color: #1a6b4a !important; font-size: 12px !important; font-weight: 500 !important; }
.pd-metric-trend.down   { color: #b33c2a !important; font-size: 12px !important; font-weight: 500 !important; }

/* ── 20. Analytics tabs ────────────────────────────────────────────────── */
.pd-analytics-tabs { border-bottom: 1px solid var(--wr-border) !important; margin-bottom: 24px !important; }
.pd-analytics-tab  { font-size: 12px !important; font-weight: 500 !important; color: var(--wr-text-m) !important; padding: 6px 10px 8px !important; border-bottom-width: 2px !important; }
.pd-analytics-tab:hover { color: var(--wr-text-2) !important; }
.pd-analytics-tab.active { color: var(--wr-text) !important; border-bottom-color: var(--wr-text) !important; }

/* Analytics mini KPI: flat inline with left-border dividers */
.pd-analytics-kpi-row {
  display: flex !important; gap: 0 !important;
  margin-bottom: 28px !important;
  border-bottom: 1px solid var(--wr-border) !important; padding-bottom: 20px !important;
  grid-template-columns: none !important;
}
.pd-analytics-mini-kpi {
  background: transparent !important; border: none !important;
  border-left: 1px solid var(--wr-border) !important; border-radius: 0 !important;
  padding: 0 20px 0 20px !important; box-shadow: none !important;
}
.pd-analytics-mini-kpi:first-child { border-left: none !important; padding-left: 0 !important; }
.pd-analytics-mini-kpi .val { font-size: 18px !important; font-weight: 700 !important; letter-spacing: -.03em !important; line-height: 1.2 !important; color: var(--wr-text) !important; }
.pd-analytics-mini-kpi.accent .val { color: var(--wr-brand) !important; }
.pd-analytics-mini-kpi .lbl { font-size: 11px !important; color: var(--wr-text-m) !important; margin-top: 2px !important; }
.pd-funnel-track { background: var(--wr-subtle) !important; }
.pd-funnel-fill  { background: var(--wr-brand) !important; }

/* Analytics panels inside tab content: no border */
.pd-funnel-wrap .pd-panel,
.pd-retention-wrap .pd-panel,
.pd-events-wrap .pd-panel,
.pd-cohorts-wrap .pd-panel { border: none !important; }

/* ── 21. Records table ─────────────────────────────────────────────────── */
.pd-table-scroll { border: none !important; border-radius: 0 !important; border-top: 1px solid var(--wr-border) !important; }
.pd-record-table th { background: transparent !important; font-size: 10.5px !important; font-weight: 600 !important; color: var(--wr-text-m) !important; letter-spacing: .04em !important; text-transform: uppercase !important; padding: 7px 12px !important; border-bottom: 1px solid var(--wr-border) !important; }
.pd-record-table td { border-bottom-color: var(--wr-border) !important; font-size: 12.5px !important; color: var(--wr-text) !important; padding: 9px 12px !important; }
.pd-record-table tr[data-row]:hover { background: var(--wr-hover) !important; }

/* ── 22. Empty states ──────────────────────────────────────────────────── */
.pd-empty-state-lg { padding: 48px 24px !important; }
.pd-empty-state-lg h3 { font-size: 15px !important; font-weight: 600 !important; }
.pd-empty-state-lg p  { font-size: 13px !important; }

/* ── 23. Milestone cards ────────────────────────────────────────────────── */
.pd-milestone-card { background: transparent !important; border-radius: 0 !important; border-bottom: 1px solid var(--wr-border) !important; padding: 10px 4px !important; }
.pd-milestone-card:first-child { border-top: 1px solid var(--wr-border) !important; }

/* ── 24. Team rows ─────────────────────────────────────────────────────── */
.pd-team-row { background: transparent !important; border-radius: 0 !important; border-bottom: 1px solid var(--wr-border) !important; padding: 10px 4px !important; margin-bottom: 0 !important; }
.pd-team-row:first-child { border-top: 1px solid var(--wr-border) !important; }
.pd-team-row:hover { background: var(--wr-hover) !important; }

/* ── 25. APexCharts: clean chart aesthetics ────────────────────────────── */
.apexcharts-canvas { border: none !important; }
.apexcharts-svg    { background: transparent !important; }
.apexcharts-grid line { stroke: var(--wr-border, rgba(18,17,12,.07)) !important; }
.apexcharts-xaxis-tick, .apexcharts-yaxis-tick { display: none !important; }

/* ── 26. DARK THEME tokens ─────────────────────────────────────────────── */
[data-theme="dark"] {
  --wr-bg:         #111110;
  --wr-surface:    #1a1a18;
  --wr-subtle:     #212120;
  --wr-hover:      #272726;
  --wr-border:     rgba(255,255,248,.07);
  --wr-border-ctl: rgba(255,255,248,.14);
  --wr-text:       #d8dbd4;
  --wr-text-2:     #959890;
  --wr-text-m:     #666860;
  --wr-focus:      rgba(80,200,140,.2);
}

/* Dark: main area — neutral, not green-tinted */
[data-theme="dark"] .pd-app-body,
[data-theme="dark"] .pd-app-shell,
[data-theme="dark"] .pd-app-content { background: var(--wr-bg) !important; }
[data-theme="dark"] .pd-app-topbar  { background: var(--wr-bg) !important; border-bottom-color: var(--wr-border) !important; }

/* Dark: popover surfaces */
[data-theme="dark"] .pd-dialog    { background: var(--wr-surface) !important; }
[data-theme="dark"] .pd-drawer    { background: var(--wr-surface) !important; }
[data-theme="dark"] .pd-menu      { background: #22221f !important; }
[data-theme="dark"] .pd-cmdk      { background: var(--wr-surface) !important; }
[data-theme="dark"] .pd-slash-menu{ background: var(--wr-surface) !important; }

/* Dark: buttons */
[data-theme="dark"] .pd-btn { background: var(--wr-subtle) !important; border-color: var(--wr-border-ctl) !important; color: var(--wr-text-2) !important; }
[data-theme="dark"] .pd-btn:hover { background: var(--wr-hover) !important; color: var(--wr-text) !important; }
[data-theme="dark"] .pd-btn-primary { background: #1f9c78 !important; color: #021009 !important; border-color: transparent !important; }
[data-theme="dark"] .pd-btn-primary:hover { background: #22aa84 !important; }

/* Dark: inputs */
[data-theme="dark"] .pd-input,
[data-theme="dark"] .pd-select { background: var(--wr-subtle) !important; border-color: var(--wr-border-ctl) !important; color: var(--wr-text) !important; }
[data-theme="dark"] .pd-input:focus,
[data-theme="dark"] .pd-select:focus { border-color: #34c98a !important; box-shadow: 0 0 0 3px rgba(52,201,138,.18) !important; }

/* Dark: rows / dividers */
[data-theme="dark"] .pd-row { border-color: var(--wr-border) !important; }
[data-theme="dark"] .pd-row:hover { background: var(--wr-hover) !important; }

/* Dark: board */
[data-theme="dark"] .pd-board-col    { border-top-color: var(--wr-border) !important; }
[data-theme="dark"] .pd-board-col-title { color: var(--wr-text-m) !important; }
[data-theme="dark"] .pd-board-card   { background: var(--wr-surface) !important; border-color: var(--wr-border) !important; }
[data-theme="dark"] .pd-board-card:hover { border-color: rgba(255,255,248,.15) !important; }
[data-theme="dark"] .pd-board-card b { color: var(--wr-text) !important; }
[data-theme="dark"] .pd-board-card p { color: var(--wr-text-2) !important; }

/* Dark: settings */
[data-theme="dark"] .pd-settings-nav { background: rgba(255,255,255,.03) !important; }
[data-theme="dark"] .pd-settings-nav-item { color: var(--wr-text-2) !important; }
[data-theme="dark"] .pd-settings-nav-item:hover { background: rgba(255,255,248,.06) !important; }
[data-theme="dark"] .pd-settings-nav-item.pd-active { background: rgba(255,255,248,.08) !important; color: var(--wr-text) !important; }
[data-theme="dark"] .pd-settings-label { color: var(--wr-text) !important; }
[data-theme="dark"] .pd-settings-field-row  { border-bottom-color: var(--wr-border) !important; }
[data-theme="dark"] .pd-settings-toggle-row { border-bottom-color: var(--wr-border) !important; }
[data-theme="dark"] .pd-settings-section-head { border-bottom-color: var(--wr-border) !important; }

/* Dark: status pills */
[data-theme="dark"] .pd-status-complete,
[data-theme="dark"] .pd-status-supported    { background: rgba(26,107,74,.22) !important; color: #6bd09a !important; }
[data-theme="dark"] .pd-status-progress     { background: rgba(154,104,17,.22) !important; color: #d49840 !important; }
[data-theme="dark"] .pd-status-queued,
[data-theme="dark"] .pd-status-backlog,
[data-theme="dark"] .pd-status-untested,
[data-theme="dark"] .pd-status-suggested    { background: rgba(255,255,255,.06) !important; color: var(--wr-text-m) !important; }
[data-theme="dark"] .pd-status-blocked,
[data-theme="dark"] .pd-status-contradicted { background: rgba(178,60,42,.22) !important; color: #e07464 !important; }
[data-theme="dark"] .pd-status-review,
[data-theme="dark"] .pd-status-analyzing    { background: rgba(44,90,170,.22) !important; color: #7da4dc !important; }

/* Dark: metric cards */
[data-theme="dark"] .pd-metric-card { border-color: var(--wr-border) !important; }
[data-theme="dark"] .pd-metric-card:hover { background: var(--wr-hover) !important; }
[data-theme="dark"] .pd-metric-val { color: var(--wr-text) !important; }
[data-theme="dark"] .pd-metric-trend-badge.up   { background: rgba(26,107,74,.22) !important; color: #6bd09a !important; }
[data-theme="dark"] .pd-metric-trend-badge.down { background: rgba(178,60,42,.22) !important; color: #e07464 !important; }
[data-theme="dark"] .pd-metric-trend-badge.neutral { background: rgba(255,255,255,.06) !important; color: var(--wr-text-m) !important; }

/* Dark: metric detail */
[data-theme="dark"] .pd-metric-detail { background: var(--wr-surface) !important; border-color: var(--wr-border) !important; }
[data-theme="dark"] .pd-metric-detail-title,
[data-theme="dark"] .pd-metric-stat-val { color: var(--wr-text) !important; }
[data-theme="dark"] .pd-metric-detail-sub,
[data-theme="dark"] .pd-metric-stat-label,
[data-theme="dark"] .pd-metric-log-date { color: var(--wr-text-m) !important; }
[data-theme="dark"] .pd-metric-log-val { color: var(--wr-text) !important; }
[data-theme="dark"] .pd-metric-log-row  { border-bottom-color: var(--wr-border) !important; }
[data-theme="dark"] .pd-metric-stat-row { border-bottom-color: var(--wr-border) !important; }
[data-theme="dark"] .pd-metric-log-section { border-top-color: var(--wr-border) !important; }

/* Dark: analytics */
[data-theme="dark"] .pd-analytics-tab { color: var(--wr-text-m) !important; }
[data-theme="dark"] .pd-analytics-tab.active { color: var(--wr-text) !important; border-bottom-color: var(--wr-text) !important; }
[data-theme="dark"] .pd-analytics-mini-kpi .val { color: var(--wr-text) !important; }
[data-theme="dark"] .pd-analytics-mini-kpi .lbl { color: var(--wr-text-m) !important; }
[data-theme="dark"] .pd-analytics-mini-kpi { border-left-color: var(--wr-border) !important; }
[data-theme="dark"] .pd-analytics-kpi-row  { border-bottom-color: var(--wr-border) !important; }

/* Dark: kpi strip */
[data-theme="dark"] .pd-kpi-strip    { border-bottom-color: var(--wr-border) !important; }
[data-theme="dark"] .pd-kpi-card + .pd-kpi-card { border-left-color: var(--wr-border) !important; }
[data-theme="dark"] .pd-kpi-value    { color: var(--wr-text) !important; }
[data-theme="dark"] .pd-kpi-label    { color: var(--wr-text-m) !important; }

/* Dark: panels / rows */
[data-theme="dark"] .pd-panel { background: transparent !important; border: none !important; }
[data-theme="dark"] .pd-panel-head { border-bottom-color: var(--wr-border) !important; }
[data-theme="dark"] .pd-panel-head small { color: var(--wr-text-m) !important; }

/* Dark: menus */
[data-theme="dark"] .pd-menu-item { color: var(--wr-text) !important; }
[data-theme="dark"] .pd-menu-item:hover { background: rgba(255,255,248,.06) !important; }

/* Dark: chips */
[data-theme="dark"] .pd-chip { background: var(--wr-subtle) !important; color: var(--wr-text-2) !important; }

/* Dark: filter chips */
[data-theme="dark"] .pd-filter-chip { background: var(--wr-subtle) !important; border-color: var(--wr-border-ctl) !important; color: var(--wr-text-2) !important; }
[data-theme="dark"] .pd-filter-chip.pd-active,
[data-theme="dark"] .pd-filter-chip-active { background: var(--wr-text) !important; color: var(--wr-bg) !important; border-color: var(--wr-text) !important; }
[data-theme="dark"] .pd-view-toggle  { background: var(--wr-subtle) !important; border-color: var(--wr-border) !important; }
[data-theme="dark"] .pd-toggle-btn.pd-active { background: var(--wr-hover) !important; color: var(--wr-text) !important; }
[data-theme="dark"] .pd-segmented { background: var(--wr-subtle) !important; border-color: var(--wr-border) !important; }
[data-theme="dark"] .pd-segmented-opt.pd-active { background: var(--wr-hover) !important; color: var(--wr-text) !important; }

/* Dark: record table */
[data-theme="dark"] .pd-record-table th { color: var(--wr-text-m) !important; border-bottom-color: var(--wr-border) !important; }
[data-theme="dark"] .pd-record-table td { border-bottom-color: var(--wr-border) !important; color: var(--wr-text) !important; }
[data-theme="dark"] .pd-record-table tr[data-row]:hover { background: var(--wr-hover) !important; }

/* Dark: misc */
[data-theme="dark"] .pd-milestone-card { border-bottom-color: var(--wr-border) !important; border-top-color: var(--wr-border) !important; }
[data-theme="dark"] .pd-team-row { border-bottom-color: var(--wr-border) !important; border-top-color: var(--wr-border) !important; }
[data-theme="dark"] .pd-ws-head h2 { color: var(--wr-text) !important; }
[data-theme="dark"] .pd-ws-head p  { color: var(--wr-text-m) !important; }

/* Dark: ApexCharts */
[data-theme="dark"] .apexcharts-tooltip,
[data-theme="dark"] .apexcharts-tooltip.apexcharts-theme-light {
  background: #22221f !important; box-shadow: 0 2px 14px rgba(0,0,0,.32) !important;
}

/* ── 27. DIM THEME ─────────────────────────────────────────────────────── */
[data-theme="dim"] {
  --wr-bg:         #131a14;
  --wr-surface:    #192219;
  --wr-subtle:     #1f2c20;
  --wr-hover:      #263028;
  --wr-border:     rgba(148,220,178,.07);
  --wr-border-ctl: rgba(148,220,178,.14);
  --wr-text:       #cde4d0;
  --wr-text-2:     #8aaa90;
  --wr-text-m:     #627a68;
}
[data-theme="dim"] .pd-app-body,
[data-theme="dim"] .pd-app-shell,
[data-theme="dim"] .pd-app-content { background: var(--wr-bg) !important; }
[data-theme="dim"] .pd-app-topbar  { background: var(--wr-bg) !important; border-bottom-color: var(--wr-border) !important; }
[data-theme="dim"] .pd-btn-primary { background: #1a9670 !important; color: #021009 !important; border-color: transparent !important; }
[data-theme="dim"] .pd-btn-primary:hover { background: #1ea87c !important; }
[data-theme="dim"] .pd-board-card  { background: var(--wr-surface) !important; }
[data-theme="dim"] .pd-dialog, [data-theme="dim"] .pd-drawer, [data-theme="dim"] .pd-menu { background: var(--wr-surface) !important; }

/* ── 28. SAND THEME ────────────────────────────────────────────────────── */
[data-theme="sand"] {
  --wr-bg:         #f0ece2;
  --wr-surface:    #f8f5ed;
  --wr-subtle:     #ece8dc;
  --wr-hover:      #e6e1d5;
  --wr-border:     rgba(40,34,22,.08);
  --wr-border-ctl: rgba(40,34,22,.17);
  --wr-text:       #26201a;
  --wr-text-2:     #5a5242;
  --wr-text-m:     #7a7060;
}
[data-theme="sand"] .pd-app-body,
[data-theme="sand"] .pd-app-shell,
[data-theme="sand"] .pd-app-content { background: var(--wr-bg) !important; }
[data-theme="sand"] .pd-app-topbar  { background: var(--wr-bg) !important; }
[data-theme="sand"] .pd-btn         { background: var(--wr-surface) !important; }
[data-theme="sand"] .pd-btn-primary { background: #131510 !important; color: #f4f5f1 !important; border-color: transparent !important; }
[data-theme="sand"] .pd-btn-primary:hover { background: #1e2318 !important; }
[data-theme="sand"] .pd-menu   { background: var(--wr-surface) !important; }
[data-theme="sand"] .pd-dialog { background: var(--wr-surface) !important; }
[data-theme="sand"] .pd-drawer { background: var(--wr-surface) !important; }
[data-theme="sand"] .pd-board-card { background: var(--wr-surface) !important; }
[data-theme="sand"] .pd-metric-detail { background: var(--wr-surface) !important; }

/* ── 29. Remove all residual shadows / lifts ───────────────────────────── */
.pd-panel, .pd-board-col, .pd-kpi-card, .pd-metric-card, .pd-analytics-mini-kpi { box-shadow: none !important; }
.pd-board-card, .pd-btn, .pd-metric-card { transform: none !important; }

/* ══ END EDITORIAL WORKSPACE REDESIGN v38 ════════════════════════════════ */

/* ══════════════════════════════════════════════════════════════════════════
   SETTINGS EXPANSION — Team, Billing, API, Shortcuts (v39)
   ══════════════════════════════════════════════════════════════════════════ */

/* ── Team section ──────────────────────────────────────────────────────── */
.pd-team-member-row {
  display: flex; align-items: center; gap: 10px;
  padding: 9px 0; border-bottom: 1px solid var(--wr-border);
}
.pd-team-member-row:last-child { border-bottom: none; }
.pd-team-member-avatar {
  width: 32px; height: 32px; border-radius: 50%;
  background: #1a6b4a; color: #fff;
  display: flex; align-items: center; justify-content: center;
  font-size: 11px; font-weight: 600; flex-shrink: 0;
}
.pd-avatar-pending { background: var(--wr-subtle) !important; color: var(--wr-text-m) !important; }
.pd-team-member-info { flex: 1; display: flex; flex-direction: column; gap: 1px; }
.pd-badge-role {
  font-size: 10.5px; font-weight: 500; padding: 2px 7px;
  border-radius: 4px; background: var(--wr-subtle); color: var(--wr-text-2);
}
.pd-invite-row {
  display: flex; gap: 8px; align-items: center; margin-top: 6px;
}

/* ── Billing section ───────────────────────────────────────────────────── */
.pd-billing-plan-row {
  display: flex; align-items: center; justify-content: space-between;
  gap: 16px; padding: 12px 0; border-bottom: 1px solid var(--wr-border);
}
.pd-billing-plan-name {
  font-size: 16px; font-weight: 600; letter-spacing: -.02em;
  color: var(--wr-text); display: flex; align-items: center; gap: 8px;
  margin-bottom: 3px;
}
.pd-billing-usage-grid {
  display: grid; grid-template-columns: 1fr 1fr;
  gap: 0; border-top: 1px solid var(--wr-border); border-left: 1px solid var(--wr-border);
  margin-top: 4px;
}
.pd-billing-usage-item {
  padding: 12px 14px; border-right: 1px solid var(--wr-border); border-bottom: 1px solid var(--wr-border);
}
.pd-billing-usage-label { font-size: 11px; color: var(--wr-text-m); margin-bottom: 3px; }
.pd-billing-usage-val { font-size: 16px; font-weight: 700; color: var(--wr-text); letter-spacing: -.02em; }
.pd-billing-usage-val span { font-size: 12px; font-weight: 400; color: var(--wr-text-m); }
.pd-billing-usage-track {
  height: 3px; border-radius: 99px; background: var(--wr-subtle); margin-top: 6px; overflow: hidden;
}
.pd-billing-usage-fill { height: 100%; background: #1a6b4a; border-radius: 99px; }
.pd-billing-usage-fill.pd-usage-warn { background: #c0761a; }
.pd-billing-features {
  display: grid; grid-template-columns: 1fr 1fr; gap: 6px 16px; margin-top: 10px;
}
.pd-billing-feature {
  display: flex; align-items: center; gap: 6px;
  font-size: 12.5px; color: var(--wr-text-2);
}
.pd-billing-feature svg { color: #1a6b4a; flex-shrink: 0; }

/* ── API section ───────────────────────────────────────────────────────── */
.pd-api-token-display {
  font-family: "SFMono-Regular", Consolas, monospace;
  font-size: 11.5px; letter-spacing: .04em; color: var(--wr-text-2);
  background: var(--wr-subtle); border-radius: 4px; padding: 3px 8px;
}
.pd-api-method-badge {
  font-size: 10px; color: var(--wr-text-m);
  background: transparent; padding: 0;
}
.pd-settings-code {
  font-family: "SFMono-Regular", Consolas, monospace;
  font-size: 11.5px; background: var(--wr-subtle); border-radius: 4px;
  padding: 2px 7px; color: var(--wr-text-2); word-break: break-all;
}

/* ── Shortcuts section ─────────────────────────────────────────────────── */
.pd-shortcut-row {
  display: flex; align-items: center; justify-content: space-between;
  padding: 8px 0; border-bottom: 1px solid var(--wr-border);
}
.pd-shortcut-row:last-child { border-bottom: none; }
.pd-shortcut-keys { display: flex; align-items: center; gap: 4px; flex-shrink: 0; }
.pd-kbd {
  display: inline-flex; align-items: center; justify-content: center;
  min-width: 22px; height: 20px; padding: 0 5px;
  border: 1px solid var(--wr-border-ctl); border-radius: 4px;
  background: var(--wr-subtle); color: var(--wr-text);
  font-family: "SFMono-Regular", Consolas, monospace;
  font-size: 10.5px; font-weight: 500; line-height: 1;
  box-shadow: 0 1px 0 var(--wr-border-ctl);
}
.pd-shortcut-then {
  font-size: 10px; color: var(--wr-text-m); padding: 0 2px;
}

/* ── Content width mode ────────────────────────────────────────────────── */
.pd-app-content.pd-content-full {
  padding-left: 24px !important; padding-right: 24px !important; max-width: none !important;
}

/* ── Font size data attribute ──────────────────────────────────────────── */
:root[data-font-size="large"]  .pd-app-content { font-size: 15px !important; }
:root[data-font-size="small"]  .pd-app-content { font-size: 12px !important; }

/* ══ END SETTINGS EXPANSION v39 ══════════════════════════════════════════ */

/* ══ PRODIGY AI CHAT PANEL + FLOATING BUTTON v40 ════════════════════════ */

/* ── Floating "Ask Prodigy" button ────────────────────────────────────── */
.pd-prodigy-fab {
  position: fixed; bottom: 28px; right: 28px; z-index: 900;
  display: flex; align-items: center; gap: 8px;
  padding: 10px 18px 10px 14px;
  background: #131510; color: #f4f5f1;
  border: none; border-radius: 100px;
  font-size: 13px; font-weight: 600; font-family: inherit;
  cursor: pointer;
  box-shadow: 0 4px 20px rgba(0,0,0,0.22), 0 1px 4px rgba(0,0,0,0.12);
  transition: transform 0.15s ease, box-shadow 0.15s ease, background 0.15s ease;
  white-space: nowrap;
}
.pd-prodigy-fab:hover {
  background: #1f2018; transform: translateY(-2px);
  box-shadow: 0 8px 28px rgba(0,0,0,0.28), 0 2px 6px rgba(0,0,0,0.16);
}
.pd-prodigy-fab:active { transform: translateY(0); }
.pd-prodigy-fab-icon {
  font-size: 15px; line-height: 1; color: #a3e635;
  animation: pd-fab-pulse 3s ease-in-out infinite;
}
.pd-prodigy-fab-label { line-height: 1; }
@keyframes pd-fab-pulse {
  0%, 100% { opacity: 1; transform: scale(1); }
  50%       { opacity: 0.7; transform: scale(1.15); }
}

/* ── Chat panel shell ─────────────────────────────────────────────────── */
.pd-ai-panel {
  position: fixed; bottom: 0; right: 0; z-index: 1000;
  width: 420px; max-width: 100vw; height: 100dvh; max-height: 100dvh;
  display: flex; flex-direction: column;
  background: #fff; border-left: 1px solid #e5e7eb;
  box-shadow: -4px 0 40px rgba(0,0,0,0.12);
  transform: translateX(100%);
  transition: transform 0.28s cubic-bezier(0.22,1,0.36,1);
  overflow: hidden;
}
.pd-ai-panel.pd-ai-open { transform: translateX(0); }

/* ── Header ──────────────────────────────────────────────────────────── */
.pd-ai-head {
  display: flex; align-items: center; justify-content: space-between;
  padding: 14px 16px; border-bottom: 1px solid #f0f0ee; flex-shrink: 0;
  background: #fafaf9;
}
.pd-ai-brand { display: flex; align-items: center; gap: 10px; }
.pd-ai-avatar-wrap {
  width: 34px; height: 34px; border-radius: 50%;
  background: linear-gradient(135deg, #131510 0%, #2d3a1a 100%);
  display: flex; align-items: center; justify-content: center; flex-shrink: 0;
  box-shadow: 0 1px 6px rgba(0,0,0,0.15);
}
.pd-ai-avatar-wrap svg { color: #a3e635 !important; }
.pd-ai-avatar-icon { display: flex; align-items: center; }
.pd-ai-brand-text { display: flex; flex-direction: column; gap: 1px; }
.pd-ai-name { font-size: 13.5px; font-weight: 700; color: #131510; }
.pd-ai-status {
  font-size: 11px; color: #64748b;
  display: flex; align-items: center; gap: 4px;
}
.pd-ai-dot {
  width: 6px; height: 6px; border-radius: 50%; background: #22c55e;
  display: inline-block; flex-shrink: 0;
  animation: pd-dot-blink 2s ease-in-out infinite;
}
@keyframes pd-dot-blink {
  0%, 100% { opacity: 1; } 50% { opacity: 0.4; }
}
.pd-ai-head-actions { display: flex; align-items: center; gap: 4px; }
.pd-ai-icon-btn {
  width: 28px; height: 28px; border-radius: 6px; border: none;
  background: transparent; color: #64748b; cursor: pointer;
  display: flex; align-items: center; justify-content: center;
  transition: background 0.1s, color 0.1s;
}
.pd-ai-icon-btn:hover { background: #f1f5f9; color: #131510; }

/* ── Message area ────────────────────────────────────────────────────── */
.pd-ai-messages {
  flex: 1; overflow-y: auto; padding: 16px;
  display: flex; flex-direction: column; gap: 14px;
  scroll-behavior: smooth;
}
.pd-ai-messages::-webkit-scrollbar { width: 4px; }
.pd-ai-messages::-webkit-scrollbar-thumb { background: #d1d5db; border-radius: 4px; }

/* ── Message bubbles ─────────────────────────────────────────────────── */
.pd-ai-msg { display: flex; gap: 8px; align-items: flex-start; }
.pd-ai-msg-user { flex-direction: row-reverse; }
.pd-ai-msg-avatar {
  width: 26px; height: 26px; border-radius: 50%;
  background: linear-gradient(135deg, #131510, #2d3a1a);
  display: flex; align-items: center; justify-content: center;
  flex-shrink: 0; margin-top: 2px;
}
.pd-ai-msg-avatar svg { color: #a3e635 !important; }
.pd-ai-bubble-user {
  background: #131510; color: #f4f5f1;
  border-radius: 16px 4px 16px 16px;
  padding: 10px 14px; font-size: 13.5px; line-height: 1.55;
  max-width: 78%; word-break: break-word;
}
.pd-ai-bubble-assistant {
  background: #f8f9f5; color: #1a1a18;
  border: 1px solid #ededeb; border-radius: 4px 16px 16px 16px;
  padding: 10px 14px; font-size: 13.5px; line-height: 1.6;
  max-width: 90%; word-break: break-word;
}
.pd-ai-bubble-assistant ul { margin: 6px 0; padding-left: 18px; }
.pd-ai-bubble-assistant li { margin: 3px 0; }
.pd-ai-bubble-assistant strong { font-weight: 600; }
.pd-ai-bubble-assistant br { display: block; content: ''; margin: 3px 0; }
.pd-ai-code {
  background: #f1f5f9; border: 1px solid #e2e8f0;
  border-radius: 4px; padding: 1px 5px;
  font-family: "SFMono-Regular", Consolas, monospace; font-size: 12px;
}

/* ── Typing indicator ────────────────────────────────────────────────── */
.pd-ai-typing {
  background: #f8f9f5; border: 1px solid #ededeb; border-radius: 4px 16px 16px 16px;
  padding: 12px 16px; display: flex; gap: 4px; align-items: center;
}
.pd-ai-typing span {
  width: 7px; height: 7px; border-radius: 50%; background: #94a3b8;
  animation: pd-typing-bounce 1.2s ease-in-out infinite;
}
.pd-ai-typing span:nth-child(2) { animation-delay: 0.2s; }
.pd-ai-typing span:nth-child(3) { animation-delay: 0.4s; }
@keyframes pd-typing-bounce {
  0%, 60%, 100% { transform: translateY(0); opacity: 0.5; }
  30%            { transform: translateY(-5px); opacity: 1; }
}

/* ── Suggestion chips ────────────────────────────────────────────────── */
.pd-ai-suggestions {
  display: flex; flex-wrap: wrap; gap: 6px;
  padding: 10px 16px 4px;
}
.pd-ai-suggestion {
  display: inline-flex; align-items: center; gap: 5px;
  padding: 6px 11px; border-radius: 100px;
  border: 1px solid #d1d5db; background: #fff;
  color: #374151; font-size: 12px; font-weight: 500; font-family: inherit;
  cursor: pointer; transition: border-color 0.1s, background 0.1s;
  white-space: nowrap;
}
.pd-ai-suggestion:hover { border-color: #9ca3af; background: #f9fafb; }
.pd-ai-suggestion-icon { font-size: 13px; }

/* ── Context bar ─────────────────────────────────────────────────────── */
.pd-ai-context-bar {
  display: flex; align-items: center; gap: 6px;
  padding: 6px 14px 0; flex-wrap: wrap;
}
.pd-ai-context-pill {
  display: inline-flex; align-items: center; gap: 4px;
  padding: 2px 8px; border-radius: 100px;
  background: #f1f5f9; border: 1px solid #e2e8f0;
  font-size: 11px; color: #64748b; font-weight: 500;
}
.pd-ai-context-pill svg { flex-shrink: 0; }

/* ── Input area ──────────────────────────────────────────────────────── */
.pd-ai-input-wrap {
  border-top: 1px solid #f0f0ee; padding: 8px 12px 12px;
  flex-shrink: 0; background: #fafaf9;
}
.pd-ai-input-row {
  display: flex; align-items: flex-end; gap: 8px; margin-top: 6px;
}
.pd-ai-textarea {
  flex: 1; min-height: 40px; max-height: 120px;
  border: 1px solid #d1d5db; border-radius: 12px;
  padding: 10px 14px; resize: none; overflow-y: auto;
  font-size: 13.5px; font-family: inherit; line-height: 1.45;
  color: #131510; background: #fff;
  outline: none; transition: border-color 0.1s;
  scrollbar-width: thin;
}
.pd-ai-textarea:focus { border-color: #131510; }
.pd-ai-textarea::placeholder { color: #94a3b8; }
.pd-ai-send-btn {
  width: 36px; height: 36px; border-radius: 10px;
  background: #131510; color: #fff; border: none;
  display: flex; align-items: center; justify-content: center;
  cursor: pointer; flex-shrink: 0;
  transition: background 0.1s, opacity 0.1s;
}
.pd-ai-send-btn:disabled { opacity: 0.35; cursor: not-allowed; }
.pd-ai-send-btn:not(:disabled):hover { background: #2d3a1a; }
.pd-ai-footer-note {
  font-size: 10.5px; color: #94a3b8; text-align: center; margin-top: 6px;
}

/* ── FINANCIALS WORKSPACE v40 ─────────────────────────────────────────── */
.fin-kpi-strip { display: flex; gap: 0; }
.fin-kpi-note { font-size: 10.5px; color: var(--wr-text-m); margin-top: 2px; display: block; }

/* Tab bar */
.fin-tab-bar {
  display: flex; gap: 0; margin-top: 20px;
  border-bottom: 1px solid var(--wr-border);
}
.fin-tab {
  padding: 8px 16px; font-size: 13px; font-weight: 500;
  color: var(--wr-text-m); background: none; border: none;
  border-bottom: 2px solid transparent; cursor: pointer;
  transition: color 0.1s, border-color 0.1s;
  font-family: inherit; margin-bottom: -1px;
}
.fin-tab:hover { color: var(--wr-text); }
.fin-tab.fin-tab-active { color: var(--wr-text); border-bottom-color: #131510; font-weight: 600; }

[data-el="tab-body"] { margin-top: 16px; }

/* Overview grid */
.fin-overview-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.fin-panel { margin: 0 !important; }
.fin-panel-wide { grid-column: 1 / -1; }

/* Category breakdown */
.fin-cat-list { padding: 6px 14px 10px; display: flex; flex-direction: column; gap: 8px; }
.fin-cat-row { display: grid; grid-template-columns: 10px 1fr 80px 28px; align-items: center; gap: 10px; }
.fin-cat-dot { width: 10px; height: 10px; border-radius: 50%; flex-shrink: 0; }
.fin-cat-dot-sm { width: 8px; height: 8px; border-radius: 50%; flex-shrink: 0; }
.fin-cat-info { display: flex; flex-direction: column; gap: 1px; min-width: 0; }
.fin-cat-name { font-size: 12.5px; font-weight: 600; color: var(--wr-text); }
.fin-cat-amount { font-size: 11px; color: var(--wr-text-m); white-space: nowrap; }
.fin-cat-bar-wrap { height: 5px; background: var(--wr-subtle); border-radius: 3px; overflow: hidden; }
.fin-cat-bar { height: 100%; border-radius: 3px; transition: width 0.4s ease; }
.fin-cat-pct { font-size: 11px; font-weight: 600; color: var(--wr-text-m); text-align: right; }

/* Insights */
.fin-insights { padding: 8px 14px 10px; display: flex; flex-direction: column; gap: 8px; }
.fin-insight {
  display: flex; align-items: flex-start; gap: 8px; padding: 10px 12px;
  border-radius: 8px; font-size: 12.5px; line-height: 1.5;
}
.fin-insight-warning { background: #fffbeb; border: 1px solid #fde68a; }
.fin-insight-good    { background: #f0fdf4; border: 1px solid #bbf7d0; }
.fin-insight-review  { background: #f0f9ff; border: 1px solid #bae6fd; }
.fin-insight-icon { font-size: 14px; flex-shrink: 0; margin-top: 1px; }
.fin-insight p { margin: 0; color: #374151; }
.fin-insight strong { font-weight: 600; }

/* Expenses */
.fin-expenses-header {
  display: flex; align-items: center; justify-content: space-between;
  margin-bottom: 12px;
}
.fin-expenses-total { font-size: 13px; color: var(--wr-text-m); }
.fin-expenses-total strong { color: var(--wr-text); font-weight: 700; font-size: 15px; margin-left: 4px; }
.fin-expense-group { margin-bottom: 12px !important; }
.fin-expense-group-head {
  display: flex; align-items: center; gap: 8px; padding: 8px 14px;
  background: var(--wr-subtle); border-bottom: 1px solid var(--wr-border);
}
.fin-expense-cat-name {
  font-size: 12px; font-weight: 600; color: var(--wr-text);
  display: flex; align-items: center; gap: 5px; flex: 1;
}
.fin-expense-cat-total { font-size: 12px; font-weight: 600; color: var(--wr-text-m); margin-left: auto; }
.fin-expense-row { display: grid !important; grid-template-columns: 1fr auto auto auto !important; }
.fin-expense-period { font-size: 11px; color: var(--wr-text-m); align-self: center; }
.fin-expense-amount { font-size: 13px; font-weight: 700; color: var(--wr-text); align-self: center; min-width: 60px; text-align: right; }
.fin-expense-actions { display: flex; gap: 2px; align-self: center; opacity: 0; transition: opacity 0.1s; }
.fin-expense-row:hover .fin-expense-actions { opacity: 1; }
.pd-icon-btn-xs {
  width: 24px; height: 24px; border-radius: 5px; border: none;
  background: transparent; color: var(--wr-text-m); cursor: pointer;
  display: flex; align-items: center; justify-content: center;
  transition: background 0.1s, color 0.1s;
}
.pd-icon-btn-xs:hover { background: var(--wr-subtle); color: var(--wr-text); }
.fin-delete-btn:hover { background: #fee2e2 !important; color: #ef4444 !important; }

/* Targets */
.fin-targets-header { display: flex; justify-content: flex-end; margin-bottom: 12px; }
.fin-targets-list { display: flex; flex-direction: column; gap: 12px; }
.fin-target-card {
  border: 1px solid var(--wr-border); border-radius: 10px;
  padding: 14px 16px; background: var(--wr-bg);
  transition: border-color 0.1s;
}
.fin-target-card:hover { border-color: var(--wr-border-ctl); }
.fin-target-top { display: flex; align-items: flex-start; justify-content: space-between; gap: 10px; margin-bottom: 6px; }
.fin-target-title { display: flex; align-items: center; gap: 8px; flex: 1; flex-wrap: wrap; }
.fin-target-title strong { font-size: 13.5px; font-weight: 600; }
.fin-target-actions { display: flex; gap: 2px; flex-shrink: 0; }
.fin-target-meta { display: flex; align-items: center; gap: 12px; margin-bottom: 6px; }
.fin-target-amount, .fin-target-date {
  display: inline-flex; align-items: center; gap: 4px;
  font-size: 12px; color: var(--wr-text-m); font-weight: 500;
}
.fin-target-notes { font-size: 12px; color: var(--wr-text-m); margin: 0 0 10px; line-height: 1.5; }
.fin-target-progress-row { display: flex; align-items: center; gap: 10px; margin-top: 8px; }
.fin-progress-bar-wrap { flex: 1; height: 6px; background: var(--wr-subtle); border-radius: 6px; overflow: hidden; }
.fin-progress-bar { height: 100%; background: #22c55e; border-radius: 6px; transition: width 0.3s ease; min-width: 2px; }
.fin-progress-label { font-size: 11.5px; font-weight: 700; color: var(--wr-text-m); min-width: 28px; text-align: right; }
.fin-progress-btns { display: flex; gap: 4px; }
.pd-btn-xs {
  font-size: 11px; padding: 3px 8px; height: auto;
  border-radius: 5px; font-weight: 500;
}

/* Small target row in overview */
.fin-target-row-sm {}
.fin-target-progress-inline { display: flex; align-items: center; gap: 6px; }
.fin-progress-sm { width: 60px; flex: none !important; }

/* Cash flow table */
.fin-cf-table-wrap { overflow-x: auto; padding: 0 14px 4px; }
.fin-cf-table {
  width: 100%; border-collapse: collapse; font-size: 13px;
}
.fin-cf-table th {
  text-align: left; font-size: 11px; font-weight: 600; color: var(--wr-text-m);
  text-transform: uppercase; letter-spacing: .04em;
  padding: 8px 10px; border-bottom: 1px solid var(--wr-border);
}
.fin-cf-table td {
  padding: 9px 10px; border-bottom: 1px solid var(--wr-border);
  color: var(--wr-text);
}
.fin-cf-table tr:last-child td { border-bottom: none; }
.fin-cf-income { color: #16a34a; font-weight: 600; }
.fin-cf-pos-val { color: #16a34a; font-weight: 600; }
.fin-cf-neg-val { color: #dc2626; font-weight: 600; }
.fin-cf-note {
  display: flex; align-items: flex-start; gap: 6px;
  padding: 8px 14px 10px; font-size: 11.5px; color: var(--wr-text-m);
}
.fin-cf-note p { margin: 0; }

/* Runway chart */
.fin-runway-visual {
  display: flex; align-items: flex-end; gap: 8px;
  padding: 10px 14px 8px; height: 100px;
}
.fin-runway-col { flex: 1; display: flex; flex-direction: column; align-items: center; gap: 4px; height: 100%; }
.fin-runway-bar-wrap { flex: 1; width: 100%; display: flex; align-items: flex-end; }
.fin-runway-bar { width: 100%; border-radius: 4px 4px 0 0; transition: height 0.4s ease; min-height: 4px; }
.fin-runway-label { font-size: 10px; color: var(--wr-text-m); }

/* Footnote */
.fin-footnote { font-size: 11.5px; color: var(--wr-text-m); margin-top: 24px; padding: 0 2px; }

/* Responsive */
@media (max-width: 680px) {
  .fin-overview-grid { grid-template-columns: 1fr; }
  .pd-ai-panel { width: 100vw; }
  .pd-prodigy-fab-label { display: none; }
  .pd-prodigy-fab { padding: 12px; border-radius: 50%; }
}

/* ══ END PRODIGY AI + FINANCIALS v40 ══════════════════════════════════ */
