:root{--bg:#f5f5f0;--paper:#fff;--ink:#233c38;--muted:#77837b;--line:#dfe4dc;--green:#264b3e;--soft:#e7ede6;--lime:#d8e7b8;--gold:#bc9160;--red:#a54d43}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:15px/1.55 'Segoe UI',Arial,sans-serif}button,input,textarea,select{font:inherit}button{border:1px solid var(--line);border-radius:9px;background:#fff;color:var(--ink);padding:10px 15px;cursor:pointer;font-weight:600;transition:.15s}button:hover{background:var(--soft);border-color:#adc0ac}button:disabled{opacity:.5;cursor:wait}button.primary{background:var(--green);color:#fff;border-color:var(--green)}button.primary:hover{background:#376552}.ghost{background:transparent}.full{width:100%}input,select,textarea{width:100%;border:1px solid var(--line);border-radius:7px;padding:10px 11px;background:#fff;color:var(--ink);outline:none}input:focus,textarea:focus,select:focus{border-color:#7c9f85;box-shadow:0 0 0 3px #a5c3a52b}textarea{resize:vertical}label{display:block;margin:12px 0;font-size:13px;color:#64716a}label input,label textarea,label select{margin-top:6px}input[type=checkbox]{width:16px;height:16px;accent-color:var(--green);vertical-align:middle;margin:0 7px 0 0}.check,.toggles label{display:flex;align-items:center}.sidebar{position:fixed;inset:0 auto 0 0;width:236px;background:#fafbf7;border-right:1px solid var(--line);padding:34px 22px;display:flex;flex-direction:column;z-index:3}.brand{display:flex;align-items:center;gap:12px;letter-spacing:2px}.brand>b{font-size:36px;font-weight:400;width:48px;height:48px;line-height:48px;text-align:center;border:1px solid #b0c1a7;border-radius:13px;background:#edf1e3}.brand>span{font-weight:750;font-size:21px}.brand small{display:block;font-size:9px;letter-spacing:2.7px;color:var(--muted);margin-top:3px}.nav-label{font-size:9px;letter-spacing:1.6px;color:#98a18f;margin:46px 8px 16px}nav{display:grid;gap:6px}nav button{border:0;background:transparent;text-align:left;font-weight:500;padding:13px 12px;color:#6e7b72}nav button span{display:inline-block;width:25px;font-size:19px}nav button.active{background:#e8eee2;color:#2c4b3d;font-weight:700}.sidebar-bottom{margin-top:auto;font-size:11px;color:var(--muted)}.local-dot:before{content:'';display:inline-block;width:7px;height:7px;border-radius:50%;background:#6b9866;margin-right:7px}.sidebar-bottom p{margin:12px 0 20px}.sidebar-bottom button{font-size:12px;padding:8px 18px}main{margin-left:236px;padding:0 42px 60px;max-width:1750px}.topbar{height:86px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);font-size:12px}.breadcrumb{color:#99a196}.pill{border-radius:30px;font-size:11px;padding:8px 15px;font-weight:500}.view{padding-top:39px}.eyebrow{font-size:10px;font-weight:700;letter-spacing:2px;color:#7b9075}h1{font-size:38px;font-weight:550;letter-spacing:-1.1px;line-height:1.2;margin:12px 0 16px}h2{font-size:21px;font-weight:600;letter-spacing:-.4px;margin:8px 0 12px}h3{font-size:15px;margin:3px 0 12px}.lead{color:var(--muted);font-size:16px;margin-bottom:27px;max-width:850px}.quick-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:28px 0 30px}.quick-grid button{display:grid;text-align:left;padding:22px;gap:8px;min-height:142px;font-weight:400}.quick-grid i{font-size:25px;font-style:normal;color:#82996b}.quick-grid strong{font-size:14px}.quick-grid span{color:var(--muted);font-size:12px}.composer{background:#fff;border:1px solid #cfdaca;border-radius:13px;padding:17px 21px;box-shadow:0 5px 22px #24372505}.composer>textarea{border:none;padding:4px;box-shadow:none;font-size:15px;min-height:96px}.composer-bottom{display:flex;justify-content:space-between;gap:10px;align-items:center;border-top:1px solid #edf0e9;padding-top:10px}.toggles{display:flex;gap:18px;flex-wrap:wrap}.toggles label{font-size:11px}.composer details{margin-top:10px;border-top:1px solid var(--line);padding-top:12px}details summary{cursor:pointer;font-size:12px;color:#6d8769}.grid2,.settings-grid,.planner-bottom{display:grid;grid-template-columns:1fr 1fr;gap:0 18px}.muted{color:var(--muted);font-size:13px}.micro{font-size:11px;line-height:1.6;color:#8a9187;margin:13px 0}.actions{display:flex;gap:8px;flex-wrap:wrap}.heading-row{display:flex;justify-content:space-between;align-items:center;gap:20px}.heading-row h1{margin-bottom:21px}article{background:#fff;border:1px solid var(--line);border-radius:12px;padding:24px;margin-bottom:20px}.conversation{display:grid;gap:18px;margin-bottom:22px}.message{background:#fff;border:1px solid var(--line);border-radius:12px;overflow:hidden}.message-question{background:#edf1e8;padding:17px 22px;font-weight:600;white-space:pre-wrap}.message-answer{padding:21px 22px;white-space:pre-wrap;overflow-wrap:anywhere}.message-meta{padding:0 22px 18px}.message-meta details{margin:12px 0}.source-card{background:#f7f8f3;border:1px solid var(--line);border-radius:8px;padding:13px;margin:8px 0;font-size:12px}.source-card pre{white-space:pre-wrap;overflow-wrap:anywhere;max-height:230px;overflow:auto;font:12px/1.6 inherit}.source-card a{color:#315c48;overflow-wrap:anywhere}.notice{border-left:3px solid #c5ad7a;background:#f8f5eb;padding:12px 15px;margin:13px 0;font-size:12px;color:#776447}.source-tag{display:inline-block;padding:2px 6px;border-radius:4px;background:#dde8d6;color:#3e5b39;margin-right:6px;font-size:10px}.quote{border-left:2px solid #a2b593;padding-left:14px;font-size:13px}.project-strip{display:flex;align-items:center;gap:8px;margin:3px 0 18px;flex-wrap:wrap}.project-strip select{max-width:230px;font-size:12px}.project-strip button{font-size:12px}.project-strip .muted{margin-left:auto;font-size:11px}.planner-layout{display:grid;grid-template-columns:minmax(0,1fr) 255px;gap:18px}.drawing{background:#fff;border:1px solid var(--line);border-radius:12px;overflow:hidden;min-width:0}.drawing-tools,.tool-row{display:flex;gap:6px;align-items:center;padding:12px;border-bottom:1px solid var(--line);flex-wrap:wrap}.drawing-tools button{padding:6px 9px;font-size:11px}.segmented{display:flex;background:#eef1e9;border-radius:7px;padding:3px;margin-right:auto}.segmented button{border:0;background:transparent}.segmented button.active{background:#fff;box-shadow:0 1px 4px #0001}.tool-row{padding:8px 12px;gap:4px}.tool-row button{padding:5px 8px;font-size:10px;border-color:transparent}.tool-row button.active{color:white;background:var(--green)}#canvasWrap{position:relative;height:550px;background:#fafbf8;overflow:hidden}#planCanvas{width:100%;height:100%;display:block;touch-action:none}.canvas-label{position:absolute;bottom:13px;left:15px;right:15px;pointer-events:none;font-size:10px;color:#91a08f;text-align:center}.drawing-footer{padding:10px 15px;border-top:1px solid var(--line);display:flex;gap:15px;align-items:center;font-size:10px;color:#8b9587}.drawing-footer label{margin:0 0 0 auto;display:flex;align-items:center;gap:8px;font-size:10px}.drawing-footer input{max-width:90px;padding:0;margin:0}#areaBadge{font-weight:700;color:#496143}.inspector{position:static;background:#fff;border:1px solid var(--line);border-radius:12px;padding:19px;max-height:740px;overflow:auto}.inspector label{font-size:11px;margin:9px 0}.inspector input{padding:7px 8px;font-size:12px}.inspector .grid2{gap:10px}.inspector h3{font-size:13px}.inspector button{font-size:11px;padding:7px 10px}.inspector hr{border:0;border-top:1px solid var(--line);margin:20px 0}.furniture-grid{display:grid;grid-template-columns:1fr 1fr;gap:6px}.furniture-grid button{font-weight:400}.planner-bottom{margin-top:20px}.planner-bottom textarea{font-size:13px}.budget{margin-top:0}table{border-collapse:collapse;width:100%;text-align:left;font-size:12px}th{font-size:10px;text-transform:uppercase;letter-spacing:.8px;color:#8b9885;background:#f7f8f3}td,th{padding:13px 12px;border-bottom:1px solid var(--line)}td input{width:105px;font-size:12px;padding:7px}.budget-total{display:flex;justify-content:flex-end;align-items:baseline;gap:25px;padding-top:24px}.budget-total span{font-size:12px;color:var(--muted)}.budget-total strong{font-size:26px;font-weight:500}.reserve-label{display:flex;align-items:center;gap:14px;max-width:320px}.reserve-label input{width:75px;margin:0}.table-scroll{overflow:auto}.upload-zone{border:1px dashed #a9bba0;border-radius:14px;padding:36px;display:grid;justify-items:center;gap:9px;background:#f9fbf4;cursor:pointer}.upload-zone>span:first-child{font-size:30px;color:#93a980}.upload-zone input{width:auto;font-size:12px;border:0;background:transparent}.card-list{display:grid;gap:13px}.file-card{padding:18px 22px;border:1px solid var(--line);border-radius:10px;background:#fff;display:flex;align-items:center;justify-content:space-between;gap:20px}.file-card p{margin:3px 0}.file-card button{font-size:11px}.file-card .description{white-space:pre-wrap;overflow-wrap:anywhere}.status-text{font-size:12px;background:#eef2e8;border-radius:7px;padding:12px}.error{color:var(--red)}#toast{position:fixed;top:16px;right:25px;z-index:20;background:#234d3b;color:#fff;box-shadow:0 5px 22px #152c222a;border-radius:9px;padding:14px 22px;max-width:600px;font-size:13px}.auth{max-width:450px;background:#fff;border:1px solid var(--line);padding:38px;margin:10vh auto;border-radius:16px}.auth h1{font-size:26px;margin-top:35px}.auth p{font-size:13px;color:var(--muted)}[hidden]{display:none!important}@media(max-width:1250px){main{padding-left:25px;padding-right:25px}.planner-layout{grid-template-columns:minmax(0,1fr) 215px}.sidebar{width:205px;padding:28px 15px}main{margin-left:205px}.quick-grid{gap:10px}.quick-grid button{padding:18px}}@media(max-width:980px){.sidebar{position:relative;width:auto;padding:15px 20px;border-right:0;border-bottom:1px solid var(--line)}.sidebar .nav-label,.sidebar-bottom{display:none}.brand>b{width:37px;height:37px;font-size:29px;line-height:37px}.brand>span{font-size:17px}nav{display:flex;margin-top:13px;overflow:auto}nav button{white-space:nowrap;padding:8px 12px;font-size:12px}nav button span{font-size:15px;width:20px}main{margin-left:0}.topbar{height:63px}.planner-layout{grid-template-columns:minmax(0,1fr) 230px}.view{padding-top:28px}.quick-grid button{min-height:130px}.inspector{max-height:760px}}@media(max-width:700px){main{padding:0 15px 30px}h1{font-size:29px}.breadcrumb{display:none}.quick-grid{grid-template-columns:1fr}.quick-grid button{min-height:0;grid-template-columns:30px 1fr;gap:2px 10px;padding:15px}.quick-grid i{grid-row:1/3}.quick-grid span{grid-column:2}.planner-layout,.settings-grid,.planner-bottom{grid-template-columns:1fr}.inspector{max-height:none}.inspector .furniture-grid{grid-template-columns:repeat(3,1fr)}#canvasWrap{height:440px}.heading-row{align-items:flex-start}.heading-row .actions{max-width:135px;justify-content:flex-end}.heading-row button{font-size:11px}.composer-bottom{align-items:flex-end}.toggles{gap:0}.composer{padding:15px}.grid2{grid-template-columns:1fr 1fr}.planner-bottom{gap:0}.topbar .pill{max-width:170px;overflow:hidden;text-overflow:ellipsis}.file-card{padding:14px}.settings-grid article{padding:20px}.budget .heading-row{display:block}.auth{margin:30px 15px}.drawing-footer{gap:8px}}@media print{@page{size:A4 landscape;margin:12mm}body{background:white}#app,#auth,#toast{display:none!important}#printArea{display:block!important;color:#222;font:12px Arial}#printArea svg{max-height:150mm;max-width:100%;display:block;margin:auto}#printArea h2{font:18px Arial}#printArea table{font-size:10px}#printArea td,#printArea th{padding:6px}#printArea .print-meta{font-size:10px;margin:8px 0}#printArea .print-break{break-before:page}}
/* Integrated calculation and evidence reports. */
.sidebar nav{max-height:calc(100vh - 300px);overflow:auto}.sidebar nav button{padding:11px 13px}
.code-input{font:12px/1.55 Consolas,monospace;tab-size:2;white-space:pre;min-height:280px}
.metric-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:18px 0}
.metric{padding:17px;background:#eef4ee;border-radius:12px;min-width:0}.metric small{display:block;color:#587265;font-size:12px}.metric strong{display:block;font-size:25px;margin-top:7px}.metric strong span{font-size:12px;font-weight:400}
.result-diagram{width:100%;max-height:440px;background:#f8faf5;border-radius:14px;font-family:'Segoe UI',sans-serif;fill:#294536}
.report{margin-top:22px}.report h3{margin-top:28px}.report pre{white-space:pre-wrap;overflow-wrap:anywhere;max-height:500px;overflow:auto;background:#f6f7f3;padding:16px;border-radius:10px;font-size:12px}
.hash{overflow-wrap:anywhere}.comparison{box-shadow:none;border:1px solid #dde5db;margin:18px 0}.render-preview{width:100%;height:auto;border-radius:14px;display:block;margin:18px 0}.status-text{overflow-wrap:anywhere}
.message-answer{unicode-bidi:plaintext}.quote{overflow-wrap:anywhere}.report td{vertical-align:top;max-width:320px;overflow-wrap:anywhere}
@media(max-width:1050px){.metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.sidebar nav{max-height:none}.sidebar nav button{padding:9px}.metric strong{font-size:20px}}
@media print{#printArea .actions,#printArea button{display:none}#printArea .render-preview{max-height:210mm;width:auto;max-width:100%}#printArea pre{white-space:pre-wrap;overflow-wrap:anywhere;font-size:10px}#printArea article{break-inside:auto;box-shadow:none}#printArea .metric-grid{grid-template-columns:repeat(4,1fr)}#printArea details{display:block}#printArea svg{max-height:100mm}}

/* Inline attachments, 0.12 */
.inline-photo{display:block;background:transparent;border:0;padding:0;margin:8px 0;max-width:100%;text-align:left}.inline-photo .chat-photo{display:block;width:auto;max-width:100%;max-height:420px;object-fit:contain;border-radius:16px}.attachment-thumb{display:block;width:72px;height:72px;object-fit:cover;border-radius:10px}.attachment-chip:has(.attachment-thumb){padding:4px}.attachment-chip button:has(.attachment-thumb){padding:0;border:0}

/* Update-center reviews remain readable on narrow displays. */
#updates .settings-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}#updates article,#updateCenterList,#updateCenterDetail{min-width:0;overflow-wrap:anywhere}#updates button{max-width:100%;white-space:normal}#updateCenterDetail details{margin:12px 0}#updates a{overflow-wrap:anywhere}@media(max-width:700px){#updates .settings-grid{grid-template-columns:minmax(0,1fr)}}
