/* One control scale across every screen; screen-specific layout stays local. */
:root{--control-height:44px;--control-gap:10px;--screen-gap:20px;--control-radius:10px}
.primary,.secondary,.text-button,.client-delete,.remove-formula,.inv-switch button,.subtabs button{min-height:var(--control-height);height:auto;line-height:1.4;font-size:14px;border-radius:var(--control-radius);overflow-wrap:anywhere}
.primary,.secondary{padding:10px 16px}
.order-actions,.org-toolbar,.review-buttons,.client-actions{gap:var(--control-gap);align-items:stretch}
.order-actions>button,.org-toolbar>button,.review-buttons>button,.client-actions>button{display:flex;justify-content:center;align-items:center;text-align:center;min-height:var(--control-height);height:auto;font-size:14px;line-height:1.4}
.page-heading{flex-wrap:wrap;align-items:center;gap:16px}
.page-heading>div:first-child{min-width:0;flex:1 1 240px}
.page-heading>button{flex:0 0 auto;min-height:var(--control-height);font-size:14px}
.page-heading .primary,.page-heading .secondary{font-size:14px;min-height:var(--control-height)}
.page-heading .org-toolbar,.page-heading .order-actions{max-width:100%;flex:0 1 auto}
.workspace-content section,.workspace-content .card,.field-grid>*{min-width:0}
.sidebar.tabs{max-height:calc(100dvh - 48px);overflow-y:auto;overscroll-behavior:contain}
.ops-report-filters button{height:auto;min-height:var(--control-height)}
.ops-order strong,.ops-metric>span,.inv-summary span,.inv-stock-values span,.inv-unit-summary article,.inv-order-controls button{font-size:14px}
.ops-order small,.ops-metric small,.ops-bar-row,.ops-panel table,.ops-panel thead th,.inv-stock-card small,.inv-lots small,.inv-history small,.inv-plan-row small{font-size:12px}
.ops-bar-row{min-height:44px}.ops-order .order-status{font-size:12px}
.inv-stock-card>div,.inv-need>div,.inv-lots>article>span,.ar-stage>span,.dc-document>div{min-width:0;overflow-wrap:anywhere}
.inv-stock-values strong,.inv-summary strong{overflow-wrap:anywhere}
.ar-table-wrap,.ops-table-wrap{max-width:100%;overscroll-behavior-inline:contain;scroll-padding:12px}
.ar-table-wrap:focus-visible,.ops-table-wrap:focus-visible{outline:3px solid #54b7ad;outline-offset:3px}
.client-contact,.client-location,.client-row p,#team-list .org-row p,#client-team-list .org-row p{font-size:14px}
.client-actions .secondary,.client-delete,#team-list .org-row .secondary,#client-team-list .org-row .secondary,.design-card .secondary{min-height:var(--control-height);font-size:14px}
.chat-bubble time,.chat-sender,.chat-activity time{font-size:12px}
.org-dialog,.client-dialog,.inventory-dialog,.ar-dialog{margin:auto;max-width:calc(100vw - 32px);max-height:calc(100dvh - 32px);overflow-y:auto;overscroll-behavior:contain;scroll-padding-block:20px 90px}
dialog::backdrop{backdrop-filter:blur(3px)}
dialog .review-buttons,dialog form>.order-actions:last-child{background:#fff;border-top:1px solid #e2eae7;padding-top:14px;position:sticky;bottom:0;z-index:1}
dialog label{font-size:14px}dialog textarea{resize:vertical;min-height:90px}
input[type=checkbox],input[type=radio]{min-height:20px;width:20px;height:20px;flex-shrink:0}
.auth-card #auth-password-toggle{min-height:44px;top:4px;right:4px;padding:8px 10px}
.auth-card #auth-forgot{min-height:44px;display:flex;align-items:center}
.auth-card .auth-switches button{min-height:44px}
.auth-field-heading{margin-bottom:4px}
@media(min-width:761px) and (max-width:1100px){
 .shell{grid-template-columns:180px minmax(0,1fr);gap:20px;padding-inline:20px}
 .ops-metrics,.inv-summary,.ar-summary{grid-template-columns:repeat(2,minmax(0,1fr))}
 .ops-report-filters{grid-template-columns:repeat(2,minmax(0,1fr))}
 .inv-stock-card{grid-template-columns:minmax(0,1fr)}
 .ar-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px}
 .account-controls{max-width:65%;gap:8px}
 .account-controls #account-email{max-width:200px}
 .inv-usage-bars>div{grid-template-columns:minmax(90px,1fr) minmax(0,1fr) 80px}
}
@media(max-width:760px){
 :root{--control-height:48px;--control-gap:8px;--screen-gap:16px}
 .shell{padding:16px 16px calc(100px + env(safe-area-inset-bottom,0px))}
 .sidebar.tabs{height:100dvh;max-height:100dvh}
 .page-heading{align-items:flex-start;gap:12px}
 .page-heading>div:first-child{flex-basis:100%}
 .page-heading>button,.page-heading .org-toolbar,.page-heading .order-actions{width:100%;max-width:none}
 .order-actions,.org-toolbar,.review-buttons,.client-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;width:100%;align-items:stretch}
 .order-actions>button,.org-toolbar>button,.review-buttons>button,.client-actions>button{min-width:0;width:100%;max-width:none;padding:11px 12px;min-height:48px;font-size:14px}
 .client-row .client-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
 .client-actions .client-delete,.client-actions .secondary{min-height:48px;font-size:14px;padding:11px 12px}
 .order-actions>button:only-child,.org-toolbar>button:only-child,.review-buttons>button:only-child,.client-actions>button:only-child{grid-column:1/-1}
 .inv-switch,.subtabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
 .inv-switch button,.subtabs button{width:100%;min-height:48px;white-space:normal;padding:11px 10px}
 .topbar{padding:12px 16px;gap:12px;align-items:center}
 .topbar .brand{flex:1;min-width:0}
 .account-controls{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:100%;max-width:none;gap:8px;margin:0}
 .account-controls #account-email{grid-column:1/-1;grid-row:1;max-width:100%;width:100%;font-size:14px;white-space:normal;text-overflow:clip}
 .account-controls button{width:100%;min-height:48px;font-size:14px}
 .bottom-nav-item{font-size:12px;min-height:62px;padding-inline:2px;line-height:1.3}
 .organization-bar{padding:14px;gap:10px;margin-bottom:16px}
 .client-active-organization{flex-direction:column;align-items:stretch}
 .client-active-organization button{width:100%}
 .org-create .primary,#team-submit{width:100%;justify-self:stretch;min-height:48px}
 #team-list .org-row,#client-team-list .org-row{flex-direction:column;align-items:stretch;gap:12px;padding:14px 0}
 #team-list .org-row .org-toolbar,#client-team-list .org-row .org-toolbar{width:100%}
 #clients-view .client-row{grid-template-columns:minmax(0,1fr)}
 #clients-view .client-location,#clients-view .client-actions{grid-column:auto;grid-row:auto}
 .clients-toolbar input{min-width:0;flex:1 1 100%}
 .clients-toolbar form{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:stretch;gap:8px}
 .clients-pagination{align-items:stretch}.clients-pagination>div{width:100%;display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
 .clients-pagination>div button{width:100%;min-height:48px}
 .ops-metrics,.inv-summary,.ar-summary{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
 .ops-metric{min-height:120px}.ops-metric>span{font-size:14px}.ops-metric small{font-size:12px}
 .ops-report-filters{grid-template-columns:repeat(2,minmax(0,1fr))}
 .ops-report-filters label:first-child,.ops-report-filters button{grid-column:1/-1}
 .ops-report-filters button{min-height:48px;height:auto}
 .inv-stock-card{grid-template-columns:minmax(0,1fr)}
 .inv-need{flex-direction:column;align-items:stretch}
 .inv-usage-bars>div{grid-template-columns:100px minmax(0,1fr) 75px;gap:8px;font-size:12px}
 .inv-lots>article{flex-wrap:wrap;align-items:flex-start}
 .inv-lots>article .order-actions{flex-basis:100%}
 .inv-unit-summary{grid-template-columns:repeat(2,minmax(0,1fr))}
 .inv-plan-row{grid-template-columns:minmax(0,1fr) 95px}
 .inv-plan-row>button{grid-column:1/-1;justify-self:stretch;min-height:48px}
 .ar-toolbar{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;align-items:end}
 .ar-toolbar label{min-width:0}.ar-toolbar label:first-child,.ar-toolbar .inv-switch{grid-column:1/-1}
 .ar-toolbar button{min-height:48px;width:100%}
 .ar-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px;font-size:14px}
 .ar-status{white-space:normal}.ar-stage{flex-direction:column;align-items:stretch}
 .dc-document{flex-direction:column;align-items:stretch}
 .order-filters{grid-template-columns:minmax(0,1fr)}
 #orders-company-filter{grid-column:auto}
 .order-list .order-status{font-size:14px}.order-list .order-row .order-status{font-size:13px;max-width:100%}
 .order-row-date{font-size:12px}
 .order-chat{scroll-margin-top:16px}.chat-messages{height:clamp(240px,48dvh,440px)}
 .chat-compose-actions{align-items:stretch}.chat-compose-actions>.primary{min-width:84px;min-height:48px}
 .chat-attach{min-width:0;max-width:none;flex:1;font-size:14px}
 .chat-attach input{font-size:14px!important;min-height:44px}
 .save-bar{position:static;margin-top:16px;display:grid;grid-template-columns:minmax(0,1fr);gap:12px}
 .save-bar>div{min-width:0}.save-bar button{width:100%;min-height:48px}
 .form-footer{display:grid;grid-template-columns:minmax(0,1fr);gap:12px}
 .form-footer button{width:100%;min-height:48px}
 .org-dialog,.inventory-dialog,.ar-dialog{width:calc(100vw - 24px);max-width:700px;max-height:calc(100dvh - 24px);padding:20px 16px;border-radius:16px}
 .profile-grid,dialog .field-grid{grid-template-columns:minmax(0,1fr)}
 .profile-logo label{min-width:0;flex-basis:100%}
 dialog .review-buttons,dialog form>.order-actions:last-child{padding-bottom:4px}
 input:not([type=checkbox]):not([type=radio]),select,textarea{font-size:16px!important;min-height:48px}
 label,.field-grid label{font-size:14px}
 .auth-screen{padding:24px 16px}.auth-card{padding:26px 22px}
}
@media(max-width:380px){
 .shell{padding-inline:12px}.topbar{padding-inline:12px}
 .order-actions,.org-toolbar,.review-buttons,.client-actions{grid-template-columns:minmax(0,1fr)}
 .client-row .client-actions{grid-template-columns:minmax(0,1fr)}
 .ops-metric{padding:12px}.ops-metric strong,.ar-summary strong{font-size:20px}
 .inv-stock-values{gap:8px}.inv-stock-values strong{font-size:14px}
 .ops-bar-row{grid-template-columns:110px minmax(0,1fr) 26px;font-size:12px}
 .inv-usage-bars>div{grid-template-columns:90px minmax(0,1fr) 65px}
 .ar-allocation{grid-template-columns:minmax(0,1fr);gap:8px}
 .auth-card{padding:24px 18px}.bottom-nav-item{font-size:12px}
}
@media(max-height:500px) and (orientation:landscape){
 .org-dialog,.inventory-dialog,.ar-dialog{max-height:calc(100dvh - 16px);padding:16px}
 .chat-messages{height:230px}.auth-screen{padding-block:16px}
}
@media(prefers-reduced-motion:reduce){
 *,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
}

/* Order forms adapt to their actual card width, including beside the chat. */
.order-information{min-width:0;container-type:inline-size}
#order-detail-view input,#order-detail-view select,#order-detail-view textarea{width:100%;max-width:100%;min-width:0;box-sizing:border-box}
#order-detail-view input[type=checkbox]{width:20px}
#order-material-plan-rows .inv-plan-row{grid-template-columns:minmax(0,1fr) minmax(100px,.45fr);align-items:start;gap:12px;border-bottom:1px solid #dce7e3;padding:16px 0}
#order-material-plan-rows .inv-plan-row>label{min-width:0;margin:0}
#order-material-plan-rows .inv-plan-size{grid-column:1/-1;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
#order-material-plan-rows .inv-plan-size label{min-width:0;margin:0;display:block;line-height:1.5}
#order-material-plan-rows .inv-plan-size input{display:block;margin-top:6px}
#order-material-plan-rows .inv-plan-row>button{grid-column:1/-1;grid-row:auto;justify-self:end}
.printing-vendor-picker{display:grid;gap:8px;margin:14px 0;min-width:0}
.order-printing .printing-vendor-picker>label{margin:0}
#printing-vendor-results{border:1px solid #cdded7;border-radius:10px;background:white;overflow:hidden}
#printing-vendor-options{max-height:260px;overflow-y:auto;overscroll-behavior:contain}
#printing-vendor-options [role=option]{padding:12px 14px;min-height:48px;cursor:pointer;display:grid;gap:5px;overflow-wrap:anywhere;border-bottom:1px solid #edf1ef}
#printing-vendor-options [role=option]:hover,#printing-vendor-options [aria-selected=true]{background:#e5f2ef}
#printing-vendor-options small{font-size:13px;color:#60776c}
#printing-vendor-status{margin:8px 14px}#printing-vendor-status:empty{display:none}
#printing-vendors-more{margin:4px 12px}
@media(max-width:1200px){
 .order-detail-grid{grid-template-columns:minmax(0,1fr);gap:16px}
 .order-detail-grid .order-chat{position:static;order:-1}
 #order-detail-view .order-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch;width:100%}
 #order-detail-view .order-actions button{width:100%;min-width:0}
 #order-detail-view .order-actions>button:only-child{grid-column:1/-1}
}
@container(max-width:420px){
 #order-material-plan-rows .inv-plan-row{grid-template-columns:minmax(0,1fr)}
 #order-material-plan-rows .inv-plan-row>label{grid-column:1/-1}
 .order-spec>div{display:grid;grid-template-columns:minmax(0,1fr);gap:4px}
 .order-spec dd{max-width:100%;text-align:left}
}
@media(max-width:480px){
 #order-detail-view .order-actions{grid-template-columns:minmax(0,1fr)}
 #order-detail-view .chat-compose-actions{display:grid;grid-template-columns:minmax(0,1fr);gap:12px}
 #order-detail-view .chat-attach{width:100%}
 #order-detail-view .chat-compose-actions>button{width:100%}
 .order-information>details.card{padding-inline:14px}
}
.role-select-label{display:grid;gap:8px;margin:0 0 16px;max-width:600px}
.role-permission-group{border:1px solid #dce7e3;border-radius:12px;padding:0 14px 10px;margin:20px 0;min-width:0}
.role-permission-group legend{font-weight:700;padding:0 8px}
.role-permission-heading,.role-permission-row{display:grid;grid-template-columns:minmax(0,1fr) repeat(3,70px);gap:8px;align-items:center;padding:10px 0;border-bottom:1px solid #edf1ef}
.role-permission-heading{font-size:13px;color:#60776c}.role-permission-heading>span:not(:first-child){text-align:center}
.role-permission-row>span{font-size:14px;overflow-wrap:anywhere}
.role-permission-row label{display:flex;align-items:center;justify-content:center;min-height:44px;margin:0;cursor:pointer}
.role-permission-row input:disabled{opacity:.25}.role-save-actions{position:sticky;bottom:0;background:white;padding-block:14px;border-top:1px solid #dce7e3}
@media(max-width:600px){.role-permission-group{padding-inline:8px}.role-permission-heading,.role-permission-row{grid-template-columns:minmax(0,1fr) repeat(3,48px);gap:4px}.role-permission-heading{font-size:12px}.role-permission-row>span{font-size:13px}.role-permission-row label{min-height:48px}}

.usage-tabs,.usage-filters{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:20px}.usage-tabs button[aria-selected="true"]{background:var(--ink,#151515);color:white}.usage-filters label{display:grid;gap:8px;min-width:180px;flex:1}.usage-filters select,.usage-filters input{width:100%;min-height:44px}.usage-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px;margin-bottom:20px}.usage-stat{display:grid;gap:12px;min-width:0}.usage-stat strong{font-size:1.35rem;overflow-wrap:anywhere}.usage-stat span{font-size:.9rem}.usage-table-scroll{overflow:auto;max-width:100%}.usage-table{width:100%;border-collapse:collapse;min-width:900px}.usage-table th,.usage-table td{padding:14px;text-align:left;border-bottom:1px solid #ddd;vertical-align:top}.usage-table small{display:block;margin-top:5px;font-weight:400}.usage-notes{margin-top:20px}.usage-notes summary{cursor:pointer;min-height:44px;display:flex;align-items:center}.usage-notes p{line-height:1.6}.usage-tabs button{min-height:44px}@media(max-width:600px){.usage-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.usage-filters{display:grid;grid-template-columns:1fr}.usage-stat{padding:14px}.usage-tabs button{flex:1}}

/* Keep primary values, reference metadata and actions visually separate in table cells. */
.workspace-content :is(td,th)>small{display:block;line-height:1.5;margin-top:5px;overflow-wrap:anywhere}.workspace-content :is(td,th)>.text-button{display:block;min-height:44px;margin-top:6px;text-align:inherit;white-space:normal}
