* {
  box-sizing: border-box;
}

:root {
  --bg: #07111f;
  --panel: #0d1929;
  --panel-2: #101f32;
  --border: #20354e;
  --text: #f5f8fc;
  --muted: #8ca0b6;
  --blue: #1d9bf0;
  --blue-light: #45bdf5;
  --danger: #531c24;
}

body {
  margin: 0;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif;
  background: var(--bg);
  color: var(--text);
}

/* LOGIN */

.login-body {
  min-height: 100vh;
  display: grid;
  place-items: center;
  padding: 24px;
}

.login-card {
  width: min(430px, 100%);
  background: var(--panel);
  border: 1px solid var(--border);
  border-radius: 22px;
  padding: 34px;
  box-shadow: 0 24px 80px rgba(0,0,0,.45);
}

.brand {
  display: flex;
  align-items: center;
  gap: 15px;
  margin-bottom: 32px;
}

.brand h1 {
  margin: 0;
  font-size: 28px;
  letter-spacing: 1px;
}

.brand span {
  display: block;
  margin-top: 2px;
  color: var(--blue-light);
  letter-spacing: 5px;
  font-size: 12px;
}

.snow {
  font-size: 44px;
  color: var(--blue-light);
}

.login-card h2 {
  margin: 0 0 8px;
}

.login-card p {
  color: var(--muted);
  line-height: 1.5;
}

.login-card label {
  display: block;
  margin: 18px 0 7px;
  color: #c7d4e3;
  font-weight: 600;
}

input {
  width: 100%;
  padding: 14px;
  border-radius: 10px;
  border: 1px solid #31445d;
  background: #07111f;
  color: #fff;
  font-size: 16px;
  outline: none;
}

input:focus {
  border-color: var(--blue);
}

button {
  width: 100%;
  margin-top: 24px;
  padding: 14px;
  border: 0;
  border-radius: 10px;
  background: var(--blue);
  color: #fff;
  font-size: 16px;
  font-weight: 700;
  cursor: pointer;
}

button:hover {
  filter: brightness(1.08);
}

.error {
  display: none;
  background: var(--danger);
  padding: 12px;
  border-radius: 8px;
  margin: 15px 0;
}

.login-card small {
  display: block;
  text-align: center;
  margin-top: 24px;
  color: #74869a;
}

/* DASHBOARD */

.topbar {
  min-height: 74px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 20px;
  padding: 0 30px;
  background: var(--panel);
  border-bottom: 1px solid var(--border);
}

.topbar strong {
  font-size: 22px;
  letter-spacing: 1px;
}

.topbar span {
  display: block;
  color: var(--blue-light);
  letter-spacing: 4px;
  font-size: 11px;
}

.topbar form {
  margin: 0;
}

.logout {
  width: auto;
  margin: 0;
  padding: 10px 16px;
  background: #17263a;
}

.container {
  width: min(1200px, calc(100% - 32px));
  margin: 34px auto;
}

.welcome h1 {
  margin: 0 0 6px;
}

.welcome p {
  margin: 0;
  color: var(--muted);
}

.cards {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(230px, 1fr));
  gap: 18px;
  margin-top: 30px;
}

.card {
  display: block;
  min-height: 175px;
  padding: 24px;
  background: var(--panel);
  border: 1px solid var(--border);
  border-radius: 16px;
  text-decoration: none;
  color: #fff;
  transition: .15s ease;
  cursor: pointer;
}

.card:hover {
  border-color: var(--blue);
  transform: translateY(-2px);
  background: var(--panel-2);
}

.card span {
  font-size: 30px;
  color: var(--blue-light);
}

.card h3 {
  margin: 18px 0 8px;
}

.card p {
  margin: 0;
  color: var(--muted);
  line-height: 1.5;
}

.company-box {
  margin-top: 28px;
  padding: 24px;
  background: var(--panel);
  border: 1px solid var(--border);
  border-radius: 16px;
}

.company-box h3 {
  margin-top: 0;
}

.company-box p {
  margin: 8px 0;
  color: #c7d4e3;
}

@media (max-width: 600px) {
  .topbar {
    padding: 0 16px;
  }

  .container {
    margin-top: 20px;
  }

  .login-card {
    padding: 24px;
  }

  .brand h1 {
    font-size: 24px;
  }
}

/* 0-METING */
.app-body { background: #07111f; min-height: 100vh; }
.brand-link { color: inherit; text-decoration: none; }
.topbar-actions { display:flex; align-items:center; gap:12px; }
.small-link, .primary-link { color:#fff; text-decoration:none; background:#17263a; border:1px solid var(--border); border-radius:10px; padding:10px 14px; font-weight:700; }
.primary-link { background:var(--blue); border-color:var(--blue); }
.sticky-topbar { position:sticky; top:0; z-index:50; backdrop-filter:blur(12px); }
.measurement-container { padding-bottom:110px; }
.page-head { display:flex; align-items:flex-end; justify-content:space-between; gap:24px; margin-bottom:28px; }
.page-head h1 { margin:4px 0 6px; font-size:clamp(30px,5vw,46px); }
.page-head p { color:var(--muted); margin:0; }
.eyebrow { color:var(--blue-light)!important; font-size:12px; letter-spacing:2.4px; font-weight:800; }
.progress-card { min-width:240px; background:var(--panel); border:1px solid var(--border); border-radius:14px; padding:14px 16px; }
.progress-card span { font-size:13px; font-weight:700; color:#d9e5f2; }
.progress { height:7px; margin-top:9px; background:#15263a; border-radius:20px; overflow:hidden; }
.progress i { display:block; width:0; height:100%; background:linear-gradient(90deg,var(--blue),var(--blue-light)); transition:width .25s ease; }
.form-panel { background:var(--panel); border:1px solid var(--border); border-radius:18px; padding:24px; margin:18px 0; }
.section-title { display:flex; gap:14px; align-items:flex-start; margin-bottom:22px; }
.section-title>span { display:grid; place-items:center; width:34px; height:34px; flex:0 0 34px; border-radius:10px; background:#0f3556; color:var(--blue-light); font-weight:900; }
.section-title h2 { margin:1px 0 5px; font-size:20px; }
.section-title p { margin:0; color:var(--muted); line-height:1.45; }
.form-grid { display:grid; gap:16px; }
.form-grid.two { grid-template-columns:repeat(2,minmax(0,1fr)); }
.form-grid.four { grid-template-columns:repeat(4,minmax(0,1fr)); }
.form-grid label { display:block; color:#cbd8e6; font-weight:700; font-size:13px; }
.form-grid label.full { grid-column:1/-1; }
.form-grid input,.form-grid select,.form-grid textarea,.item-note { width:100%; margin-top:7px; padding:12px 13px; border:1px solid #31445d; border-radius:10px; background:#07111f; color:#fff; font:inherit; font-size:16px; outline:none; }
.form-grid textarea,.item-note { resize:vertical; }
.form-grid input:focus,.form-grid select:focus,.form-grid textarea:focus,.item-note:focus { border-color:var(--blue); box-shadow:0 0 0 3px rgba(29,155,240,.10); }
.photo-field { margin-top:18px; padding:16px; border:1px dashed #33506e; border-radius:14px; background:#091727; display:grid; gap:12px; }
.photo-field small { display:block; margin-top:4px; color:var(--muted); }
.photo-button,.mini-photo-button { position:relative; display:inline-flex; justify-content:center; align-items:center; width:max-content; padding:11px 14px; border-radius:10px; background:#16334d; color:#fff; font-weight:800; cursor:pointer; }
.photo-button input,.mini-photo-button input { position:absolute; opacity:0; pointer-events:none; width:1px; height:1px; }
.photo-preview,.mini-preview { position:relative; width:max-content; max-width:100%; }
.photo-preview img { max-width:min(520px,100%); max-height:340px; border-radius:12px; display:block; }
.mini-preview img { width:90px; height:70px; object-fit:cover; border-radius:9px; display:block; }
.remove-photo { position:absolute; top:5px; right:5px; width:28px; height:28px; margin:0; padding:0; border-radius:50%; background:#741d28; font-size:20px; line-height:1; }
.check-section { border:1px solid var(--border); border-radius:14px; overflow:hidden; margin:14px 0; background:#091626; }
.check-section-head { width:100%; margin:0; border-radius:0; background:#102238; padding:15px 16px; display:grid; grid-template-columns:28px 1fr auto; align-items:center; gap:10px; text-align:left; }
.check-section-head span { width:28px; height:28px; display:grid; place-items:center; border-radius:8px; background:#173b5b; color:var(--blue-light); }
.check-section-head em { color:var(--muted); font-style:normal; font-size:12px; font-weight:600; }
.check-section-body { padding:10px; }
.check-item { padding:14px; border:1px solid #20354e; border-radius:12px; margin:9px 0; background:#0b1929; transition:.15s ease; }
.check-item.status-ok { border-color:#1d664c; background:#0c201d; }
.check-item.status-deviation { border-color:#8f3b44; background:#251417; }
.check-item.status-advice { border-color:#84651f; background:#221d0e; }
.check-item.status-na { opacity:.72; }
.check-label { display:flex; align-items:center; justify-content:space-between; gap:12px; }
.status-dot { width:9px; height:9px; border-radius:50%; background:#41556e; }
.status-ok .status-dot { background:#3ac486; }.status-deviation .status-dot{background:#ff6b78}.status-advice .status-dot{background:#f5c54e}.status-na .status-dot{background:#7f8b99}
.status-buttons { display:grid; grid-template-columns:repeat(4,1fr); gap:7px; margin-top:12px; }
.status-buttons button { margin:0; padding:9px 6px; background:#13253a; border:1px solid #29415d; font-size:13px; }
.status-buttons button[data-status="ok"].active { background:#1a6a4c; border-color:#47d99c; }
.status-buttons button[data-status="deviation"].active { background:#7b2630; border-color:#ff7a87; }
.status-buttons button[data-status="advice"].active { background:#745817; border-color:#f5c54e; }
.status-buttons button[data-status="na"].active { background:#46515f; border-color:#7f8b99; }
.item-note { margin-top:10px; min-height:62px; }
.item-photo-row { margin-top:9px; display:flex; align-items:center; gap:12px; }
.mini-photo-button { padding:8px 10px; font-size:13px; }
.save-dock { position:fixed; z-index:60; left:50%; bottom:max(12px, env(safe-area-inset-bottom)); transform:translateX(-50%); width:min(1160px,calc(100% - 24px)); background:rgba(13,25,41,.96); border:1px solid #2c4969; box-shadow:0 16px 50px rgba(0,0,0,.45); backdrop-filter:blur(12px); border-radius:16px; padding:12px; display:grid; grid-template-columns:1fr auto auto; align-items:center; gap:10px; }
.save-dock small { display:block; color:var(--muted); margin-top:3px; }
.save-dock button { width:auto; margin:0; white-space:nowrap; }
.secondary-btn { background:#17263a; border:1px solid #30465f; }
.report-list { display:grid; gap:10px; }
.report-row { display:grid; grid-template-columns:1fr auto 24px; gap:18px; align-items:center; padding:18px; border:1px solid var(--border); background:var(--panel); border-radius:14px; color:#fff; text-decoration:none; }
.report-row div { display:flex; flex-direction:column; gap:4px; }.report-row span { color:var(--muted); font-size:13px; }.report-row i{font-style:normal;font-size:26px;color:var(--blue-light)}
.empty-state { padding:34px; text-align:center; border:1px dashed var(--border); border-radius:16px; color:var(--muted); }
.muted { color:var(--muted); }
@media(max-width:900px){.form-grid.four{grid-template-columns:repeat(2,minmax(0,1fr));}.page-head{align-items:stretch;flex-direction:column}.progress-card{min-width:0}.save-dock{grid-template-columns:1fr auto}.save-dock>div{grid-column:1/-1}.save-dock button{min-height:46px}}
@media(max-width:600px){.measurement-container{width:min(100% - 20px,1200px);padding-bottom:160px}.form-panel{padding:16px;border-radius:15px}.form-grid.two,.form-grid.four{grid-template-columns:1fr}.section-title{gap:10px}.status-buttons{grid-template-columns:repeat(2,1fr)}.save-dock{grid-template-columns:1fr 1.4fr}.save-dock .secondary-btn{font-size:13px}.save-dock #saveButton{font-size:14px}.topbar-actions .small-link{display:none}.report-row{grid-template-columns:1fr 20px}.report-row>div:nth-child(2){grid-column:1/2}.report-row i{grid-column:2;grid-row:1/3}.photo-preview img{width:100%;height:auto}.check-section-head{grid-template-columns:28px 1fr}.check-section-head em{display:none}}


/* V2 UI polish */
.brand-logo-link{display:flex;align-items:center;min-width:190px}.brand-logo-link img{display:block;width:230px;max-width:32vw;height:auto}.login-brand-logo{display:block;margin-bottom:28px}.login-brand-logo img{display:block;width:min(310px,100%);height:auto}.measurement-panel{background:linear-gradient(180deg,#0e1b2d 0%,#0b1727 100%)}
.measurement-groups{display:grid;gap:16px}.measurement-group{border:1px solid #263e59;border-radius:16px;background:linear-gradient(145deg,rgba(13,31,50,.98),rgba(7,17,31,.98));overflow:hidden;box-shadow:inset 0 1px rgba(255,255,255,.02)}
.measurement-group-head{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:15px 17px;border-bottom:1px solid #223750;background:linear-gradient(90deg,rgba(29,155,240,.09),transparent)}.measurement-group-head b{display:block;color:#f4f8fd;font-size:15px}.measurement-group-head span{display:block;color:#8298af;font-size:12px;margin-top:3px}.metric-input-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;padding:12px}
.measure-field{position:relative;min-width:0;padding:11px;border:1px solid #263c55;border-radius:12px;background:#091522;transition:border-color .15s ease,background .15s ease,transform .15s ease}.measure-field:focus-within{border-color:#2a9eea;background:#0a1929;box-shadow:0 0 0 3px rgba(29,155,240,.08)}.measure-field.is-na{background:#0b1420;border-style:dashed;opacity:.72}.measure-field-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px}.measure-field-head>label:first-child{color:#dce7f3;font-weight:750;font-size:12px;line-height:1.25}.measure-input{display:flex;align-items:center;border:1px solid #304760;border-radius:9px;background:#06101c;overflow:hidden}.measure-input input{border:0!important;box-shadow:none!important;margin:0!important;padding:10px 10px!important;background:transparent!important;min-width:0;font-weight:800;color:#fff}.measure-input>span{align-self:stretch;display:flex;align-items:center;justify-content:center;min-width:42px;padding:0 9px;border-left:1px solid #263c55;background:#0d1e30;color:#82a4c3;font-size:12px;font-weight:800}.measure-field.is-na .measure-input{opacity:.35}.nvt-chip{position:relative;flex:0 0 auto;cursor:pointer}.nvt-chip input{position:absolute;opacity:0;pointer-events:none;width:1px;height:1px}.nvt-chip span{display:inline-flex;align-items:center;justify-content:center;padding:4px 7px;border:1px solid #354b63;border-radius:999px;background:#101f30;color:#8fa4b8;font-size:10px;font-weight:800;line-height:1}.nvt-chip input:checked+span{border-color:#738395;background:#3f4b59;color:#fff}.acid-panel,.thermo-panel{position:relative;overflow:hidden}.acid-panel:before,.thermo-panel:before{content:"";position:absolute;inset:0 auto 0 0;width:3px;background:linear-gradient(#2eb4ff,#2169c8)}.featured-photo-field{grid-template-columns:minmax(220px,1fr) auto;align-items:center}.featured-photo-field .photo-preview{grid-column:1/-1}.featured-photo-field .photo-button{margin-left:auto}.form-panel{box-shadow:0 10px 28px rgba(0,0,0,.12)}
@media(max-width:1100px){.metric-input-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:780px){.brand-logo-link img{width:190px;max-width:48vw}.metric-input-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.featured-photo-field{grid-template-columns:1fr}.featured-photo-field .photo-button{margin-left:0}}
@media(max-width:390px){.metric-input-grid{grid-template-columns:1fr}.brand-logo-link img{width:170px;max-width:55vw}}

/* V3 modules */
.data-list{display:grid;gap:10px}.data-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:18px;align-items:center;padding:14px 16px;border:1px solid var(--border);border-radius:12px;background:#0b1929}.data-row>div{display:flex;flex-direction:column;gap:4px}.data-row>div:last-child{text-align:right;color:#dbe7f4}.data-row span{color:var(--muted);font-size:13px}.legal-note{margin:0 0 18px;padding:14px 16px;border:1px solid #6f5a20;border-radius:12px;background:#211b0c;color:#f0ddb0}.legal-note p{margin:5px 0 0;color:#ceb97f;line-height:1.45}.calc-note{padding:10px 12px;border-radius:10px;background:#0d2134;border:1px solid #244967;color:#94bddc;font-size:12px;line-height:1.4}.auto-value{box-shadow:inset 0 0 0 1px rgba(46,180,255,.35)!important;background:#082033!important}.report-row-actions{display:flex;gap:8px;align-items:center}.small-danger{background:#5a1f29!important}@media(max-width:600px){.data-row{grid-template-columns:1fr}.data-row>div:last-child{text-align:left}}

.data-list a.data-row{text-decoration:none;color:inherit;transition:.15s ease}.data-list a.data-row:hover{border-color:var(--blue);background:#0d2034;transform:translateY(-1px)}

/* V4 beheer, dynamische werkbonnen en F-gassenvoorraad */
.hidden{display:none!important}.compact{padding:7px 10px;font-size:12px}.section-heading-row{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:16px}.section-heading-row h2{margin:0}.inline-search{width:min(360px,100%);padding:10px 12px;border:1px solid #31445d;border-radius:10px;background:#07111f;color:#fff;font:inherit}.manage-row{grid-template-columns:minmax(0,1fr) auto}.row-actions{display:flex!important;flex-direction:row!important;gap:8px!important;align-items:center}.mini-action{width:auto;margin:0;padding:9px 12px;border-radius:9px;background:#17314b;border:1px solid #31506e;font-size:13px}.mini-action.danger{background:#4a1b25;border-color:#7c2f3e}.top-space{margin-top:16px}.relation-picker{padding:12px;border:1px solid #25405c;border-radius:13px;background:#0a1a2b;margin-bottom:14px}.quick-note-select{width:100%;margin-top:10px;padding:10px 11px;border:1px solid #2a4561;border-radius:9px;background:#0a1625;color:#dbe8f5;font:inherit}.work-checklist{display:grid;gap:9px}.work-check-row{display:grid;grid-template-columns:minmax(220px,1.25fr) minmax(220px,1fr) minmax(220px,1fr);gap:10px;align-items:center;padding:11px;border:1px solid #243b55;border-radius:11px;background:#0a1727}.work-check-name{font-weight:800;color:#eaf3fb}.work-check-row select,.work-check-row input{width:100%;padding:10px;border:1px solid #314861;border-radius:9px;background:#07111f;color:#fff;font:inherit}.compact-title{margin-top:8px}.embedded-grid{padding:14px;border:1px solid #24415f;border-radius:13px;background:#091727}.blue-note{border-color:#245376;background:#0c2135;color:#bfe2f7}.blue-note p{color:#96bdd7}.inline-link{display:inline-flex;margin-top:10px}.subnav{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 18px}.subnav a{color:#d8e9f7;text-decoration:none;background:#102238;border:1px solid #294663;border-radius:999px;padding:8px 12px;font-weight:700;font-size:13px}.year-filter{display:flex;align-items:center;gap:8px;color:#c9d7e5;font-weight:700}.year-filter input{width:100px;padding:9px;border:1px solid #31445d;border-radius:9px;background:#07111f;color:#fff}.balance-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.balance-card{display:flex;flex-direction:column;gap:6px;padding:16px;border:1px solid #28445f;border-radius:12px;background:#0a1828}.balance-card strong{font-size:20px;color:#47baff}.balance-card span{color:#9fb4c8}.balance-card b{margin-top:5px;color:#fff}.form-grid.four{grid-template-columns:repeat(4,minmax(0,1fr))}
@media(max-width:900px){.work-check-row{grid-template-columns:1fr}.balance-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.form-grid.four{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.section-heading-row{align-items:stretch;flex-direction:column}.inline-search{width:100%}.manage-row{grid-template-columns:1fr}.row-actions{justify-content:flex-start}.balance-grid,.form-grid.four{grid-template-columns:1fr}.work-check-row{grid-template-columns:1fr}.quick-note-select{font-size:15px}}

/* V5 veldgebruik, meetrapporten, installatienummers en mobiel */
.field-help{display:block;margin-top:6px;color:var(--muted);font-size:12px;line-height:1.35;font-weight:500}.asset-code{display:inline-flex;align-items:center;padding:3px 7px;margin-right:4px;border:1px solid #2d77aa;border-radius:7px;background:#0b2940;color:#5bc4ff;font-size:12px;letter-spacing:.04em}.embedded-panel{padding:16px;margin:0;border-color:#29445f;background:#091625}.measurement-context{display:grid;grid-template-columns:minmax(220px,360px) 1fr;gap:14px;align-items:end;margin-bottom:14px}.measurement-context label{font-weight:700;color:#d9e6f3}.measurement-context input{margin-top:7px}.work-measure-panel .metric-input-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.report-row-card{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;border:1px solid var(--border);background:var(--panel);border-radius:14px;padding:0 12px 0 0;overflow:hidden}.report-row-main{display:grid;grid-template-columns:minmax(0,1fr) auto 20px;gap:16px;align-items:center;padding:17px 18px;color:#fff;text-decoration:none;min-width:0}.report-row-main>div{display:flex;flex-direction:column;gap:4px;min-width:0}.report-row-main span{color:var(--muted);font-size:13px;overflow-wrap:anywhere}.report-row-main i{font-style:normal;font-size:24px;color:var(--blue-light)}.report-card-actions{display:flex;align-items:center;gap:8px}.report-card-actions .mini-action{display:inline-flex;text-decoration:none;color:#fff}.form-panel select,.work-check-row select{min-height:46px}.form-panel textarea{width:100%;padding:14px;border-radius:10px;border:1px solid #31445d;background:#07111f;color:#fff;font:inherit;resize:vertical}.form-panel textarea:focus,.form-panel select:focus{outline:none;border-color:var(--blue);box-shadow:0 0 0 3px rgba(29,155,240,.08)}
@media(max-width:1050px){.work-measure-panel .metric-input-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.measurement-context{grid-template-columns:1fr}}
@media(max-width:700px){.container{width:min(100% - 20px,1200px)}.topbar{padding:0 14px;min-height:66px}.brand-logo-link{min-width:0}.brand-logo-link img{width:180px;max-width:58vw}.page-head h1{font-size:clamp(34px,10vw,48px)}.form-panel{padding:14px}.form-grid.two,.form-grid.four{grid-template-columns:1fr}.work-measure-panel .metric-input-grid{grid-template-columns:1fr 1fr}.measure-field{padding:10px}.measurement-group-head{padding:13px}.metric-input-grid{padding:10px}.work-check-row{grid-template-columns:1fr;padding:12px}.work-check-name{font-size:15px}.row-actions{width:100%;display:grid!important;grid-template-columns:1fr 1fr}.row-actions .mini-action{width:100%;min-height:44px}.report-row-card{grid-template-columns:1fr;padding:0}.report-row-main{grid-template-columns:1fr 20px;padding:15px}.report-row-main>div:nth-child(2){grid-column:1;grid-row:2}.report-row-main i{grid-column:2;grid-row:1/3}.report-card-actions{padding:0 15px 15px;display:grid;grid-template-columns:1fr 1fr}.report-card-actions .mini-action{justify-content:center;min-height:44px;align-items:center}.inline-search{min-height:46px}.section-heading-row{gap:10px}.embedded-panel{padding:12px}.data-row{padding:13px}.data-row span{overflow-wrap:anywhere}}
@media(max-width:440px){.work-measure-panel .metric-input-grid{grid-template-columns:1fr}.brand-logo-link img{width:160px;max-width:60vw}.measure-field-head>label:first-child{font-size:13px}.nvt-chip span{padding:5px 8px}.form-panel{border-radius:12px}.page-head{gap:14px}.primary-link{width:100%;justify-content:center;text-align:center}.save-dock{left:10px;right:10px;transform:none;width:auto;bottom:max(8px,env(safe-area-inset-bottom));grid-template-columns:1fr}.save-dock>div{grid-column:auto}.save-dock button{width:100%}}

/* V6 ondertekening, fotoreeksen en inklapbare 0-meting */
.checklist-tools{display:flex;gap:8px;justify-content:flex-end;flex-wrap:wrap;margin:-4px 0 10px}.checklist-tools .secondary-btn{width:auto;margin:0;padding:8px 12px;font-size:12px}
.check-section-head:after{content:'⌄';font-size:18px;color:#8ebfe0;transition:transform .15s ease}.check-section-head[aria-expanded="false"]:after{transform:rotate(-90deg)}
.mini-preview{display:flex;flex-wrap:wrap;gap:8px;width:auto}.mini-photo{position:relative;display:inline-block}.mini-photo img{width:88px;height:68px;object-fit:cover;border-radius:9px;display:block}.mini-photo .remove-photo{top:3px;right:3px;width:23px;height:23px;font-size:16px}
.signature-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:18px}.signature-card{border:1px solid #2a425e;border-radius:13px;padding:13px;background:#091727}.signature-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:9px}.signature-card small{display:block;color:var(--muted);margin-top:8px;line-height:1.35}.signature-pad{display:block;width:100%;height:155px;background:#fff;border-radius:9px;border:1px solid #b9c8d7;touch-action:none;cursor:crosshair}.secondary-btn.small{width:auto;margin:0;padding:7px 10px;font-size:12px}.signoff-panel{border-color:#315374}
@media(max-width:700px){.signature-grid{grid-template-columns:1fr}.signature-pad{height:145px}.checklist-tools{justify-content:stretch}.checklist-tools .secondary-btn{flex:1}}

/* V7 uren, materialen, hulpmiddelen en bewerken */
.operations-panel{border-color:#315374}.timing-grid{margin-bottom:14px}.material-quick{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:6px 0 12px}.material-quick>span{color:var(--muted);font-size:12px;font-weight:800}.material-rows{display:grid;gap:8px;margin:10px 0}.material-row{display:grid;grid-template-columns:minmax(150px,.8fr) minmax(240px,1.8fr) 110px 44px;gap:8px;align-items:center;padding:9px;border:1px solid #29435e;border-radius:11px;background:#081522}.material-row select,.material-row input{width:100%;min-width:0;padding:10px 11px;border:1px solid #314861;border-radius:9px;background:#07111f;color:#fff;font:inherit;font-size:15px}.material-row .mat-remove{min-height:42px;padding:0;font-size:20px}.edit-banner{padding:12px 14px;margin-bottom:14px;border:1px solid #2f75a7;border-radius:11px;background:#0b2740;color:#bfe7ff}.edit-banner strong{color:#fff}.created-time{color:var(--muted);font-size:12px}
@media(max-width:800px){.material-row{grid-template-columns:1fr 1fr}.material-row .mat-description{grid-column:1/-1}.material-row .mat-remove{grid-column:2;justify-self:stretch}}
@media(max-width:520px){.material-row{grid-template-columns:1fr}.material-row .mat-description,.material-row .mat-remove{grid-column:auto}.material-quick .secondary-btn{flex:1 1 calc(50% - 8px);min-height:44px}.timing-grid{grid-template-columns:1fr!important}}
@media(max-width:700px){.report-card-actions{grid-template-columns:repeat(auto-fit,minmax(105px,1fr))}.report-card-actions .mini-action,.report-card-actions button.mini-action{width:100%;justify-content:center;min-height:44px}}


/* V8 rapportage-archief en automatische installatienummers */
.report-filter{width:auto;margin:0;padding:9px 14px;border:1px solid #2c4969;border-radius:999px;background:#102238;color:#dceaf7;font-weight:800}.report-filter.active{background:#157fc2;border-color:#42b6f5;color:#fff}.report-download-row{grid-template-columns:minmax(0,1fr) auto}.report-download-actions{flex-wrap:wrap}.primary-download{background:#116b45!important;border-color:#238c61!important}.form-grid input[readonly]{background:#0d1a29;color:#8fb0c8;cursor:not-allowed}
@media(max-width:760px){.report-download-row{grid-template-columns:1fr}.report-download-actions{display:grid!important;grid-template-columns:1fr 1fr!important}.report-download-actions .primary-download{grid-column:1/-1}.report-filter{flex:1}.subnav{display:flex}.data-row.manage-row.report-download-row{gap:12px}}
@media(max-width:430px){.report-download-actions{grid-template-columns:1fr!important}.report-download-actions .primary-download{grid-column:auto}}

.page-head-actions{display:flex;gap:9px;flex-wrap:wrap;align-items:center}.page-head-actions .small-link{display:inline-flex;align-items:center;justify-content:center;min-height:44px}
@media(max-width:700px){.page-head-actions{display:grid;grid-template-columns:1fr 1fr}.page-head-actions .small-link{width:100%}}
@media(max-width:420px){.page-head-actions{grid-template-columns:1fr}}

/* V9 rapportageknoppen */
.report-download-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.report-download-actions .mini-action{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:10px 16px;border-radius:10px;border:1px solid #31506d;background:#17304a;color:#fff !important;text-decoration:none !important;font-weight:800;line-height:1.1}
.report-download-actions .mini-action:visited{color:#fff !important}
.report-download-actions .mini-action:hover{filter:brightness(1.12)}
.report-download-actions .primary-download{background:#15965a;border-color:#20b66c;color:#fff !important}
@media(max-width:650px){.report-download-row{align-items:stretch}.report-download-actions{width:100%;display:grid;grid-template-columns:1fr 1fr}.report-download-actions .mini-action{width:100%;text-align:center}}

/* V11 foto-keuze en feedback */
.photo-choice-actions{display:flex;gap:10px;flex-wrap:wrap}.photo-choice-actions .photo-button{margin:0}.secondary-photo,.library-photo-button{background:#eef5fb!important;color:#16324a!important;border:1px solid #bfd3e3!important}.save-status{margin-top:10px;padding:10px 12px;border-radius:10px;background:#eef7ff;color:#16324a;font-size:14px}.save-status.error{background:#fff0f0;color:#8a1f1f}.save-status.success{background:#eefaf2;color:#176b37}@media(max-width:560px){.photo-choice-actions{display:grid;grid-template-columns:1fr}.photo-choice-actions .photo-button,.item-photo-row .mini-photo-button{min-height:44px;display:flex;align-items:center;justify-content:center}.item-photo-row{gap:8px;flex-wrap:wrap}}
