*{box-sizing:border-box}html,body{margin:0;background:#0c1726}body{font-family:'IBM Plex Sans',sans-serif}button,input,select,textarea{font:inherit}button{cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid #a9d9d1;outline-offset:3px}button{color:inherit}#app{--bg:#0c1726;--panel:#132337;--rail:#0a1523;--sunk:#1b3047;--sunk-2:#172b41;--ink:#f3ede1;--ink-2:#bac8d1;--ink-3:#9cabb9;--line:#2a3c50;--acc:#dfa47d;--acc-txt:#edbc98;--acc-ink:#1c2430;--ok:#9acbb3;--warn:#edbc98;--risk:#ec9b88;--font:'IBM Plex Sans',sans-serif;--radius:1.8rem;color:var(--ink);background:var(--bg);width:100%;height:100%;min-height:0;display:grid;grid-template-columns:22rem minmax(0,1fr);font-family:var(--font);font-size:1.4rem;line-height:1.5;container-type:inline-size;overflow:auto}h1,h2,h3,p{margin:0}h1{font-size:2.6rem;line-height:1.2;font-weight:500;letter-spacing:-.06rem}h2{font-size:2.2rem;line-height:1.25;font-weight:500;letter-spacing:-.04rem}h3{font-size:1.65rem;line-height:1.35;font-weight:500}small{font-size:1.2rem;color:var(--ink-3)}strong{font-weight:500}button{border:0;background:none}p{color:var(--ink-2)}.muted,.hint{color:var(--ink-3)}.hint{font-size:1.25rem;line-height:1.65;margin-top:1.4rem}.eyebrow,.id{font-size:1.2rem;color:var(--ink-3);display:block}.eyebrow{margin-bottom:.6rem}.card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:2.5rem;min-width:0;box-shadow:0 .4rem 1rem #0000000b}.card-head{display:flex;align-items:center;justify-content:space-between;gap:1.4rem;margin-bottom:2rem}.card-head h2{font-size:2rem}.card-head .eyebrow{margin-bottom:.4rem}.chip{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;white-space:nowrap;min-height:2.6rem;padding:.35rem 1rem;background:#22354b;border:1px solid #33475b;border-radius:3rem;font-size:1.15rem;color:#c3d0db}.chip.good{color:#b4ddca;background:#1b3a37;border-color:#31534b}.chip.warn{color:#f3bd98;background:#3d302a;border-color:#65503e}.btn{display:inline-flex;align-items:center;justify-content:center;gap:1rem;min-height:4.3rem;padding:1rem 1.55rem;border:1px solid #4b5b6c;border-radius:.8rem;font-size:1.3rem;font-weight:500;transition:background .2s,border .2s;white-space:nowrap}.btn:hover{background:#263e54;border-color:#91adaf}.btn.primary{background:var(--acc);border-color:var(--acc);color:#172534}.btn.primary:hover{background:#ecc09c}.full{width:100%;margin-top:1rem}.text-btn{display:inline-flex;gap:.6rem;align-items:center;padding:.6rem 0;color:var(--acc-txt);font-size:1.3rem;font-weight:500;white-space:nowrap}.text-btn:hover{color:#fff}.icon-btn,.round-btn{display:inline-flex;align-items:center;justify-content:center;width:4.2rem;height:4.2rem;flex:none;border:1px solid var(--line);border-radius:50%;font-size:1.6rem}.icon-btn:hover,.round-btn:hover{background:#2b4256}.pd-ico{width:1.8rem;height:1.8rem;flex:none}.avatar{width:3.5rem;height:3.5rem;flex:none;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;background:#294357;color:#c6dbd9;font-size:1.1rem;font-weight:500;border:1px solid #3b5667}#sidebar{background:var(--rail);border-right:1px solid var(--line);display:flex;flex-direction:column;padding:2.7rem 1.7rem 1.8rem;min-height:100%;min-width:0}.brand{display:flex;align-items:center;gap:1rem;text-decoration:none;color:var(--ink);padding:0 .5rem}.brand img{width:4.3rem;height:4.3rem}.brand>span{font-size:2.3rem;font-weight:500;letter-spacing:-.08rem;line-height:1.1}.brand small{display:block;font-size:1.15rem;font-weight:400;color:#bac7d0;letter-spacing:0;margin-top:.5rem}.studio-label{font-size:1.1rem;color:#95a9ba;display:flex;gap:.7rem;align-items:center;margin:3rem .8rem 1.8rem;white-space:nowrap}.live-dot{display:inline-block;width:.6rem;height:.6rem;border-radius:50%;background:#91c5be;flex:none}#sidebar nav{display:flex;flex-direction:column;gap:.45rem}#sidebar nav button{display:flex;align-items:center;gap:1.2rem;min-height:4.4rem;padding:.95rem 1.2rem;border-radius:.5rem;font-size:1.4rem;color:#adbccd;text-align:left;position:relative}#sidebar nav button:hover{background:#142a3d}#sidebar nav button.on{background:#1c3043;color:#f0bd98}#sidebar nav button.on:before{content:'';position:absolute;left:-1.7rem;top:.7rem;bottom:.7rem;width:.3rem;border-radius:.3rem;background:var(--acc)}kbd{font:1rem var(--font);border:1px solid #3d4a5a;border-radius:.35rem;padding:.1rem .4rem;color:var(--ink-3);white-space:nowrap}#sidebar kbd{margin-left:auto}.rail-note{margin:auto .7rem 3rem;padding-top:4rem;color:#8d9fad}.rail-note>span{font-size:1.1rem}.rail-note strong{font-size:2.4rem;line-height:1.3;color:#bdc5c7;display:block;margin:1rem 0}.rail-note svg{width:100%;height:5rem;fill:none;stroke:#50757c;stroke-width:1.1;opacity:.8}.side-bottom{border-top:1px solid var(--line);padding:1.8rem .3rem 0;display:flex;align-items:center;gap:.8rem;font-size:1.2rem}.side-bottom small{display:block;font-size:1.1rem}.side-bottom .icon-btn{margin-left:auto;width:2.5rem;height:2.5rem;font-size:1.1rem}#main{min-width:0;padding:0 2.8rem;display:flex;flex-direction:column;overflow:auto}.topbar{display:flex;align-items:center;justify-content:space-between;gap:2rem;flex:none;height:9.4rem}.topbar p{font-size:1.15rem;color:var(--ink-3);margin-top:.6rem}.top-actions{display:flex;align-items:center;gap:1.4rem}.search-btn{display:flex;align-items:center;gap:1rem;padding:1rem 1.2rem;border:1px solid var(--line);border-radius:.7rem;color:#b9c7d1;font-size:1.2rem}.search-btn kbd{margin-left:3rem}.demo-label{border:1px solid #50615c;color:#a5c9b7;font-size:1rem;padding:.4rem .8rem;border-radius:.4rem;white-space:nowrap}#content{flex:1;display:flex;flex-direction:column;gap:1.8rem;min-width:0;outline:none}footer{display:flex;justify-content:space-between;gap:1rem;padding:1.8rem 0;font-size:1rem;color:#8d9eaf}footer>span:first-child{display:flex;gap:.6rem;align-items:center}.overview{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:1.8rem}.capacity-card{padding-bottom:1.8rem}.capacity-matrix{margin-top:1rem}.matrix-head,.matrix-row{display:grid;grid-template-columns:minmax(12rem,1.65fr) repeat(5,minmax(0,1fr));gap:.65rem;align-items:stretch}.matrix-head{color:#aebbc7;font-size:1.1rem;text-align:center;align-items:center;margin-bottom:1rem}.matrix-head>span:first-child{text-align:left}.matrix-head small{display:block;color:#91a2b2;font-size:1rem}.matrix-row{margin-bottom:.7rem}.person-cell{padding:.9rem 0;display:flex;gap:.8rem;align-items:center;text-align:left;min-width:0}.person-cell strong{display:block;font-size:1.3rem}.person-cell small{display:block;font-size:.95rem;white-space:nowrap}.load-cell{height:6.5rem;position:relative;border:1px solid #3f5d67;background:#224047;border-radius:.7rem;padding:1.4rem .7rem 1.2rem;min-width:0}.load-cell strong{font-size:1.8rem;color:#c3ded6}.load-cell strong small{color:#93b8b6;font-size:1.05rem}.load-cell.over{border-color:#b77d62;background:#4a3532}.load-cell.over strong{color:#f5be97}.load-cell.over strong small{color:#d6a78c}.load-cell.full{margin:0;width:auto;background:#315357}.load-cell.empty{background:#172a3c;border-color:#33465a;min-height:0;margin:0;padding:1.4rem .7rem 1.2rem}.load-cell.empty strong{color:#869da9}.load-cell em{font-size:.85rem;position:absolute;top:-.85rem;right:.3rem;font-style:normal;background:#dfa47d;color:#172534;border-radius:.3rem;padding:0 .35rem}.cell-meter{display:block;height:.3rem;background:#0e2531;margin-top:.6rem;border-radius:.2rem;overflow:hidden}.cell-meter i{display:block;background:#90c9c2;height:100%}.load-cell.over .cell-meter i{background:#dfa47d}.matrix-foot{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-top:1.5rem;font-size:1rem;color:var(--ink-3)}.matrix-foot>span{display:flex;align-items:center;gap:.6rem}.legend-box{width:.8rem;height:.8rem;background:#8bb9b3;border-radius:.2rem;display:inline-block}.matrix-foot .text-btn{font-size:1.1rem}.capacity-action{border-top:1px solid #3b4a58;margin-top:1.6rem;padding-top:1.6rem;display:flex;align-items:center;justify-content:space-between;gap:1.5rem}.capacity-action>div{display:flex;align-items:center;gap:1rem}.capacity-action strong{font-size:1.3rem}.capacity-action p{font-size:1.1rem;color:var(--ink-3);margin-top:.2rem}.status-symbol{display:flex;align-items:center;justify-content:center;width:2.7rem;height:2.7rem;border:1px solid #a27760;border-radius:50%;color:#e6b28b;font-size:1.4rem;flex:none}.capacity-action.resolved .status-symbol{border-color:#649c88;color:#abd7c3}.capacity-action .btn{font-size:1.1rem;padding:.8rem 1.1rem;min-height:3.8rem}.project-hero{position:relative;background:#192c3b;overflow:hidden;display:flex;flex-direction:column;padding-bottom:2rem}.project-hero .card-head{margin-bottom:1.3rem}.project-hero h2{font-size:3.1rem;letter-spacing:-.08rem}.project-hero>p{font-size:1.3rem;color:#aabdca;margin-top:.4rem}.pack-art{display:block;width:100%;max-width:36rem;height:24.5rem;align-self:center;flex:1;min-height:17rem;margin:-.8rem 0 -.8rem}.project-hero-footer{display:flex;align-items:center;justify-content:space-between;font-size:1.2rem;padding-top:1rem;border-top:1px solid #3e5262;gap:1rem}.project-hero-footer small{display:block;font-size:1.05rem;color:#9eb3bf;margin-top:.2rem}.project-hero .round-btn{width:3.5rem;height:3.5rem;color:var(--acc)}.frame-card .card-head{margin-bottom:1.5rem}.frame-numbers{display:flex;align-items:center;gap:2rem;margin-bottom:2rem}.frame-numbers>strong{font-size:4.5rem;line-height:1;letter-spacing:-.12rem}.frame-numbers>strong small{font-size:1.65rem;color:#a4b5c5;letter-spacing:0}.budget-bar{height:1rem;background:#0d1c2c;border-radius:.25rem;display:flex;overflow:hidden}.budget-bar i{display:block;height:100%;flex:none}.budget-bar .actual{background:#dfa47d}.budget-bar .planned{background:repeating-linear-gradient(120deg,#5e8a89 0,#5e8a89 .25rem,#7ca8a5 .25rem,#7ca8a5 .4rem)}.bar-key{display:flex;align-items:center;flex-wrap:wrap;gap:1rem;font-size:1.05rem;color:#b0c0cb;margin-top:1rem}.bar-key>span{display:flex;align-items:center;gap:.5rem}.bar-key b{width:.7rem;height:.7rem;background:#dfa47d;border-radius:.1rem}.bar-key>span:nth-child(2) b{background:#7aa6a3}.bar-key>span:last-child{margin-left:auto;color:#99aabc}.change-card{background:#1d2b38;display:flex;flex-direction:column;justify-content:center;align-items:flex-start}.change-card h2{font-size:2.5rem;margin:.2rem 0 1rem}.change-card p{font-size:1.3rem;max-width:34rem;line-height:1.65}.change-card .text-btn{margin-top:1.6rem}.live-strip{display:flex;justify-content:space-between;gap:1.5rem;color:#91a5b5;font-size:1.05rem;margin-top:0;padding:.3rem .3rem 1rem}.live-strip>span:first-child{display:flex;gap:.8rem;align-items:center}.live-strip b{font-weight:500}.workspace-heading{display:flex;justify-content:space-between;gap:2rem;align-items:center}.workspace-heading p{font-size:1.3rem}.seg{display:inline-flex;gap:.3rem;padding:.3rem;background:#0c1c2b;border:1px solid var(--line);border-radius:.7rem;flex-wrap:wrap}.seg button{padding:.7rem 1.2rem;color:#9eafbf;font-size:1.2rem;min-height:3.4rem;border-radius:.4rem}.seg button.on{background:#2b4052;color:#f2e3d1}.project-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.8rem}.project-card h2{font-size:2.5rem}.project-card>p,.delivery-card>p{font-size:1.25rem;margin-top:.7rem}.project-total{margin:3rem 0 2rem;display:flex;justify-content:space-between;align-items:baseline;gap:1rem}.project-total>strong{font-size:3.5rem;letter-spacing:-.08rem}.project-total>strong small{font-size:1.6rem;letter-spacing:0}.project-total>span{font-size:1.15rem;color:var(--acc-txt)}.card-actions{display:flex;justify-content:space-between;gap:1rem;align-items:center;flex-wrap:wrap;margin-top:2.4rem}.project-card.petrol .budget-bar .actual{background:#8dc5bf}.project-card.lilac .budget-bar .actual{background:#b5b1ce}.list-row{display:flex;align-items:center;justify-content:space-between;gap:2rem;padding:1.6rem 0;border-bottom:1px solid var(--line);font-size:1.25rem}.list-row:last-child{border-bottom:0}.list-row>div{min-width:0}.list-row strong{display:block}.list-row small{display:block;margin-top:.35rem;font-size:1.1rem}.list-row>p{flex:1}.allocation-row{display:grid;grid-template-columns:1.3fr 1fr 5rem auto}.allocation-row .btn{font-size:1.1rem;min-height:3.7rem;padding:.7rem 1.1rem}.two-col{display:grid;grid-template-columns:1.2fr 1fr;gap:1.8rem}.time-equation{display:flex;gap:1.6rem;align-items:center;margin:4rem 0}.time-equation span{font-size:1.1rem;color:var(--ink-3)}.time-equation strong{display:block;font-size:2.6rem;color:var(--ink);margin-top:.5rem}.time-equation>b{font-size:1.6rem;color:var(--acc-txt);font-weight:400}.empty{text-align:center;padding:4rem 1.5rem;color:var(--ink-3)}.empty h3{font-size:2rem;color:var(--ink);margin-bottom:1rem}.empty p{max-width:48rem;margin:auto;font-size:1.3rem}.empty .btn{margin-top:2rem}.change-empty{padding:5rem 2rem 6rem}.paper-icon{width:6rem;height:6rem;border:1px solid #5e7b86;background:#24424d;display:flex;align-items:center;justify-content:center;border-radius:1rem;margin:0 auto 2rem}.paper-icon .pd-ico{width:3rem;height:3rem}.money-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:3rem;margin:3rem 0}.money-summary small{display:block;margin-bottom:.6rem}.money-summary strong{font-size:3rem;letter-spacing:-.08rem}.economy-row{display:grid;grid-template-columns:1fr 2fr 1fr auto;gap:2.5rem;align-items:center;padding:2.6rem 0;border-bottom:1px solid var(--line)}.economy-row:last-child{border-bottom:0}.economy-row>div:nth-child(3){text-align:right}.economy-row strong{display:block;font-size:1.7rem}.economy-row small{display:block;font-size:1.05rem}.delivery-card h2{margin-top:1rem;font-size:2.4rem}.delivery-stamp{height:14rem;display:flex;align-items:center;justify-content:center;color:#7ea8ad}.delivery-stamp .pd-ico{width:5rem;height:5rem;stroke-width:.8}.delivery-card .chip{margin-bottom:.5rem}.pd-drawer{--font:'IBM Plex Sans',sans-serif;width:48rem!important;max-width:100%;background:#14273a!important;border-left:1px solid #4b6472!important;color:var(--ink)}.pd-drawer-b{display:block!important;padding:2.4rem!important}.pd-drawer-h{padding:2rem 2.4rem!important;border-bottom:1px solid #32495b}.pd-drawer-h h2{font-family:var(--font);font-size:1.8rem!important;color:var(--ink)}#detail{min-width:0;font-family:var(--font)}#detail>p{font-size:1.35rem;line-height:1.7}#detail .list-row{gap:1.4rem;flex-wrap:wrap}#detail .allocation-row{grid-template-columns:1fr auto}#detail .allocation-row>div:nth-child(2){grid-column:1}#detail .allocation-row>strong{grid-column:2;grid-row:1}#detail .allocation-row>.btn{grid-column:2;grid-row:2}#detail .bar-key{font-size:1rem}#detail .search-result{width:100%;text-align:left;display:flex;flex-direction:column;align-items:flex-start;gap:.4rem;padding:1.3rem;border-bottom:1px solid #324b60;font-size:1.3rem}#detail .search-result:hover{background:#253f54}.detail-title{font-size:2.4rem;margin:1.5rem 0 1rem;letter-spacing:-.05rem}.detail-intro h3{font-size:2.2rem;margin:1.5rem 0 .5rem}.detail-intro p{font-size:1.25rem}.detail-intro .chip+.chip{margin-left:.6rem}.lead{font-size:1.6rem}.field{display:flex;flex-direction:column;gap:.7rem;margin:1.6rem 0;font-size:1.2rem;color:#cad5dc}.field input,.field select,.field textarea{width:100%;min-width:0;min-height:4.6rem;padding:1rem 1.2rem;background:#0d2033;border:1px solid #536b7d;border-radius:.6rem;color:#f3ede1;font-size:1.4rem;line-height:1.5}.field textarea{min-height:10rem;resize:vertical}.field input::placeholder,.field textarea::placeholder{color:#91a4b5}.fields{display:grid;grid-template-columns:1fr 1.2fr;gap:1.5rem}.fields .field{margin-bottom:0}.callout{background:#203e49;color:#bcd5d3;border:1px solid #3d606a;padding:1.5rem;border-radius:.7rem;line-height:1.65;font-size:1.25rem;margin:1.8rem 0}.tag-list{display:flex;gap:.7rem;flex-wrap:wrap;margin:1.5rem 0}.error{color:#ffc4b4;font-size:1.25rem;line-height:1.6}.error:not(:empty){padding:1.3rem;background:#4c3334;border:1px solid #8f5c55;border-radius:.6rem;margin:1.5rem 0}.price-preview{display:flex;flex-direction:column;gap:.3rem;background:#213e48;padding:1.8rem;border-radius:.8rem;margin:1.8rem 0;color:#c5d9d7}.price-preview>span{font-size:1.2rem}.price-preview strong{font-size:3.2rem;color:#f1c2a0;line-height:1.3}.price-preview small{font-size:1.05rem}.receipt-row{display:flex;justify-content:space-between;gap:2rem;padding:1.25rem 0;border-bottom:1px solid #3b5060;font-size:1.3rem}.facts{display:flex;gap:3rem;margin:2rem 0}.facts strong,.facts small{display:block}.facts strong{font-size:2rem;margin-top:.4rem}.checks{display:flex;flex-direction:column;gap:1.2rem;margin:2rem 0}.checks label{display:flex;align-items:flex-start;gap:1rem;font-size:1.3rem;line-height:1.6}.checks input{width:1.8rem;height:1.8rem;accent-color:#dfa47d;margin-top:.2rem;flex:none}.more-list{display:flex;flex-direction:column;gap:.8rem}.more-list button{text-align:left;padding:1.5rem;border:1px solid #395369;border-radius:.6rem}.more-list button:hover{background:#29495c}#toast{position:absolute;left:50%;bottom:3rem;transform:translate(-50%,2rem);opacity:0;pointer-events:none;background:#d9e5db;color:#142a31;border:1px solid #eaf2e8;padding:1.3rem 2rem;border-radius:.8rem;box-shadow:0 1rem 3rem #0004;font-size:1.3rem;z-index:120;max-width:calc(100% - 4rem);transition:opacity .2s,transform .2s}#toast.show{opacity:1;transform:translate(-50%,0)}#mobile-nav{display:none}
@container (max-width:1250px){.overview{grid-template-columns:1.5fr 1fr}.card{padding:2rem}.capacity-card .card-head{align-items:flex-start}.capacity-card .card-head h2{font-size:1.8rem}.capacity-card .card-head .chip{font-size:1rem}.matrix-head,.matrix-row{grid-template-columns:minmax(10rem,1.5fr) repeat(5,minmax(0,1fr));gap:.5rem}.person-cell{gap:.6rem}.person-cell .avatar{width:2.8rem;height:2.8rem;font-size:.9rem}.person-cell small{font-size:.85rem}.capacity-action{align-items:flex-start;gap:1rem;flex-wrap:wrap}.capacity-action .btn{margin-left:3.7rem}.matrix-foot{flex-wrap:wrap;gap:.5rem}.pack-art{height:23rem}.project-grid{gap:1.4rem}.project-total{flex-wrap:wrap;gap:.1rem}.economy-row{grid-template-columns:1fr 1.6fr 1fr}.economy-row>.text-btn{grid-column:3;justify-self:end}.money-summary strong{font-size:2.6rem}}
@media(max-width:1180px){:where(html:not(.ph-frame):not(.ph-demo)) #app{grid-template-columns:7.5rem minmax(0,1fr)}:where(html:not(.ph-frame):not(.ph-demo)) #sidebar{padding:2rem 1rem}:where(html:not(.ph-frame):not(.ph-demo)) .brand{padding:0;justify-content:center}:where(html:not(.ph-frame):not(.ph-demo)) .brand>span,:where(html:not(.ph-frame):not(.ph-demo)) .studio-label,:where(html:not(.ph-frame):not(.ph-demo)) #sidebar nav button>span,:where(html:not(.ph-frame):not(.ph-demo)) #sidebar kbd,:where(html:not(.ph-frame):not(.ph-demo)) .rail-note,:where(html:not(.ph-frame):not(.ph-demo)) .side-bottom>span:not(.avatar),:where(html:not(.ph-frame):not(.ph-demo)) .side-bottom .icon-btn{display:none}:where(html:not(.ph-frame):not(.ph-demo)) #sidebar nav{margin-top:3rem}:where(html:not(.ph-frame):not(.ph-demo)) #sidebar nav button{justify-content:center;padding:1.4rem}:where(html:not(.ph-frame):not(.ph-demo)) #sidebar nav button.on:before{left:-1rem}:where(html:not(.ph-frame):not(.ph-demo)) .side-bottom{margin-top:auto;justify-content:center}:where(html:not(.ph-frame):not(.ph-demo)) #main{padding:0 2rem}:where(html:not(.ph-frame):not(.ph-demo)) .overview{grid-template-columns:minmax(0,1.4fr) minmax(0,1fr)}:where(html:not(.ph-frame):not(.ph-demo)) .topbar{height:9rem}:where(html:not(.ph-frame):not(.ph-demo)) .search-btn kbd{display:none}}
@media(max-width:1000px){:where(html:not(.ph-frame):not(.ph-demo)) .overview{grid-template-columns:1fr 1fr}:where(html:not(.ph-frame):not(.ph-demo)) .capacity-card{grid-column:1/-1}:where(html:not(.ph-frame):not(.ph-demo)) .project-hero{grid-column:1;grid-row:2/4}:where(html:not(.ph-frame):not(.ph-demo)) .frame-card,:where(html:not(.ph-frame):not(.ph-demo)) .change-card{grid-column:2}:where(html:not(.ph-frame):not(.ph-demo)) .capacity-action{flex-wrap:nowrap;align-items:center}:where(html:not(.ph-frame):not(.ph-demo)) .capacity-action .btn{margin-left:0}:where(html:not(.ph-frame):not(.ph-demo)) .project-grid{grid-template-columns:1fr}:where(html:not(.ph-frame):not(.ph-demo)) .project-card .project-total{margin:1.5rem 0}:where(html:not(.ph-frame):not(.ph-demo)) .two-col{grid-template-columns:1fr}:where(html:not(.ph-frame):not(.ph-demo)) .time-equation{margin:2rem 0}:where(html:not(.ph-frame):not(.ph-demo)) .delivery-stamp{height:8rem}}
@media(max-width:820px){:where(html:not(.ph-frame):not(.ph-demo)) #app{display:block;overflow:auto;height:100%}:where(html:not(.ph-frame):not(.ph-demo)) #sidebar{display:none}:where(html:not(.ph-frame):not(.ph-demo)) #main{padding:0 1.8rem 8rem;overflow:visible;min-height:100%}:where(html:not(.ph-frame):not(.ph-demo)) .topbar{height:9.5rem;gap:1rem}:where(html:not(.ph-frame):not(.ph-demo)) h1{font-size:2.4rem}:where(html:not(.ph-frame):not(.ph-demo)) .top-actions{gap:.8rem}:where(html:not(.ph-frame):not(.ph-demo)) .search-btn span{display:none}:where(html:not(.ph-frame):not(.ph-demo)) .search-btn{width:4.4rem;height:4.4rem;justify-content:center;padding:0}:where(html:not(.ph-frame):not(.ph-demo)) kbd{display:none}:where(html:not(.ph-frame):not(.ph-demo)) #mobile-nav{position:fixed;bottom:0;left:0;right:0;z-index:80;background:#0a1929;border-top:1px solid #415467;display:grid;grid-template-columns:repeat(5,1fr);padding:.6rem .6rem max(.6rem,env(safe-area-inset-bottom))}:where(html:not(.ph-frame):not(.ph-demo)) #mobile-nav button{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:5.2rem;gap:.3rem;color:#a9bccb;font-size:1.1rem;border-radius:.5rem}:where(html:not(.ph-frame):not(.ph-demo)) #mobile-nav button.on{background:#243d4e;color:#e8b28d}:where(html:not(.ph-frame):not(.ph-demo)) #mobile-nav .pd-ico{width:2rem;height:2rem}:where(html:not(.ph-frame):not(.ph-demo)) #toast{position:fixed;bottom:8rem}:where(html:not(.ph-frame):not(.ph-demo)) .pd-drawer{width:48rem!important;max-width:100%}:where(html:not(.ph-frame):not(.ph-demo)) footer{font-size:1rem}:where(html:not(.ph-frame):not(.ph-demo)) .live-strip{flex-wrap:wrap}:where(html:not(.ph-frame):not(.ph-demo)) .card-head{flex-wrap:wrap}:where(html:not(.ph-frame):not(.ph-demo)) .money-summary{gap:1.2rem}:where(html:not(.ph-frame):not(.ph-demo)) .money-summary strong{font-size:2.2rem}:where(html:not(.ph-frame):not(.ph-demo)) .economy-row{grid-template-columns:1fr 2fr;gap:1.5rem}:where(html:not(.ph-frame):not(.ph-demo)) .economy-row>div:nth-child(3){text-align:left}:where(html:not(.ph-frame):not(.ph-demo)) .economy-row>.text-btn{grid-column:2}}
@media(max-width:560px){:where(html:not(.ph-frame):not(.ph-demo)) #main{padding:0 1.4rem 8rem}:where(html:not(.ph-frame):not(.ph-demo)) h1{font-size:2.25rem}:where(html:not(.ph-frame):not(.ph-demo)) .topbar p{font-size:1.05rem}:where(html:not(.ph-frame):not(.ph-demo)) .topbar .demo-label{display:none}:where(html:not(.ph-frame):not(.ph-demo)) .overview{display:flex;flex-direction:column}:where(html:not(.ph-frame):not(.ph-demo)) .card{padding:1.7rem}:where(html:not(.ph-frame):not(.ph-demo)) .card-head h2{font-size:1.9rem}:where(html:not(.ph-frame):not(.ph-demo)) .capacity-card .card-head{gap:.8rem;margin-bottom:1.5rem}:where(html:not(.ph-frame):not(.ph-demo)) .capacity-card .card-head .chip{display:none}:where(html:not(.ph-frame):not(.ph-demo)) .matrix-head,:where(html:not(.ph-frame):not(.ph-demo)) .matrix-row{grid-template-columns:6.2rem repeat(5,minmax(0,1fr));gap:.4rem}:where(html:not(.ph-frame):not(.ph-demo)) .matrix-head{font-size:.95rem}:where(html:not(.ph-frame):not(.ph-demo)) .matrix-head small{font-size:.85rem}:where(html:not(.ph-frame):not(.ph-demo)) .person-cell{padding:.7rem 0}:where(html:not(.ph-frame):not(.ph-demo)) .person-cell .avatar,:where(html:not(.ph-frame):not(.ph-demo)) .person-cell small{display:none}:where(html:not(.ph-frame):not(.ph-demo)) .person-cell strong{font-size:1.2rem}:where(html:not(.ph-frame):not(.ph-demo)) .load-cell{height:5rem;padding:.9rem .4rem}:where(html:not(.ph-frame):not(.ph-demo)) .load-cell strong{font-size:1.5rem}:where(html:not(.ph-frame):not(.ph-demo)) .load-cell strong small{display:none}:where(html:not(.ph-frame):not(.ph-demo)) .load-cell.empty{padding:.9rem .4rem}:where(html:not(.ph-frame):not(.ph-demo)) .cell-meter{margin-top:.4rem;height:.25rem}:where(html:not(.ph-frame):not(.ph-demo)) .matrix-foot{font-size:1rem;margin-top:1rem;display:block}:where(html:not(.ph-frame):not(.ph-demo)) .matrix-foot .text-btn{margin-top:.3rem}:where(html:not(.ph-frame):not(.ph-demo)) .capacity-action{display:block;margin-top:1rem;padding-top:1.3rem}:where(html:not(.ph-frame):not(.ph-demo)) .capacity-action strong{font-size:1.25rem}:where(html:not(.ph-frame):not(.ph-demo)) .capacity-action p{font-size:1.05rem}:where(html:not(.ph-frame):not(.ph-demo)) .capacity-action .btn{width:100%;margin:1.3rem 0 0;min-height:4.4rem;font-size:1.25rem}:where(html:not(.ph-frame):not(.ph-demo)) .status-symbol{width:2.5rem;height:2.5rem}:where(html:not(.ph-frame):not(.ph-demo)) .project-hero{order:3}:where(html:not(.ph-frame):not(.ph-demo)) .change-card{order:2}:where(html:not(.ph-frame):not(.ph-demo)) .frame-card{order:1}:where(html:not(.ph-frame):not(.ph-demo)) .pack-art{height:22rem;max-height:22rem}:where(html:not(.ph-frame):not(.ph-demo)) .frame-numbers>strong{font-size:4rem}:where(html:not(.ph-frame):not(.ph-demo)) .frame-numbers>strong small{font-size:1.4rem}:where(html:not(.ph-frame):not(.ph-demo)) .bar-key{font-size:1rem;gap:.8rem}:where(html:not(.ph-frame):not(.ph-demo)) .bar-key>span:last-child{margin-left:0}:where(html:not(.ph-frame):not(.ph-demo)) .allocation-row{grid-template-columns:1fr auto;gap:1rem}:where(html:not(.ph-frame):not(.ph-demo)) .allocation-row>div:nth-child(2){grid-column:1}:where(html:not(.ph-frame):not(.ph-demo)) .allocation-row>strong{grid-column:2;grid-row:1}:where(html:not(.ph-frame):not(.ph-demo)) .allocation-row>.btn{grid-column:2;grid-row:2}:where(html:not(.ph-frame):not(.ph-demo)) .list-row{gap:1rem;flex-wrap:wrap}:where(html:not(.ph-frame):not(.ph-demo)) .list-row .btn{min-height:4.4rem}:where(html:not(.ph-frame):not(.ph-demo)) .workspace-heading{align-items:flex-start;flex-direction:column;gap:1rem}:where(html:not(.ph-frame):not(.ph-demo)) .money-summary{grid-template-columns:1fr;gap:1.5rem}:where(html:not(.ph-frame):not(.ph-demo)) .money-summary strong{font-size:2.7rem}:where(html:not(.ph-frame):not(.ph-demo)) .economy-row{grid-template-columns:1fr;gap:1.2rem}:where(html:not(.ph-frame):not(.ph-demo)) .economy-row>.text-btn{grid-column:1;justify-self:start}:where(html:not(.ph-frame):not(.ph-demo)) .time-equation{gap:1.1rem}:where(html:not(.ph-frame):not(.ph-demo)) .time-equation strong{font-size:2.4rem}:where(html:not(.ph-frame):not(.ph-demo)) .time-equation span{font-size:1.05rem}:where(html:not(.ph-frame):not(.ph-demo)) .pd-drawer-b{padding:2rem!important}:where(html:not(.ph-frame):not(.ph-demo)) .pd-drawer-h{padding:1.8rem 2rem!important}:where(html:not(.ph-frame):not(.ph-demo)) footer{display:block}:where(html:not(.ph-frame):not(.ph-demo)) footer>span:last-child{display:block;margin-top:.6rem}}
@media(hover:none){kbd{display:none}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important}}

#app[data-stil="marine"][data-familie="klassisk"]{--bg:#0c1726;--panel:#132337;--rail:#0a1523;--sunk:#1b3047;--sunk-2:#172b41;--ink:#f3ede1;--ink-2:#bac8d1;--ink-3:#9cabb9;--line:#2a3c50;--acc:#dfa47d;--acc-txt:#edbc98;--acc-ink:#1c2430;--ok:#9acbb3;--warn:#edbc98;--risk:#ec9b88;--font:'IBM Plex Sans',sans-serif}

/* Closed panels leave the scroll geometry; an open panel stays inside the stage. */
#app .pd-drawer{width:min(48rem,calc(100% - 2.4rem))!important;max-width:calc(100% - 2.4rem);left:auto;right:1.2rem;transform:none;transition:opacity .18s ease}
#app .pd-drawer:not(.open){display:none;pointer-events:none}

/* Keep overlays and the mobile bar anchored while only the workspace scrolls. */
#app{overflow:hidden}
#main{height:100%;min-height:0;overflow:auto}
#sidebar{min-height:0;overflow-y:auto}
#app>.pd-scrim{z-index:90}
#app .pd-drawer{z-index:100}

/* November refinement: decision first, tactile project context and quieter hierarchy. */
#app[data-stil="marine"][data-familie="klassisk"]{--panel:#14263a;--line:#32475c}
.card{box-shadow:0 1rem 3rem #040b140f,inset 0 1px #ffffff03}
.capacity-card{background:linear-gradient(145deg,#192e42,#132337)}
.capacity-card .card-head{margin-bottom:1.8rem}
.capacity-action{margin:0 0 2rem;padding:1.5rem;border:1px solid #bd8f6c42;border-radius:1rem;background:linear-gradient(110deg,#533d373d,#49382f15);gap:1.2rem}
.capacity-action.resolved{border-color:#80b39c40;background:#60957d12}
.capacity-action strong{font-size:1.3rem}
.capacity-action p{font-size:1.15rem;line-height:1.55}
.capacity-action .btn{font-size:1.2rem;min-height:4.3rem;padding:1rem 1.3rem}
.load-cell{border-color:#3d5b68;background:linear-gradient(145deg,#274750,#203c47);border-radius:.85rem;box-shadow:inset 0 1px #ffffff05}
.load-cell.over{background:linear-gradient(145deg,#684b41,#4d3733);border-color:#d19872}
.load-cell.empty{background:#14283b;border-style:dashed;border-color:#41566a}
.load-cell:hover,.load-cell[data-ph-hover]{transform:translateY(-2px);box-shadow:0 .5rem 1.4rem #0002}
.cell-meter{border-radius:2px;overflow:hidden}
.matrix-foot{font-size:1.05rem}
.project-hero{background:linear-gradient(145deg,#233b48,#172c3c);border-color:#385364}
.project-hero h2{font-weight:500;font-size:3.2rem;letter-spacing:-.07rem}
.project-image{display:block;position:relative;overflow:hidden;isolation:isolate;margin:2rem 0;min-height:20rem;border-radius:1rem;background:#cfbda6}
.project-image img{display:block;width:100%;height:100%;object-fit:cover;object-position:50% 50%;position:absolute;inset:0}
.project-image figcaption{position:absolute;left:0;right:0;bottom:0;display:flex;justify-content:space-between;align-items:end;gap:1.2rem;padding:2rem 1.2rem 1rem;background:linear-gradient(transparent,#11212be8);color:#f5eee2;font-size:1.1rem;line-height:1.4}
.project-image figcaption small{font-size:1rem;white-space:nowrap;color:#f1e9de}
.project-hero>.project-image{flex:1;min-height:24rem;max-height:36rem}
.project-hero-footer{border-top:0;padding-top:0;font-size:1.25rem}
.project-hero-footer small{color:#b1c5cf;font-size:1.1rem}
.project-card .project-image{height:15rem;min-height:15rem;margin:1.8rem 0}
.project-card .project-total{margin:1.8rem 0}
#detail .project-image{height:19rem;min-height:19rem;margin:0 0 2rem}
.frame-numbers>strong{font-weight:400;letter-spacing:-.15rem}
.change-card{background:radial-gradient(ellipse at 100% 0,#a27e5912,transparent 75%),#1c2e3e;border-color:#3c4d5c}
.change-card .text-btn{border-bottom:1px solid #b98e6a66;padding-bottom:.8rem}
@container (max-width:1250px){.capacity-action{align-items:flex-start}.capacity-action .btn{margin-left:0}.project-hero>.project-image{min-height:24rem}.project-image figcaption{flex-wrap:wrap;gap:.3rem}}
@media(max-width:560px){:where(html:not(.ph-frame):not(.ph-demo)) .capacity-action{margin:0 0 1.8rem;padding:1.3rem;border-top:1px solid #bd8f6c42}:where(html:not(.ph-frame):not(.ph-demo)) .capacity-action p{font-size:1.15rem}:where(html:not(.ph-frame):not(.ph-demo)) .project-hero>.project-image{min-height:24rem;max-height:24rem}:where(html:not(.ph-frame):not(.ph-demo)) .project-image figcaption{font-size:1.15rem}:where(html:not(.ph-frame):not(.ph-demo)) .project-image figcaption small{font-size:1rem}:where(html:not(.ph-frame):not(.ph-demo)) .project-discipline{min-height:12rem}:where(html:not(.ph-frame):not(.ph-demo)) .project-hero{order:3}}
@media(prefers-reduced-motion:reduce){.load-cell:hover,.load-cell[data-ph-hover]{transform:none}}

.project-tasklist{min-height:15rem;margin:1.8rem 0;padding:1.4rem 1.5rem;background:#0b1c2e70;border-radius:1rem}.project-tasklist>small{display:block;color:#9eb4c5;font-size:1.1rem;margin-bottom:.7rem}.project-tasklist>div{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.85rem 0;border-top:1px solid #304659;font-size:1.2rem}.project-tasklist strong{font-size:1.6rem;font-weight:500;color:#bbd4d2;white-space:nowrap}.project-tasklist strong small{font-size:1.1rem;font-weight:400;color:#9eb4c5}

/* Readable type is a normal-mode contract at every size; filmed stages retain their own geometry. */
 :where(html:not(.ph-frame):not(.ph-demo)) #app{font-size:max(14px,1.4rem)}
 :where(html:not(.ph-frame):not(.ph-demo)) #app :is(small,.eyebrow,.id,.hint,.chip,.avatar,.studio-label,.rail-note>span,.side-bottom,.topbar p,.demo-label,.matrix-head,.matrix-foot,.bar-key,.live-strip,footer,.field,.price-preview>span,.project-total>span,.time-equation span,.project-image figcaption,.project-hero-footer,.project-tasklist>small,kbd){font-size:max(12px,1.2rem)}
 :where(html:not(.ph-frame):not(.ph-demo)) #app :is(.btn,.text-btn,.seg button,.more-list button,.search-result,.search-btn,.pd-btn,.demo-label,.icon-btn,.round-btn,#mobile-nav button,#sidebar nav button,.person-cell strong,.capacity-action strong,.capacity-action p,.list-row,.callout,.error,.checks label,.receipt-row,.detail-intro p,.project-hero>p,.project-card>p,.delivery-card>p,.workspace-heading p,.change-card p,.empty p,.project-tasklist>div,#detail>p,#toast){font-size:max(14px,1.4rem)}
 :where(html:not(.ph-frame):not(.ph-demo)) #app :is(.btn,.text-btn,.seg button,.more-list button,.search-btn,.pd-btn,.icon-btn,.round-btn){min-height:44px;white-space:normal}
 :where(html:not(.ph-frame):not(.ph-demo)) #app :is(.icon-btn,.round-btn){width:44px;height:44px}
 :where(html:not(.ph-frame):not(.ph-demo)) #app :is(.field input,.field select,.field textarea){font-size:max(16px,1.4rem);min-height:44px}
 :where(html:not(.ph-frame):not(.ph-demo)) #app h1{font-size:max(24px,2.6rem)}
 :where(html:not(.ph-frame):not(.ph-demo)) #app .card-head h2{font-size:max(18px,2rem)}
 :where(html:not(.ph-frame):not(.ph-demo)) #app :is(.frame-numbers>strong small,.project-total>strong small){font-size:max(14px,1.65rem)}
 :where(html:not(.ph-frame):not(.ph-demo)) #app .load-cell em{font-size:max(12px,.85rem)}

/* Compact layouts reflow independently of the type minimums. */
@media(max-width:1439px),(max-height:850px){
 :where(html:not(.ph-frame):not(.ph-demo)) #app .topbar{min-height:94px;height:auto;padding:16px 0}
 :where(html:not(.ph-frame):not(.ph-demo)) #app .overview{grid-template-columns:1fr 1fr}
 :where(html:not(.ph-frame):not(.ph-demo)) #app .capacity-card{grid-column:1/-1}
 :where(html:not(.ph-frame):not(.ph-demo)) #app .project-hero{grid-column:1;grid-row:2/4}
 :where(html:not(.ph-frame):not(.ph-demo)) #app :is(.frame-card,.change-card){grid-column:2}
 :where(html:not(.ph-frame):not(.ph-demo)) #app :is(.card-head,.capacity-action,.matrix-foot,.live-strip,footer){flex-wrap:wrap}
 :where(html:not(.ph-frame):not(.ph-demo)) #app .capacity-action{gap:16px}
 :where(html:not(.ph-frame):not(.ph-demo)) #app .capacity-action .btn{flex:none}
 :where(html:not(.ph-frame):not(.ph-demo)) #app :is(.matrix-head,.matrix-row){grid-template-columns:minmax(150px,1.65fr) repeat(5,minmax(0,1fr));gap:8px}
 :where(html:not(.ph-frame):not(.ph-demo)) #app .person-cell small{white-space:normal;line-height:1.4}
 :where(html:not(.ph-frame):not(.ph-demo)) #app .load-cell{height:64px}
 :where(html:not(.ph-frame):not(.ph-demo)) #app .load-cell strong{font-size:18px}
 :where(html:not(.ph-frame):not(.ph-demo)) #app .load-cell em{top:-10px}
 :where(html:not(.ph-frame):not(.ph-demo)) #app .facts{flex-wrap:wrap;gap:20px}
 :where(html:not(.ph-frame):not(.ph-demo)) #app .project-image figcaption{flex-wrap:wrap}
 :where(html:not(.ph-frame):not(.ph-demo)) #app .pd-drawer{width:min(480px,calc(100% - 24px))!important;max-width:calc(100% - 24px);right:12px}
}
@media(max-width:1180px){
 :where(html:not(.ph-frame):not(.ph-demo)) #app .project-grid{grid-template-columns:1fr}
}
@media(max-height:850px){
 :where(html:not(.ph-frame):not(.ph-demo)) #app .rail-note{display:none}
 :where(html:not(.ph-frame):not(.ph-demo)) #app .side-bottom{margin-top:auto}
}
@media(max-width:560px){
 :where(html:not(.ph-frame):not(.ph-demo)) #app :is(.matrix-head,.matrix-row){grid-template-columns:56px repeat(5,minmax(0,1fr));gap:4px}
 :where(html:not(.ph-frame):not(.ph-demo)) #app .load-cell{height:54px;padding:10px 4px}
 :where(html:not(.ph-frame):not(.ph-demo)) #app .capacity-action .btn{width:100%}
 :where(html:not(.ph-frame):not(.ph-demo)) #app .pd-drawer-h h2{font-size:18px!important}
}
