/* Responsive workspace: content reflows while dense reference tables scroll locally. */
:root{--livebar-space:112px;--visible-height:100dvh}
html{scroll-padding-bottom:calc(var(--livebar-space) + 24px)}
body .app-main,body:has(.live-dealer) .app-main{min-width:0;padding-bottom:var(--livebar-space)}
.page,.page>*{min-width:0}
img,canvas,video{max-width:100%}
input,select,textarea{max-width:100%;scroll-margin-block:100px}
button,a{touch-action:manipulation}
input[type=range]{touch-action:pan-y}
.heading-actions .btn-secondary{width:auto;padding:12px 17px}
.heading-actions .btn-secondary span,.heading-actions .btn[data-action='new-project'] span{display:inline}
.icon-btn,.view-tools .icon-btn,.mobile-menu,.search-trigger,.avatar,.opening-add{min-width:44px;min-height:44px;flex-shrink:0}
.view-tools .icon-btn{display:inline-flex}
.unit-toggle button,.stepper button{min-width:44px;min-height:44px}
.stepper input{min-width:42px}.stepper{min-width:132px}
.shade-control input{min-height:32px}.shade-control>span{white-space:normal}
.opening-tab{max-width:100%;flex-wrap:wrap;overflow-wrap:anywhere}
.openings-label{gap:12px;align-items:center;flex-wrap:wrap}.openings-label button{min-height:44px}
.visual-title{min-width:0}.visual-head{flex-wrap:wrap}.view-tools{flex-wrap:wrap;min-width:0;max-width:100%}
.view-tools .tabs{max-width:100%;flex-wrap:wrap}.visual-specs{align-items:center}
.config-grid{grid-template-columns:minmax(0,1.4fr) minmax(300px,1fr)}
.table-wrap,.catalog-table-wrap{width:100%;max-width:100%;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;scrollbar-width:thin}
.table-wrap:focus-visible,.catalog-table-wrap:focus-visible{outline:3px solid #2f5d3a;outline-offset:3px}
.table-wrap table{min-width:600px}.technical-dialog .table-wrap table{min-width:0}
.table-scroll-hint{font-size:12px;color:#5c625f;line-height:1.6;padding:9px 13px;background:#e7efe8;border-bottom:1px solid var(--line);display:none}
.table-wrap.needs-scroll>.table-scroll-hint,.catalog-table-wrap.needs-scroll>.table-scroll-hint{display:block}
.tabs,.heading-actions,.card-actions,.review-actions,.cloud-actions,.review-decision-actions{max-width:100%}
.cloud-top{max-width:260px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap!important}
.livebar{padding-bottom:calc(15px + env(safe-area-inset-bottom));padding-left:max(24px,env(safe-area-inset-left));padding-right:max(24px,env(safe-area-inset-right))}
.live-caption{min-width:0;overflow-wrap:anywhere}.live-price strong{overflow-wrap:anywhere}
.nav-close,.nav-mobile-settings{display:none}
@media screen{
 dialog:not(.photo-dialog){max-height:calc(var(--visible-height) - 24px)}
 dialog[open]{overscroll-behavior:contain}
 .dialog-head>div{min-width:0}.dialog-head .icon-btn{min-width:44px;min-height:44px}
 .dialog-body{min-height:0;-webkit-overflow-scrolling:touch}
 .dialog-footer .selected-summary{max-width:none}.dialog-footer .dialog-buttons{max-width:100%;min-width:0}
 dialog.photo-dialog{max-height:calc(var(--visible-height) - 24px)}
}
@media(min-width:981px) and (max-width:1180px){.product-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.page-heading{flex-wrap:wrap}.heading-actions{justify-content:flex-start}.config-grid{grid-template-columns:minmax(0,1.15fr) minmax(290px,1fr)}.search-trigger span,.search-trigger kbd{display:none}.topbar .demo-pill{display:none}}
@media(max-width:980px){
 :root{--sidebar:0px}
 .sidebar{width:min(320px,calc(100vw - 48px));height:100dvh;max-height:100dvh;transform:translateX(-100%);transition:transform .2s ease;z-index:60;padding:24px 18px max(18px,env(safe-area-inset-bottom));overscroll-behavior:contain;visibility:hidden}
 .sidebar.open{transform:none;visibility:visible}
 .sidebar.open .brand{height:88px;min-height:88px;align-items:flex-start;padding:0 12px}.sidebar.open .brand-logo{width:160px;max-height:44px}
 .sidebar.open .brand-caption,.sidebar.open .side-label,.sidebar.open .nav-item>span,.sidebar.open .side-project{display:revert}
 .sidebar.open .brand-caption{display:block}.sidebar.open .nav-item{width:100%;height:auto;min-height:48px;justify-content:flex-start;padding:12px 13px;font-size:15px;gap:12px}
 .sidebar.open .side-nav{align-items:stretch;gap:5px;margin-top:0}.sidebar.open .side-label{padding:18px 12px 10px}
 .sidebar.open .nav-item.active:after{right:14px;width:5px;height:5px}.sidebar.open .sidebar-bottom{margin-top:20px}
 .sidebar.open .sidebar-bottom .nav-item{margin-top:5px}.sidebar.open .connected-card{display:none}.sidebar.open .sidebar-footer{display:flex}
 .sidebar.open+.mobile-sidebar-shade{display:block;position:fixed;inset:0;z-index:59;background:#1f232166;backdrop-filter:blur(4px)}
 .sidebar.open .nav-close{display:flex;align-items:center;justify-content:center;position:absolute;right:10px;top:10px;border:1px solid #ffffff30;border-radius:3px;background:var(--green);color:var(--paper);width:44px;height:44px;font-size:26px}
 body.mobile-nav-open{overflow:hidden}
 .mobile-menu{display:inline-flex;align-items:center;justify-content:center;padding:0}.mobile-menu .icon{width:21px;height:21px}
 .topbar{gap:12px;padding:12px 24px}.breadcrumb{gap:9px}.breadcrumb>span,.breadcrumb>.icon{display:none}.breadcrumb strong{white-space:nowrap}
 .top-actions{gap:8px;flex-wrap:nowrap!important;min-width:0}.topbar .demo-pill{display:none}.search-trigger span,.search-trigger kbd{display:none}
 .topbar .cloud-top{max-width:240px}.page-heading{flex-wrap:wrap}.heading-actions{justify-content:flex-start}
 .config-grid{grid-template-columns:minmax(0,1fr)}.visual-card{width:100%;max-width:100%}.visual-head{align-items:center}.view-tools{margin-left:auto}
 .product-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.product-photo{height:190px}.product-info{padding:20px}
 .metrics-grid,.pipeline-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}
 .filter-bar,.pipeline-filters{flex-wrap:wrap}.filter-bar .search-field,.pipeline-filters .search-field{width:100%;max-width:none}.pipeline-filters label{flex:1;justify-content:space-between}.pipeline-filters select{flex:1;min-width:0}
 .section-head{flex-wrap:wrap;align-items:flex-start;gap:16px}.section-head p{max-width:65ch}.section-head .tabs{flex-wrap:wrap}
 .catalog-footer,.callout-banner{flex-wrap:wrap}.callout-banner>div{min-width:0}.callout-banner .status-label{white-space:normal;line-height:1.5}
 .livebar{left:0}.livebar .live-price.project{display:none}.livebar .live-note{display:none}
 .dealer-context-shell{position:static}.dealer-detail-tabs{overflow-x:auto;overscroll-behavior-x:contain}.dealer-detail-tabs button{flex-shrink:0;min-height:48px}
 .cloud-project-row,.workspace-account-bar,.review-queue-project,.workspace-card-heading{flex-wrap:wrap}.cloud-project-row>div,.workspace-account-bar>div{min-width:0}
 .workspace-account-bar span,.cloud-project strong{overflow-wrap:anywhere}.cloud-actions{flex-wrap:wrap}.cloud-access{overflow-wrap:anywhere}
}
@media(max-width:600px){
 .topbar{padding:8px max(12px,env(safe-area-inset-right)) 8px max(10px,env(safe-area-inset-left));min-height:64px;flex-wrap:nowrap!important;gap:6px}.breadcrumb{gap:4px;font-size:11px;letter-spacing:.04em}.top-actions{gap:4px;margin-left:auto}
 .sidebar.open .nav-mobile-settings{display:flex;padding-left:44px}
 .topbar .cloud-top{font-size:12px!important;max-width:130px;min-height:44px;padding:8px!important}.topbar .avatar{display:none}.search-trigger{padding:8px}
 .page{padding:24px max(18px,env(safe-area-inset-right)) 32px max(18px,env(safe-area-inset-left))}
 .heading-actions{width:100%;margin-top:4px;gap:10px}.heading-actions .btn{flex:1 1 auto;min-width:0;padding:12px 14px}.heading-actions .btn-secondary{width:auto}.heading-actions .btn[data-action='new-project']{padding:12px 14px}
 .page-heading h1{font-size:28px}.page-heading .subtitle{font-size:15px}
 .progress-nav{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:2px;overflow:visible}.progress-nav .step-line,.progress-meta{display:none}.progress-nav .step-btn{flex-direction:column;justify-content:center;gap:7px;white-space:normal;text-align:center;min-width:0;font-size:12px;min-height:58px}.step-num{width:26px;height:26px}
 .product-grid{grid-template-columns:minmax(0,1fr)}.product-photo{height:210px}.product-info{padding:20px}.product-info p{min-height:0}.product-footer{flex-wrap:wrap}
 .catalog-section-head>div:first-child{display:block;width:100%}.catalog-section-head p{max-width:none;margin-top:7px}.catalog-section-head .tabs{width:100%;flex-wrap:wrap}.catalog-section-head .tab{flex:1 1 30%;white-space:normal}
 .hero-copy{padding:26px 22px}.hero-copy p{max-width:38ch}.catalog-footer{align-items:flex-start;gap:16px}.catalog-footer>span{max-width:none}.catalog-footer button{min-height:44px}
 .form-row,.qty-field{flex-wrap:wrap}.form-row .field{flex:1 1 130px}.settings-grid{grid-template-columns:minmax(0,1fr)}
 .measurement-label,.review-row,.price-line{gap:12px}.qty-field>div:first-child{min-width:0;flex:1}.qty-field .stepper{flex:none}
 .visual-head{padding:18px 16px 0;gap:14px}.visual-title{flex:1 1 100%}.view-tools{width:100%;margin-left:0;justify-content:space-between}.view-tools .tabs{flex:1}.view-tools .tab{flex:1;min-height:44px!important}.view-tools .icon-btn{width:44px;height:44px}
 .shade-control{flex-wrap:wrap;gap:8px}.shade-control>span{flex-basis:100%}.shade-control input{min-width:80px}
 .visual-specs{gap:12px}.visual-specs>div{flex:1 1 95px}.visual-specs .technical-link{margin-left:auto}
 .opening-tab{flex:1 1 200px;justify-content:space-between}.opening-add{height:44px}
 .livebar,.livebar:has(.live-dealer){gap:10px;min-height:96px;padding:12px max(16px,env(safe-area-inset-right)) calc(12px + env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left));align-items:center}
 .live-values{flex:1;min-width:0}.live-price{border:0;padding:0;min-width:0}.live-price strong,.livebar:has(.live-dealer) .live-price>strong{font-size:22px;line-height:1.3}.live-price .live-dealer{font-size:12px}
 .livebar .live-actions,.livebar:has(.live-dealer) .live-actions{flex:0 1 145px;max-width:145px;width:auto}.livebar .live-actions>.btn{width:100%;min-height:48px;font-size:14px;white-space:normal;padding:11px 13px}.livebar .live-actions>.btn-ghost{display:none}
 .live-caption{font-size:13px;max-width:none;flex:1;line-height:1.6}.live-caption .icon{display:none}
 .workspace-journey{gap:8px}.workspace-journey button{font-size:13px;min-height:48px;padding:10px;white-space:normal}.journey-pending{padding:8px}
 .prep-navigation nav{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.prep-step{flex-direction:row;align-items:center;text-align:left;padding:12px 10px;gap:9px;min-height:64px}.prep-step-number{flex-shrink:0}.prep-step strong{font-size:13px}
 .prep-project-strip>div{flex-wrap:wrap;min-width:0}.prep-project-strip strong,.prep-project-strip small{overflow-wrap:anywhere}.prep-content{padding:22px 18px}.prep-footer{gap:12px}.prep-footer>div{width:100%;margin:0}.prep-footer>.btn{width:100%}.prep-footer>div .btn{flex:1;min-width:0}
 .workspace-page-tabs{display:grid;grid-template-columns:1fr 1fr}.workspace-page-tabs button{white-space:normal;min-height:48px}.cloud-signin-card,.workspace-card{min-width:0}.cloud-project-row .cloud-actions{width:100%}.cloud-project-row .cloud-actions .btn{flex:1}.cloud-actions .btn{min-width:0}
 .pipeline-panel{padding:20px 16px}.pipeline-bottom{grid-template-columns:1fr}.pipeline-hero{padding:28px 24px}.pipeline-hero-detail{min-width:0}.metric,.pipeline-metrics article{padding:18px 14px}.metric strong,.pipeline-metrics strong{font-size:25px;overflow-wrap:anywhere}
 .review-actions,.card-actions,.review-decision-actions{flex-wrap:wrap}.review-actions .btn,.review-decision-actions .btn{flex:1 1 160px}.review-row{flex-wrap:wrap}.review-row>div{flex:1 1 160px}.review-row>button{min-height:44px}
 .table-wrap td,.table-wrap th{padding:14px}.callout-banner{padding:26px 22px}
 dialog:not(.photo-dialog){width:calc(100% - 16px);max-height:calc(var(--visible-height) - 16px);border-radius:4px}
 dialog.option-dialog,dialog.shared-picker-dialog,dialog.technical-dialog,dialog.proposal-dialog{height:calc(var(--visible-height) - 16px);max-height:calc(var(--visible-height) - 16px)}
 .dialog-head{padding:18px;gap:12px}.dialog-body{padding:18px}.dialog-footer{padding:14px 18px calc(14px + env(safe-area-inset-bottom));flex-wrap:wrap;gap:12px}.dialog-footer .selected-summary{width:100%}.dialog-footer .dialog-buttons{display:flex;width:100%;gap:10px}.dialog-footer .dialog-buttons .btn{flex:1;min-width:0;min-height:48px}
 .dialog-footer>.btn{flex:1;min-width:0}.proposal-dialog .dialog-footer .dialog-buttons{display:grid;grid-template-columns:1fr 1fr}.proposal-dialog .quote-toolbar{align-items:stretch;gap:12px}.quote-mode-label{white-space:normal}.quote-toggle{max-width:100%;flex-wrap:wrap}
 .choice-grid{grid-template-columns:minmax(0,1fr)}.fabric-booklets,.material-grid.fabric-booklets{grid-template-columns:repeat(2,minmax(0,1fr))}.material-grid:not(.fabric-booklets){grid-template-columns:repeat(2,minmax(0,1fr))}
 dialog.photo-dialog{width:100%;height:var(--visible-height);max-height:var(--visible-height);border-radius:0}.photo-head{padding:18px 16px}.photo-workspace{overflow-y:auto;overscroll-behavior:contain}.photo-sidebar{overflow:visible}.photo-stage-panel{min-height:360px}.photo-footer{padding-bottom:calc(12px + env(safe-area-inset-bottom));flex-wrap:wrap}.photo-footer-status{min-width:0}.photo-footer-actions{width:100%;display:flex}.photo-footer-actions .btn{flex:1;min-width:0}.photo-view-actions,.photo-view-modes,.photo-upload-actions{flex-wrap:wrap}
 .toast{bottom:calc(var(--livebar-space) + 14px);width:max-content;max-width:calc(100% - 32px);left:50%}
}
@media(max-width:360px){.topbar .cloud-top{max-width:104px}.topbar .breadcrumb{font-size:10px}.page{padding-left:14px;padding-right:14px}.heading-actions .btn{padding:12px 10px;font-size:13px}.livebar .live-actions,.livebar:has(.live-dealer) .live-actions{flex-basis:123px;max-width:123px}.live-price strong,.livebar:has(.live-dealer) .live-price>strong{font-size:20px}.livebar{padding-left:14px;padding-right:14px}.material-grid:not(.fabric-booklets){grid-template-columns:1fr}.booklet-brand{font-size:20px}}
@media screen and (max-height:500px){
 dialog:not(.photo-dialog){max-height:calc(var(--visible-height) - 12px)}
 dialog.option-dialog,dialog.shared-picker-dialog,dialog.technical-dialog,dialog.proposal-dialog{height:calc(var(--visible-height) - 12px);max-height:calc(var(--visible-height) - 12px)}
 .dialog-head,.option-dialog .dialog-head,.shared-picker-dialog .dialog-head,.technical-dialog .dialog-head,.proposal-dialog .dialog-head{padding:10px 16px;align-items:center}
 .dialog-head .eyebrow,.dialog-head p{display:none}.dialog-head h2,.option-dialog .dialog-head h2,.technical-dialog .dialog-head h2,.proposal-dialog .dialog-head h2{font-size:22px;margin:0}
 .dialog-footer,.option-dialog .dialog-footer,.shared-picker-dialog .dialog-footer,.proposal-dialog .dialog-footer{padding:10px 16px;flex-direction:row;flex-wrap:wrap;gap:8px 12px}.dialog-footer .selected-summary{width:auto;flex:1;min-width:100px}.dialog-footer .dialog-buttons,.option-dialog .dialog-footer .dialog-buttons,.proposal-dialog .dialog-footer .dialog-buttons{width:auto;flex:1 1 260px;display:flex}.dialog-footer .btn{min-height:44px!important;padding:9px 12px!important}
 .photo-head{padding:10px 16px}.photo-head h2{font-size:22px}.photo-head p,.photo-head .eyebrow{display:none}.photo-footer-status small{display:none}.photo-footer{padding:10px 16px}.photo-footer-actions{width:auto}.photo-workspace{overflow:auto}
}
@media screen and (max-width:980px){body.keyboard-open .livebar{display:none}body.keyboard-open .app-main{padding-bottom:0}}
@media(prefers-reduced-motion:reduce){.sidebar{transition:none}}
@media(max-width:360px){.progress-nav{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.progress-nav .step-btn{min-height:60px}.progress-nav .step-num{width:24px;height:24px}}
/* Dealer portal uses cards on phones rather than a wide reference table. */
@media(max-width:1180px){.dp-main-grid{grid-template-columns:minmax(0,1fr)}.dp-secondary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}}
@media(max-width:980px){.dp-workspace-bar{flex-wrap:wrap}.dp-workspace-bar>span{overflow-wrap:anywhere;min-width:0}.dp-tabs{max-width:100%;overscroll-behavior-x:contain}.dp-search input,.dp-filter-label select,.dp-login .field input,.dp-account #cloud-workspace{font-size:16px;min-height:48px}}
@media(max-width:760px){.dp-secondary{grid-template-columns:1fr}.table-wrap table.dp-table{min-width:0}.dp-table .btn,.dp-section-head>.btn,.dp-review-item>.btn,.dp-resource strong{min-height:44px}.dp-filters select{max-width:100%}.dp-section-head{flex-wrap:wrap}.dp-account-facts dd{overflow-wrap:anywhere}.dp-footer{overflow-wrap:anywhere}}

/* Phones: the workspace menu covers the whole screen, with large two-column choices (matches the Core console). */
.sidebar.open .nav-mobile-settings.has-icon{padding-left:13px}
@media(max-width:760px){
 .sidebar{width:100vw;overflow-y:auto;padding:20px 18px max(20px,env(safe-area-inset-bottom))}
 .sidebar.open+.mobile-sidebar-shade{background:transparent;backdrop-filter:none}
 .sidebar.open .brand{height:auto;min-height:64px;padding:0 4px 6px}
 .sidebar.open .side-label{padding:14px 2px 10px}
 .sidebar.open .app-return{margin:10px 0 4px}
 .sidebar.open .side-nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
 .sidebar.open .side-nav .nav-item,.sidebar.open .sidebar-bottom>.nav-item{min-height:56px;padding:12px;border:1px solid #ffffff1f;border-radius:3px;font-size:15px;line-height:1.25}
 .sidebar.open .side-nav .nav-item.active{border-color:transparent}
 .sidebar.open .nav-item>span{overflow-wrap:anywhere}
 .sidebar.open .app-launcher{margin:16px 0 0;padding:14px 16px}.sidebar.open .app-launcher p{display:none}.sidebar.open .app-launcher strong{margin:4px 0 10px}
 .sidebar.open .sidebar-bottom{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:18px}
 .sidebar.open .sidebar-bottom .nav-item{margin-top:0}
 .sidebar.open .sidebar-bottom>:not(.nav-item){grid-column:1/-1}
 .sidebar.open .nav-mobile-settings.has-icon{padding-left:12px}
}
