.work-option strong,.work-option span{display:block;font-size:11px}.warning{background:#fff7e2;border:1px solid #efd28b;color:#75540b;padding:12px;border-radius:8px;margin-bottom:14px}.photo-uploader{margin-top:18px;padding:16px;border:1px solid var(--line);border-radius:10px;background:#f8fbff}.photo-uploader h4{margin:0 0 10px}.photo-controls{display:grid;grid-template-columns:1fr 1.2fr 1.2fr auto;gap:10px;align-items:end}.photo-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:14px}.photo-card{border:1px solid #dbe3ef;border-radius:9px;overflow:hidden;background:#fff}.photo-card img{width:100%;height:180px;object-fit:cover;display:block;background:#eef2f7}.photo-card-body{padding:9px;font-size:12px}.photo-card-body b{display:block;margin-bottom:4px}.photo-actions{display:flex;justify-content:flex-end;margin-top:7px}.print-photo-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin:10px 0 16px}.print-photo{border:1px solid #d9dfe8;page-break-inside:avoid}.print-photo img{width:100%;height:220px;object-fit:contain;background:#f7f8fa;display:block}.print-photo div{font-size:10px;padding:6px}.photo-section-title{font-size:12px;margin:12px 0 6px;text-transform:uppercase;letter-spacing:.4px}@media(max-width:800px){.photo-controls{grid-template-columns:1fr}.photo-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:520px){.photo-gallery{grid-template-columns:1fr}}.help-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:15px}.help-grid>div{border:1px solid var(--line);border-radius:9px;padding:18px}.print-sheet{display:none}.print-header{display:flex;align-items:flex-start;justify-content:space-between;border-bottom:3px solid #111827;padding-bottom:14px;margin-bottom:18px}.print-logo{width:155px;height:auto;object-fit:contain}.print-title{text-align:right}.print-title h1{font-size:22px;letter-spacing:1px;margin:0 0 7px}.print-title p{margin:2px 0;font-size:11px}.print-box{border:1px solid #d7dde7;margin:12px 0}.print-box>h3{margin:0;padding:7px 10px;background:#101722;color:#fff;font-size:11px;letter-spacing:.4px}.print-box .content{padding:10px;font-size:11px;white-space:pre-wrap}.kv{display:grid;grid-template-columns:150px 1fr;gap:6px 12px}.print-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.print-room{page-break-inside:avoid;margin:16px 0}.print-room>h3{font-size:14px;margin:0 0 8px}.print-table{width:100%;border-collapse:collapse;font-size:10px}.print-table th,.print-table td{padding:6px;border:1px solid #d9dfe8}.print-table th{background:#eef1f6;text-align:left}.num{text-align:right!important}.invoice-total{margin-left:auto;border-collapse:collapse;width:330px;margin-top:18px}.invoice-total td{border:1px solid #d9dfe8;padding:8px;font-size:11px}.invoice-total td:last-child{text-align:right}.invoice-total .due{font-weight:800;background:#eef4fb}.invoice-statement{margin:20px 0;padding:14px;background:#f3f6fa;border-left:4px solid #0c73ea;font-size:12px}.bank-box{margin-top:25px;border-top:1px solid #d9dfe8;padding-top:12px;font-size:11px;line-height:1.5}#toast{display:none;position:fixed;right:20px;bottom:20px;z-index:1000;background:#111827;color:#fff;padding:12px 16px;border-radius:8px;box-shadow:0 10px 30px rgba(0,0,0,.25)}
@media(max-width:1100px){.sidebar{width:190px}.main-stage{margin-left:190px}.stats-row{grid-template-columns:repeat(2,1fr)}.dashboard-new{grid-column:span 2}.feature-grid{grid-template-columns:repeat(2,1fr)}.dashboard-grid,.dashboard-bottom{grid-template-columns:1fr}.top-search{width:220px}}
@media(max-width:760px){.sidebar{position:static;width:100%;height:auto}.side-brand{height:110px;flex-direction:row;gap:10px}.side-mark{width:55px;height:55px;font-size:30px;border-width:3px}.side-word{font-size:20px}.side-word small{font-size:8px}.side-nav{display:grid;grid-template-columns:repeat(4,1fr)}.side-link{padding:0 8px;justify-content:center;font-size:11px;gap:5px}.side-link span{font-size:18px}.side-divider,.side-motto{display:none}.main-stage{margin-left:0;padding:0 12px 20px}.dashboard-top{height:auto;padding:14px 0;align-items:flex-start}.dashboard-top h1{font-size:20px}.dashboard-top p{font-size:12px}.top-search{display:none}.stats-row{grid-template-columns:repeat(2,1fr)}.dashboard-new{grid-column:span 2}.feature-grid{grid-template-columns:1fr}.quick-actions{grid-template-columns:repeat(2,1fr)}.overview-grid{grid-template-columns:repeat(2,1fr)}.grid2{grid-template-columns:1fr}.span2{grid-column:1}.schedule-controls{grid-template-columns:1fr 1fr}.item-headings{display:none}.item-row{grid-template-columns:1fr 1fr}.work-search-wrap,.item-desc{grid-column:1/-1}.dashboard-footer{flex-direction:column;gap:12px}.claim-status-panel{display:none}.claim-table th:nth-child(3),.claim-table td:nth-child(3),.claim-table th:nth-child(6),.claim-table td:nth-child(6){display:none}}
@media print{body{background:#fff}.no-print,.sidebar,.dashboard-top,#dashboardView,#claimsView,#settingsView,#helpView,.tabs,.claim-title{display:none!important}.main-stage{margin:0;padding:0}.page-view{max-width:none}.tabpane{display:none!important}.tabpane.print-active{display:block!important}.tabpane.print-active>.no-print{display:none!important}.tabpane.print-active>.print-sheet{display:block!important}.print-sheet{padding:0;margin:0}.print-header{margin-top:0}@page{size:A4;margin:13mm}}

@media(max-width:760px){.side-brand{height:115px!important;padding:8px!important}.sidebar-master-logo{height:95px;width:170px;max-width:100%;object-fit:contain}}

.room-photo-uploader{margin-top:16px;padding:14px;border-top:1px solid var(--line);background:#f8fbff;border-radius:8px}.room-photo-uploader h4{margin:0 0 6px}.room-photo-controls{display:grid;grid-template-columns:1.2fr 1.2fr auto;gap:10px;align-items:end}.rr-photo-status{margin-top:8px}@media(max-width:800px){.room-photo-controls{grid-template-columns:1fr}}


/* Floodtech 3.3 interface polish: consistent sizing and overlap prevention */
.main-stage,.page-view,.card,.panel,.room-card,.grid2>*,.schedule-controls>*,.report-dims>*,.measure-grid>*,.item-row>*,.room-photo-controls>*{min-width:0}
input,textarea,select,.btn{max-width:100%}
textarea{line-height:1.45;min-height:86px}
.card{overflow:visible}
.page-head,.claim-title,.room-head,.top-actions,.actions,.room-head-actions{flex-wrap:wrap}
.page-head>div,.claim-title-main{min-width:0}
.page-head h2,.page-head h3,.claim-title h2{overflow-wrap:anywhere}
.btn{line-height:1.2;white-space:normal;text-align:center;min-height:38px}
.btn.tiny{min-height:31px}
.room-card{overflow:visible}
.room-head>.room-name,.room-head>.rr-name{min-width:180px;flex:1 1 280px;max-width:520px}
.report-dims,.measure-grid{grid-template-columns:repeat(3,minmax(100px,140px)) minmax(180px,1fr)}
.room-photo-uploader{border:1px solid var(--line);border-top:1px solid var(--line)}
.room-photo-controls{grid-template-columns:minmax(180px,1fr) minmax(220px,1.2fr) auto}
.rr-photo-input{padding:8px;background:#fff}
.photo-card{min-width:0}.photo-card img{max-width:100%}
.claim-row{gap:14px}.claim-row>div{min-width:0}.claim-row h4,.meta{overflow-wrap:anywhere}
.top-search{min-width:180px}
.tabs{overflow:hidden}.tab{min-width:0}
.totals-box{flex-wrap:wrap}.totals-box>div{flex:0 1 160px}
.item-headings,.item-row{grid-template-columns:minmax(150px,1.5fr) minmax(70px,.7fr) minmax(180px,2fr) minmax(60px,.6fr) minmax(65px,.6fr) minmax(75px,.8fr) minmax(85px,.8fr) 34px}
.schedule-controls{grid-template-columns:minmax(110px,130px) minmax(150px,180px) repeat(3,minmax(120px,auto))}

@media(max-width:1280px){
  .main-stage{padding-left:18px;padding-right:18px}
  .dashboard-top{gap:14px}
  .top-actions{gap:10px}
  .top-search{width:230px}
  .schedule-controls{grid-template-columns:repeat(2,minmax(150px,1fr));align-items:end}
  .schedule-controls .btn{width:100%}
  .item-headings{display:none}
  .item-row{grid-template-columns:repeat(4,minmax(0,1fr));border:1px solid #e5ebf3;border-radius:8px;padding:10px;margin:9px 0;background:#fff}
  .work-search-wrap,.item-desc{grid-column:1/-1}
  .item-code,.item-unit,.item-qty,.item-rate{grid-column:auto}
  .item-total{grid-column:3/5;text-align:right;padding-right:4px}
  .del-item{grid-column:4;justify-self:end}
}
@media(max-width:980px){
  .sidebar{width:175px}.main-stage{margin-left:175px}
  .dashboard-top{align-items:flex-start}
  .top-actions{margin-left:auto}
  .top-search{width:190px}
  .overview-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .report-dims,.measure-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .calc-readout,.rr-area{grid-column:1/-1;padding:4px 0}
  .room-photo-controls{grid-template-columns:1fr 1fr}.room-photo-controls .rr-upload-photos{grid-column:1/-1;width:max-content}
  .photo-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:760px){
  .main-stage{padding-left:12px;padding-right:12px}
  .dashboard-top{gap:10px}.top-actions{width:100%;justify-content:flex-end}
  .page-head{gap:10px}.page-head>.btn{width:100%}
  .claim-title{align-items:flex-start}.claim-title>.btn{flex:0 0 auto}
  .tabs{overflow-x:auto;display:flex;scrollbar-width:none}.tabs::-webkit-scrollbar{display:none}.tab{flex:0 0 auto;min-width:105px}
  .actions{width:100%}.actions .btn{flex:1 1 140px}
  .schedule-controls{grid-template-columns:1fr}
  .report-dims,.measure-grid{grid-template-columns:1fr 1fr}
  .calc-readout,.rr-area{grid-column:1/-1}
  .room-photo-controls{grid-template-columns:1fr}.room-photo-controls .rr-upload-photos{grid-column:auto;width:100%}
  .item-row{grid-template-columns:1fr 1fr}.work-search-wrap,.item-desc{grid-column:1/-1}.item-total{grid-column:1/2;text-align:left}.del-item{grid-column:2;justify-self:end}
  .totals-box{justify-content:stretch}.totals-box>div{flex:1 1 100%}
}
@media(max-width:480px){
  .overview-grid{grid-template-columns:1fr}
  .report-dims,.measure-grid{grid-template-columns:1fr}
  .room-head>.room-name,.room-head>.rr-name{min-width:100%}
  .room-head-actions{width:100%}.room-head-actions .btn,.room-head>.rr-delete{flex:1 1 auto}
  .photo-gallery{grid-template-columns:1fr}
}

/* Floodtech 3.3 consistency pass: form control alignment and PDF visual standards */
.grid2 label{min-width:0;align-content:start}
.grid2 input,.grid2 select{min-width:0;height:42px;line-height:20px}
.grid2 input[type="date"]{-webkit-appearance:none;appearance:none;min-width:0;width:100%}
.grid2 textarea{min-width:0;width:100%}

/* All schedule PDF room tables use one fixed column system, regardless of content length */
.print-table{table-layout:fixed}
.print-table th:nth-child(1),.print-table td:nth-child(1){width:15%}
.print-table th:nth-child(2),.print-table td:nth-child(2){width:49%}
.print-table th:nth-child(3),.print-table td:nth-child(3){width:10%}
.print-table th:nth-child(4),.print-table td:nth-child(4){width:8%}
.print-table th:nth-child(5),.print-table td:nth-child(5){width:9%}
.print-table th:nth-child(6),.print-table td:nth-child(6){width:9%}
.print-table th,.print-table td{overflow-wrap:anywhere;vertical-align:top}

/* One print colour system across Report, Schedule and Invoice */
.print-box>h3{background:#101722!important;color:#fff!important}
.print-table th{background:#eef1f6!important;color:#111827!important}
.invoice-statement{background:#f3f6fa!important;border-left-color:#101722!important}
.invoice-total .due{background:#101722!important;color:#fff!important}
.invoice-total .due td{color:#fff!important;font-weight:800}
