:root{--bg:#f4f5f7;--panel:#fff;--ink:#172644;--muted:#7d8698;--line:#e4e7ee;--green:#142e58;--lime:#ffb329;--red:#c05b44;--radius:15px;font-family:Inter,'Segoe UI',Arial,sans-serif;color:var(--ink);font-size:14px;font-synthesis:none}
*{box-sizing:border-box}body{margin:0;background:var(--bg)}button,input,select,textarea{font:inherit}button{cursor:pointer}button,a,input,select,textarea{outline-offset:4px}a{color:var(--green)}button{border:0;background:none;color:inherit}input,select,textarea{width:100%;border:1px solid var(--line);border-radius:8px;padding:11px;background:white;color:var(--ink)}input:focus,select:focus,textarea:focus{outline:2px solid #b0c1dd}textarea{min-height:75px}h1,h2,h3,p{margin:0}h1{font-size:30px;font-weight:650;letter-spacing:-1px}h2{font-size:17px;font-weight:650;letter-spacing:-.3px}h3{font-size:15px}small,.muted{color:var(--muted)}svg{display:inline-block;vertical-align:middle;flex-shrink:0}.shell{display:flex;min-height:100vh}.sidebar{width:234px;flex-shrink:0;background:#fff;border-right:1px solid var(--line);padding:28px 17px;display:flex;flex-direction:column;position:fixed;height:100vh;z-index:20}.brand{display:flex;align-items:center;gap:10px;font-size:22px;font-weight:730;letter-spacing:-.6px;padding:0 10px 32px}.brand-icon{display:grid;place-items:center;background:#0c1d3e;color:var(--lime);width:38px;height:38px;border-radius:11px}.workspace{border:1px solid var(--line);padding:12px;border-radius:10px;display:flex;align-items:center;gap:10px;margin-bottom:25px}.workspace span:first-child{padding:8px;background:#eff2f8;border-radius:7px}.workspace strong{display:block;font-size:12px}.workspace small{font-size:10px}.nav-label{font-size:10px;font-weight:650;letter-spacing:1.3px;color:#99a19c;padding:0 13px;margin:15px 0 10px}.nav{display:flex;flex-direction:column;gap:3px}.nav button{display:flex;align-items:center;text-align:left;gap:11px;padding:12px 13px;border-radius:8px;color:#74817a;font-size:12px;font-weight:550}.nav button:hover{background:#f4f7f1}.nav button.active{color:#142e58;background:#edf1f9}.nav button.active svg{stroke:#142e58}.nav-count{margin-left:auto;border-radius:5px;background:#d9e3f4;color:#142e58;padding:2px 6px;font-size:10px}.sidebar-bottom{margin-top:auto}.assist-mini{background:#f5f2e9;border:1px solid #e9e1d0;padding:15px;border-radius:11px;margin:20px 0}.assist-mini p{font-size:11px;line-height:1.6;color:#7a8970;margin:8px 0 12px}.assist-mini button{font-size:11px;display:flex;gap:8px;align-items:center;font-weight:600}.user{border-top:1px solid var(--line);display:flex;align-items:center;gap:10px;padding:18px 6px 0}.avatar{width:34px;height:34px;border-radius:50%;background:#ebe6da;display:grid;place-items:center;font-size:11px;font-weight:650}.user strong{font-size:11px;display:block}.user small{font-size:10px}.main{margin-left:234px;width:calc(100% - 234px)}.topbar{height:75px;border-bottom:1px solid var(--line);background:#fff;display:flex;align-items:center;justify-content:space-between;padding:0 34px}.breadcrumb{font-size:12px;color:#87918b;display:flex;gap:10px;align-items:center}.breadcrumb strong{color:#3d4f46;font-weight:500}.top-tools{display:flex;gap:18px;align-items:center}.search{display:flex;align-items:center;gap:8px}.search input{border:0;max-width:205px;font-size:12px;padding:7px}.icon-btn{width:34px;height:34px;display:grid;place-items:center;border-radius:7px}.icon-btn:hover{background:#f1f4ee}.mobile-menu{display:none}.content{padding:29px 34px 35px;max-width:1640px;margin:auto}.page-head{display:flex;justify-content:space-between;align-items:center;gap:15px;margin:3px 0 25px}.page-head p{color:var(--muted);font-size:12px;line-height:1.7;margin-top:7px}.actions{display:flex;align-items:center;gap:9px;flex-wrap:wrap}.btn{display:inline-flex;gap:8px;align-items:center;justify-content:center;border:1px solid var(--line);background:#fff;border-radius:8px;padding:10px 14px;font-size:11px;font-weight:600;white-space:nowrap}.btn:hover{background:#f4f7f2}.btn.primary{background:#142e58;border-color:#142e58;color:#fff}.btn.primary:hover{background:#0c1d3e}.btn.soft{background:#eff2f8;border-color:#e1e6f0;color:#244578}.btn.danger{color:var(--red)}.btn:disabled{opacity:.5;cursor:wait}.demo-banner{font-size:11px;padding:10px 15px;background:#fff8e7;border:1px solid #efe3bd;border-radius:9px;display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:23px;color:#8d783e}.demo-banner button{font-size:10px;text-decoration:underline}.hero{background:#0c1d3e;border-radius:15px;min-height:163px;position:relative;overflow:hidden;padding:29px 30px;color:#fff;display:flex;align-items:center;justify-content:space-between;margin-bottom:23px}.eyebrow{font-size:10px;text-transform:uppercase;letter-spacing:1.2px;color:#e9ab4f;margin-bottom:9px}.hero h2{font-size:25px;font-weight:500;letter-spacing:-.6px;max-width:480px}.hero p{color:#b7c3d7;font-size:11px;line-height:1.8;margin-top:10px;max-width:450px}.hero .btn{margin-top:15px;background:#ffa915;color:#0c1d3e;border:0}.hero-art{width:275px;color:#dfa545;margin-right:22px;opacity:.9}.kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:17px;margin-bottom:25px}.kpi{padding:19px 21px;background:#fff;border:1px solid var(--line);border-radius:12px}.kpi-head{display:flex;justify-content:space-between;font-size:11px;align-items:center;color:#7b8980}.kpi-icon{padding:7px;border:1px solid #edf0ea;border-radius:8px;color:#799270}.kpi-value{font-size:29px;letter-spacing:-1px;line-height:1.4;margin:12px 0 4px;font-weight:600}.kpi-value small{font-size:12px;letter-spacing:0;font-weight:400;margin-left:5px}.kpi-foot{font-size:10px;color:#879087}.dot{width:6px;height:6px;border-radius:50%;background:#83ad62;display:inline-block;margin-right:6px}.section-head{display:flex;justify-content:space-between;align-items:center;margin:25px 0 14px}.section-head button{font-size:11px;color:#698b58;display:flex;gap:7px;align-items:center}.project-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:17px}.project-card{background:#fff;border:1px solid var(--line);border-radius:12px;padding:20px;text-align:left;cursor:pointer}.project-card:hover{border-color:#aac3a3;box-shadow:0 3px 15px #27422d08}.project-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px}.project-icon{width:38px;height:38px;display:grid;place-items:center;border-radius:9px;background:#eef4e9;color:#709061}.badge{display:inline-flex;align-items:center;font-size:9px;font-weight:550;padding:5px 8px;border-radius:5px;background:#edf1f9;color:#5f8049;white-space:nowrap}.badge.warn{background:#fff3df;color:#b08645}.badge.error{background:#fbece7;color:#b66950}.badge.blue{background:#ecf0fd;color:#657ac0}.project-card h3{font-size:14px;margin-bottom:6px}.project-card p{font-size:10px;color:#8d978f}.project-progress{display:flex;justify-content:space-between;margin:22px 0 8px;font-size:10px;color:#7c877d}.progress{height:5px;background:#edf0e8;border-radius:3px;overflow:hidden}.progress>span{display:block;height:100%;background:#e9a135;border-radius:3px}.project-footer{display:flex;justify-content:space-between;border-top:1px solid #eef1e9;margin-top:17px;padding-top:13px;font-size:10px;color:#84917f}.lower-grid{display:grid;grid-template-columns:1.8fr 1fr;gap:20px;margin-top:24px}.panel{background:#fff;border:1px solid var(--line);border-radius:12px;overflow:hidden}.panel-head{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:20px 22px;border-bottom:1px solid #eef1e9}.panel-head h2{font-size:14px}.panel-head small{font-size:10px}.panel-body{padding:20px 22px}.alert-item{display:flex;align-items:flex-start;gap:12px;padding:14px 0;border-bottom:1px solid #eef1e9}.alert-item:last-child{border-bottom:0}.alert-icon{background:#fbf1df;color:#b7934e;padding:7px;border-radius:8px}.alert-item strong{display:block;font-size:11px;margin:2px 0 5px}.alert-item p{font-size:10px;color:#889184;line-height:1.5}.toolbar{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:18px 0}.toolbar select{width:auto;min-width:170px;font-size:11px;padding:9px 12px}.tabs{display:flex;gap:3px;padding:4px;background:#eaeee6;border-radius:8px}.tabs button{font-size:11px;padding:8px 13px;border-radius:6px;color:#7e8b77}.tabs button.active{background:#fff;color:#3d5636;box-shadow:0 1px 3px #0000000a}.table-wrap{overflow:auto}table{border-collapse:collapse;width:100%;font-size:11px;text-align:left}th{padding:13px 18px;background:#f9faf7;color:#8a9484;font-size:10px;font-weight:500;white-space:nowrap}td{padding:16px 18px;border-top:1px solid #ecf0e7;vertical-align:middle}td strong{font-weight:600;font-size:12px}td small{display:block;font-size:10px;margin-top:5px}tr.clickable:hover{background:#fafcf8}.row-actions{display:flex;gap:5px}.row-actions button{padding:5px;color:#8b9784}.row-actions button:hover{color:#244f38}.number{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.empty{padding:60px 20px;text-align:center;color:#8c9986;font-size:12px}.empty h3{margin-bottom:10px;color:#52634b}.gantt-wrap{overflow:auto;max-height:680px}.gantt{display:grid;min-width:850px;font-size:10px;position:relative}.gantt-label{padding:13px 18px;border-bottom:1px solid #edf0e8;border-right:1px solid #edf0e8;position:sticky;left:0;background:#fff;z-index:3;display:flex;align-items:center;justify-content:space-between}.gantt-label strong{font-size:11px;font-weight:500;display:block}.gantt-label small{font-size:9px}.gantt-line{display:grid;position:relative;border-bottom:1px solid #edf0e8;min-height:47px}.gantt-head{background:#fafbf7;min-height:44px;color:#8d9986;text-align:center;align-items:center;position:sticky;top:0;z-index:4}.gantt-day{border-right:1px solid #edf0e8;height:100%;display:grid;place-content:center;gap:3px}.weekend{background:#f6f8f2}.today{background:#fff3d9;color:#a8721d}.gantt-bar{position:absolute;top:10px;height:26px;border-radius:5px;color:white;display:flex;align-items:center;overflow:hidden;cursor:pointer;min-width:6px;border:0}.gantt-bar:hover{filter:brightness(.94)}.gantt-fill{position:absolute;left:0;top:0;height:100%;background:#ffffff30}.gantt-bar span{font-size:9px;white-space:nowrap;padding:0 9px;position:relative}.gantt-bar.blocked{background:repeating-linear-gradient(135deg,#baa276,#baa276 5px,#cbb995 5px,#cbb995 10px)}.gantt-legend{display:flex;gap:15px;align-items:center;padding:14px 20px;font-size:10px;color:#859078}.legend-swatch{display:inline-block;width:8px;height:8px;border-radius:2px;margin-right:5px}.insight-box{background:#f7f2e9;border:1px solid #eee0c4;border-radius:12px;padding:21px;margin-bottom:20px}.insight-box h2{font-size:17px;margin-bottom:9px}.insight-box p{font-size:12px;line-height:1.8;color:#77886b;max-width:850px}.insight-options{display:flex;align-items:center;gap:12px;margin-top:20px;flex-wrap:wrap}.insight-options select{width:auto;font-size:11px}.summary-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.cost-row{display:flex;align-items:center;justify-content:space-between;padding:12px 0;font-size:12px;border-bottom:1px solid var(--line)}.cost-row.total{font-size:18px;font-weight:650;border:0;padding-top:22px}.cost-bar{display:flex;height:18px;border-radius:6px;overflow:hidden;margin:22px 0}.cost-legend{display:grid;gap:12px;font-size:11px}.settings{max-width:800px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.field{display:grid;gap:7px;font-size:11px;color:#778771}.field.full{grid-column:1/-1}.field input,.field select{font-size:12px}.field small{font-size:10px;line-height:1.5}.form-section{grid-column:1/-1;font-size:12px;font-weight:600;border-bottom:1px solid var(--line);padding:12px 0 9px;color:#365b37}.form-actions{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-top:23px;padding-top:18px;border-top:1px solid var(--line)}dialog{width:690px;max-width:calc(100vw - 28px);border:1px solid #e5eadc;border-radius:14px;padding:0;color:var(--ink);max-height:90vh;box-shadow:0 20px 100px #0c1d3e30}dialog::backdrop{background:#23352b66;backdrop-filter:blur(3px)}.modal-head{position:sticky;top:0;background:#fff;display:flex;justify-content:space-between;align-items:center;padding:20px 25px;border-bottom:1px solid var(--line);z-index:2}.modal-head h2{font-size:18px}.modal-body{padding:22px 25px}.form-error{color:var(--red);font-size:12px;line-height:1.5}.toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);background:#142e58;color:#fff;padding:13px 22px;border-radius:9px;z-index:100;max-width:90vw;font-size:12px;opacity:0;pointer-events:none;transition:opacity .2s}.toast.show{opacity:1}.toast.error{background:#a95742}.boot{min-height:100vh;display:grid;place-content:center;color:#557248}.login{max-width:390px;margin:12vh auto;background:#fff;border:1px solid var(--line);border-radius:15px;padding:30px}.login .brand{padding:0 0 30px}.login p{font-size:12px;line-height:1.7;color:#8a9581;margin:10px 0 25px}.login form{display:grid;gap:15px}.login .btn{padding:13px}.login-foot{margin-top:20px;text-align:center;font-size:11px}.ai-loading{padding:28px;color:#758864;font-size:12px}.busy-dot{display:inline-block;width:7px;height:7px;background:#b8ce95;border-radius:50%;animation:pulse 1s infinite;margin-right:8px}.details-note{font-size:11px;line-height:1.8;color:#839174;padding:14px 0}.field-hint{font-size:10px;color:#8b997e}.loading{pointer-events:none;opacity:.6}@keyframes pulse{50%{opacity:.3}}@media(min-width:1500px){.hero{min-height:185px}.hero-art{width:330px}.content{padding:35px 45px}.topbar{padding:0 45px}}@media(max-width:1150px){.sidebar{width:205px}.main{margin-left:205px;width:calc(100% - 205px)}.content{padding:24px}.topbar{padding:0 24px}.kpis{gap:10px}.kpi{padding:15px}.kpi-value{font-size:25px}.project-grid{gap:10px}.project-card{padding:16px}.lower-grid{grid-template-columns:1fr}.hero-art{width:200px;margin:0}.hero h2{font-size:22px}.search input{max-width:150px}}@media(max-width:800px){.sidebar{transform:translateX(-100%);width:234px;transition:transform .2s}.sidebar.open{transform:translateX(0);box-shadow:10px 0 80px #1b3c2033}.main{margin-left:0;width:100%}.mobile-menu{display:grid}.topbar{height:62px;padding:0 18px}.content{padding:22px 18px}.breadcrumb{gap:6px}.top-tools{gap:5px}.search input{max-width:125px}h1{font-size:25px}.page-head{align-items:flex-start}.page-head .actions .btn{padding:9px 10px}.hero{padding:24px;min-height:185px}.hero-art{display:none}.hero h2{font-size:23px}.kpis{grid-template-columns:1fr 1fr}.project-grid{grid-template-columns:1fr}.project-card{padding:18px}.project-card .project-progress{margin-top:17px}.summary-grid{grid-template-columns:1fr}.toolbar{flex-wrap:wrap}.demo-banner{align-items:flex-start;line-height:1.5}.form-grid{grid-template-columns:1fr}.field.full,.form-section{grid-column:1}.panel-head{padding:17px}.project-footer{padding-top:12px}.hero p{max-width:100%}}@media print{.sidebar,.topbar,.demo-banner,.actions,.toolbar,.row-actions,.toast{display:none!important}.main{width:100%;margin:0}.content{padding:0}.panel{overflow:visible}.table-wrap{overflow:visible}body{background:white}.gantt-wrap{overflow:visible}.page-head{margin-bottom:15px}.kpis{grid-template-columns:repeat(4,1fr)}}

/* BERG HOUSE original logo is framed with CSS; the supplied image stays intact. */
.sidebar{overflow-y:auto}.construction-brand{display:block;padding:0 8px 24px}.berg-mark{height:56px;width:190px;overflow:hidden;position:relative;background:#fff}.berg-mark img{position:absolute;width:271px;height:auto;max-width:none;left:-43.8px;top:-60.7px}.product-brand{padding-top:15px;margin-top:13px;border-top:1px solid #e4e7ee}.product-brand strong{font-size:18px;font-weight:650;letter-spacing:-.5px;display:block;color:#0c1d3e}.product-brand span{display:block;color:#9a8a6e;font-size:9px;font-weight:500;letter-spacing:.3px;margin-top:5px}.login .construction-brand{padding-bottom:25px}.hero-art{color:#efa714}.nav button.active{border-left:3px solid #efa714;padding-left:10px}.project-footer,.kpi-foot{color:#7d8698}.nav button,.gantt-head,.breadcrumb{color:#7d8698}.assist-mini p,.insight-box p,.details-note{color:#788295}.field,.field-hint{color:#707d91}.btn.soft{color:#2e496d}.badge{color:#516990;background:#edf1f9}.sidebar-bottom{padding-top:12px}.hero .btn:hover{background:#f8b947}.workspace{margin-bottom:12px}.section-head button{color:#506585}.gantt-day.weekend{background:#f7f8fb}.nav-label{color:#919aab}.hero p{color:#b7c3d7}@media(max-width:800px){.sidebar.open{box-shadow:10px 0 80px #0c1d3e33}}

/* Construction geometry and load planning. */
.fw-workspace{margin-bottom:28px}.fw-selection{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:20px}.fw-selection .field{flex:1}.fw-selection .actions{padding-bottom:2px}.fw-toggle{display:flex;gap:10px;align-items:center;font-size:12px;grid-column:1/-1;padding:14px;background:#f1f4f9;border-radius:8px}.fw-toggle input{width:17px;height:17px}.fw-geometry{grid-column:1/-1}.fw-disabled{display:none}.fw-result{margin:18px 0;border:1px solid #d9e2ed;background:#f8fafd;border-radius:12px;padding:22px;color:#172644}.fw-result-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:20px}.fw-result-head small{display:block;margin-top:6px}.fw-result-top{display:grid;grid-template-columns:1.5fr 1fr;gap:20px}.fw-metrics{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.fw-metric{background:white;border:1px solid #e4e7ee;border-radius:9px;padding:16px}.fw-metric small{font-size:10px;display:block;line-height:1.5}.fw-metric strong{display:block;margin-top:8px;font-size:24px;letter-spacing:-.5px}.fw-metric strong span{font-size:12px;font-weight:500;color:#7d8698}.fw-sketch{display:grid;align-items:center;background:#0c1d3e;border-radius:10px;padding:12px}.fw-sketch svg{width:100%;height:auto}.fw-details{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:20px 0;font-size:11px}.fw-details dt{color:#7d8698;margin-bottom:5px}.fw-details dd{margin:0;line-height:1.6;font-weight:600}.fw-result details{font-size:11px;line-height:1.8;border-top:1px solid #e4e7ee;padding-top:14px}.fw-result summary{cursor:pointer;font-weight:600}.fw-result details p{margin-top:9px}.fw-warnings{margin-top:15px;display:grid;gap:7px;font-size:11px;color:#8a661e;line-height:1.7}.fw-warnings p{padding-left:12px;border-left:2px solid #ffb329}.fw-check-note{font-size:11px;line-height:1.8;margin-top:20px;padding:12px;background:#edf1f7;border-radius:7px}.fw-sources{font-size:10px;line-height:1.8;color:#7d8698;margin-top:12px}.fw-overload{border-color:#c05b44}.fw-overload .fw-warnings{color:#a54431}.fw-workspace .full{grid-column:1/-1}.fw-workspace .fw-geometry .form-grid{margin-top:10px}.btn:disabled{opacity:.45;cursor:default}@media(max-width:800px){.fw-selection{display:block}.fw-selection .actions{margin-top:12px}.fw-result-top{grid-template-columns:1fr}.fw-details{grid-template-columns:1fr}.fw-result{padding:16px}.fw-metric strong{font-size:22px}}@media print{.fw-workspace .fw-selection,.fw-workspace input,.fw-workspace select,.fw-workspace .fw-geometry,.fw-workspace .fw-toggle,.fw-workspace .form-actions{display:none}.fw-result{break-inside:avoid}}.fw-geometry[data-structure="wall"] [data-fw-kind="slab"],.fw-geometry[data-structure="slab"] [data-fw-kind="wall"]{display:none}.fw-workspace #fw-preview{order:-1}.fw-workspace #fw-preview .fw-result{margin-top:0}@media print{body:has(.fw-workspace) .content > :not(.fw-workspace){display:none}.fw-workspace .form-grid > .field,.fw-workspace .form-section,.fw-workspace .panel-head button{display:none}}