/* Function-profilen (lys modus). Alle farger i appen skal komme herfra – se README «Farger og logo».
   Kilde: Function sine fargetokens (primary = Function-lilla #7e00cb). tests/brand.test.js vokter paletten. */
:root{
  --primary:#7e00cb;
  --primary-hover:#52008c;
  --primary-text:#7e00cb;
  --background:#f3f0f7;
  --card:#ffffff;
  --surface-2:#faf8fd;
  --foreground:#1b0f23;
  --muted-foreground:#5b4f63;
  --border:#e3dced;
  --accent:#ede1ff;
  --accent-strong:#decdf9;
  --success:#63724c;
  --success-bg:#b1d38d;
  --warning-bg:#f7e3b5;
  --danger-bg:#f3c9c9;
  /* Avledet av Lillasort (#1b0f23) med alfa: profilen har ingen egne farger for skjemakanter og statuskanter. */
  --control-border:rgba(27,15,35,.5);
  --status-border:rgba(27,15,35,.35);
}
/* Knapper og skjemafelt arver ikke tekstfarge; gi dem profilens tekstfarge. :where() gir null spesifisitet, så klassene under vinner. */
:where(button,input,select,textarea){color:var(--foreground)}
:where(button:disabled){color:rgba(27,15,35,.3)}
/* Plassholdertekst i dempet tekstfarge i stedet for nettleserens grå. opacity:1 fordi noen nettlesere (Firefox) ellers gjør den gjennomsiktig. */
::placeholder{color:var(--muted-foreground);opacity:1}
*{box-sizing:border-box}
body{
  margin:0;
  font-family:Arial, Helvetica, sans-serif;
  background:var(--background);
  color:var(--foreground);
}
header{
  width:calc(100% - 56px); /* samme sidemarg som .wrapper (padding 28px) */
  max-width:1124px;
  margin:18px auto 0;
  position:relative;
  overflow:hidden;
  background:linear-gradient(135deg,var(--primary),var(--primary-hover));
  color:#fff;
  padding:15px 22px 17px;
  border-radius:22px;
  box-shadow:0 8px 22px rgba(27,15,35,.12);
}
header::before{
  content:"";
  position:absolute;
  inset:0 0 0 46%;
  background-image:url('assets/header-sensor-bg.jpg');
  background-size:cover;
  background-position:center 38%;
  opacity:.62;
  filter:saturate(1.02) contrast(1.08);
}
header::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(90deg,rgba(126,0,203,.94) 0%,rgba(126,0,203,.86) 42%,rgba(126,0,203,.62) 62%,rgba(126,0,203,.6) 100%);
}
.header-inner{
  position:relative;
  z-index:1;
  display:block;
}
.function-logo{
  display:block;
  width:146px;
  max-width:48vw;
  height:auto;
  margin:0 0 9px 0;
}
h1{
  margin:0;
  font-size:34px;
  line-height:1.03;
  letter-spacing:-.02em;
}
.subtitle{
  margin-top:5px;
  max-width:720px;
  line-height:1.32;
  font-size:14px;
  color:#fff;
}
.wrapper{
  max-width:1180px;
  margin:auto;
  padding:28px;
}
.room-section{
  background:var(--card);
  border:1px solid var(--border);
  border-radius:28px;
  padding:24px;
  box-shadow:0 4px 14px rgba(27,15,35,.04);
  margin-bottom:26px;
}
.room-header{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:20px;
  margin-bottom:18px;
}
.room-header h2{
  margin:0 0 4px 0;
  font-size:24px;
}
.room-controls{
  display:flex;
  align-items:center;
  gap:14px;
  margin:18px 0 0;
}
.room-select-wrap{
  flex:1;
}
.room-select-label{
  display:block;
  font-size:11px;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:var(--muted-foreground);
  font-weight:bold;
  margin-bottom:7px;
}
.room-select{
  width:100%;
  border:1px solid var(--border);
  background:var(--card);
  color:var(--foreground);
  border-radius:14px;
  padding:13px 14px;
  font-size:16px;
  font-weight:600;
  outline:none;
}
.room-toggle{
  border:1px solid var(--border);
  background:var(--accent);
  color:var(--primary-text);
  border-radius:999px;
  padding:12px 16px;
  font-weight:bold;
  cursor:pointer;
  white-space:nowrap;
}
.room-toggle:hover{
  background:var(--accent-strong);
}
.room-grid.collapsed{
  display:none;
}
.results-header{
  background:var(--card);
  border:1px solid var(--border);
  border-radius:20px;
  box-shadow:0 4px 14px rgba(27,15,35,.04);
  padding:14px 18px;
  display:flex;
  justify-content:space-between;
  align-items:center;
  margin-bottom:18px;
}
.results-header h2{
  margin:0;
  font-size:20px;
  color:var(--foreground);
}
.results-count{
  font-size:13px;
  color:var(--muted-foreground);
  white-space:nowrap;
}
.help{
  margin:0;
  font-size:14px;
  color:var(--muted-foreground);
}
.room-grid{
  display:grid;
  margin-top:14px;
  grid-template-columns:repeat(3,1fr);
  gap:10px;
}
.room-card{
  background:var(--accent);
  border:1px solid var(--border);
  border-radius:18px;
  padding:16px;
  cursor:pointer;
  transition:.18s;
  text-align:left;
}
.room-card:hover{
  background:var(--accent-strong);
}
.room-card.active{
  background:var(--primary);
  color:#fff;
  border-color:var(--primary);
  box-shadow:0 7px 20px rgba(126,0,203,.18);
}
.room-card h3{
  margin:0 0 6px 0;
  font-size:17px;
}
.room-card p{
  margin:0;
  font-size:13px;
  line-height:1.35;
  color:var(--muted-foreground);
}
.room-card.active p{
  color:var(--accent);
}
.recommendation{
  margin-top:16px;
  padding:16px 18px;
  border-radius:18px;
  background:var(--surface-2);
  border:1px solid var(--border);
  display:flex;
  justify-content:space-between;
  gap:20px;
}
.recommendation small{
  display:block;
  font-size:11px;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:var(--muted-foreground);
  margin-bottom:5px;
}
.recommendation strong{
  color:var(--primary-text);
}
.layout{
  display:grid;
  grid-template-columns:340px 1fr;
  gap:24px;
}
.panel,.status,.product{
  background:var(--card);
  border:1px solid var(--border);
  border-radius:24px;
  box-shadow:0 4px 14px rgba(27,15,35,.04);
}
.panel{
  padding:22px;
  height:max-content;
}
.panel h2{
  margin:0 0 6px 0;
  font-size:24px;
}
.section{
  margin-top:24px;
}
.label{
  font-size:12px;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:var(--muted-foreground);
  font-weight:bold;
  margin-bottom:10px;
}
.options{
  display:grid;
  gap:10px;
}
.options.two{
  grid-template-columns:1fr 1fr;
}
.option{
  background:var(--accent);
  border:1px solid var(--border);
  border-radius:18px;
  padding:14px;
  cursor:pointer;
  transition:.18s;
  text-align:left;
}
.option:hover{
  background:var(--accent-strong);
}
.option.active{
  background:var(--primary);
  border-color:var(--primary);
  color:#fff;
}
.option.disabled{
  opacity:.4;
  cursor:not-allowed;
  background:var(--background);
}
.option strong{
  display:block;
  font-size:18px;
}
.option span{
  display:block;
  margin-top:4px;
  font-size:13px;
  color:var(--muted-foreground);
}
.option.active span{
  color:var(--accent);
}
.range-info{
  margin-top:8px;
  font-size:12px;
  line-height:1.5;
  color:var(--muted-foreground);
}
.option.active .range-info{
  color:var(--accent);
}

.mounting-note{
  margin-top:8px;
  font-size:12px;
  line-height:1.45;
  color:var(--muted-foreground);
}
.option.active .mounting-note{
  color:var(--accent);
}
.status{
  padding:14px 18px;
  display:flex;
  justify-content:space-between;
  align-items:center;
  margin-bottom:18px;
  gap:16px;
}
.status small{
  display:block;
  font-size:11px;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:var(--muted-foreground);
  margin-bottom:4px;
}
.status strong{
  font-size:18px;
  color:var(--primary-text);
}
.count{
  font-size:13px;
  color:var(--muted-foreground);
  white-space:nowrap;
}
.group-title{
  margin:22px 0 12px 0;
  font-size:18px;
}
.products{
  display:grid;
  gap:14px;
}
.product{
  padding:20px;
  display:flex;
  justify-content:space-between;
  gap:20px;
  align-items:center;
}
.badge{
  display:inline-block;
  padding:5px 10px;
  border-radius:999px;
  background:var(--accent);
  font-size:12px;
  margin-bottom:10px;
  color:var(--muted-foreground);
}
.product h3{
  margin:0;
  font-size:24px;
}
.meta{
  margin-top:10px;
  font-size:14px;
  color:var(--muted-foreground);
}
.elnr-block{
  text-align:right;
  min-width:190px;
}
.elnr-label{
  font-size:12px;
  color:var(--muted-foreground);
  text-transform:uppercase;
  letter-spacing:.12em;
}
.elnr{
  font-size:42px;
  font-weight:800;
  color:var(--primary-text);
  line-height:1;
  margin-top:8px;
}
.actions{
  margin-top:16px;
  display:flex;
  gap:10px;
  justify-content:flex-end;
  flex-wrap:wrap;
}
.btn{
  padding:10px 14px;
  border-radius:14px;
  font-size:14px;
  font-weight:bold;
  text-decoration:none;
  border:none;
  cursor:pointer;
  display:inline-block;
}
.primary{
  background:var(--primary);
  color:#fff;
}
.secondary{
  background:var(--accent);
  color:var(--foreground);
}
.empty{
  padding:36px;
  text-align:center;
  color:var(--muted-foreground);
}
@media(max-width:960px){
  .room-grid{grid-template-columns:1fr 1fr;}
  .layout{grid-template-columns:1fr;}
}
@media(max-width:700px){
  .room-header{display:block;}
  .room-toggle{margin-top:12px;width:100%;}
  .results-header{display:block;}
  .results-count{display:block;margin-top:6px;}
  header{padding:28px 18px;width:calc(100% - 36px);}
  h1{font-size:36px;}
  .header-inner{display:block;}
  .header-box{text-align:left;margin-top:18px;}
  .wrapper{padding:18px;}
  .room-grid{grid-template-columns:1fr;}
  .recommendation{display:block;}
  .product{display:block;}
  .elnr-block{text-align:left;margin-top:18px;}
  .actions{justify-content:flex-start;}
}

/* Tillegg - testmodul */
.addons-open{background:var(--surface-2);color:var(--primary-text);border:1px solid var(--accent-strong);border-radius:12px;padding:9px 13px;font-weight:700;cursor:pointer;}
.addons-entry{margin-top:18px;padding-top:16px;border-top:1px solid var(--border);display:flex;justify-content:flex-start;}
.addons-overlay{position:fixed;inset:0;background:rgba(27,15,35,.42);z-index:1000;display:none;padding:24px;overflow:auto;}
.addons-overlay.open{display:block;}
.addons-panel{max-width:1080px;margin:20px auto;background:var(--card);border-radius:24px;padding:24px;box-shadow:0 20px 70px rgba(27,15,35,.22);}
.addons-head{display:flex;justify-content:flex-end;gap:20px;align-items:flex-start;margin-bottom:8px;}
.addons-head h2{margin:0 0 5px;}.addons-close{border:0;background:var(--accent);border-radius:12px;padding:9px 13px;cursor:pointer;font-weight:700;}
.addon-view{display:none;border-top:1px solid var(--border);padding-top:18px;}.addon-view.active{display:block;}
.addons-home-intro{background:var(--background);border-radius:14px;padding:12px 16px;color:var(--muted-foreground);margin-bottom:12px;line-height:1.4}.addons-home-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 12px}.addons-home-card{border:1px solid var(--border);background:var(--card);border-radius:15px;padding:11px 16px;text-align:left;width:100%;font:inherit;cursor:pointer;transition:background .15s,border-color .15s}.addons-home-card:hover,.addons-home-card:focus-visible{background:var(--surface-2);border-color:var(--primary);outline:none}.addons-home-card strong{display:block;color:var(--primary-text);margin-bottom:3px}.addons-home-card span{font-size:13px;line-height:1.3;color:var(--muted-foreground)}.addons-home-card .card-action{display:block;margin-top:4px;color:var(--primary-text);font-weight:700}
.addon-note{background:var(--background);border-radius:14px;padding:12px 14px;color:var(--muted-foreground);margin:10px 0 16px;}
.calc-grid{display:grid;grid-template-columns:minmax(180px,260px) minmax(180px,260px);gap:22px;align-items:start;max-width:560px;}
.calc-field{display:flex;flex-direction:column;gap:7px}.calc-field label{font-weight:700;color:var(--primary-text)}.calc-grid input[type=number],.calc-grid select{padding:10px 12px;border:1px solid var(--control-border);border-radius:10px;background:var(--card);color:var(--primary-text);font:inherit;height:42px}.calc-grid input[type=number]{width:92px}.calc-grid select{width:190px;accent-color:var(--primary)}.calc-height-row{display:flex;align-items:center;gap:6px}.calc-slider{width:150px;accent-color:var(--primary);margin-top:2px}.calc-slider::-webkit-slider-thumb{background:var(--primary)}.calc-slider::-moz-range-thumb{background:var(--primary);border-color:var(--primary)}.calc-slider::-webkit-slider-runnable-track{accent-color:var(--primary)}.calc-slider::-moz-range-progress{background:var(--primary)}.accessory-controls input[type="checkbox"]{accent-color:var(--primary)}
.calc-result{margin-top:18px;background:var(--background);border-radius:16px;padding:18px;font-size:18px}.calc-result strong{font-size:30px;color:var(--primary-text);}
.calc-values{display:grid;grid-template-columns:1fr 1fr;gap:18px;align-items:end}.calc-value{min-width:0}.calc-value.secondary{text-align:right;color:var(--muted-foreground)}.calc-value strong{display:block;font-size:30px;line-height:1.05;color:var(--primary-text)}.calc-value.secondary strong{color:var(--muted-foreground)}.calc-value span{display:block;margin-top:5px;font-size:13px;line-height:1.35}.calc-warning{margin-top:10px;font-size:13px;color:var(--muted-foreground)}.calc-info-link{display:block;width:max-content;max-width:100%;margin:12px 0 0 auto;border:0;background:transparent;color:var(--primary-text);font-weight:700;font-size:13px;padding:0;cursor:pointer;text-decoration:underline;text-underline-offset:3px;text-align:right}.calc-explain{margin-top:8px;border:1px solid var(--border);border-radius:16px;padding:16px;background:var(--card)}.calc-explain h4{margin:0 0 8px;color:var(--primary-text);font-size:16px}.calc-explain p{margin:0;color:var(--muted-foreground);font-size:13px;line-height:1.55}.calc-visual-wrap{margin-top:14px}.calc-visual{width:100%;height:auto;display:block;background:var(--surface-2);border-radius:12px;cursor:zoom-in}.calc-visual text{font-family:Arial,sans-serif;fill:var(--foreground)}.calc-visual-hint{font-size:12px;color:var(--muted-foreground);margin-top:7px}.calc-modal{position:fixed;inset:0;background:rgba(27,15,35,.72);z-index:1450;display:none;padding:24px;align-items:center;justify-content:center}.calc-modal.open{display:flex}.calc-modal-card{width:min(980px,96vw);max-height:94vh;overflow:auto;background:var(--card);border-radius:18px;padding:18px;box-shadow:0 20px 70px rgba(27,15,35,.3)}.calc-modal-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:10px}.calc-modal-head strong{font-size:18px;color:var(--primary-text)}.calc-modal-close{border:0;background:var(--accent);border-radius:10px;padding:9px 13px;font-weight:700;cursor:pointer}.calc-modal .calc-visual{cursor:default}
.accessory-controls{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:14px;align-items:center}.accessory-controls select,.accessory-controls input[type="search"]{padding:10px 12px;border:1px solid var(--control-border);border-radius:10px;background:var(--card)}.accessory-groups{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:14px 0}.accessory-group-btn{border:1px solid var(--border);background:var(--card);border-radius:14px;padding:13px 14px;text-align:left;cursor:pointer;color:var(--foreground)}.accessory-group-btn strong{display:block;color:var(--primary-text);font-size:14px;margin-bottom:3px}.accessory-group-btn span{font-size:12px;color:var(--muted-foreground)}.accessory-group-btn.active{background:var(--primary);color:#fff;border-color:var(--primary)}.accessory-group-btn.active strong,.accessory-group-btn.active span{color:#fff}.accessory-section{margin-top:18px}.accessory-section-head{display:flex;align-items:end;justify-content:space-between;gap:12px;margin-bottom:9px}.accessory-section-head h4{margin:0;color:var(--primary-text);font-size:17px}.accessory-section-head span{font-size:12px;color:var(--muted-foreground)}.accessory-list{display:grid;gap:10px}.accessory-item{border:1px solid var(--border);border-radius:14px;padding:14px;display:grid;grid-template-columns:105px 1fr auto;gap:12px;align-items:start;background:var(--card)}.accessory-item .ae{font-weight:800;color:var(--primary-text)}.accessory-item small{color:var(--muted-foreground);line-height:1.45}.accessory-item .acat{font-size:12px;background:var(--accent);border-radius:999px;padding:5px 8px;text-align:center;white-space:nowrap}.accessory-actions{display:flex;gap:7px;flex-wrap:wrap;margin-top:9px}.accessory-actions a,.accessory-actions button{border:0;border-radius:9px;padding:7px 10px;font-size:12px;font-weight:700;cursor:pointer;text-decoration:none;background:var(--accent);color:var(--primary-text)}.accessory-relevant{display:inline-block;margin-left:7px;font-size:11px;font-weight:700;color:var(--primary-text);background:var(--accent-strong);border-radius:999px;padding:3px 7px}
.send-card{border:1px solid var(--border);border-radius:14px;padding:14px;margin-bottom:10px;display:flex;justify-content:space-between;gap:14px;align-items:center}.send-card button{white-space:nowrap}

/* Sensor-plan */
.sensorplan-inputs{display:grid;grid-template-columns:repeat(3,minmax(140px,1fr));gap:14px;max-width:720px;margin:16px 0}.sensorplan-inputs label{display:block;font-weight:700;color:var(--primary-text);margin-bottom:6px}.sensorplan-inputs input{width:100%;padding:11px 12px;border:1px solid var(--control-border);border-radius:10px;font:inherit}.sensorplan-results{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:18px}.sensorplan-card{border:1px solid var(--border);border-radius:15px;overflow:hidden}.sensorplan-card h4{margin:0;padding:12px 15px;background:var(--primary);color:#fff;font-size:17px}.sensorplan-body{padding:15px}.sensorplan-big{font-size:27px;font-weight:800;color:var(--primary-text);margin-bottom:12px}.sensorplan-rows{display:grid;grid-template-columns:1fr auto;gap:8px 12px;font-size:14px}.sensorplan-rows div:nth-child(even){font-weight:700;text-align:right}.sensorplan-status{margin-top:12px;padding-top:12px;border-top:1px solid var(--border);font-size:13px;line-height:1.45}.sensorplan-drawing{padding:15px;border-top:1px solid var(--border)}.sensorplan-drawing-title{font-weight:700;margin-bottom:8px}.sensorplan-plan{width:100%;height:auto;display:block;background:var(--surface-2);border-radius:9px;cursor:zoom-in}.sensorplan-plan text{font-family:Arial,sans-serif;fill:var(--foreground)}.sensorplan-plan .sp-room{fill:#fff;stroke:var(--muted-foreground);stroke-width:2}.sensorplan-plan .sp-outline{fill:none;stroke:var(--muted-foreground);stroke-width:2}.sensorplan-plan .sp-coverage{fill:var(--primary);fill-opacity:.14;stroke:var(--primary);stroke-opacity:.55;stroke-width:1.3}.sensorplan-plan .sp-sensor{fill:var(--primary);stroke:#fff;stroke-width:1.5}.sensorplan-plan .sp-dim,.sensorplan-plan .sp-tick{stroke:var(--muted-foreground);stroke-width:1}.sensorplan-plan .sp-guide{stroke:rgba(27,15,35,.35);stroke-width:1;stroke-dasharray:3 3}.sensorplan-hint{font-size:12px;color:var(--muted-foreground);line-height:1.45;margin-top:9px}.sensorplan-modal{position:fixed;inset:0;background:rgba(27,15,35,.72);z-index:1400;display:none;padding:24px;align-items:center;justify-content:center}.sensorplan-modal.open{display:flex}.sensorplan-modal-card{width:min(1100px,96vw);max-height:94vh;overflow:auto;background:var(--card);border-radius:18px;padding:18px;box-shadow:0 20px 70px rgba(27,15,35,.3)}.sensorplan-modal-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:10px}.sensorplan-modal-head strong{font-size:18px;color:var(--primary-text)}.sensorplan-modal-close{border:0;background:var(--accent);border-radius:10px;padding:9px 13px;font-weight:700;cursor:pointer}.sensorplan-modal .sensorplan-plan{cursor:default;max-height:78vh}.sensorplan-note{background:var(--background);border-left:4px solid var(--primary);padding:12px 14px;border-radius:10px;margin-top:14px;color:var(--muted-foreground);font-size:13px}.sensorplan-system{max-width:360px;margin:4px 0 14px}.sensorplan-system label{display:block;font-weight:700;color:var(--primary-text);margin-bottom:6px}.sensorplan-system select{width:100%;padding:11px 12px;border:1px solid var(--control-border);border-radius:10px;background:var(--card);color:var(--primary-text);font:inherit}.sensorplan-master-warning{margin-top:12px;padding:11px 13px;border-radius:10px;background:var(--warning-bg);border-left:4px solid var(--status-border);color:var(--foreground);font-size:13px;line-height:1.45}.sensorplan-validation{display:none;margin:14px 0;padding:12px 14px;border-radius:10px;background:var(--warning-bg);border-left:4px solid var(--status-border);color:var(--foreground);font-size:13px;line-height:1.45}.sensorplan-validation.show{display:block}.sensorplan-actions{display:flex;justify-content:flex-end;margin:8px 0 14px}.sensorplan-clear,.sensorplan-modal-print{border:1px solid var(--accent-strong);background:var(--surface-2);color:var(--primary-text);border-radius:10px;padding:9px 13px;font-weight:700;cursor:pointer}.sensorplan-modal-buttons{display:flex;gap:8px;align-items:center}.sensorplan-print-summary{display:none}
@media print{@page{size:A4 landscape;margin:10mm}html,body{width:100%!important;height:auto!important;margin:0!important;padding:0!important;overflow:visible!important}body.sensorplan-printing> *:not(#sensorplanModal){display:none!important}body.sensorplan-printing #sensorplanModal{display:block!important;position:static!important;inset:auto!important;width:100%!important;height:auto!important;min-height:0!important;background:var(--card)!important;padding:0!important;margin:0!important;overflow:visible!important}body.sensorplan-printing .sensorplan-modal-card{display:block!important;width:100%!important;max-width:none!important;height:auto!important;max-height:none!important;overflow:visible!important;box-shadow:none!important;border-radius:0!important;padding:0!important;margin:0!important;break-inside:avoid!important;page-break-inside:avoid!important}body.sensorplan-printing .sensorplan-modal-head{margin:0 0 4mm!important}body.sensorplan-printing .sensorplan-modal-buttons{display:none!important}body.sensorplan-printing .sensorplan-print-summary{display:block!important;margin:0 0 3mm!important;font-size:9pt!important;line-height:1.3!important}body.sensorplan-printing #sensorplanModalContent{display:block!important;width:100%!important;height:auto!important;overflow:visible!important;break-inside:avoid!important;page-break-inside:avoid!important}body.sensorplan-printing .sensorplan-plan{display:block!important;width:100%!important;height:auto!important;max-height:120mm!important;object-fit:contain!important;break-inside:avoid!important;page-break-inside:avoid!important}body.sensorplan-printing .sensorplan-hint{display:none!important}}

@media(max-width:800px){.addons-home-grid{grid-template-columns:1fr}.addons-home-card:first-child{grid-column:auto}.accessory-groups{grid-template-columns:1fr}.accessory-item{grid-template-columns:1fr}.calc-grid{grid-template-columns:1fr}.send-card{display:block}.send-card button{margin-top:12px}.sensorplan-inputs,.sensorplan-results{grid-template-columns:1fr}.calc-values{grid-template-columns:1fr 1fr;gap:10px}.calc-value strong{font-size:25px}.calc-value span{font-size:11px}.calc-explain{padding:13px}}


/* Send FDV: e-postutkastet er en mailto:-lenke (tidligere knapp) – samme oppførsel som .send-card button */
.send-card a{white-space:nowrap}
@media(max-width:800px){.send-card a{margin-top:12px}}

/* Versjon nederst på siden */
.app-version{text-align:center;margin:26px 0 0}

/* NIKO Detector Tool er en vanlig lenke med samme utseende som de andre kortene */
a.addons-home-card{display:block;color:inherit;text-decoration:none}

/* Dialogene får fokus når de åpnes; selve dialogflaten trenger ingen fokusramme */
.addons-panel:focus,.calc-modal-card:focus,.sensorplan-modal-card:focus{outline:none}

/* Produktoversikt (skjerm og utskrift) */
.overview-system{margin-top:18px}
.overview-system h4{margin:0 0 4px;color:var(--primary-text);font-size:18px}
.overview-system h5{margin:14px 0 6px;color:var(--primary-text);font-size:15px}
.overview-table{width:100%;border-collapse:collapse;font-size:13px}
.overview-table th,.overview-table td{padding:7px 10px;text-align:left;vertical-align:top}
.overview-table thead th{background:var(--primary);color:#fff}
.overview-table tbody th{background:var(--background);color:var(--primary-text);font-size:12px}
.overview-table td{border-bottom:1px solid var(--border)}
.overview-table td:first-child,.overview-table td:last-child{font-weight:700}
.overview-table td:last-child{white-space:nowrap}
.overview-print-head,.overview-print-foot{display:none}
@media(max-width:800px){.overview-table{font-size:12px}.overview-table th,.overview-table td{padding:6px}}
@page overview{size:A4 portrait;margin:12mm}
@media print{
  body.overview-printing>*:not(#addonsOverlay){display:none!important}
  body.overview-printing #addonsOverlay{display:block!important;position:static!important;inset:auto!important;padding:0!important;background:var(--card)!important;overflow:visible!important;page:overview}
  body.overview-printing .addons-panel{max-width:none!important;margin:0!important;padding:0!important;border-radius:0!important;box-shadow:none!important}
  body.overview-printing .addons-head,body.overview-printing .addon-view:not(#addon-overview),body.overview-printing #addon-overview>*:not(#overviewContent){display:none!important}
  body.overview-printing #addon-overview{display:block!important;border:0!important;padding:0!important}
  body.overview-printing .overview-system{margin:0!important}
  body.overview-printing .overview-system+.overview-system{break-before:page;page-break-before:always}
  body.overview-printing .overview-system>h4{display:none!important}
  body.overview-printing .overview-print-head{display:flex!important;align-items:center;gap:8mm;background:var(--card);padding:0 0 4mm;margin:0 0 3mm;border-bottom:1px solid var(--border)}
  body.overview-printing .overview-print-head img{width:42mm;height:auto}
  body.overview-printing .overview-print-head strong{display:block;font-size:15pt;color:var(--primary-text)}
  body.overview-printing .overview-print-head span{display:block;margin-top:1mm;font-size:9pt;color:var(--muted-foreground)}
  body.overview-printing .overview-system h5{margin:3mm 0 1.2mm;font-size:11pt}
  body.overview-printing .overview-table{font-size:9pt}
  body.overview-printing .overview-table th,body.overview-printing .overview-table td{padding:1.15mm 3mm}
  body.overview-printing .overview-table tr{break-inside:avoid;page-break-inside:avoid}
  body.overview-printing .overview-table thead th,body.overview-printing .overview-table tbody th{-webkit-print-color-adjust:exact;print-color-adjust:exact}
  body.overview-printing .overview-print-foot{display:block!important;margin-top:3mm;font-size:8pt;color:var(--muted-foreground)}
}
