/* Mobile presentation layer. Desktop rules remain in the existing stylesheets. */
.mobile-section-toggle,.mobile-nav-backdrop,.customer-mobile-backdrop,.camera-action,.customer-camera-action{display:none}.new-defect-files input,.customer-camera-action input{display:none}.new-defect-files>small{color:var(--muted);font-size:9px}.new-defect-file-actions{display:flex;gap:7px;flex-wrap:wrap}.new-defect-file-actions label{cursor:pointer}.new-defect-file-preview,.customer-file-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px;margin-top:8px}.new-defect-file-preview article,.customer-file-list article{position:relative;min-width:0;border:1px solid var(--line);border-radius:9px;overflow:hidden;background:#fff}.new-defect-file-preview img,.customer-file-list img{width:100%;height:96px;display:block;object-fit:cover}.new-defect-file-preview article>div:not(.file-document-preview),.customer-file-list article>div:not(.file-document-preview){display:flex;flex-direction:column;padding:7px 30px 7px 8px;min-width:0}.new-defect-file-preview strong,.customer-file-list strong{font-size:8px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.new-defect-file-preview small,.customer-file-list small{font-size:7px;color:var(--muted)}.new-defect-file-preview article>button,.customer-file-list article>button{position:absolute;right:6px;top:6px;width:28px;height:28px;border:0;border-radius:50%;background:rgba(23,37,54,.88);color:#fff;font-size:16px}.file-document-preview{height:96px;display:grid;place-items:center;background:#f4f7fb;color:var(--blue);font-size:32px}.attachment-actions{display:flex;justify-content:center;gap:14px;flex-wrap:wrap}.attachment a{display:block;padding:7px;color:var(--blue);font-size:8px;text-decoration:none;overflow-wrap:anywhere}

@media(max-width:900px){
  html,body{max-width:100%;overflow-x:hidden}.main{margin-left:0;padding:0 20px 42px}.sidebar{transform:translateX(-105%);transition:transform .2s;width:min(300px,86vw);overflow-y:auto;padding-bottom:max(18px,env(safe-area-inset-bottom))}.sidebar.open{transform:none}.menu-btn{display:block;flex:0 0 auto}.mobile-nav-backdrop,.customer-mobile-backdrop{position:fixed;inset:0;border:0;background:rgba(15,23,42,.48);z-index:29;opacity:0;visibility:hidden;display:block;transition:.2s}.mobile-nav-backdrop.open,.customer-mobile-backdrop.open{opacity:1;visibility:visible}.topbar{min-height:76px;gap:12px}.topbar>div:nth-child(2){flex:1;min-width:0}.topbar h1{overflow-wrap:anywhere}.global-search{display:none}.view{padding-top:20px}.section-intro{align-items:flex-start;flex-wrap:wrap}.export-actions{width:100%}.management-kpis{grid-template-columns:repeat(3,1fr)}.management-lower-grid,.report-layout{grid-template-columns:1fr}.report-builder{position:static;max-height:none}.report-paper{min-width:0}.object-grid{grid-template-columns:1fr}
  .customer-shell{display:block}.customer-sidebar{position:fixed;left:-260px;top:0;width:min(250px,86vw);height:100dvh;z-index:22;transition:left .2s;overflow-y:auto;padding-bottom:max(18px,env(safe-area-inset-bottom))}.customer-sidebar.open{left:0}.customer-mobile-backdrop{z-index:21}.customer-menu{display:block;border:0;background:transparent;min-width:44px;min-height:44px}.customer-main{width:100%}.customer-content{padding:20px}.customer-topbar{padding:0 18px}.customer-topbar h1{overflow-wrap:anywhere}.customer-welcome{padding:24px}.customer-kpis{grid-template-columns:repeat(3,1fr)}
}

/* Kleine Laptops behalten die Desktop-Navigation. Breite Management-Tabellen
   erhalten dennoch eine eigene Zeile, damit die Seite nicht horizontal läuft. */
@media(min-width:901px) and (max-width:1150px){
  .management-lower-grid{grid-template-columns:minmax(0,1fr)}
  .management-lower-grid>*{min-width:0}
}

@media(max-width:760px){
  body{font-size:13px}.main{padding:0 12px 30px}.topbar{min-height:68px}.topbar h1{font-size:15px;line-height:1.25}.top-actions{gap:5px}.top-actions .primary-btn{min-width:44px;min-height:44px}.icon-btn{min-width:44px;min-height:44px}.section-intro{margin-bottom:14px}.section-intro h2{font-size:21px}.section-intro p{font-size:10px}.section-intro .export-actions{display:grid;grid-template-columns:1fr 1fr;gap:7px}.section-intro .export-actions>*{min-width:0;width:100%}.section-intro .export-actions>*:only-child{grid-column:1/-1}
  button,.primary-btn,.secondary-btn,.nav-item,input,select,textarea,.detail-control{touch-action:manipulation}.primary-btn,.secondary-btn{min-height:44px}.filter-card select,.field input,.field select,.field textarea,.detail-control,.dashboard-filter-grid select,.dashboard-filter-grid summary,.report-builder select,.custom-period input,.date-pair input{min-height:44px;font-size:16px}.field>span,.edit-grid label,.customer-form-grid label{font-size:11px}.mobile-section-toggle{display:flex;width:100%;align-items:center;justify-content:space-between;margin:0 0 9px;min-height:44px}.mobile-section-toggle span{margin-right:7px}.mobile-section-toggle b{margin-left:auto}.mobile-ready .mobile-collapsible.mobile-collapsed{display:none!important}.management-filters,.filter-card{padding:10px}.dashboard-filter-grid{grid-template-columns:1fr}.multi-filter>div{position:fixed;left:12px;right:12px;top:90px;width:auto;max-height:65dvh;overflow:auto}.period-pills{margin:0 -3px;padding-bottom:7px}.period-pills button{min-height:40px}.custom-period.show{display:grid;grid-template-columns:1fr 1fr}.custom-period input{width:100%}
  .metric-grid{grid-template-columns:1fr 1fr}.metric-card{padding:13px;min-width:0}.metric-top{font-size:10px}.metric-value{font-size:22px}.metric-note{font-size:9px}.dashboard-grid{grid-template-columns:1fr}.card,.attention-panel{padding:14px}.management-kpis{grid-template-columns:1fr 1fr}.management-kpi{min-height:96px;padding:12px}.management-kpi span{min-height:0}.management-kpi strong{font-size:18px}.attention-grid{grid-template-columns:1fr}.attention-card{min-height:86px}.management-chart-grid{grid-template-columns:1fr}.management-chart-grid .card:first-child{grid-column:auto}.trend-chart{min-width:0}.trend-day span{font-size:6px}.management-lower-grid{grid-template-columns:1fr}.activity-row{grid-template-columns:66px 1fr;padding:11px 2px}.activity-row div{grid-column:1/-1}.compact-table-wrap{margin:0 -14px;padding:0 14px;overscroll-behavior-x:contain}.compact-table{min-width:620px}.object-dashboard{padding:15px}.object-dashboard-head{align-items:flex-start;flex-direction:column}.object-dashboard-head>div:last-child{text-align:left}.object-dashboard-grid{grid-template-columns:1fr 1fr}
  #defectsView .table-card{border:0;background:transparent;overflow:visible}.table-meta{background:#fff;border:1px solid var(--line);border-radius:10px;margin-bottom:8px;align-items:flex-start;flex-direction:column}.table-scroll{overflow:visible}#defectTable{display:block;min-width:0}#defectTable thead{display:none}#defectTable tbody{display:grid;gap:9px}#defectTable tr{position:relative;display:grid;grid-template-columns:1fr;background:#fff;border:1px solid var(--line);border-radius:12px;padding:13px 40px 12px 13px;box-shadow:0 2px 7px rgba(16,24,40,.04)}#defectTable tr:hover{background:#fff}#defectTable td{display:flex;align-items:center;justify-content:space-between;gap:12px;border:0;padding:5px 0;min-width:0;font-size:10px}#defectTable td:first-child,#defectTable td:nth-child(2){display:block;padding:0 0 9px;border-bottom:1px solid #edf0f3}#defectTable td:nth-child(2){padding-top:8px;margin-bottom:3px}#defectTable td:nth-child(3):before{content:"Priorität"}#defectTable td:nth-child(4):before{content:"Status"}#defectTable td:nth-child(5):before{content:"Verantwortlich"}#defectTable td:nth-child(6):before{content:"Frist"}#defectTable td:nth-child(7):before{content:"Kosten"}#defectTable td:nth-child(n+3):nth-child(-n+7):before{color:var(--muted);font-size:8px;text-transform:uppercase;letter-spacing:.04em}#defectTable td:nth-child(8){position:absolute;right:12px;top:50%;width:auto;transform:translateY(-50%);font-size:24px}.defect-name{max-width:none}.defect-name strong{font-size:14px;overflow-wrap:anywhere}.defect-name span{font-size:9px;line-height:1.5}.place strong{font-size:11px}.badge{font-size:9px}.empty-row{display:block!important;padding:25px!important}
  .drawer{width:100%;height:100dvh}.drawer-head{height:auto;min-height:76px;padding:14px 15px;position:sticky;top:0;z-index:5}.drawer-head h2{font-size:17px;overflow-wrap:anywhere}.drawer-body{height:calc(100dvh - 76px);padding:12px 12px calc(36px + env(safe-area-inset-bottom))}.detail-grid,.detail-fields,.edit-grid{grid-template-columns:1fr}.detail-card.wide{grid-column:auto}.detail-card{padding:13px}.progress-rail{margin:0 -4px}.progress-node{min-width:78px}.note-form{align-items:stretch;flex-direction:column}.note-form button,#saveDetailBtn{width:100%}.attachment-zone{padding:13px}.attachment-actions{align-items:stretch;flex-direction:column;gap:5px}.attachment-actions label{display:flex;align-items:center;justify-content:center;min-height:44px;border:1px solid #d0d5dd;border-radius:8px;background:#fff}.camera-action{display:flex!important}.attachment-list{grid-template-columns:repeat(auto-fill,minmax(125px,1fr))}.attachment img{height:auto;aspect-ratio:4/3}.timeline-item strong{font-size:11px}.timeline-item span{font-size:9px}
  dialog{width:100vw;max-width:100vw;height:100dvh;max-height:100dvh;border-radius:0;margin:0}.modal-head{min-height:78px;padding:13px 14px;position:sticky;top:0;background:#fff;z-index:2}.modal-head h2{font-size:19px}.modal-head p{font-size:9px}.modal-body{padding:14px;max-height:calc(100dvh - 150px);overflow-y:auto;overscroll-behavior:contain}.form-grid{grid-template-columns:1fr;gap:12px}.field.wide{grid-column:auto}.field textarea{min-height:110px}.modal-actions{position:sticky;bottom:0;background:#fff;padding:10px 14px calc(10px + env(safe-area-inset-bottom));z-index:3}.new-defect-file-actions{display:grid;grid-template-columns:1fr 1fr}.new-defect-file-actions label{display:flex;align-items:center;justify-content:center;text-align:center}.new-defect-file-preview{grid-template-columns:1fr 1fr}
  .offers-head{align-items:stretch;flex-direction:column}.offer-actions{display:grid;grid-template-columns:1fr 1fr}.offer-actions>*{width:100%;display:flex;align-items:center;justify-content:center;min-height:44px}.procurement-flow{margin:0 -1px}.cost-level-grid{grid-template-columns:1fr}.cost-level-inputs input{min-height:44px;font-size:16px}.cost-variance{display:grid;gap:5px}.offer-table-wrap{overflow:visible}.offer-table{display:block;min-width:0}.offer-table thead{display:none}.offer-table tbody{display:block}.offer-table tr:not(.offer-scope-row){display:block;border:1px solid var(--line);border-radius:10px 10px 0 0;padding:11px;margin-top:10px;background:#fff}.offer-table tr:not(.offer-scope-row) td{display:flex;justify-content:space-between;gap:10px;border:0;padding:6px 0;font-size:10px}.offer-table tr:not(.offer-scope-row) td:first-child{display:block;border-bottom:1px solid #edf0f3;padding-bottom:9px}.offer-table tr:not(.offer-scope-row) td:nth-child(2):before{content:"Angebot"}.offer-table tr:not(.offer-scope-row) td:nth-child(3):before{content:"Netto"}.offer-table tr:not(.offer-scope-row) td:nth-child(4):before{content:"Brutto"}.offer-table tr:not(.offer-scope-row) td:nth-child(5):before{content:"Ausführung"}.offer-table tr:not(.offer-scope-row) td:nth-child(6):before{content:"Status"}.offer-table tr:not(.offer-scope-row) td:nth-child(n+2):nth-child(-n+6):before{font-size:8px;color:var(--muted);text-transform:uppercase}.offer-table tr:not(.offer-scope-row) td:last-child{display:block}.offer-table tr:not(.offer-scope-row) td:last-child button{width:100%;min-height:44px}.offer-table .offer-status{min-width:150px;min-height:44px;font-size:14px}.offer-scope-row{display:block;margin-bottom:10px}.offer-scope-row td{display:block;border:1px solid var(--line);border-top:0;border-radius:0 0 10px 10px;padding:10px!important}.offer-form-grid{grid-template-columns:1fr}.offer-form-grid .wide{grid-column:auto}.offer-review{margin:10px 0 0;padding:12px}.offer-review-head,.company-match{align-items:stretch;flex-direction:column}.offer-review-actions{display:grid;grid-template-columns:1fr}.transfer-prompt{margin:10px 0 0}.internal-customer-meta{grid-template-columns:1fr}.internal-reply>div{align-items:stretch;flex-direction:column}.internal-reply select{max-width:none}.internal-reply button{width:100%}
  .report-layout{display:block}.report-builder{padding:13px;margin-bottom:12px}.report-paper{padding:13px;min-height:0;overflow:hidden}.report-header{display:block}.report-header h1{font-size:20px}.report-header>div:last-child{text-align:left;margin-top:10px}.report-kpis{grid-template-columns:1fr 1fr}.report-table-wrap{margin:0 -13px;padding:0 13px;overflow-x:auto;overscroll-behavior-x:contain}.report-table-wrap table{min-width:620px}.template-grid button{min-height:42px}.section-checks{grid-template-columns:1fr 1fr}.section-checks label{display:flex;align-items:center;gap:7px;min-height:38px}.section-checks input{width:20px;height:20px}.date-pair{grid-template-columns:1fr}.saved-report-create{grid-template-columns:1fr}.saved-report-create input{min-height:44px;font-size:16px}
  .object-head{align-items:flex-start;flex-direction:column}.object-stats{grid-template-columns:1fr 1fr 1fr}.building-row{align-items:flex-start}.building-row b{text-align:right}.object-defects{min-height:44px;text-align:left}
  .toast{left:12px;right:12px;bottom:calc(12px + env(safe-area-inset-bottom));text-align:center;font-size:10px}
  .customer-content{padding:14px}.customer-topbar{height:68px;padding:0 12px;gap:8px}.customer-topbar h1{font-size:15px}.customer-top-actions{gap:5px}.customer-top-actions>button:first-child{width:44px;height:44px}.customer-welcome{padding:20px;align-items:flex-start;flex-direction:column}.customer-welcome h2{font-size:20px}.customer-welcome .primary-btn{width:100%}.customer-kpis{grid-template-columns:1fr 1fr;gap:8px}.customer-kpis button{min-height:92px}.customer-page-head{align-items:flex-start;flex-direction:column}.customer-page-head>.primary-btn{width:100%}.customer-list-filters{grid-template-columns:1fr}.customer-list-filters input,.customer-list-filters select,.customer-form-grid input,.customer-form-grid select,.customer-form-grid textarea,.customer-message-form textarea{min-height:44px;font-size:16px}.customer-defect-list>button{grid-template-columns:1fr auto;padding:14px}.customer-defect-list>button>b{display:none}.customer-detail-head{align-items:flex-start;flex-direction:column}.customer-detail-grid{grid-template-columns:1fr}.customer-detail-fields{grid-template-columns:1fr}.customer-detail-fields .wide{grid-column:auto}.customer-attachments{grid-template-columns:1fr}.customer-messages article{max-width:94%}.customer-message-form>div{align-items:stretch;flex-direction:column}.customer-message-form>div>span{flex:auto}.customer-message-form label,.customer-message-form button{display:flex;justify-content:center;align-items:center;min-height:44px}.customer-report-form>section{padding:14px}.customer-form-grid{grid-template-columns:1fr}.customer-form-grid .wide{grid-column:auto}.customer-upload{min-height:110px}.customer-camera-action{display:flex;align-items:center;justify-content:center;width:100%;margin-top:8px;cursor:pointer}.customer-file-list{grid-template-columns:1fr 1fr}.customer-form-actions{display:grid;grid-template-columns:1fr;padding-bottom:calc(20px + env(safe-area-inset-bottom))}.customer-form-actions button{width:100%}.customer-login-card{min-height:100dvh;padding:28px 22px calc(22px + env(safe-area-inset-bottom))}.customer-login h1{font-size:27px}.customer-login input{min-height:46px;font-size:16px}.customer-login form .primary-btn{min-height:46px}.customer-sidebar .copyright-note{margin-bottom:8px}
}

@media(max-width:430px){
  .main{padding-inline:10px}.metric-grid,.management-kpis,.object-dashboard-grid,.report-kpis{grid-template-columns:1fr}.metric-card{display:grid;grid-template-columns:1fr auto;align-items:center}.metric-top{grid-column:1/-1}.metric-value{margin-bottom:0}.metric-note{text-align:right}.section-intro .export-actions{grid-template-columns:1fr}.object-stats{grid-template-columns:1fr}.new-defect-file-actions,.new-defect-file-preview,.customer-file-list,.offer-actions{grid-template-columns:1fr}.modal-actions{display:grid;grid-template-columns:1fr 1fr}.modal-actions button{width:100%;padding-inline:6px}.customer-kpis{grid-template-columns:1fr}.customer-defect-list>button{display:flex;align-items:flex-start;flex-direction:column}.customer-defect-list .customer-status{align-self:flex-start}.customer-login-brand{margin-bottom:28px}.report-paper{font-size:11px}.report-section{margin-top:18px}
}

@media(max-width:340px){
  .main{padding-inline:8px}.topbar{gap:6px}.top-actions .primary-btn{padding-inline:8px}.section-intro h2{font-size:19px}.card,.detail-card,.attention-panel{padding:11px}.drawer-body{padding-inline:8px}.modal-head,.modal-body,.modal-actions{padding-inline:10px}.customer-content{padding:10px}.customer-topbar{padding-inline:8px}.customer-login-card{padding-inline:16px}.customer-login h1{font-size:24px}.customer-report-form>section{padding:11px}.period-pills button{padding-inline:8px}
}

@media(max-height:500px) and (orientation:landscape){
  .sidebar,.customer-sidebar{height:100dvh;overflow-y:auto}.drawer-head{min-height:62px;padding-block:8px}.drawer-body{height:calc(100dvh - 62px)}dialog{height:100dvh}.modal-head{min-height:62px;padding-block:8px}.modal-body{max-height:calc(100dvh - 126px)}.customer-login-card{padding-block:18px}.customer-login-brand{margin-bottom:14px}.customer-login h1{font-size:23px}.demo-access{margin-top:10px}
}

@media(max-width:760px){
  #defectsView .table-scroll,#defectsView table,#defectsView tbody#defectTable{display:block;width:100%;min-width:0;max-width:100%}
  #defectsView table thead{display:none}
  #defectsView tbody#defectTable{display:grid}
  #defectsView tbody#defectTable tr{width:100%;max-width:100%}
}
