:root{--orange:#f16136;--ink:#181818;--bg:#f5f3f0;--card:#fff;--line:#dedbd7;--muted:#777;--green:#198760;--blue:#2367c9}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font-family:Inter,Segoe UI,Arial,sans-serif}header{height:68px;background:#151515;color:#fff;display:flex;align-items:center;justify-content:space-between;padding:0 3vw;border-bottom:4px solid var(--orange);position:sticky;top:0;z-index:10}header>div{display:flex;flex-direction:column}.brand{font-weight:900;letter-spacing:.18em;font-size:20px}.brand+small{color:#aaa;margin-top:2px}nav{display:flex;gap:6px}button{border:0;border-radius:8px;background:var(--orange);color:#fff;padding:10px 14px;font-weight:700;cursor:pointer}nav button{background:transparent;color:#bbb}nav button.active{background:var(--orange);color:#fff}.secondary{background:#fff;color:#222;border:1px solid var(--line)}.tiny{padding:5px 8px;font-size:11px;float:right}main{max-width:1500px;margin:auto;padding:24px}.page{display:none}.page.active{display:block}.page-title{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px}.page-title h1{margin:0;font-size:27px}.page-title p{color:var(--muted);margin:5px 0}.actions{display:flex;gap:8px}.studio-grid{display:grid;grid-template-columns:420px 1fr;gap:16px}.panel,.kpi{background:var(--card);border-radius:14px;box-shadow:0 5px 22px #0000000b;padding:18px}.form-panel{max-height:calc(100vh - 130px);overflow:auto}.form-panel h3,.panel h3{font-size:14px;text-transform:uppercase;letter-spacing:.06em;margin:8px 0 12px;border-bottom:1px solid #eee;padding-bottom:8px}.fields{display:grid;gap:10px;margin-bottom:10px}.fields.two{grid-template-columns:1fr 1fr}.fields.three{grid-template-columns:repeat(3,1fr)}.fields.four{grid-template-columns:repeat(4,1fr)}label{font-size:11px;font-weight:700;color:#555;display:block}textarea{width:100%;border:1px solid var(--line);border-radius:7px;padding:9px;background:#fff;margin-top:5px;font:inherit;font-size:13px;min-height:180px;resize:vertical;line-height:1.45}.panel-row{display:grid;grid-template-columns:32px 1fr 1.2fr 1fr;gap:6px;align-items:end;margin:7px 0;padding:8px;background:#f7f6f4;border-radius:8px}.panel-row input,.panel-row select{padding:7px}.canvas-panel{min-height:680px;display:flex;flex-direction:column}.drawing-head{display:flex;justify-content:space-between;color:var(--muted);font-size:13px}.drawing-head b{color:#222}.drawing-head+div{flex:1;display:grid;place-items:center;overflow:auto}.drawing-head svg{width:100%;height:auto;max-height:610px}.legend{display:flex;gap:18px;justify-content:center;font-size:12px;color:var(--muted)}.legend i{display:inline-block;width:12px;height:12px;margin-right:5px;border:2px solid}.fixed{background:#e8eef1;border-color:#50636e!important}.openable{background:#fff2e7;border-color:var(--orange)!important}.sliding{background:#e8f1ff;border-color:var(--blue)!important}.folding{background:#e9f8f0;border-color:var(--green)!important}.validation{font-size:12px;border-radius:8px;padding:10px;margin-top:10px;background:#e9f7f1;color:#176646}.validation.warn{background:#fff0df;color:#91550b}.grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:16px}.kpi span{color:var(--muted);font-size:12px;text-transform:uppercase}.kpi b{display:block;font-size:26px;margin-top:8px}.kpi.accent{border-top:4px solid var(--orange)}.quote-card{overflow:auto}table{width:100%;border-collapse:collapse;font-size:13px;margin-top:14px}th,td{padding:10px;border-bottom:1px solid #eee;text-align:left}th{text-transform:uppercase;font-size:11px;color:#666}.stats-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:16px}.barrow{display:grid;grid-template-columns:170px 1fr 40px;gap:8px;align-items:center;margin:10px 0;font-size:12px}.bar{height:10px;background:#eee;border-radius:10px;overflow:hidden}.bar i{display:block;height:100%;background:var(--orange)}.saved-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.saved-card h3{margin:0}.saved-card p{color:var(--muted)}#toast{position:fixed;right:24px;bottom:24px;background:#191919;color:#fff;border-radius:9px;padding:12px 16px;opacity:0;transform:translateY(15px);transition:.2s;pointer-events:none}#toast.show{opacity:1;transform:none}@media(max-width:1000px){.studio-grid{grid-template-columns:1fr}.form-panel{max-height:none}.grid-4{grid-template-columns:repeat(2,1fr)}.fields.four{grid-template-columns:repeat(2,1fr)}}@media(max-width:650px){header{height:auto;display:block;padding:12px}nav{overflow:auto;margin-top:8px}.page-title{display:block}.actions{margin-top:10px;flex-wrap:wrap}.fields.two,.fields.three,.fields.four,.stats-grid,.saved-grid,.grid-4{grid-template-columns:1fr}.panel-row{grid-template-columns:28px 1fr 1fr}.studio-grid{display:block}main{padding:12px}}
.custom-card{margin-top:16px}.custom-head{display:flex;align-items:center;justify-content:space-between}.custom-head h3{margin-bottom:3px}.custom-head p{margin:0;color:var(--muted);font-size:12px}.custom-fields{grid-template-columns:2fr 2fr repeat(6,1fr);align-items:end}.check{display:flex;align-items:center;gap:8px;font-size:12px}.check input{width:auto;margin:0}.remove-item{background:#fff1ec;color:#b43d1d;padding:6px 8px}.no-print{width:40px}@media(max-width:1000px){.custom-fields{grid-template-columns:repeat(2,1fr)}}
.shape-field{display:none}.master-form{margin-bottom:16px}.master-fields{grid-template-columns:repeat(5,1fr)}.master-toolbar{display:flex;align-items:center;justify-content:space-between;gap:18px}.master-toolbar input{max-width:600px}.table-scroll{overflow:auto;max-height:620px}.master-list table{min-width:1100px}.master-list thead{position:sticky;top:0;background:#fff;z-index:2}.inactive-row{opacity:.55;background:#f2f2f2}.inactive-row td{text-decoration-color:#999}.master-list .tiny{float:none;padding:5px 7px;white-space:nowrap}@media(max-width:1000px){.master-fields{grid-template-columns:repeat(2,1fr)}}
.print-report{display:none;background:#fff}.print-letterhead{display:flex;justify-content:space-between;border-bottom:3px solid var(--orange);padding-bottom:12px}.print-letterhead>div{display:flex;flex-direction:column}.print-letterhead strong{font-size:28px;letter-spacing:.16em}.print-letterhead span{font-size:11px;color:#666}.print-letterhead>div:last-child{text-align:right}.print-customer{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;padding:12px 0;border-bottom:1px solid #bbb}.print-customer div{display:flex;flex-direction:column}.print-customer small{color:#777}.print-item{border:1px solid #bbb;margin:14px 0;padding:12px;break-inside:avoid;page-break-inside:avoid}.print-item-title{display:flex;justify-content:space-between;background:#f4f1ee;padding:8px;border-left:4px solid var(--orange)}.print-layout{display:grid;grid-template-columns:1.5fr 1fr;gap:14px;align-items:center}.print-drawing svg{width:100%;max-height:250px}.print-spec table,.print-commercial{margin-top:6px}.print-spec th,.print-spec td,.print-commercial th,.print-commercial td{padding:5px;font-size:10px}.print-commercial td{text-align:center}.print-commercial th{text-align:center;background:#f7f5f2}.print-custom{break-inside:avoid}.print-totals{margin-left:auto;width:48%;break-inside:avoid}.print-totals .grand{font-size:16px;background:#fff1ea}.print-totals p{font-size:9px;color:#666}.print-report footer{text-align:center;border-top:1px solid #aaa;padding-top:10px;font-size:11px}
.quote-print-footer{margin-top:18px;padding-top:8px;-webkit-print-color-adjust:exact;print-color-adjust:exact}
.quote-pay-row{display:grid;grid-template-columns:1.15fr 1fr;gap:18px;align-items:start;margin-bottom:12px;break-inside:avoid;page-break-inside:avoid}
.quote-pay-row-solo{grid-template-columns:1fr}
.quote-bank{width:100%;border-collapse:collapse;margin:0;font-size:11px;border:1px solid #d8d4cf}
.quote-bank thead th{background:var(--orange);color:#fff;text-align:left;font-size:13px;letter-spacing:.02em;padding:8px 10px;border:0}
.quote-bank tbody th,.quote-bank tbody td{padding:6px 10px;border-bottom:1px solid #ece9e5;font-size:11px;text-transform:none}
.quote-bank tbody th{width:38%;color:#555;font-weight:700;background:#faf8f6}
.quote-bank tbody td{color:#222;font-weight:600}
.quote-bank tbody tr:last-child th,.quote-bank tbody tr:last-child td{border-bottom:0}
.quote-qr-row{display:flex;justify-content:flex-end;gap:18px;flex-wrap:wrap}
.quote-qr{display:flex;flex-direction:column;align-items:center;gap:6px;min-width:92px}
.quote-qr span{font-size:10px;font-weight:700;color:#666;text-align:center;letter-spacing:.01em}
.quote-qr img{width:88px;height:88px;object-fit:contain;background:#fff;border:1px solid #e6e2dd;padding:3px}
.quote-terms{border-top:1px solid #bbb;padding-top:10px;margin-top:4px}
.quote-terms h3{margin:0 0 8px;font-size:12px;letter-spacing:.04em}
.quote-terms ol{margin:0;padding-left:18px;font-size:10px;color:#333;line-height:1.55}
.quote-terms li{margin:0 0 3px}
.quote-thanks{text-align:center;margin:14px 0 0;font-size:12px;color:#444}
.qr-admin-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:12px}
.qr-admin-card{border:1px solid var(--line);border-radius:12px;padding:12px;background:#fafbfc}
.qr-admin-card h4{margin:0 0 10px;font-size:12px;letter-spacing:.04em;text-transform:uppercase}
.qr-admin-preview{height:140px;display:grid;place-items:center;background:#fff;border:1px dashed #d5d0ca;border-radius:10px;margin-bottom:10px;overflow:hidden}
.qr-admin-preview img{max-width:120px;max-height:120px;object-fit:contain}
.qr-admin-preview span{font-size:12px;color:var(--muted)}
.qr-admin-card .tiny{float:none;margin-top:8px;width:100%}
.brand-admin-preview img{max-width:160px;max-height:80px;object-fit:contain}
.brand-favicon-preview img{max-width:48px;max-height:48px}
.quote-website-url{display:block;font-size:9px;font-weight:600;color:var(--blue);text-align:center;word-break:break-all;max-width:110px;line-height:1.3}
@media(max-width:800px){.qr-admin-grid{grid-template-columns:1fr}.quote-pay-row{grid-template-columns:1fr}.quote-qr-row{justify-content:flex-start}}
@media print{@page{size:A4;margin:10mm}body{background:#fff}header,aside,.actions,nav,#toast,.legend,.custom-card,.production-bom,.no-print,#quotation>.page-title,#quotation>.grid-4,#quotation>.quote-card{display:none!important}main{padding:0;max-width:none}.page{display:none!important}#quotation.page.active{display:block!important}.print-report{display:block!important}.print-item{margin:8px 0;padding:8px}.print-layout{grid-template-columns:1.45fr 1fr}.print-drawing svg{max-height:220px}}
.internal-note{margin:0 0 14px;padding:10px 12px;border-left:4px solid var(--orange);background:#fff6f1;color:#7b4a35;font-size:12px}.internal-cost{display:none}.customer-line-amount{display:flex;justify-content:space-between;align-items:center;margin-top:8px;padding:9px 12px;background:#fff3ec;border:1px solid #f4c6b3}.customer-line-amount b{font-size:16px;color:#b6401f}
.production-bom{margin-top:16px}.production-bom .fields{align-items:end}.production-print-report{display:none;background:#fff}.production-line{margin:12px 0;padding:10px;border:1px solid #aaa;break-inside:avoid}.production-line h3{margin:0 0 5px}.production-line p{margin:0 0 8px}.production-summary{margin-top:18px;break-inside:avoid}.production-summary th{background:#eee}.production-mode #projectPrintReport{display:none!important}
.auto-bom-preview{margin-top:14px;padding:12px;border:1px solid #cfd8df;border-radius:10px;background:#f8fbfd}.auto-bom-preview h3{margin-top:0}.auto-bom-preview table{font-size:11px}.auto-bom-preview .verify-row{background:#fff1c7}.legacy-sqft{display:none!important}
.workflow-guide{display:flex;align-items:center;justify-content:center;gap:14px;margin:-4px 0 16px;padding:10px;background:#fff;border:1px solid #e8e4df;border-radius:10px;font-size:12px}.workflow-guide span{display:flex;align-items:center;gap:7px}.workflow-guide b{display:grid;place-items:center;width:23px;height:23px;border-radius:50%;background:var(--orange);color:#fff}.workflow-guide i{color:#aaa}@media(max-width:650px){.workflow-guide{align-items:flex-start;flex-direction:column}.workflow-guide i{display:none}}
@media print{.print-drawing svg:not(.quote-elevation)>g:last-of-type{display:none!important}.customer-line-amount{padding:6px 9px}.internal-note,.internal-cost,.workflow-guide{display:none!important}}
@media print{body.production-mode #quotation>*{display:none!important}body.production-mode #quotation>.production-print-report{display:block!important}body.production-mode .production-print-report{display:block!important}body.production-mode .production-line table,body.production-mode .production-summary table{font-size:10px}body.production-mode .production-line th,body.production-mode .production-line td,body.production-mode .production-summary th,body.production-mode .production-summary td{padding:5px}}
.member-editor{margin:-4px 0 10px 38px;padding:8px;border:1px dashed #c8c2bc;border-radius:8px;background:#fff}.member-head{display:flex;justify-content:space-between;align-items:center;font-size:11px}.member-row{display:grid;grid-template-columns:1.2fr 1fr 1fr 34px;gap:6px;align-items:end;margin-top:6px}.member-row select,.member-row input{padding:6px;margin-top:2px}.member-row .remove-item{height:30px}@media(max-width:650px){.member-editor{margin-left:0}.member-row{grid-template-columns:1fr 1fr}.member-row .remove-item{width:34px}}
.legacy-divider,.legacy-handle{display:none!important}
.brand-logo{width:155px;height:42px;object-fit:contain;object-position:left center;background:#fff;border-radius:4px}.brand-logo+small{color:#aaa;margin-top:2px}.print-report,.production-print-report{position:relative;background:#fff}.print-report:before,.production-print-report:before{content:"";position:fixed;inset:18% 8%;background:var(--print-logo, url('kavach-logo.jpg')) center/contain no-repeat;opacity:.045;pointer-events:none;z-index:0}.print-report>*,.production-print-report>*{position:relative;z-index:1}.print-letterhead .print-logo{width:190px;height:60px;object-fit:contain;object-position:left center}
header{height:auto;min-height:68px;flex-wrap:wrap;gap:10px;padding:10px 3vw}nav{flex-wrap:wrap;flex:1;justify-content:flex-end}.header-user{display:flex;align-items:center;gap:12px;color:#ddd;font-size:12px;white-space:nowrap}.header-user small{display:block;color:#888;text-transform:uppercase;letter-spacing:.06em}.logout-link{color:#fff;text-decoration:none;background:transparent;border:1px solid #444;padding:8px 12px;border-radius:8px;font-weight:700}.logout-link:hover{border-color:var(--orange);color:var(--orange)}.auth-body{min-height:100vh;display:grid;place-items:center;background:var(--bg)}.auth-card{width:min(440px,92vw)}.auth-card h1{margin:12px 0 6px}.auth-form{display:grid;gap:12px;margin-top:16px}.chip{display:inline-block;padding:3px 8px;border-radius:999px;font-size:11px;font-weight:700;background:#eee}.chip.draft{background:#eee;color:#444}.chip.sent{background:#dce8ff;color:#2367c9}.chip.follow_up{background:#fff1c7;color:#91550b}.chip.approved{background:#d8f5e8;color:#176646}.chip.rejected{background:#ffd9d0;color:#b43d1d}.chip.expired{background:#ececec;color:#666}.chip.converted{background:#e3ddff;color:#4b38a0}.tracker-filters .fields{grid-template-columns:repeat(auto-fit,minmax(160px,1fr))}.tracker-table{min-width:860px}[hidden]{display:none!important}.tracker-board{display:grid;grid-template-columns:repeat(7,minmax(180px,1fr));gap:10px;overflow:auto;padding-bottom:12px}.board-col h3{display:flex;justify-content:space-between;font-size:12px;margin:0 0 8px}.board-col .saved-card{margin-bottom:8px}.drawer-backdrop{position:fixed;inset:0;background:#0006;z-index:20}.drawer{position:fixed;right:0;top:0;bottom:0;width:min(420px,100%);background:#fff;z-index:21;box-shadow:-8px 0 30px #0002;overflow:auto;padding:18px;transform:translateX(110%);transition:.2s}.drawer.open{transform:none}.drawer-head{display:flex;justify-content:space-between;align-items:center}.event-row{border-bottom:1px solid #eee;padding:8px 0;font-size:13px}.event-row small{color:var(--muted);margin-left:8px}.span-2{grid-column:1/-1}@media print{#dashboard,#tracker,#profile,#settings,#users,.header-user,.drawer,.drawer-backdrop,.tracker-filters,.sidebar,.topbar,.sidebar-scrim,.nav-toggle{display:none!important}}@media(max-width:650px){.header-user{width:100%;justify-content:space-between}.tracker-board{grid-template-columns:1fr}}
#drawingCanvas svg.quote-elevation,#drawingSvg.quote-elevation{width:100%;max-width:100%;height:auto;max-height:none;min-height:440px}
.canvas-panel{min-height:760px}
.print-layout{display:grid!important;grid-template-columns:1fr!important;gap:12px;align-items:start}
.print-drawing{width:100%;border:1px solid #cfcfcf;background:#fff;padding:10px 8px 6px;text-align:center}
.print-drawing svg,.print-drawing svg.quote-elevation{width:100%;height:auto;max-height:none!important;min-height:300px;display:block;margin:0 auto}
.print-spec th,.print-spec td,.print-commercial th,.print-commercial td{font-size:12px;padding:7px 8px}
@media print{
  .print-layout{grid-template-columns:1fr!important}
  .print-drawing svg,.print-drawing svg.quote-elevation{width:auto!important;max-width:100%!important;height:105mm!important;max-height:105mm!important;min-height:90mm!important}
  .print-spec th,.print-spec td,.print-commercial th,.print-commercial td{font-size:11px;padding:6px 7px}
}

.range-val{float:right;font-weight:600;color:var(--muted)}
.cover-settings .check{margin:0 0 14px}
.cover-preview-wrap{margin-top:16px;display:flex;justify-content:flex-start}
.quote-cover,.quote-cover-bg,.quote-cover-overlay{-webkit-print-color-adjust:exact;print-color-adjust:exact}
.quote-cover{position:relative;overflow:hidden;color:#fff;background:#111;box-sizing:border-box}
.quote-cover-bg{position:absolute;inset:0;background-size:cover;background-position:center;background-repeat:no-repeat}
.quote-cover-overlay{position:absolute;inset:0;background:rgba(10,12,16,var(--cover-overlay,.48))}
.quote-cover-watermark{position:absolute;left:50%;top:38%;width:min(68%,440px);transform:translate(-50%,-50%);opacity:var(--cover-watermark,1);pointer-events:none;object-fit:contain;filter:drop-shadow(0 8px 18px rgba(0,0,0,.35))}
.quote-cover-content{position:relative;z-index:2;height:100%;min-height:inherit;display:flex;flex-direction:column;justify-content:flex-end;padding:12% 10% 9%;box-sizing:border-box}
.quote-cover-kicker{margin:0 0 10px;letter-spacing:.28em;font-size:11px;font-weight:800;color:var(--orange);text-transform:uppercase}
.quote-cover-content h1{margin:0 0 12px;font-size:32px;line-height:1.12;font-weight:800;letter-spacing:-.02em;text-shadow:0 2px 18px rgba(0,0,0,.35)}
.quote-cover-address{margin:0 0 10px;font-size:14px;line-height:1.45;color:#f3f3f3;max-width:90%}
.quote-cover-type{margin:0;display:inline-flex;align-self:flex-start;border:1px solid rgba(241,97,54,.85);color:#fff;padding:6px 12px;border-radius:999px;font-size:12px;font-weight:700;letter-spacing:.04em;background:rgba(241,97,54,.18)}
.quote-cover-meta{margin:18px 0 0;font-size:12px;letter-spacing:.08em;color:#d7d7d7;text-transform:uppercase}
.cover-preview{width:280px;height:396px;border-radius:10px;box-shadow:0 12px 28px rgba(0,0,0,.18);flex-shrink:0}
.cover-preview .quote-cover-content h1{font-size:18px}
.cover-preview .quote-cover-address,.cover-preview .quote-cover-meta{font-size:11px}
.cover-preview .quote-cover-kicker{font-size:9px}
.cover-preview .quote-cover-type{font-size:10px;padding:4px 9px}
.print-report:has(.quote-cover):before{display:none}
@media print{
  .cover-preview-wrap,.cover-settings,.brand-settings,#resetCoverBg{display:none!important}
  .quote-cover{width:210mm;height:297mm;min-height:297mm;page-break-after:always;break-after:page}
  .quote-cover-content h1{font-size:28pt}
  .quote-cover-address{font-size:13pt}
  .quote-cover-kicker{font-size:10pt}
  .quote-cover-type{font-size:11pt}
  .quote-cover-watermark{width:min(70%,150mm)}
  .quote-print-footer{margin-top:10px}
  .quote-pay-row{gap:12px}
  .quote-qr img{width:78px;height:78px}
  .quote-terms ol{font-size:9.5px}
}

/* 2D Studio tab state machine */
.studio-tabs{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 16px;padding:10px;background:#fff;border:1px solid #e8e4df;border-radius:12px}
.studio-tab{display:inline-flex;align-items:center;gap:7px;background:#f7f6f4;color:#555;border:1px solid #e8e4df;padding:8px 12px;border-radius:999px;font-size:12px;font-weight:700;min-height:36px;box-shadow:none}
.studio-tab.is-active{background:var(--orange);color:#fff;border-color:var(--orange)}
.studio-tab.is-completed{background:#e9f7f1;color:#176646;border-color:#bfe8d4}
.studio-tab.is-completed.is-active{background:var(--orange);color:#fff;border-color:var(--orange)}
.studio-tab.is-error{background:#fff0df;color:#91550b;border-color:#f0c48a}
.studio-tab.is-locked,.studio-tab:disabled{opacity:.55;cursor:not-allowed;background:#f3f3f3;color:#888}
.studio-tab-icon{display:grid;place-items:center;width:18px;height:18px;font-size:11px;line-height:1}
.studio-step[hidden]{display:none!important}
.studio-step-error{margin:10px 0 0;padding:10px 12px;border-radius:8px;background:#fff0df;color:#91550b;font-size:12px;font-weight:700}
.studio-step-actions{display:flex;justify-content:flex-end;margin-top:14px;padding-top:12px;border-top:1px solid #eee}
.studio-bom-stale{margin:0 0 12px;padding:10px 12px;border-radius:8px;background:#fff1c7;color:#91550b;font-size:12px;font-weight:700}
.studio-step .auto-bom-preview{margin-top:0}
#addPartition:disabled{opacity:.55;cursor:not-allowed}
.elevation-carousel{flex:1;min-height:0;display:flex;flex-direction:column}
.elevation-track{flex:1;display:flex;overflow:hidden}
.elevation-slide{flex:0 0 100%;min-width:100%;display:none;place-items:center;overflow:auto}
.elevation-slide.is-active{display:grid}
.elevation-dots{display:none;gap:8px;justify-content:center;margin-top:8px}
.elevation-dot{background:#eee;color:#555;border:0;padding:6px 12px;border-radius:999px;font-size:11px;min-height:32px}
.elevation-dot.is-active{background:var(--orange);color:#fff}
#planViewCanvas{width:100%;display:grid;place-items:center}
#planViewCanvas svg{width:100%;max-height:520px;height:auto}

@media(max-width:768px){
  .studio-grid{display:flex;flex-direction:column}
  .canvas-panel{order:-1;min-height:0;padding:10px 12px}
  .elevation-track{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;max-height:180px}
  .elevation-slide{display:grid;flex:0 0 100%;min-width:100%;scroll-snap-align:start;max-height:180px;overflow:hidden}
  .elevation-dots{display:flex}
  #drawingCanvas svg.quote-elevation,#drawingSvg.quote-elevation,#planViewCanvas svg{min-height:0!important;max-height:180px!important;width:100%;height:auto}
  .studio-tabs{flex-direction:column;gap:6px;padding:8px;position:sticky;top:var(--topbar-h,56px);z-index:8;background:#fff}
  .studio-tab{width:100%;justify-content:flex-start;border-radius:10px}
  .studio-tab.is-locked .studio-tab-label{opacity:.85}
  .form-panel{max-height:none}
}

