@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{--ink:#131c25;--ink-soft:#18232d;--ink-mid:#202c37;--gold:#d8b36c;--gold-light:#edcf92;--paper:#f5f6f4;--white:#fff;--text:#1c2732;--muted:#89929a;--line:#e9ecec;--green:#528a6b;--green-bg:#eef6f0;--font:'DM Sans',sans-serif;--display:'Manrope',sans-serif}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--text);font-family:var(--font);font-size:13px;-webkit-font-smoothing:antialiased}.app-shell{min-height:100vh}.sidebar{position:fixed;inset:0 auto 0 0;width:248px;background:var(--ink);color:#e6e9eb;padding:26px 16px 13px;display:flex;flex-direction:column;z-index:4}.brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:white;margin:0 0 29px 4px}.brand-mark{width:32px;height:32px;border:1px solid #bda064;color:#e0c583;display:grid;place-items:center;font:800 15px var(--display);letter-spacing:-2px}.brand-mark span{color:#fff}.brand-copy{font:800 17px var(--display);letter-spacing:1px}.brand-copy span{color:var(--gold);font-size:10px;letter-spacing:2px;margin-left:3px}.workspace{height:54px;border:1px solid #34404a;border-radius:5px;display:flex;align-items:center;padding:0 10px;gap:10px}.workspace-icon{color:var(--gold);font-size:18px}.workspace>span:nth-child(2){display:grid;gap:3px}.workspace small,.nav-label{font-size:9px;color:#87919a;font-weight:700;letter-spacing:1px}.workspace strong{font-size:12px;font-weight:600}.chevron{margin-left:auto;color:#87919a}.nav-label{margin:30px 8px 10px}.navigation{display:grid;gap:3px}.nav-item{height:39px;border:0;background:none;border-radius:4px;color:#aeb6bc;text-align:left;padding:0 10px;font:500 12px var(--font);display:flex;align-items:center;gap:11px;cursor:pointer}.nav-item span{width:16px;text-align:center;font-size:15px}.nav-item.active{background:#27333c;color:#f4dfb2;box-shadow:inset 2px 0 var(--gold)}.nav-item:hover,.project-link:hover{background:#27333c;color:white}.sidebar-projects .nav-label{display:flex;justify-content:space-between;align-items:center}.sidebar-projects .nav-label button{background:none;border:0;color:var(--gold);font-size:18px;cursor:pointer}.project-link{width:100%;height:34px;border:0;background:none;border-radius:4px;color:#adb5bb;font:11px var(--font);text-align:left;display:flex;align-items:center;gap:9px;padding:0 9px;cursor:pointer}.project-link span{margin-left:auto;color:#75808a}.project-dot,.tiny-dot{width:7px;height:7px;border-radius:50%;background:#74a884;display:inline-block}.dot-gray{background:#7b8790}.sidebar-bottom{margin-top:auto}.help-card{padding:14px 12px;border:1px solid #34404a;border-radius:5px;position:relative}.help-icon{width:18px;height:18px;border:1px solid #d4b46f;border-radius:50%;color:#ddc282;font-size:11px;display:inline-grid;place-items:center;margin-right:7px}.help-card>strong{font-size:11px}.help-card p{font-size:10px;line-height:1.5;color:#97a1a8;margin:8px 0}.help-card button{background:none;border:0;padding:0;color:var(--gold-light);font:500 10px var(--font);cursor:pointer}.help-card button span{margin-left:5px}.profile{display:flex;align-items:center;gap:9px;border-top:1px solid #303c45;margin-top:15px;padding:13px 2px 0}.avatar,.top-avatar{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:#d9c18d;color:#252c30;font-size:10px;font-weight:700}.profile>span{display:grid;gap:3px}.profile strong{font-size:10px;font-weight:600}.profile small{font-size:9px;color:#88939b}.profile button{margin-left:auto;border:0;background:none;color:#88939b}.main-content{margin-left:248px;max-width:calc(100% - 248px);padding:0 47px;min-height:100vh}.topbar{height:64px;border-bottom:1px solid #e5e8e7;display:flex;align-items:center;justify-content:space-between}.breadcrumbs{display:flex;gap:11px;align-items:center;font-size:11px;color:#949ca1}.breadcrumbs b{font-weight:400;color:#c2c7c8}.breadcrumbs strong{color:#4b565e;font-weight:600}.top-actions{display:flex;align-items:center;gap:17px}.today{font-size:10px;color:#7e898e}.icon-button{position:relative;width:30px;height:30px;border:0;background:none;font-size:18px;color:#667078;cursor:pointer}.icon-button i{position:absolute;top:4px;right:6px;width:5px;height:5px;border-radius:50%;background:#cfaa60}.top-avatar{border:0;width:28px;height:28px}.page{display:none;padding-top:35px}.page.active{display:block}.welcome-row,.page-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px}.eyebrow{font-size:9px;font-weight:700;letter-spacing:1.25px;color:#8d9697}.status-pulse{display:inline-block;width:6px;height:6px;margin:0 5px 1px 0;background:#5e9774;border-radius:50%;box-shadow:0 0 0 3px #e1eee4}.welcome-row h1,.page-header h1{font:700 25px var(--display);letter-spacing:-.8px;margin:9px 0 5px;color:#1b252d}.welcome-row h1 em,.hero-card h2 em,.skills-banner h2 em{font-style:normal;color:#b08e51}.page-subtitle{margin:0;color:#828c91;font-size:12px}.button{height:37px;padding:0 14px;border-radius:4px;font:600 11px var(--font);cursor:pointer;display:flex;align-items:center;gap:7px}.button-primary{background:var(--ink);border:1px solid var(--ink);color:#f0d8a0}.button-primary:hover{background:#26333d}.button-primary>span{font-size:16px}.hero-card{height:258px;background:var(--ink);border-radius:5px;color:white;position:relative;overflow:hidden;display:flex}.hero-copy{position:relative;z-index:2;padding:29px 34px}.hero-kicker{font-size:9px;font-weight:700;letter-spacing:1.5px;color:#bdc3c5;display:flex;align-items:center;gap:8px}.hero-line{height:1px;width:19px;background:var(--gold)}.hero-card h2,.skills-banner h2{font:700 27px/1.27 var(--display);letter-spacing:-.6px;margin:15px 0 8px}.hero-card h2 em{color:#dfbf7d}.hero-card p,.skills-banner p{width:315px;font-size:11px;line-height:1.6;color:#aeb7bb;margin:0 0 14px}.hero-button{height:31px;padding:0 11px;border:1px solid #627078;border-radius:3px;background:transparent;color:#e5d1a1;font:500 10px var(--font);cursor:pointer}.hero-button span{margin-left:13px}.hero-art{position:absolute;right:8%;top:-79px;width:400px;height:400px;display:grid;place-items:center}.art-grid{position:absolute;inset:20px;background-image:linear-gradient(#87939a14 1px,transparent 1px),linear-gradient(90deg,#87939a14 1px,transparent 1px);background-size:25px 25px;mask-image:radial-gradient(ellipse,#000 20%,transparent 71%)}.orbit{position:absolute;border:1px solid #a3acaa28;border-radius:50%}.orbit-one{width:275px;height:275px}.orbit-two{width:215px;height:215px;border-style:dashed;border-color:#d6b66e5c}.art-ring{width:146px;height:146px;border:1px solid #d1ad65;border-radius:50%;display:grid;place-items:center;position:relative;box-shadow:0 0 48px #d5b66c13}.art-ring:before,.art-ring:after{content:'';position:absolute;border-radius:50%;border:1px solid #dfc38739}.art-ring:before{inset:11px}.art-ring:after{inset:21px;border-color:#dfc3871f}.art-ring span{font:700 31px var(--display);letter-spacing:-2px;color:#e7d4a6}.art-ring i{position:absolute;right:9px;top:31px;background:#d5b46c;color:#182129;font:normal 12px var(--font);width:19px;height:19px;border-radius:50%;display:grid;place-items:center}.art-label{position:absolute;display:grid;gap:4px}.art-label small{font-size:8px;letter-spacing:1px;color:#929da0}.art-label strong{font:600 9px var(--font);letter-spacing:.8px;color:#e0c482}.label-a{top:113px;left:24px}.label-b{right:10px;bottom:108px}.dimension{position:absolute;background:#ddc18145}.dim-one{width:1px;height:34px;top:62px;left:97px}.dim-two{height:1px;width:29px;right:57px;bottom:88px}.hero-index{position:absolute;right:20px;bottom:17px;color:#cfb16e;font:600 10px var(--display)}.hero-index span{color:#818a8f}.section-heading{display:flex;justify-content:space-between;align-items:end;margin:29px 0 13px}.section-heading h2{font:700 16px var(--display);margin:5px 0 0;letter-spacing:-.3px}.text-button{border:0;background:none;color:#69767a;font:500 10px var(--font);cursor:pointer}.text-button span{color:#b08e51;margin-left:5px}.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.stat-card{background:white;border:1px solid #e9ecea;border-radius:4px;padding:13px 14px 12px;min-height:101px}.stat-top{display:flex;justify-content:space-between;align-items:center;color:#788389;font-size:10px}.stat-icon{color:#b39a64;font-size:15px}.stat-value{font:700 22px var(--display);margin:9px 0 5px;letter-spacing:-.6px}.stat-value small{font:500 10px var(--font);letter-spacing:0;color:#899399}.stat-foot{font-size:9px;color:#90999d}.stat-foot .tiny-dot{width:5px;height:5px;margin-right:4px}.overview-bottom{display:grid;grid-template-columns:1.35fr 1fr;gap:12px;margin-top:13px}.panel{background:white;border:1px solid #e9ecea;border-radius:4px;padding:15px 16px}.panel-heading{display:flex;justify-content:space-between;align-items:center}.panel h3{font:700 14px var(--display);margin:5px 0 0}.tag{font-size:8px;font-weight:700;letter-spacing:.6px;border-radius:2px;padding:5px 7px}.tag-progress{color:#528065;background:#edf4ef}.project-meta{font-size:10px;color:#899399;margin:8px 0 16px}.project-meta span{margin:0 5px;color:#c1c7c6}.progress-label{display:flex;justify-content:space-between;font-size:9px;color:#7d878b;margin-bottom:6px}.progress-label strong{color:#48574f}.progress-track{height:4px;border-radius:4px;background:#edf0ee}.progress-track div{height:100%;background:#79997d;border-radius:4px}.project-footer{display:flex;align-items:center;gap:13px;margin-top:12px;font-size:9px;color:#929a9d}.project-footer b{color:#47524f}.project-footer button{margin-left:auto;border:0;background:none;color:#607366;font:600 9px var(--font);cursor:pointer}.project-footer button span{margin-left:5px}.quick-panel h3{margin:5px 0 8px}.quick-link{display:flex;align-items:center;width:100%;padding:9px 0;border:0;border-top:1px solid #f0f1ef;background:none;text-align:left;gap:10px;cursor:pointer}.quick-icon{width:30px;height:30px;display:grid;place-items:center;background:#edf2ee;color:#66826e;border-radius:3px;font-size:15px}.quick-icon-amber{background:#f5f1e7;color:#b19558}.quick-link>span:nth-child(2){display:grid;gap:3px}.quick-link strong{font-size:10px;color:#39444a}.quick-link small{font-size:9px;color:#939b9e}.quick-link>b{margin-left:auto;color:#9da4a5;font-size:13px}.footer{margin:27px 0 14px;color:#899296;font-size:8px;letter-spacing:.3px}.footer>span:first-child{color:#c3aa6d;margin:0 5px}.footer-right{float:right;color:#a6adae;font-size:8px;letter-spacing:.7px}.page-header{align-items:center;margin-bottom:22px}.page-header h1{margin-top:8px}.boq-project-bar{height:61px;background:white;border:1px solid #e9ecea;border-radius:4px;padding:0 15px;display:flex;align-items:center;gap:11px}.project-symbol{width:32px;height:32px;background:#f0eee7;color:#907746;display:grid;place-items:center;font:700 10px var(--display);border-radius:3px}.boq-project-bar>div:nth-child(2){display:grid;gap:4px}.boq-project-bar>div:nth-child(2) strong{font-size:11px}.boq-project-bar small{font-size:9px;color:#8d969a}.boq-project-bar>.tag{margin-left:6px}.button-outline{margin-left:auto;background:white;border:1px solid #dce0de;color:#4c5a5a;height:32px}.boq-summary{display:flex;gap:70px;padding:21px 17px;margin:12px 0;background:white;border:1px solid #e9ecea;border-radius:4px}.boq-summary>div{display:grid;gap:7px}.boq-summary small{font-size:8px;letter-spacing:.7px;color:#899397;font-weight:700}.boq-summary strong{font:700 18px var(--display);letter-spacing:-.3px}.boq-summary strong .muted{font:400 9px var(--font);letter-spacing:0;color:#8f999c}.table-wrap{background:white;border:1px solid #e9ecea;border-radius:4px;overflow:auto}.boq-table{width:100%;border-collapse:collapse;min-width:770px}.boq-table th{height:36px;background:#f7f8f6;border-bottom:1px solid #e9ecea;text-align:left;padding:0 9px;font-size:8px;letter-spacing:.5px;color:#808a8c;white-space:nowrap}.boq-table th:first-child,.boq-table td:first-child{padding-left:14px}.boq-table td{height:44px;border-bottom:1px solid #eff1ef;padding:5px 9px;font-size:10px;color:#4e5a5d}.boq-table tr:last-child td{border-bottom:0}.boq-table td:nth-child(1){font-weight:700;color:#79847f}.boq-table td:nth-child(4),.boq-table td:nth-child(5),.boq-table td:nth-child(6){text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.boq-table th:nth-child(4),.boq-table th:nth-child(5),.boq-table th:nth-child(6){text-align:right}.boq-table input{width:88px;border:1px solid transparent;border-radius:3px;padding:6px 5px;text-align:right;font:10px var(--font);color:#42514e;background:transparent}.boq-table input:hover,.boq-table input:focus{border-color:#dfe4df;background:#fbfcfa;outline:none}.boq-table input.desc-input{width:100%;text-align:left}.boq-table input.unit-input{width:48px;text-align:left}.amount-cell{font-weight:600!important;color:#344a3d!important}.delete-row{border:0;background:none;color:#a5adaa;font-size:15px;cursor:pointer}.delete-row:hover{color:#b65d4f}.empty-state{padding:32px;text-align:center;color:#899397;font-size:11px}.table-note{margin:10px 0;color:#8d979a;font-size:9px}.table-note span{color:#ad955d;margin-right:5px}.skills-banner{min-height:186px;padding:26px 31px;background:var(--ink);color:#fff;border-radius:4px;display:flex;justify-content:space-between;align-items:center}.skills-banner h2{font-size:25px;margin:12px 0 6px}.skills-banner p{width:400px;margin:0}.banner-seal{width:100px;height:100px;border:1px solid #d0b271;border-radius:50%;display:grid;place-content:center;text-align:center;color:#eddaae;font:700 21px var(--display);letter-spacing:-1px;margin-right:60px;position:relative}.banner-seal:before{position:absolute;inset:7px;content:'';border:1px solid #c6a65e60;border-radius:50%}.banner-seal span{font-size:11px;color:#c8aa6a;letter-spacing:1px}.banner-seal small{font:600 6px var(--font);letter-spacing:1px;color:#a9aa9e;margin-top:5px}.skills-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:11px}.skill-card,.library-card{min-height:164px;position:relative;padding:17px;background:white;border:1px solid #e9ecea;border-radius:4px}.skill-number{position:absolute;right:15px;top:14px;color:#b6bfc0;font:600 10px var(--display)}.skill-symbol,.library-icon{display:grid;place-items:center;width:31px;height:31px;border-radius:3px;background:#f2f1ea;color:#a58d58;font-size:17px}.skill-card h3,.library-card h3{font:700 12px var(--display);margin:12px 0 6px}.skill-card p,.library-card p{font-size:10px;line-height:1.5;color:#859094;margin:0;max-width:245px}.skill-tag{display:inline-block;font-size:7px;letter-spacing:.8px;font-weight:700;color:#9d8754;background:#f7f5ef;padding:4px 6px;margin-top:12px}.library-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.library-card{min-height:211px}.library-card .skill-tag{margin-top:13px}.library-card h3{font-size:14px;margin:10px 0 7px}.library-card p{min-height:44px}.library-open{margin-top:12px;border:0;background:none;padding:0;color:#6f7d71;font:600 10px var(--font);cursor:pointer}.library-open span{margin-left:8px;color:#ad9254}.library-note{display:flex;gap:13px;margin-top:14px;padding:15px;background:#f0eee7;border:1px solid #e9e5d9;border-radius:4px;color:#9f8959}.library-note>span{font-size:17px}.library-note strong{font:600 11px var(--display);color:#4c514b}.library-note p{font-size:10px;color:#828a86;margin:5px 0 0}.toast{position:fixed;right:25px;bottom:23px;background:#1b292e;color:#f1dfb6;padding:11px 16px;border-radius:4px;font-size:11px;box-shadow:0 8px 24px #14202830;opacity:0;transform:translateY(7px);transition:.2s;pointer-events:none;z-index:10}.toast.show{opacity:1;transform:translateY(0)}
@media(max-width:1050px){.main-content{padding:0 27px}.sidebar{width:220px}.main-content{margin-left:220px;max-width:calc(100% - 220px)}.hero-art{right:0;opacity:.75}.stats-grid{grid-template-columns:repeat(2,1fr)}.skills-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:700px){.sidebar{width:58px;padding:16px 7px}.brand{margin:0 auto 28px}.brand-copy,.workspace,.nav-label,.nav-item:not(.active),.nav-item.active{font-size:0}.navigation{gap:7px}.nav-item{height:40px;justify-content:center;padding:0}.nav-item span{font-size:17px}.sidebar-projects,.sidebar-bottom{display:none}.main-content{margin-left:58px;max-width:calc(100% - 58px);padding:0 16px}.topbar{height:53px}.today{display:none}.page{padding-top:25px}.welcome-row,.page-header{align-items:flex-start;gap:12px}.welcome-row h1,.page-header h1{font-size:20px}.welcome-row .button{font-size:0;width:40px;justify-content:center;padding:0}.welcome-row .button span{font-size:19px}.hero-card{height:250px}.hero-copy{padding:26px 21px}.hero-card h2{font-size:24px}.hero-card p{width:260px}.hero-art{right:-195px;opacity:.42}.section-heading{margin-top:24px}.stats-grid{gap:8px}.stat-card{padding:11px;min-height:94px}.stat-top{font-size:9px}.overview-bottom{grid-template-columns:1fr}.footer-right{display:none}.boq-summary{gap:20px;padding:15px 12px}.boq-summary strong{font-size:14px}.boq-summary small{font-size:7px}.boq-project-bar{padding:0 9px;gap:7px}.boq-project-bar>.tag{display:none}.button-outline{font-size:0;padding:0 9px}.button-outline span{font-size:10px}.skills-banner{padding:23px 20px}.skills-banner h2{font-size:22px}.skills-banner p{width:240px}.banner-seal{width:68px;height:68px;margin:0 0 0 8px;font-size:16px;flex:none}.skills-grid,.library-grid{grid-template-columns:1fr}.skill-card{min-height:145px}.page-header .button{font-size:9px;padding:0 8px}}
:root{--paper:#f3f5f4;--gold:#c9a65e;--ink:#131d26;--text:#1d2931}body{background:#f3f5f4}.sidebar{background:linear-gradient(180deg,#14212a,#101820);box-shadow:4px 0 20px #10202b0a}.main-content{max-width:none}.hero-card{background:radial-gradient(ellipse at 86% 50%,#263740 0,#17242e 37%,#131d26 72%);box-shadow:0 12px 35px #23303a12}.hero-card:after{position:absolute;content:"";width:1px;height:100%;right:35%;top:0;background:linear-gradient(transparent,#bd9b5a35,transparent)}.stat-card,.panel,.skill-card,.library-card,.boq-project-bar,.boq-summary,.table-wrap,.cost-panel{box-shadow:0 3px 12px #1c29300a}.boq-summary{justify-content:flex-start;gap:0}.boq-summary>div{flex:1;padding:0 21px;border-right:1px solid #edf0ed}.boq-summary>div:first-child{padding-left:0}.boq-summary>div:last-child{border:0}.boq-summary>div:nth-child(3) strong{color:#51735c}.takeoff-layout{display:grid;grid-template-columns:minmax(0,1fr) 244px;gap:13px;align-items:start}.takeoff-main{min-width:0}.boq-tools{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 9px}.filter-list{display:flex;align-items:center;gap:5px;overflow:auto;scrollbar-width:none}.filter-list::-webkit-scrollbar{display:none}.filter-chip{white-space:nowrap;border:1px solid transparent;background:transparent;color:#7f898b;border-radius:3px;padding:6px 8px;font:500 9px var(--font);cursor:pointer}.filter-chip.selected{background:white;border-color:#e6eae7;color:#344b3d;box-shadow:0 1px 4px #25312809}.filter-chip span{color:#aab2af;margin-left:3px}.search-box{display:flex;align-items:center;flex:none;width:190px;height:30px;padding:0 9px;gap:5px;background:#fff;border:1px solid #e7ebe8;border-radius:3px;color:#98a09d}.search-box span{font-size:17px}.search-box input{min-width:0;width:100%;border:0;outline:0;background:transparent;font:10px var(--font);color:#43504b}.boq-table{min-width:770px}.boq-table th{font-size:7px;height:34px}.boq-table td{height:53px;font-size:9px}.boq-table td:nth-child(4),.boq-table td:nth-child(5),.boq-table td:nth-child(6){text-align:initial}.boq-table th:nth-child(4),.boq-table th:nth-child(5),.boq-table th:nth-child(6){text-align:initial}.code-cell span{background:#f5f5f0;color:#83754f;font-size:8px;padding:4px 5px;border-radius:2px}.work-name{font-weight:600;color:#34413c;white-space:normal;min-width:175px}.work-detail{font-size:8px;color:#a0a7a5;margin-top:4px;max-width:220px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.category-pill{background:#f2f5f2;color:#6e8275;padding:4px 6px;font-size:8px;white-space:nowrap}.unit-cell{color:#899390!important}.numeric{text-align:right!important;font-variant-numeric:tabular-nums;white-space:nowrap}.amount-cell{color:#3f634a!important;font-weight:700!important}.row-more{border:0;background:none;color:#9ea7a2;cursor:pointer;letter-spacing:1px;font-size:10px}.row-more:hover{color:#8a7140}.boq-table td:last-child,.boq-table th:last-child{padding-right:12px;text-align:right}.takeoff-aside{border:1px solid #e7ebe7;border-radius:4px;background:white;padding:14px;box-shadow:0 3px 12px #1c29300a}.aside-title{display:flex;align-items:center;gap:9px;padding-bottom:12px;border-bottom:1px solid #eef0ed}.aside-icon{width:29px;height:29px;display:grid;place-items:center;background:#f2f0e8;color:#a58c54}.aside-title div{display:grid;gap:3px}.aside-title small{font-size:7px;color:#a2aaa5;letter-spacing:1px}.aside-title strong{font:700 11px var(--display)}.drawing-card{padding:12px 0 11px;border-bottom:1px solid #eef0ed}.drawing-top{display:flex;justify-content:space-between;font-size:7px;font-weight:700;letter-spacing:.5px;color:#8f9894}.drawing-status{color:#699078;font-size:7px}.blueprint{height:119px;margin:10px 0;background:#f2f4ef;position:relative;display:grid;place-items:center;overflow:hidden}.bp-grid{position:absolute;inset:0;background-image:linear-gradient(#81917e16 1px,transparent 1px),linear-gradient(90deg,#81917e16 1px,transparent 1px);background-size:13px 13px}.bp-plan{height:74px;width:112px;border:2px solid #667e6d;position:relative;background:#e8eee78c}.bp-plan:before,.bp-plan:after{content:"";position:absolute;background:#687e6f}.bp-plan:before{width:1px;height:100%;left:50%}.bp-plan:after{height:1px;width:100%;top:50%}.bp-plan i{position:absolute;width:10px;height:10px;border:1px solid #718877;background:#f3f4ef;z-index:1}.bp-plan i:nth-child(1){left:8px;top:8px}.bp-plan i:nth-child(2){right:8px;top:8px}.bp-plan i:nth-child(3){left:8px;bottom:8px}.bp-plan i:nth-child(4){right:8px;bottom:8px}.bp-plan b{position:absolute;z-index:1;top:29px;left:39px;background:#f4f4ec;padding:2px 4px;color:#647565;font-size:7px}.bp-dim{position:absolute;color:#89948b;font-size:7px}.bp-top{top:13px}.bp-side{right:17px;top:55px;writing-mode:vertical-rl}.drawing-name{font-size:9px;color:#4a5750}.drawing-meta{display:block;margin-top:4px;font-size:8px;color:#9ca5a0}.drawing-action{padding:9px 0 0;border:0;background:none;color:#77887a;font:600 8px var(--font);cursor:pointer}.drawing-action span{margin-left:5px}.takeoff-progress{padding:12px 0;border-bottom:1px solid #eef0ed}.takeoff-progress>div:first-child{display:flex;justify-content:space-between;font-size:7px;letter-spacing:.6px;color:#929c97;font-weight:700}.takeoff-progress strong{font-size:9px;color:#6e826f}.takeoff-progress .progress-track{margin:8px 0}.takeoff-progress .progress-track div{background:#729079}.takeoff-progress>small{font-size:8px;color:#9ba39f}.takeoff-progress>small b{color:#65786b}.method-note{display:flex;gap:8px;padding:12px 0 2px;color:#b09659}.method-note>span{font-size:13px}.method-note strong{color:#596259;font:600 9px var(--display)}.method-note p{font-size:8px;line-height:1.5;color:#909995;margin:5px 0 0}.cost-panel{margin-top:14px;padding:15px;background:#fff;border:1px solid #e8ece8;border-radius:4px}.cost-panel-title{display:flex;align-items:center;justify-content:space-between}.cost-panel-title h3{font:700 12px var(--display);margin:5px 0 0}.cost-caption{font-size:8px;color:#a1aaa5}.cost-inputs{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;padding:13px 0;border-bottom:1px solid #edf0ed}.cost-inputs label{font-size:8px;color:#7e8983;display:flex;justify-content:space-between;align-items:center;gap:4px}.cost-inputs label span{display:flex;align-items:center;gap:3px;color:#a3aaa4}.cost-inputs input{width:37px;border:1px solid #e7ebe6;border-radius:2px;padding:4px 3px;text-align:right;font:9px var(--font);color:#596d5d}.cost-breakdown{display:grid;grid-template-columns:repeat(3,1fr);gap:0 16px}.cost-breakdown>div{display:flex;justify-content:space-between;padding:9px 0;border-bottom:1px solid #f0f2ef;font-size:8px;color:#818c85}.cost-breakdown strong{font-size:9px;color:#536158}.cost-breakdown .grand-row{grid-column:1/-1;border-bottom:0;padding-top:12px}.grand-row span{font-weight:700;color:#344b3d}.grand-row strong{font:700 13px var(--display);color:#53705a}.item-dialog{width:min(610px,calc(100% - 28px));max-height:90vh;padding:0;border:1px solid #e3e8e3;border-radius:6px;box-shadow:0 25px 90px #101e2c40;color:#27342e}.item-dialog::backdrop{background:#111d25a3;backdrop-filter:blur(2px)}.item-dialog form{padding:24px}.dialog-head{display:flex;justify-content:space-between;align-items:flex-start;border-bottom:1px solid #edf0ed;padding-bottom:15px;margin-bottom:16px}.dialog-head h2{font:700 20px var(--display);margin:7px 0 4px;letter-spacing:-.5px}.dialog-head p{color:#929a95;font-size:10px;margin:0}.dialog-close{border:0;background:none;color:#82908a;font-size:21px;cursor:pointer}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.form-grid label{font-size:9px;color:#6b7971;font-weight:600;display:grid;gap:6px}.form-grid label small{font-weight:400;color:#a3aaa5}.form-grid input,.form-grid select,.form-grid textarea{width:100%;padding:9px 10px;border:1px solid #e4e9e4;border-radius:3px;background:#fbfcfa;font:10px var(--font);color:#35423a;outline:0}.form-grid input:focus,.form-grid select:focus,.form-grid textarea:focus{border-color:#b9a26d;background:#fff}.form-grid textarea{resize:vertical}.span-two{grid-column:1/-1}.formula-preview{padding:9px 11px;background:#f2f4ee;border-left:2px solid #b89b5c;color:#768272;font-size:9px;margin-top:13px}.dialog-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:17px}.dialog-actions .button{height:35px}.dialog-actions .button-outline{margin:0}.dialog-actions .button-primary{font-size:10px}@media(max-width:1100px){.takeoff-layout{grid-template-columns:minmax(0,1fr) 215px}.main-content{padding-left:27px;padding-right:27px}.boq-summary>div{padding:0 12px}}@media(max-width:850px){.takeoff-layout{grid-template-columns:1fr}.takeoff-aside{display:grid;grid-template-columns:1fr 1fr;gap:10px 14px}.aside-title{grid-column:1/-1}.drawing-card{border-bottom:0}.cost-breakdown{grid-template-columns:repeat(2,1fr)}}@media(max-width:700px){.takeoff-aside{grid-template-columns:1fr}.aside-title{grid-column:auto}.boq-tools{align-items:stretch;flex-direction:column}.filter-list{min-height:30px}.search-box{width:100%}.boq-summary>div{padding:0 7px}.boq-summary small{font-size:6px;letter-spacing:.2px}.boq-summary strong{font-size:12px}.cost-inputs{grid-template-columns:1fr 1fr}.cost-breakdown{grid-template-columns:1fr 1fr}.cost-caption{max-width:110px;text-align:right}.item-dialog form{padding:18px}.form-grid{gap:9px}.form-grid label{font-size:8px}.boq-project-bar>div:nth-child(2) strong{max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}}
:root{color-scheme:light} [hidden]{display:none!important}.auth-screen{min-height:100vh;padding:30px max(32px,calc((100vw - 1100px)/2));background:radial-gradient(ellipse at 10% 90%,#d5d0bd35,transparent 30%),radial-gradient(ellipse at 85% 5%,#d1c2952b,transparent 28%),#f2f4f1;display:flex;flex-direction:column}.auth-brand{height:56px;display:flex;align-items:flex-start;justify-content:space-between;border-bottom:1px solid #e4e7e2}.auth-brand .brand{margin:0}.auth-caption{color:#a0a7a0;font-size:8px;letter-spacing:1.3px;font-weight:700;margin-top:11px}.auth-layout{width:100%;max-width:960px;margin:auto;display:grid;grid-template-columns:1fr 390px;gap:70px;align-items:center;align-self:center;padding:55px 0}.auth-story .eyebrow{color:#8d958f}.auth-story h1{font:700 37px/1.25 var(--display);letter-spacing:-1.2px;color:#1d292e;margin:20px 0 10px}.auth-story h1 em{color:#a78a4d;font-style:normal}.auth-story>p{max-width:380px;font-size:13px;line-height:1.8;color:#7c8781}.auth-proof{display:flex;gap:13px;align-items:flex-start;margin-top:32px}.auth-proof>span{font:700 9px var(--display);color:#b09761;padding:5px 7px;border:1px solid #ddd3b9}.auth-proof div{display:grid;gap:5px}.auth-proof strong{font:700 11px var(--display);color:#39453f}.auth-proof small{font-size:10px;color:#89938d}.auth-card{background:#fff;border:1px solid #e8ebe5;border-radius:5px;padding:27px;box-shadow:0 15px 45px #26312710}.auth-card-top{display:flex;justify-content:space-between;align-items:center}.auth-card-top h2{font:700 20px var(--display);letter-spacing:-.5px;margin:7px 0 0;color:#25312b}.auth-monogram{width:39px;height:39px;border:1px solid #d7c596;border-radius:50%;display:grid;place-items:center;font:700 13px var(--display);color:#a7894b}.auth-card>p{font-size:10px;color:#8d9790;margin:8px 0 18px}.auth-mode{display:grid;grid-template-columns:1fr 1fr;padding:3px;background:#f4f5f2;border-radius:3px;margin-bottom:17px}.auth-mode-button{height:31px;border:0;border-radius:2px;background:none;color:#88928b;font:600 9px var(--font);cursor:pointer}.auth-mode-button.active{background:#fff;color:#384a3c;box-shadow:0 1px 4px #1723180c}.auth-card form{display:grid;gap:13px}.auth-card form label{display:grid;gap:6px;color:#657168;font-size:9px;font-weight:600}.auth-card form input{height:38px;padding:0 10px;background:#fbfcfa;border:1px solid #e3e8e2;border-radius:3px;outline:0;color:#334139;font:11px var(--font)}.auth-card form input:focus{border-color:#baa66e;background:white;box-shadow:0 0 0 3px #d5c3911c}.auth-submit{height:39px;display:flex;align-items:center;justify-content:space-between;margin-top:4px;padding:0 12px;border:0;border-radius:3px;background:#17242b;color:#ead6a6;font:600 10px var(--font);cursor:pointer}.auth-submit:hover{background:#263841}.auth-submit:disabled{opacity:.6;cursor:wait}.auth-submit span{font-size:15px}.auth-reset{display:block;margin:13px auto 0;border:0;background:none;color:#78877d;font:500 9px var(--font);cursor:pointer}.auth-message{padding:9px 10px;margin-top:13px;background:#eef4ed;border-left:2px solid #699074;color:#526d58;font-size:9px;line-height:1.5}.auth-message.error{background:#fbf0ed;border-color:#b76757;color:#895246}.auth-setup{margin-top:15px;padding:11px 12px;background:#f8f5eb;border:1px solid #eee7d3;border-radius:3px}.auth-setup strong{font:700 9px var(--display);color:#735f37}.auth-setup p{font-size:9px;line-height:1.55;color:#897f69;margin:5px 0 0}.auth-legal{border-top:1px solid #eef0ed;margin-top:15px;padding-top:11px;font-size:8px;line-height:1.5;color:#a3aaa4}.auth-footer{text-align:center;font-size:8px;color:#9ba39c;letter-spacing:1px}.auth-footer span{color:#b89d5b;margin:0 5px}@media(max-width:760px){.auth-screen{padding:20px 20px}.auth-layout{grid-template-columns:1fr;max-width:440px;gap:27px;padding:34px 0}.auth-story h1{font-size:28px;margin:13px 0 7px}.auth-story>p{font-size:11px}.auth-proof{display:none}.auth-card{padding:22px}.auth-caption{font-size:7px}}
/* QS Pro visual refresh — refined spacing, clearer hierarchy, responsive navigation */
:root {
  --paper: #f4f6f7;
  --ink: #111d27;
  --ink-soft: #172631;
  --text: #17232d;
  --muted: #71808b;
  --line: #e3e9ec;
  --gold: #d4b16b;
  --gold-light: #f0dba9;
  --green: #43856d;
  --green-bg: #eaf4ef;
  --surface-shadow: 0 8px 24px rgba(21, 39, 50, .055);
}
body { background: var(--paper); color: var(--text); font-size: 14px; letter-spacing: -.01em; }
button, input, select, textarea { font: inherit; }
button { -webkit-tap-highlight-color: transparent; }
button:focus-visible, a:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible {
  outline: 3px solid rgba(91, 159, 139, .35); outline-offset: 2px;
}
.sidebar {
  width: 264px; padding: 27px 16px 16px 18px;
  background: linear-gradient(165deg, #14232e 0%, #101a23 68%, #101820 100%);
  border-right: 1px solid rgba(255,255,255,.055); box-shadow: 8px 0 28px rgba(17,29,39,.07);
}
.brand { gap: 12px; margin: 0 0 32px 4px; }
.brand-mark {
  width: 36px; height: 36px; border-radius: 9px 3px 9px 3px;
  background: linear-gradient(145deg, rgba(212,177,107,.15), rgba(212,177,107,.02));
  box-shadow: inset 0 0 0 1px rgba(212,177,107,.2); font-size: 16px;
}
.brand-copy { font-size: 18px; letter-spacing: .035em; }
.brand-copy span { font-size: 10px; letter-spacing: .17em; }
.workspace {
  height: 62px; padding: 0 12px; gap: 12px; border-color: rgba(187,204,213,.16);
  border-radius: 11px; background: rgba(255,255,255,.035); transition: border-color .2s, background .2s;
}
.workspace:hover { border-color: rgba(212,177,107,.45); background: rgba(255,255,255,.055); }
.workspace-icon { font-size: 19px; }
.workspace small, .nav-label { font-size: 9px; letter-spacing: .15em; }
.workspace strong { font-size: 13px; }
.nav-label { margin: 31px 9px 11px; }
.navigation { gap: 5px; }
.nav-item {
  position: relative; height: 45px; padding: 0 12px; gap: 12px; border-radius: 9px;
  color: #b2bdc4; font-size: 12px; transition: color .18s, background .18s, transform .18s;
}
.nav-item span { width: 18px; font-size: 16px; color: #a8b4ba; }
.nav-item:hover, .project-link:hover { background: rgba(255,255,255,.075); color: #fff; }
.nav-item:hover { transform: translateX(2px); }
.nav-item.active {
  color: #f3dfb3; background: linear-gradient(90deg, rgba(212,177,107,.17), rgba(212,177,107,.065));
  box-shadow: inset 3px 0 var(--gold), inset 0 0 0 1px rgba(212,177,107,.075);
}
.nav-item.active span { color: var(--gold-light); }
.sidebar-projects .nav-label { margin-top: 35px; }
.sidebar-projects .nav-label button {
  width: 27px; height: 27px; display: grid; place-items: center;
  border: 1px solid rgba(212,177,107,.3); border-radius: 8px; background: rgba(212,177,107,.08);
  font-size: 17px; transition: background .2s;
}
.sidebar-projects .nav-label button:hover { background: rgba(212,177,107,.2); }
.project-link { height: 39px; border-radius: 8px; padding: 0 10px; font-size: 11px; }
.project-dot { width: 8px; height: 8px; box-shadow: 0 0 0 3px rgba(116,168,132,.12); }
.dot-gray { box-shadow: 0 0 0 3px rgba(123,135,144,.12); }
.help-card {
  padding: 15px 13px; border-color: rgba(187,204,213,.17); border-radius: 11px;
  background: linear-gradient(140deg, rgba(255,255,255,.045), rgba(255,255,255,.015));
}
.help-card>strong { font-size: 11px; }
.help-card p { font-size: 10px; }
.help-card button { font-weight: 600; }
.profile { border-color: rgba(187,204,213,.14); padding-top: 14px; }
.avatar, .top-avatar { width: 34px; height: 34px; font-size: 10px; }
.profile strong { font-size: 10px; }
.main-content {
  width: calc(100% - 264px); max-width: none; margin-left: 264px; padding: 0 clamp(25px, 4vw, 62px);
}
.topbar {
  position: sticky; top: 0; z-index: 3; height: 68px; border-color: rgba(222,229,231,.8);
  background: rgba(244,246,247,.9); backdrop-filter: blur(14px);
}
.breadcrumbs { font-size: 11px; }
.breadcrumbs strong { color: #293944; }
.top-actions { gap: 14px; }
.today { color: #798791; font-size: 10px; }
.icon-button { border-radius: 9px; background: #fff; box-shadow: 0 1px 3px rgba(20,35,45,.06); }
.top-avatar { background: #e4d09c; }
.page { padding-top: 38px; }
.welcome-row, .page-header { margin-bottom: 25px; }
.eyebrow { font-size: 9px; letter-spacing: .15em; }
.welcome-row h1, .page-header h1 { font-size: clamp(25px, 2vw, 31px); letter-spacing: -.045em; }
.page-subtitle { font-size: 12px; line-height: 1.65; color: #778590; }
.button {
  height: 42px; padding: 0 16px; border-radius: 9px; font-size: 11px;
  transition: transform .18s, box-shadow .18s, background .18s;
}
.button:hover { transform: translateY(-1px); box-shadow: 0 7px 17px rgba(17,29,39,.12); }
.button-primary { background: linear-gradient(135deg, #172832, #101b24); }
.button-primary:hover { background: #243a43; }
.hero-card {
  height: 286px; border-radius: 17px;
  background: radial-gradient(ellipse at 84% 43%, #2a4247 0, #1c3039 32%, #14232d 72%);
  box-shadow: 0 16px 35px rgba(18,33,43,.12);
}
.hero-copy { padding: 34px 39px; }
.hero-card h2, .skills-banner h2 { font-size: clamp(27px, 2.25vw, 34px); letter-spacing: -.045em; }
.hero-card p, .skills-banner p { font-size: 12px; line-height: 1.75; color: #c0c9cc; }
.hero-button {
  height: 36px; padding: 0 13px; border-radius: 8px; font-size: 10px;
  transition: background .2s, border-color .2s;
}
.hero-button:hover { background: rgba(255,255,255,.08); border-color: #a6b4b8; }
.hero-art { right: 8%; transform: scale(1.08); }
.hero-index { right: 22px; bottom: 19px; }
.section-heading { margin: 34px 0 15px; }
.section-heading h2 { font-size: 17px; letter-spacing: -.035em; }
.text-button { font-size: 10px; }
.stats-grid { gap: 14px; }
.stat-card {
  position: relative; min-height: 124px; padding: 17px 17px 15px; overflow: hidden;
  border: 1px solid #e6ebed; border-radius: 13px; box-shadow: var(--surface-shadow);
  transition: transform .2s, box-shadow .2s, border-color .2s;
}
.stat-card:hover { transform: translateY(-3px); border-color: #d7e1e1; box-shadow: 0 14px 28px rgba(21,39,50,.09); }
.stat-top { font-size: 10px; color: #71808a; }
.stat-icon { width: 30px; height: 30px; display: grid; place-items: center; border-radius: 9px; background: #f5f1e7; color: #a18448; }
.stat-value { margin: 11px 0 6px; font-size: 24px; letter-spacing: -.045em; }
.stat-foot { color: #87939b; font-size: 9px; }
.overview-bottom { gap: 14px; margin-top: 15px; }
.panel { border-color: #e6ebed; border-radius: 13px; padding: 18px 19px; box-shadow: var(--surface-shadow); }
.panel h3 { font-size: 15px; letter-spacing: -.025em; }
.tag { border-radius: 999px; padding: 6px 9px; font-size: 8px; }
.tag-progress { background: #eaf4ef; color: #3c765e; }
.progress-track { height: 6px; overflow: hidden; }
.progress-track div { background: linear-gradient(90deg, #6b9b7c, #9dbb9f); }
.quick-link { padding: 11px 0; }
.quick-icon { width: 35px; height: 35px; border-radius: 9px; }
.footer { margin: 32px 0 17px; font-size: 9px; }
.boq-project-bar, .boq-summary, .table-wrap, .cost-panel, .takeoff-aside {
  border-color: #e5eaec; border-radius: 12px; box-shadow: var(--surface-shadow);
}
.boq-project-bar { min-height: 70px; height: auto; padding: 10px 15px; }
.project-symbol { width: 38px; height: 38px; border-radius: 10px; background: #f3f0e6; }
.boq-summary { padding: 20px 16px; margin: 14px 0; }
.boq-summary strong { font-size: 20px; }
.boq-table th { height: 42px; background: #f7f9f9; font-size: 8px; }
.boq-table td { height: 58px; }
.boq-table tbody tr { transition: background .15s; }
.boq-table tbody tr:hover { background: #f8faf9; }
.code-cell span, .category-pill { border-radius: 6px; }
.search-box { height: 36px; border-radius: 9px; }
.filter-chip { border-radius: 8px; padding: 8px 10px; font-size: 9px; }
.takeoff-aside { padding: 16px; }
.blueprint { border-radius: 9px; }
.cost-panel { padding: 18px; }
.cost-inputs input { border-radius: 6px; }
.skills-banner {
  border-radius: 16px; background: radial-gradient(ellipse at 88% 40%, #29424a 0, #192c36 38%, #14232d 75%);
  box-shadow: 0 14px 30px rgba(18,33,43,.11);
}
.skills-grid, .library-grid { gap: 15px; }
.skill-card, .library-card {
  border-color: #e6ebed; border-radius: 13px; padding: 19px; box-shadow: var(--surface-shadow);
  transition: transform .2s, box-shadow .2s;
}
.skill-card:hover, .library-card:hover { transform: translateY(-3px); box-shadow: 0 14px 28px rgba(21,39,50,.09); }
.skill-symbol, .library-icon { width: 38px; height: 38px; border-radius: 10px; }
.skill-card h3, .library-card h3 { font-size: 13px; letter-spacing: -.02em; }
.skill-card p, .library-card p { font-size: 10px; line-height: 1.75; }
.skill-tag { border-radius: 5px; }
.library-note { border-radius: 12px; padding: 17px; }
.item-dialog { border-radius: 15px; box-shadow: 0 28px 90px rgba(16,30,40,.24); }
.form-grid input, .form-grid select, .form-grid textarea { border-radius: 8px; }

@media (min-width: 1500px) {
  .main-content { padding-right: max(62px, calc((100vw - 1580px) / 2)); padding-left: max(62px, calc((100vw - 1580px) / 2)); }
}
@media (max-width: 1050px) {
  .sidebar { width: 235px; }
  .main-content { width: calc(100% - 235px); margin-left: 235px; padding-right: 27px; padding-left: 27px; }
  .stats-grid { gap: 11px; }
  .hero-copy { padding-left: 27px; }
}
@media (max-width: 700px) {
  .sidebar {
    inset: 0 0 auto; width: 100%; height: 62px; padding: 0 15px; flex-direction: row; align-items: center;
    border-right: 0; border-bottom: 1px solid rgba(255,255,255,.08); box-shadow: 0 5px 20px rgba(17,29,39,.12);
  }
  .brand { margin: 0; gap: 8px; }
  .brand-mark { width: 31px; height: 31px; font-size: 14px; }
  .brand-copy { font-size: 15px; }
  .workspace, .nav-label, .sidebar-projects, .sidebar-bottom { display: none; }
  .navigation { display: flex; margin-left: auto; gap: 2px; }
  .nav-item, .nav-item.active, .nav-item:not(.active) {
    width: 42px; height: 42px; justify-content: center; padding: 0; gap: 0;
    border-radius: 10px; box-shadow: none;
  }
  .nav-item.active { background: rgba(212,177,107,.18); box-shadow: inset 0 0 0 1px rgba(212,177,107,.2); }
  .nav-item span { width: auto; font-size: 17px; }
  .nav-item:hover { transform: none; }
  .main-content { width: 100%; max-width: 100%; margin: 62px 0 0; padding: 0 16px 18px; }
  .topbar { height: 52px; }
  .page { padding-top: 24px; }
  .welcome-row, .page-header { align-items: flex-start; }
  .welcome-row h1, .page-header h1 { font-size: 23px; }
  .page-subtitle { font-size: 11px; }
  .hero-card { height: 250px; border-radius: 14px; }
  .hero-copy { padding: 25px 20px; }
  .hero-card h2 { font-size: 25px; }
  .hero-card p { width: min(255px, 78vw); font-size: 10px; }
  .hero-art { right: -205px; opacity: .35; transform: scale(.9); }
  .section-heading { margin-top: 27px; }
  .stats-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 9px; }
  .stat-card { min-height: 112px; padding: 13px; border-radius: 11px; }
  .stat-top { align-items: flex-start; gap: 5px; font-size: 9px; }
  .stat-icon { width: 27px; height: 27px; flex: none; }
  .stat-value { font-size: 20px; }
  .overview-bottom { grid-template-columns: 1fr; }
  .footer { line-height: 1.7; }
  .boq-summary { gap: 0; padding: 14px 8px; }
  .boq-summary > div { padding: 0 7px; }
  .boq-summary strong { font-size: 12px; }
  .boq-summary small { font-size: 6px; letter-spacing: .15px; }
  .takeoff-aside { grid-template-columns: 1fr; }
  .skills-banner { border-radius: 14px; padding: 21px 17px; }
  .skills-banner h2 { font-size: 22px; }
  .skills-banner p { width: min(235px, 65vw); font-size: 10px; }
  .banner-seal { margin-right: 0; }
  .skills-grid, .library-grid { grid-template-columns: 1fr; }
  .skill-card, .library-card { border-radius: 11px; }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; transition-duration: .01ms !important; }
}

/* PDF steel quantity workspace */
.nav-item[data-page="steel"] span{color:#8dc6b2}
.steel-notice{display:flex;align-items:flex-start;gap:10px;margin:-5px 0 17px;padding:12px 14px;border:1px solid #dfe9e5;border-radius:11px;background:#f0f6f3;color:#587166}
.steel-notice>span{width:20px;height:20px;flex:none;display:grid;place-items:center;border-radius:50%;background:#dcebe3;color:#47755f;font:700 11px var(--display)}
.steel-notice p{margin:0;font-size:10px;line-height:1.65}
.steel-upload{min-height:360px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:35px;background:linear-gradient(145deg,#fff,#f8faf9);border:1px dashed #bfcbc9;border-radius:16px;box-shadow:var(--surface-shadow)}
.steel-upload-icon,.steel-file-icon{width:55px;height:62px;display:grid;place-items:center;border-radius:10px;background:#eef4f0;color:#3e7760;font:800 13px var(--display);letter-spacing:.04em}
.steel-upload h2{margin:18px 0 8px;font:700 19px var(--display);letter-spacing:-.03em;color:#23333a}
.steel-upload p{max-width:460px;margin:0 0 18px;color:#7b898e;font-size:11px;line-height:1.7}
.steel-upload small{margin-top:13px;color:#a0aaa9;font-size:9px}
.steel-workspace{display:grid;gap:14px}
.steel-filebar{min-height:65px;display:flex;align-items:center;gap:12px;padding:10px 14px;background:#fff;border:1px solid #e5eaec;border-radius:12px;box-shadow:var(--surface-shadow)}
.steel-file-icon{width:36px;height:40px;border-radius:8px;font-size:9px}
.steel-filecopy{min-width:0;display:grid;gap:4px}
.steel-filecopy strong{max-width:min(55vw,520px);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font:700 11px var(--display);color:#293941}
.steel-filecopy small{font-size:9px;color:#87949a}
.steel-filebar>.button{margin-left:auto}
.steel-remove-file{width:32px;height:32px;border:0;border-radius:8px;background:#f5f7f7;color:#738087;font-size:20px;cursor:pointer}
.steel-layout{display:grid;grid-template-columns:minmax(0,1fr) 290px;gap:14px;align-items:start}
.steel-drawing-panel,.steel-control-panel,.steel-schedule-panel{min-width:0;background:#fff;border:1px solid #e5eaec;border-radius:13px;box-shadow:var(--surface-shadow)}
.steel-drawing-toolbar{min-height:62px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 14px;border-bottom:1px solid #edf0f1}
.steel-drawing-toolbar>div:first-child{display:grid;gap:5px}
.steel-drawing-toolbar strong{font:700 11px var(--display);color:#2c3b42}
.steel-drawing-toolbar small{font-size:9px;color:#87949a}
.pdf-page-controls{display:flex;align-items:center;gap:5px}
.pdf-page-controls button{width:29px;height:29px;border:1px solid #e5eaec;border-radius:7px;background:#fff;color:#607078;cursor:pointer}
.pdf-page-controls button:hover{background:#f3f7f5;border-color:#cbd9d3}
.pdf-page-controls span{min-width:42px;text-align:center;color:#607078;font-size:9px;font-variant-numeric:tabular-nums}
.pdf-stage{height:min(68vh,720px);min-height:390px;display:grid;place-items:center;overflow:auto;padding:16px;background:#eef2f3;border-radius:0 0 12px 12px}
.pdf-empty{max-width:300px;text-align:center;color:#95a0a4;font-size:11px;line-height:1.7}
.pdf-canvas-stack{position:relative;width:fit-content;max-width:100%;margin:auto;background:#fff;box-shadow:0 3px 18px rgba(30,47,55,.12)}
.pdf-canvas-stack canvas{display:block;max-width:100%;height:auto}
#pdfMarkup{position:absolute;inset:0;width:100%;height:100%;cursor:crosshair}
#pdfMarkup.pdf-markup-idle{pointer-events:none;cursor:default}
.pdf-text-panel{border-top:1px solid #edf0f1;padding:11px 14px}
.pdf-text-panel summary{color:#65757c;font-size:9px;font-weight:600;cursor:pointer}
.pdf-text-panel pre{max-height:180px;overflow:auto;margin:10px 0 0;padding:10px;border-radius:7px;background:#f5f7f7;color:#66757b;font:9px/1.6 var(--font);white-space:pre-wrap}
.steel-control-panel{padding:16px}
.steel-panel-heading{display:flex;align-items:center;gap:10px}
.steel-step{width:29px;height:29px;flex:none;display:grid;place-items:center;border-radius:9px;background:#edf5f1;color:#438168;font:700 9px var(--display)}
.steel-panel-heading small{font-size:7px;color:#91a09e;font-weight:700;letter-spacing:.12em}
.steel-panel-heading h3{margin:4px 0 0;font:700 12px var(--display);color:#2c3b42}
.steel-help{margin:10px 0 13px;color:#839095;font-size:9px;line-height:1.65}
.steel-field{display:grid;gap:6px;color:#6e7d82;font-size:9px;font-weight:600}
.steel-field input,.steel-field select{width:100%;height:36px;padding:0 9px;border:1px solid #e1e8e7;border-radius:8px;background:#fbfcfc;color:#34464c;font:10px var(--font)}
.steel-field input:focus,.steel-field select:focus{border-color:#79a58f;outline:3px solid rgba(91,159,139,.14)}
.steel-wide{width:100%;justify-content:center;margin-top:10px}
.steel-scale-status{margin-top:9px;padding:9px 10px;border-radius:8px;background:#f4f6f5;color:#78878a;font-size:9px}
.steel-scale-status.is-set{background:#edf5f0;color:#47735d}
.steel-divider{height:1px;margin:16px 0;border:0;background:#edf0f1}
.steel-inline-fields{display:grid;grid-template-columns:1fr 1fr;gap:9px}
.steel-cancel{display:block;margin:10px auto 0;border:0;background:none;color:#88969a;font:500 9px var(--font);cursor:pointer}
.steel-cancel:hover{color:#a65e53}
.steel-measure-hint{margin-top:11px;padding:10px;border-left:2px solid #d6b875;border-radius:0 7px 7px 0;background:#f8f6ef;color:#7f7864;font-size:9px;line-height:1.6}
.steel-schedule-panel{padding:18px}
.steel-schedule-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}
.steel-schedule-header h2{margin:5px 0 4px;font:700 17px var(--display);letter-spacing:-.03em;color:#26363d}
.steel-schedule-header p{margin:0;color:#879399;font-size:9px;line-height:1.6}
.steel-schedule-actions{display:flex;gap:7px;flex:none}
.steel-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:16px 0 13px}
.steel-summary article{min-height:75px;display:flex;flex-direction:column;justify-content:center;gap:8px;padding:12px 14px;border:1px solid #e9edef;border-radius:10px;background:#fafbfb}
.steel-summary small{font-size:7px;letter-spacing:.09em;color:#8a989d;font-weight:700}
.steel-summary strong{font:700 19px var(--display);letter-spacing:-.035em;color:#26363d;font-variant-numeric:tabular-nums}
.steel-summary strong i,.steel-summary-total em{font-style:normal;font:600 9px var(--font);color:#88969a}
.steel-summary-total{background:linear-gradient(130deg,#edf5f0,#f8faf8)!important;border-color:#dce9e1!important}
.steel-summary-total strong{color:#3d7359}
.steel-summary-total em{margin-top:-5px}
.steel-table-wrap{overflow:auto;border:1px solid #e7ecee;border-radius:9px}
.steel-table{width:100%;min-width:890px;border-collapse:collapse}
.steel-table th{height:36px;padding:0 8px;background:#f6f8f8;border-bottom:1px solid #e8edef;text-align:left;color:#849196;font-size:7px;letter-spacing:.06em;white-space:nowrap}
.steel-table td{height:47px;padding:5px 7px;border-bottom:1px solid #edf0f1;color:#526168;font-size:9px}
.steel-table tr:last-child td{border-bottom:0}
.steel-table input,.steel-table select{width:100%;min-width:58px;height:31px;padding:0 7px;border:1px solid transparent;border-radius:6px;background:transparent;color:#34464c;font:9px var(--font)}
.steel-table input:hover,.steel-table select:hover,.steel-table input:focus,.steel-table select:focus{border-color:#dce5e2;background:#fff;outline:none}
.steel-table input[type=number]{font-variant-numeric:tabular-nums}
.steel-table td:nth-child(1){min-width:84px}
.steel-table td:nth-child(2){min-width:150px}
.steel-table td:nth-child(3){width:84px}
.steel-table td:nth-child(4),.steel-table td:nth-child(5){width:110px}
.steel-table td:nth-child(6),.steel-table td:nth-child(7),.steel-table td:nth-child(8){text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}
.steel-table td:nth-child(8){font-weight:700;color:#417457}
.steel-table td:nth-child(9){width:38px;text-align:center}
.steel-row-delete{width:26px;height:26px;border:0;border-radius:6px;background:transparent;color:#9ca7a9;cursor:pointer}
.steel-row-delete:hover{background:#fbefed;color:#ae665b}
.steel-empty-state{padding:27px;text-align:center;color:#929da1;font-size:9px}
.steel-breakdown{display:flex;flex-wrap:wrap;gap:7px;margin-top:12px}
.steel-breakdown-chip{padding:7px 10px;border:1px solid #e5ebe8;border-radius:999px;background:#fafcfb;color:#66766e;font-size:8px}
.steel-breakdown-chip strong{color:#3f7358}
.steel-footnote{margin-top:12px;color:#8a9699;font-size:8px;line-height:1.65}
@media(max-width:1100px){.steel-layout{grid-template-columns:minmax(0,1fr) 260px}.steel-schedule-header{align-items:flex-start}}
@media(max-width:850px){.steel-layout{grid-template-columns:1fr}.steel-control-panel{display:grid;grid-template-columns:1fr 1fr;gap:0 15px}.steel-control-panel>.steel-panel-heading:nth-of-type(2),.steel-control-panel>.steel-help:nth-of-type(2),.steel-divider{grid-column:1/-1}.steel-control-panel>.steel-divider{margin:14px 0}.steel-schedule-header{display:grid}.steel-schedule-actions{justify-content:flex-start}}
@media(max-width:700px){
  .steel-upload{min-height:300px;padding:25px 18px}.steel-filebar{gap:8px;padding:9px}.steel-filecopy strong{max-width:38vw}.steel-filebar>.button{height:34px;padding:0 9px;font-size:9px}
  .steel-layout{gap:10px}.pdf-stage{height:55vh;min-height:300px;padding:8px}.steel-drawing-toolbar{align-items:flex-start;flex-direction:column}.pdf-page-controls{align-self:flex-end}
  .steel-control-panel{display:block;padding:14px}.steel-divider{margin:14px 0}.steel-schedule-panel{padding:14px}.steel-schedule-header{display:grid}.steel-schedule-actions{width:100%}.steel-schedule-actions .button{flex:1;justify-content:center;padding:0 8px}
  .steel-summary{gap:6px}.steel-summary article{min-height:66px;padding:9px 7px}.steel-summary small{font-size:6px;letter-spacing:0}.steel-summary strong{font-size:15px}
}
@media(prefers-reduced-motion:reduce){.steel-upload,.steel-wide{transition:none}}

/* Multi-trade PDF takeoff */
.takeoff-schedule-panel{border-color:#dfe8e4;background:linear-gradient(180deg,#fff,#fcfefd)}
.steel-takeoff-summary,.steel-takeoff-totals{display:flex;flex-wrap:wrap;gap:7px;margin-top:12px}
.steel-takeoff-summary span,.steel-takeoff-totals span{padding:7px 9px;border:1px solid #e2ebe6;border-radius:8px;background:#f5f9f7;color:#64766e;font-size:11px}
.steel-takeoff-summary strong,.steel-takeoff-totals strong{margin-left:5px;color:#2c7258;font-variant-numeric:tabular-nums}
.takeoff-table{min-width:860px}
.takeoff-table td:nth-child(2){min-width:180px}
.takeoff-table td:nth-child(4){min-width:210px;color:#718078;font-size:11px}
.takeoff-row-actions{display:flex;align-items:center;justify-content:flex-end;gap:5px;white-space:nowrap}
.takeoff-boq-button{min-height:30px;height:auto;padding:6px 9px;font-size:10px}
.takeoff-boq-button:disabled{border-color:#dce9e1;background:#f2f7f3;color:#4f8066;opacity:1;cursor:default}
.steel-control-panel .steel-field{margin-top:10px}
.steel-control-panel .steel-wide{min-height:39px}
.takeoff-presets{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin:12px 0 8px}
.takeoff-preset{min-height:58px;display:grid;grid-template-columns:auto 1fr;align-items:center;column-gap:7px;padding:8px;border:1px solid #e4ebe7;border-radius:9px;background:#fbfcfb;color:#4a6958;text-align:left;font:700 12px var(--font);cursor:pointer;transition:border-color .15s,background .15s,transform .15s}
.takeoff-preset span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.takeoff-preset small{grid-column:2;color:#8a9890;font:600 10px var(--font)}
.takeoff-preset:hover,.takeoff-preset.active{border-color:#88b49b;background:#eff7f1;transform:translateY(-1px)}
.takeoff-advanced{margin:8px 0 2px;color:#61726a;font-size:11px}
.takeoff-advanced summary{width:max-content;max-width:100%;color:#718078;cursor:pointer;font-weight:600}
.takeoff-advanced[open] summary{margin-bottom:8px}
.pdf-dimension-suggestions{margin-top:9px;padding:9px;border:1px solid #e8eee8;border-radius:8px;background:#f8faf8}
.pdf-dimension-suggestions>small{display:block;margin-bottom:7px;color:#7d8c83;font-size:8px;line-height:1.5;font-weight:700;letter-spacing:.04em}
.pdf-dimension-suggestions>div{display:flex;flex-wrap:wrap;gap:5px}
.pdf-dimension-suggestions button{padding:5px 7px;border:1px solid #dce8df;border-radius:6px;background:white;color:#426d53;font:600 10px var(--font);cursor:pointer}
.pdf-dimension-suggestions button:hover{border-color:#80ad90;background:#eff7f1}
.takeoff-continuous{display:flex;align-items:flex-start;gap:8px;margin-top:11px;padding:9px;border:1px solid #e4ebe7;border-radius:8px;background:#f8faf9;color:#52645b;cursor:pointer}
.takeoff-continuous input{width:15px;height:15px;margin:2px 0 0;accent-color:#438168;flex:none}
.takeoff-continuous span{display:grid;gap:2px}
.takeoff-continuous strong{font-size:10px}
.takeoff-continuous small{color:#87938c;font-size:9px;line-height:1.45}
#takeoffHint{border-left-color:#4f9c7b}
#takeoffHint.is-error{border-left-color:#c87560;background:#fbf2f0;color:#925c51}
#takeoffThicknessField[hidden]{display:none}
@media(max-width:850px){.takeoff-table{min-width:760px}.takeoff-schedule-panel .steel-schedule-header{display:flex;flex-wrap:wrap}.takeoff-schedule-panel .steel-schedule-header>button{width:100%}}
@media(max-width:700px){.takeoff-preset{min-height:54px;padding:7px 5px;column-gap:4px;font-size:10px}.pdf-dimension-suggestions{padding:8px}}

/* Clearer reading and always-available account controls */
body{font-size:15px}
.workspace small,.nav-label{font-size:11px}
.workspace strong{font-size:14px}
.nav-item{font-size:14px}
.project-link{font-size:13px}
.help-card>strong{font-size:13px}
.help-card p{font-size:12px}
.help-card button{font-size:12px}
.profile strong{font-size:12px}
.profile small{font-size:11px}
.breadcrumbs{font-size:13px}
.today{font-size:12px}
.eyebrow{font-size:11px}
.page-subtitle{font-size:14px}
.button{font-size:13px}
.hero-kicker{font-size:11px}
.hero-card p,.skills-banner p{font-size:13px}
.hero-button{font-size:12px}
.stat-top{font-size:12px}
.stat-foot{font-size:11px}
.project-meta{font-size:12px}
.progress-label{font-size:11px}
.project-footer{font-size:11px}
.account-menu-wrap{position:relative}
.account-menu{position:absolute;z-index:20;top:calc(100% + 12px);right:0;width:min(330px,calc(100vw - 28px));padding:16px;border:1px solid #e2e8e8;border-radius:12px;background:#fff;color:#25323a;box-shadow:0 16px 45px rgba(18,29,39,.18)}
.account-menu[hidden]{display:none}
.account-menu-heading{color:#879399;font-size:11px;font-weight:700;letter-spacing:.12em}
.account-menu-profile{display:flex;align-items:center;gap:12px;margin:14px 0;padding-bottom:14px;border-bottom:1px solid #edf0f0}
.account-menu-avatar{width:42px;height:42px;flex:none;display:grid;place-items:center;border-radius:50%;background:#dfc88f;color:#29343b;font-size:14px;font-weight:700}
.account-menu-profile>span:last-child{display:grid;gap:5px;min-width:0}
.account-menu-profile strong{font-size:15px}
.account-menu-profile small{max-width:240px;overflow-wrap:anywhere;color:#7c888e;font-size:13px}
.account-menu-role{display:flex;justify-content:space-between;gap:12px;color:#748087;font-size:13px}
.account-menu-role strong{color:#37474d;font-size:13px}
.account-menu-logout{width:100%;display:flex;align-items:center;gap:10px;margin-top:14px;padding:11px 10px;border:1px solid #f0dfdc;border-radius:9px;background:#fff8f7;color:#a75146;text-align:left;font:600 14px var(--font);cursor:pointer}
.account-menu-logout:hover{background:#fdf0ee}
.steel-notice p,.steel-upload p,.pdf-empty,.steel-help,.steel-field,.steel-scale-status,.steel-measure-hint,.steel-schedule-header p,.steel-empty-state,.steel-footnote{font-size:13px}
.steel-upload h2{font-size:22px}
.steel-upload small,.steel-filecopy small,.steel-drawing-toolbar small,.pdf-page-controls span,.pdf-text-panel summary,.steel-panel-heading small,.steel-panel-heading h3,.steel-cancel{font-size:12px}
.steel-filecopy strong,.steel-drawing-toolbar strong{font-size:14px}
.steel-field input,.steel-field select{font-size:13px}
.steel-schedule-header h2{font-size:20px}
.steel-summary small{font-size:10px}
.steel-table th{font-size:10px}
.steel-table td,.steel-table input,.steel-table select{font-size:12px}
.steel-breakdown-chip{font-size:11px}
@media(max-width:700px){
  .page-subtitle{font-size:13px}
  .hero-card p,.skills-banner p{font-size:12px}
  .stat-top{font-size:11px}
  .steel-summary small{font-size:9px}
}
.account-menu-manage{width:100%;margin-top:12px;padding:10px 2px;border:0;border-top:1px solid #edf0f0;background:transparent;color:#476c5a;text-align:left;font:600 13px var(--font);cursor:pointer}
.account-dashboard{display:grid;gap:16px}
.account-settings-card,.account-billing-card{padding:22px;background:#fff;border:1px solid #e6ebea;border-radius:14px;box-shadow:0 10px 32px rgba(25,43,48,.04)}
.account-section-heading{display:flex;align-items:center;gap:12px;margin-bottom:17px}
.account-section-icon{width:40px;height:40px;display:grid;place-items:center;border-radius:12px;background:#eef4f0;color:#4d8065;font-size:20px}
.account-section-icon-gold{background:#f7f2e5;color:#a2844b}
.account-section-heading .eyebrow{margin-bottom:5px}
.account-section-heading h2{margin:0;color:#24343b;font:700 20px var(--display)}
.account-detail-row{display:flex;justify-content:space-between;gap:18px;padding:12px 0;border-bottom:1px solid #edf0f0;color:#728087;font-size:14px}
.account-detail-row strong{max-width:65%;overflow-wrap:anywhere;color:#33434a;font-size:14px;text-align:right}
.account-status{color:#4c7e62!important}
.account-change-password-toggle{margin-top:16px}
.account-password-form{max-width:580px;margin-top:19px;padding:18px;border:1px solid #e8edeb;border-radius:12px;background:#fafcfb}
.account-password-form[hidden]{display:none}
.account-password-form h3{margin:0 0 7px;color:#314249;font:700 17px var(--display)}
.account-password-form p{margin:0 0 14px;color:#78868b;font-size:13px;line-height:1.6}
.account-password-form label{display:grid;gap:6px;margin:12px 0;color:#59696f;font-size:13px;font-weight:600}
.account-password-form input{height:42px;padding:0 12px;border:1px solid #dfe7e4;border-radius:8px;background:#fff;font:14px var(--font)}
.account-password-form input:focus{outline:3px solid #e5efe9;border-color:#8aa994}
.account-password-form .button{margin-top:13px}
.account-form-message{margin:12px 0 0;padding:10px 12px;border-radius:8px;background:#edf5ef;color:#47765b;font-size:13px;line-height:1.5}
.account-form-message.is-error{background:#fff0ed;color:#a34d40}
.account-billing-intro{max-width:900px;margin:0 0 17px;color:#738087;font-size:14px;line-height:1.65}
.account-billing-intro strong{color:#374a4f}
.account-plan-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px}
.account-plan-card{display:flex;flex-direction:column;min-height:305px;padding:18px;border:1px solid #e5eae9;border-radius:12px;background:#fcfdfc}
.account-plan-featured{border-color:#d5c18e;background:linear-gradient(155deg,#fffdf7,#fff)}
.account-plan-label{color:#8c999a;font-size:10px;font-weight:700;letter-spacing:.1em}
.account-plan-card h3{margin:10px 0;color:#293a40;font:700 19px var(--display)}
.account-plan-price{color:#31483b;font:800 22px var(--display);letter-spacing:-.03em}
.account-plan-price small{display:block;margin-top:4px;color:#8a9697;font:500 12px var(--font);letter-spacing:0}
.account-plan-card p{min-height:38px;margin:12px 0;color:#79868b;font-size:13px;line-height:1.55}
.account-plan-card ul{display:grid;gap:8px;margin:0 0 17px;padding:0;list-style:none;color:#5c6c70;font-size:12px}
.account-plan-card li:before{content:'✓';margin-right:8px;color:#659275;font-weight:700}
.account-plan-card .button{width:100%;justify-content:center;margin-top:auto}
.account-plan-card .button:disabled{opacity:1;cursor:default}
.account-payment-note{display:grid;gap:5px;margin-top:15px;padding:14px 16px;border:1px solid #eadfbd;border-radius:10px;background:#fcf8ed;color:#786840;font-size:13px;line-height:1.55}
.account-payment-note strong{font-size:14px}
@media(max-width:950px){.account-plan-grid{grid-template-columns:1fr}.account-plan-card{min-height:0}.account-plan-card p{min-height:0}}
.project-list{display:grid;gap:3px;max-height:30vh;overflow:auto}
.project-row{display:flex;align-items:center;gap:2px;border-radius:8px}
.project-row.is-active{background:#27333c}
.project-row .project-link{min-width:0;flex:1;background:transparent}
.project-row.is-active .project-link{color:#f0dba9}
.project-row .project-link span{font-variant-numeric:tabular-nums}
.project-delete{width:28px;height:28px;flex:none;border:0;border-radius:6px;background:transparent;color:#839099;font-size:16px;cursor:pointer}
.project-delete:hover{background:#3a3030;color:#f2b8ad}
.project-overview-values{display:flex;gap:40px;margin:18px 0 8px}
.project-overview-values>div{display:grid;gap:6px}
.project-overview-values small{color:#879399;font-size:10px;font-weight:700;letter-spacing:.08em}
.project-overview-values strong{color:#34464b;font:700 19px var(--display)}
.project-overview-values span{color:#88969a;font-size:11px}
.form-grid label[hidden]{display:none}

