/* NovaCore 6.1.63 · Modern UI Schritt 8 · Responsive Feinschliff
 * Rein visuelle/layoutbezogene Abschlussrunde. Keine Geschäfts-, Preis-, Import-,
 * Bestell-, Produktions- oder Synchronisationslogik wird hier verändert.
 */
:root{
  --nc-page-pad-x:clamp(12px,1.45vw,24px);
  --nc-page-pad-y:clamp(14px,1.25vw,22px);
  --nc-touch-min:36px;
  --nc-dialog-gap:16px;
}
html,body{max-width:100%;overflow-x:hidden}
body{min-width:0}
.main{min-width:0;padding:var(--nc-page-pad-y) var(--nc-page-pad-x) 52px!important}
.app-page,.panel,.station,.factory-content-panel,.factory-dashboard,.nc-home-command-center,.import-layout,.workspace,.storage-grid,.factory-grid,.business-grid-2,.business-grid-3,.market-grid,.catalog-grid,.production-times-grid,.sawmill-recipe-grid,.vapi-workspace-grid{min-width:0}
.app-page>*,.panel>*,.station>*,.factory-dashboard>*,.nc-home-command-center>*{min-width:0}
button,.btn,.toolbar-btn,input,select,textarea{max-width:100%}
input,select,textarea{min-width:0}
img,svg,canvas,video{max-width:100%;height:auto}

/* Flex-/Aktionsleisten dürfen umbrechen statt aus dem Fenster zu laufen. */
.actions,.page-header-actions,.factory-actions,.factory-dashboard-hero-actions,.factory-dashboard-actions,.factory-action-grid,.system-control-actions,.update-actions,.license-row,.vehicle-upload-actions,.nc-settings-actions,.business-actions,.market-toolbar,.production-times-toolbar,.sawmill-recipe-toolbar,.realestate-toolbar,.all-storage-head-actions,.nc-inline-actions{flex-wrap:wrap}
.page-header,.page-header-copy,.page-header-actions,.factory-company-bar,.factory-dashboard-panel-head,.factory-section-title,.storage-company-picker-head,.import-company-head,.finance-head,.business-section-head,.running-company-head,.saved-company-head,.vehicle-results-head{min-width:0}
.page-header h1,.page-header h2,.factory-company-bar strong,.factory-dashboard-company h2,.storage-company-title strong{overflow-wrap:anywhere}

/* Tabellen: breite Datensätze scrollen innerhalb des Inhalts statt das ganze Fenster zu verbreitern. */
.nc-table-enhanced{max-width:100%;overflow-x:auto;overflow-y:visible;overscroll-behavior-x:contain;scrollbar-gutter:stable}
.nc-table-enhanced>.nc-table-toolbar{position:sticky;left:0;right:0;width:max-content;min-width:min(100%,760px);max-width:none}
table.nc-pro-table{min-width:100%;width:max-content;max-width:none}
.nc-table-columns-menu{max-width:calc(100vw - var(--nc-main-nav-w) - 32px)}

/* Formulare/Grids: unter Platzdruck sauber stapeln. */
.export-form-grid,.ledger-summary,.vehicle-field-grid,.vapi-credentials-grid,.vapi-output-grid,.nc-settings-grid,.planner-form,.factory-intake-grid,.factory-permission-grid,.catalog-price-grid,.business-health-grid{min-width:0}
.form-field,.editor-row,.factory-permission-row,.factory-intake-price-row,.factory-intake-push-row{min-width:0}

/* Dialoge: nie außerhalb des nutzbaren Fensters; Kopf/Fuß bleiben erreichbar. */
dialog.modal,.modal,.support-modal,.vehicle-inventory-modal,.import-order-modal,.nc-search-modal{max-width:calc(100vw - 2 * var(--nc-dialog-gap));max-height:calc(100dvh - 2 * var(--nc-dialog-gap));margin:auto}
dialog.modal[open],.modal[open],.import-order-modal[open]{overscroll-behavior:contain}
.modal-head,.import-order-head{position:sticky;top:0;z-index:3;background:inherit}
.modal-body{min-height:0;overflow:auto;overscroll-behavior:contain}
.import-order-footer{position:sticky;bottom:0;z-index:4;background:#081c2b;box-shadow:0 -14px 30px rgba(0,0,0,.24)}
.import-order-footer,.update-actions,.license-row{gap:8px}

/* Detailpanels: Desktop bleibt kompakt, kleine Fenster nutzen sichere Innenabstände. */
.nc-detail-panel-card,.pp-material-panel-card{max-width:100vw}
.nc-detail-panel-scroll,.pp-material-panel-scroll{scrollbar-gutter:stable}
.nc-detail-panel-footer,.pp-material-panel-editor{padding-bottom:max(14px,env(safe-area-inset-bottom))}

/* Große Fenster: Inhalt lesbar halten, ohne unnötige Leerräume. */
@media(min-width:1600px){
  .main{padding-left:clamp(20px,1.5vw,30px)!important;padding-right:clamp(20px,1.5vw,30px)!important}
  .app-page{max-width:1780px;margin-right:auto}
}

/* Mittlere Desktopfenster: Header und komplexe Grids verdichten. */
@media(max-width:1320px){
  .nc-appbar-modern .brand{min-width:150px}
  .nc-header-context strong{max-width:32vw}
  .factory-dashboard-kpis{gap:8px}
  .nc-home-action-grid{gap:7px}
  .import-layout{grid-template-columns:300px minmax(0,1fr)}
  .workspace{gap:14px}
}

@media(max-width:1120px){
  :root{--nc-page-pad-x:16px;--nc-page-pad-y:16px}
  .nc-appbar-modern .brand-sub{display:none}
  .nc-header-context span{display:none}
  .nc-header-context strong{max-width:28vw}
  .page-header{gap:12px}
  .page-header-actions{justify-content:flex-start}
  .import-layout{grid-template-columns:260px minmax(0,1fr);gap:12px}
  .import-company-head{align-items:flex-start;flex-wrap:wrap}
  .factory-dashboard-kpis{grid-template-columns:repeat(3,minmax(0,1fr))}
  .factory-dashboard-secondary{grid-template-columns:1fr 1fr}
  .factory-dashboard-secondary>.factory-dashboard-panel{grid-column:1/-1}
}

/* Kleine Desktop-/Tabletbreite: Seitenleisten stapeln, Toolbars bleiben erreichbar. */
@media(max-width:900px){
  :root{--nc-page-pad-x:12px;--nc-page-pad-y:14px;--nc-dialog-gap:10px}
  .main{padding-bottom:36px!important}
  .nc-contextbar{padding-left:12px!important;padding-right:12px!important}
  .import-layout,.workspace{grid-template-columns:1fr!important}
  .import-sidebar,.sidebar{position:static!important;top:auto!important;height:auto!important;max-height:none!important}
  .import-company-list,.station-nav{max-height:320px}
  .factory-company-bar{position:relative!important;top:auto!important}
  .factory-dashboard-main,.factory-dashboard-secondary{grid-template-columns:1fr!important}
  .factory-dashboard-secondary>.factory-dashboard-panel{grid-column:auto}
  .factory-dashboard-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}
  .nc-table-toolbar{min-width:0!important;width:100%!important;align-items:stretch}
  .nc-table-search{flex:1 1 100%;width:100%;min-width:0}
  .nc-table-result-count{margin-left:0}
  .nc-table-toolbar select,.nc-table-toolbar button,.nc-table-columns>summary{flex:0 1 auto;min-width:0}
  .nc-table-columns-menu{left:0;right:auto;max-width:calc(100vw - var(--nc-main-nav-w) - 28px)}
  .pp-material-row{min-width:0}
  dialog.modal,.modal,.support-modal,.vehicle-inventory-modal,.import-order-modal,.nc-search-modal{width:calc(100vw - var(--nc-main-nav-w) - 20px)!important;max-width:calc(100vw - var(--nc-main-nav-w) - 20px)!important}
}

/* Schmale Fenster: globale Kopfaktionen auf Icons reduzieren und Formulare stapeln. */
@media(max-width:720px){
  :root{--nc-page-pad-x:10px;--nc-page-pad-y:12px;--nc-dialog-gap:8px}
  .appbar.nc-appbar-modern{padding-left:8px;padding-right:8px;gap:6px}
  .nc-appbar-modern .brand{min-width:38px}
  .nc-appbar-modern .nc-header-actions{gap:4px}
  .nc-appbar-modern .nc-search-icon-only,.nc-appbar-modern .nc-icon-btn,.nc-appbar-modern .nc-sync-compact,.nc-appbar-modern .nc-statev-status-btn{height:34px;min-height:34px}
  .page-header{flex-direction:column;align-items:flex-start}
  .page-header-actions{width:100%}
  .page-header-actions>.btn,.page-header-actions>button{flex:1 1 160px}
  .factory-dashboard-hero{padding:14px}
  .factory-dashboard-hero-actions{width:100%;justify-content:flex-start}
  .factory-dashboard-hero-actions>.btn{flex:1 1 160px}
  .factory-dashboard-kpis{grid-template-columns:1fr 1fr}
  .factory-dashboard-actions,.factory-action-grid{grid-template-columns:1fr!important}
  .nc-home-lead-actions{width:100%}
  .nc-home-lead-actions>.btn{flex:1 1 150px}
  .nc-home-finance-grid,.finance-grid,.business-grid-2,.business-grid-3,.market-grid,.vapi-output-grid,.vapi-credentials-grid,.vehicle-field-grid,.nc-settings-grid{grid-template-columns:1fr!important}
  .export-form-grid,.ledger-summary,.planner-form,.factory-intake-grid,.factory-permission-grid,.catalog-price-grid,.business-health-grid{grid-template-columns:1fr!important}
  .export-form-grid .full{grid-column:auto!important}
  .nc-detail-actions,.pp-material-panel-actions{grid-template-columns:1fr!important}
  .nc-detail-actions>.btn.primary,.pp-material-panel-actions .btn.login{grid-column:auto!important}
  .import-order-footer{display:grid!important;grid-template-columns:1fr 1fr;gap:8px}
  .import-order-footer>.btn{width:100%;min-width:0;white-space:normal}
  .modal-head{gap:10px}
  .modal-head h2{font-size:18px}
}

/* Sehr schmale Fenster: keine abgeschnittenen Bedienelemente. */
@media(max-width:560px){
  .factory-dashboard-kpis,.nc-home-kpis{grid-template-columns:1fr!important}
  .factory-dashboard-company{align-items:flex-start}
  .factory-dashboard-company>img{width:52px;height:52px;border-radius:13px}
  .factory-dashboard-profile{grid-template-columns:1fr!important}
  .nc-home-action-grid,.nc-home-system-strip,.global-sync-steps{grid-template-columns:1fr!important}
  .nc-table-toolbar select,.nc-table-toolbar button,.nc-table-columns{flex:1 1 calc(50% - 4px)}
  .nc-table-toolbar select,.nc-table-toolbar button,.nc-table-columns>summary{width:100%}
  .nc-table-result-count{flex:1 1 100%}
  .import-order-footer{grid-template-columns:1fr}
  dialog.modal,.modal,.support-modal,.vehicle-inventory-modal,.import-order-modal,.nc-search-modal{width:calc(100vw - var(--nc-main-nav-w) - 12px)!important;max-width:calc(100vw - var(--nc-main-nav-w) - 12px)!important;max-height:calc(100dvh - 12px)!important;border-radius:12px!important}
  .nc-detail-panel-head,.pp-material-panel-head{padding-left:14px;padding-right:14px}
  .nc-detail-panel-scroll,.pp-material-panel-scroll{padding-left:14px;padding-right:14px}
  .nc-detail-panel-footer,.pp-material-panel-editor{padding-left:14px;padding-right:14px}
}

/* UI-Skalierung bleibt auch nach dem Responsive-Polish konsistent. */
body.ui-scale-compact{--nc-page-pad-y:12px}
body.ui-scale-compact .btn,body.ui-scale-compact button,body.ui-scale-compact input,body.ui-scale-compact select{min-height:32px}
body.ui-scale-large{--nc-touch-min:42px}
body.ui-scale-large .btn,body.ui-scale-large button,body.ui-scale-large input,body.ui-scale-large select{min-height:40px}
body.ui-scale-large .main{padding-bottom:64px!important}

/* Zugänglichkeit / reduzierte Bewegung. */
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{scroll-behavior:auto!important}
  .nc-detail-panel,.nc-detail-panel-card,.pp-material-panel,.pp-material-panel-card,.nc-main-nav,.main,.nc-contextbar{transition:none!important}
}
