:root{
  --bg:#f4f4f1;--surface:#fff;--surface-2:#f8f8f5;--text:#111;--muted:#666d69;
  --line:#dedfd9;--line-2:#ecece7;--black:#111;--ok:#0f7a43;--ok-bg:#e3f4e9;
  --warn:#8a6100;--warn-bg:#fff1c7;--bad:#a51f1f;--bad-bg:#fde4e4;--info:#1b588e;--info-bg:#e7f1fb;
  --radius:14px;--shadow:0 7px 24px rgba(0,0,0,.055);--focus:0 0 0 3px rgba(17,17,17,.12)
}
*{box-sizing:border-box}html{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--text);background:var(--bg);-webkit-text-size-adjust:100%}body{margin:0;background:var(--bg);min-height:100vh}a{color:inherit}button,input,select,textarea{font:inherit}img{max-width:100%}

/* Shell */
.topbar{position:sticky;top:0;z-index:50;display:flex;align-items:center;gap:22px;min-height:68px;padding:9px 24px;background:rgba(255,255,255,.96);backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}
.logo-lockup{display:flex;align-items:center;gap:12px;min-width:220px}.logo-image{display:block;width:145px;height:auto}.brand-subtitle{font-size:9px;line-height:1.25;letter-spacing:.14em;color:#707570;font-weight:850;text-transform:uppercase;white-space:nowrap}
.nav{display:flex;align-items:center;gap:3px}.nav>a,.more-menu>summary,.right>a{display:inline-flex;align-items:center;justify-content:center;min-height:38px;padding:8px 11px;border-radius:10px;text-decoration:none;font-size:13px;font-weight:760;color:#343735;cursor:pointer;transition:.15s ease}.nav>a:hover,.more-menu>summary:hover,.right>a:hover,.nav>a.active{background:#efefeb;color:#111}.nav>a.active{font-weight:900}
.right{margin-left:auto;display:flex;align-items:center;gap:8px}.user-chip{display:inline-flex;align-items:center;justify-content:center;min-height:34px;padding:6px 10px;border:1px solid var(--line);border-radius:999px;background:#fafaf8;font-size:12px;font-weight:850}
.more-menu{position:relative}.more-menu>summary{list-style:none}.more-menu>summary::-webkit-details-marker{display:none}.more-pop{display:none;position:absolute;top:44px;right:0;min-width:225px;padding:7px;background:#fff;border:1px solid var(--line);border-radius:13px;box-shadow:0 18px 40px rgba(0,0,0,.14)}.more-menu[open] .more-pop{display:grid}.more-pop a{padding:10px 11px;border-radius:9px;text-decoration:none;font-size:13px;font-weight:720}.more-pop a:hover{background:#f3f3ef}
.wrap{width:min(100%,1360px);margin:0 auto;padding:26px 26px 88px}.sitefoot{width:min(100%,1360px);margin:0 auto;padding:0 26px 34px;color:#777d79;font-size:11px}.sitefoot a{text-decoration:none;border-bottom:1px solid #c9cbc6}
.mobile-nav{display:none}

/* Headings and layout */
.hero{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin:2px 0 18px}.hero h1{margin:0;font-size:clamp(28px,3vw,38px);line-height:1.05;letter-spacing:-.035em}.hero .muted{margin-top:6px}.eyebrow{font-size:10px;letter-spacing:.13em;font-weight:900;color:#747a76;text-transform:uppercase;margin-bottom:5px}.muted{color:var(--muted)}.tiny{font-size:11px;line-height:1.45;color:#6b716d}.detail-big{font-size:18px;font-weight:900;line-height:1.35}
.grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:14px}.col-2{grid-column:span 2}.col-3{grid-column:span 3}.col-4{grid-column:span 4}.col-5{grid-column:span 5}.col-6{grid-column:span 6}.col-7{grid-column:span 7}.col-8{grid-column:span 8}.col-10{grid-column:span 10}.col-12{grid-column:span 12}
.card{min-width:0;margin-bottom:14px;padding:18px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:0 1px 0 rgba(0,0,0,.015)}.card h2{margin:0 0 13px;font-size:19px;letter-spacing:-.015em}.card p{line-height:1.55}.divider{border:0;border-top:1px solid var(--line-2);margin:18px 0}

/* Primary actions and metrics */
.primary-action{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:16px;padding:20px 22px;background:#111;color:#fff;border-radius:16px;box-shadow:var(--shadow)}.primary-action h2{margin:0 0 3px;font-size:23px;letter-spacing:-.02em}.primary-action .btn{background:#fff;color:#111}.metric{font-size:30px;font-weight:930;line-height:1.05;letter-spacing:-.025em}.metric-label{margin-top:5px;font-size:12px;line-height:1.35;color:var(--muted)}

/* Buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:42px;padding:10px 14px;border:1px solid #111;border-radius:10px;background:#111;color:#fff;text-decoration:none;font-weight:820;font-size:13px;line-height:1;cursor:pointer;transition:transform .08s ease,background .12s ease,border-color .12s ease}.btn:hover{background:#222;border-color:#222}.btn:active{transform:translateY(1px)}.btn:focus-visible{outline:0;box-shadow:var(--focus)}.btn.secondary{background:#f0f0ec;color:#171817;border-color:#e3e3de}.btn.secondary:hover{background:#e8e8e3;border-color:#d9d9d3}.btn.success{background:var(--ok);border-color:var(--ok)}.btn.danger{background:var(--bad);border-color:var(--bad)}.btn.small{min-height:34px;padding:7px 10px;border-radius:8px;font-size:12px}.btn.big{min-height:48px;padding:13px 18px;font-size:14px}.actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}

/* Badges and feedback */
.badge{display:inline-flex;align-items:center;width:max-content;max-width:100%;padding:5px 9px;border-radius:999px;background:#ecece8;color:#484c49;font-size:10.5px;font-weight:900;line-height:1.15;letter-spacing:.015em;white-space:nowrap}.badge.ok{background:var(--ok-bg);color:#075c31}.badge.warn{background:var(--warn-bg);color:#715100}.badge.bad{background:var(--bad-bg);color:#8e1818}.badge.blue{background:var(--info-bg);color:#164f7e}
.flash{margin-bottom:14px;padding:12px 14px;border:1px solid transparent;border-radius:11px;font-size:13px;font-weight:720;line-height:1.45}.flash.ok{background:var(--ok-bg);border-color:#cde8d6}.flash.error{background:var(--bad-bg);border-color:#f4cccc}.flash.warn{background:var(--warn-bg);border-color:#f0dc9d}

/* Forms */
.simple-form,.inspection-shell{width:min(100%,1040px);margin:0 auto}.form-section{padding:20px}.form-section>h2{display:flex;align-items:center;gap:8px;margin-bottom:17px;font-size:20px}.form-section>h2::after{content:"";height:1px;background:var(--line-2);flex:1;margin-left:6px}.subcard{background:#fafaf8;border-style:dashed;box-shadow:none}.field{min-width:0;margin-bottom:13px}.field label{display:block;margin-bottom:6px;font-size:12px;font-weight:850;color:#333735}.field input,.field select,.field textarea{display:block;width:100%;min-width:0;min-height:44px;padding:10px 12px;border:1px solid #cfd2cc;border-radius:9px;background:#fff;color:#111;transition:border-color .12s ease,box-shadow .12s ease}.field input:hover,.field select:hover,.field textarea:hover{border-color:#aeb3ac}.field input:focus,.field select:focus,.field textarea:focus{outline:0;border-color:#777d77;box-shadow:var(--focus)}.field textarea{min-height:96px;resize:vertical}.field input::placeholder,.field textarea::placeholder{color:#a0a49f}.help{margin-top:5px;font-size:11.5px;line-height:1.45;color:#707670}.align-end{display:flex;align-items:flex-end}.input-action{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:7px}.form-submit{display:flex;justify-content:flex-end;gap:8px;padding:3px 0 14px}.source-note{margin:0 0 15px;padding:10px 12px;border-radius:9px;background:#f5f5f1;color:#5e645f;font-size:11.5px;line-height:1.5}.stationary-fields{margin-top:5px;padding-top:16px;border-top:1px solid var(--line-2)}
.segmented{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.segmented.compact{max-width:520px;margin-bottom:15px}.segmented label{position:relative;display:flex;align-items:center;justify-content:center;min-height:46px;padding:10px;border:1px solid var(--line);border-radius:10px;background:#fff;font-size:13px;font-weight:820;text-align:center;cursor:pointer}.segmented label:has(input:checked){background:#111;color:#fff;border-color:#111}.segmented input{position:absolute;opacity:0;pointer-events:none}.equipment-segment{grid-template-columns:repeat(3,minmax(0,1fr))}.inline-check,.switch-line{display:flex;align-items:center;gap:8px;font-size:12px;font-weight:800}.inline-check input,.switch-line input{width:18px!important;height:18px!important;min-height:18px!important;accent-color:#111}.switch-line{white-space:nowrap}

/* Inspection checklist */
.checklist-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.checklist-head h2{margin:0}.checkitem{display:grid;grid-template-columns:minmax(250px,1fr) auto;align-items:center;gap:16px;padding:12px 13px;margin-bottom:8px;border:1px solid #e2e3de;border-radius:11px;background:#fff}.checkitem>div:first-child,.checkitem strong{font-size:13.5px;font-weight:760;line-height:1.35}.radio3{display:grid;grid-template-columns:repeat(3,88px);gap:5px}.radio3 label{display:flex;align-items:center;justify-content:center;min-height:36px;padding:7px 8px;border:1px solid #e2e2dd;border-radius:8px;background:#f5f5f1;font-size:11px;font-weight:900;cursor:pointer}.radio3 label:has(input:checked){background:#111;color:#fff;border-color:#111}.radio3 input{position:absolute;opacity:0}.sticky-submit{position:sticky;bottom:14px;z-index:20;display:flex;justify-content:flex-end;margin-top:14px;padding:9px;background:rgba(255,255,255,.96);backdrop-filter:blur(10px);border:1px solid var(--line);border-radius:13px;box-shadow:0 10px 30px rgba(0,0,0,.12)}
.device-summary{display:flex;align-items:center;justify-content:space-between;gap:15px}.device-summary .device-title{font-size:19px;font-weight:920}.consumables-card{padding:19px}.consumable-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.consumable-box{min-width:0;padding:14px;border:1px solid #e1e2dd;border-radius:12px;background:#fff}.consumable-title{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.consumable-title h3{margin:0;font-size:16px}.auto-tag{display:inline-flex;margin-left:5px;padding:2px 6px;border-radius:999px;background:var(--info-bg);color:var(--info);font-size:9px;font-weight:900}.auto-expiry{background:#f7fbff!important;border-color:#bfd5e9!important}

/* Search / picker / equipment lists */
.search-row{display:grid;grid-template-columns:minmax(260px,1fr) auto auto;align-items:end;gap:8px}.search-row .field{margin:0}.device-picker{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:11px}.pick-card{display:block;padding:14px;background:#fff;border:1px solid var(--line);border-radius:12px;text-decoration:none;transition:.12s ease}.pick-card:hover{border-color:#9ea39d;box-shadow:0 6px 18px rgba(0,0,0,.05)}.pick-card .sn{margin-top:7px;font-weight:900}
.device-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.device-card{display:flex;flex-direction:column;gap:11px;min-width:0;padding:16px;background:#fff;border:1px solid var(--line);border-radius:13px}.device-name{font-size:17px;font-weight:920;line-height:1.25}.device-card .meta-line{display:flex;align-items:center;justify-content:space-between;gap:10px;padding-top:9px;border-top:1px solid var(--line-2);font-size:12px;color:#646a66}.device-card .actions{margin-top:auto}
.recent-list{display:grid}.recent-item{display:grid;grid-template-columns:86px minmax(250px,1.5fr) minmax(160px,1fr) auto auto;align-items:center;gap:12px;padding:11px 2px;border-bottom:1px solid var(--line-2)}.recent-item:last-child{border-bottom:0}.recent-item .date,.recent-item .device{font-weight:850}.recent-item .device{font-size:13.5px}

/* Responsive tables */
.table-wrap{width:100%;overflow:auto;border:1px solid var(--line-2);border-radius:10px;overscroll-behavior-x:contain}.table{width:100%;min-width:760px;border-collapse:collapse;table-layout:auto;background:#fff}.table th,.table td{padding:11px 12px;border-bottom:1px solid var(--line-2);text-align:left;vertical-align:top;line-height:1.4}.table th{background:#fafaf8;color:#6a706c;font-size:10px;text-transform:uppercase;letter-spacing:.065em;white-space:nowrap}.table td{font-size:12.5px;min-width:100px}.table td.wide-cell{min-width:250px}.table .nowrap{white-space:nowrap}.table tr:last-child td{border-bottom:0}

/* Reports - card list instead of cramped columns */
.report-list{display:grid;gap:8px;margin-top:12px}.report-row{display:grid;grid-template-columns:auto 150px minmax(240px,1.5fr) minmax(155px,.8fr) auto auto;align-items:center;gap:12px;padding:12px 13px;border:1px solid var(--line-2);border-radius:11px;background:#fff}.report-row:hover{border-color:#ced0ca}.report-select{display:flex;align-items:center}.report-check{width:18px;height:18px;accent-color:#111}.report-no{font-size:12px;font-weight:900}.report-device{min-width:0}.report-device strong{display:block;font-size:13px}.report-meta{font-size:11.5px;color:#6c726e}.bundle-actions{justify-content:space-between;align-items:center}

/* Orders / pricing */
.order-line{margin-bottom:10px;padding:14px;border:1px solid var(--line);border-radius:12px;background:#fff}.order-line-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:11px}.order-line-title{font-size:15px;font-weight:900}.order-fields{display:grid;grid-template-columns:90px repeat(3,minmax(190px,1fr));gap:8px}.order-results{display:grid;grid-template-columns:repeat(3,minmax(170px,1fr));gap:7px;margin-top:8px}.order-result,.quote-grid>div{padding:9px 10px;border-radius:8px;background:#f5f5f1;font-size:11px;color:#666c68}.order-result strong,.quote-grid>div strong{display:block;margin-top:3px;color:#111;font-size:13px}.quote-grid{display:grid;grid-template-columns:repeat(3,minmax(190px,1fr));gap:8px}

/* Maps */
.map-wrap{padding:14px}.map-canvas{position:relative;height:430px;overflow:hidden;border:1px solid #d8dad5;border-radius:11px;background:#e7e8e3}.location-edit-map{height:370px;margin-bottom:12px}.all-aed-map{height:min(65vh,680px);min-height:480px}.all-map-card{padding:12px}.leaflet-container{font:inherit}.map-status-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;margin-bottom:12px}.map-stat{display:flex;align-items:center;gap:10px;padding:12px 13px;background:#fff;border:1px solid var(--line);border-radius:11px}.map-stat strong{display:block;font-size:20px;line-height:1}.map-stat small{display:block;margin-top:3px;color:var(--muted);font-size:11px;font-weight:760}.status-dot{display:inline-block;width:12px;height:12px;border-radius:50%;flex:none}.map-stat>.status-dot{width:15px;height:15px}.status-dot.ok{background:#16834a}.status-dot.warn{background:#d49a00}.status-dot.bad{background:#b52424}.status-dot.none{background:#7a827f}.map-legend{display:flex;gap:13px;flex-wrap:wrap;padding:10px 3px 1px;color:#5d635f;font-size:11px;font-weight:760}.map-legend span{display:inline-flex;align-items:center;gap:5px}.map-legend .status-dot{width:9px;height:9px}.map-error{position:absolute;z-index:1000;left:50%;top:50%;transform:translate(-50%,-50%);max-width:80%;padding:11px 14px;border:1px solid #d6d7d2;border-radius:10px;background:#fff;box-shadow:0 5px 18px rgba(0,0,0,.12);font-size:12px;font-weight:760;text-align:center;pointer-events:none}.simple-list{display:grid;gap:6px}.simple-list a{display:flex;justify-content:space-between;gap:14px;padding:10px 11px;border-radius:8px;background:#f5f5f1;text-decoration:none;font-size:12px}.simple-list a span{color:#6c726e;text-align:right}.address-link{color:#111;text-decoration:none;border-bottom:1px solid #c9cbc6}
.aed-marker-wrap{background:transparent!important;border:0!important}.aed-marker{position:relative;display:flex;align-items:center;justify-content:center;width:40px;height:40px;border:3px solid #fff;border-radius:11px 11px 11px 3px;box-shadow:0 2px 9px rgba(0,0,0,.34);transform:rotate(-45deg)}.aed-marker:after{content:"";position:absolute;left:3px;bottom:-7px;width:11px;height:11px;background:inherit}.aed-marker.status-functional{background:#16834a}.aed-marker.status-functional_note{background:#d49a00}.aed-marker.status-not_functional{background:#b52424}.aed-marker.status-none{background:#707976}.aed-heart,.aed-bolt{position:absolute;transform:rotate(45deg);color:#fff;font-weight:950;line-height:1;text-shadow:0 1px 2px rgba(0,0,0,.3)}.aed-heart{left:7px;top:8px;font-size:23px}.aed-bolt{right:5px;top:4px;font-size:15px}.aed-map-popup{min-width:205px;line-height:1.42;font-size:12px}.aed-map-popup hr{border:0;border-top:1px solid #ddd;margin:7px 0}.aed-map-popup a{display:inline-block;margin-top:6px;color:#111;font-weight:850}.map-popup-status{font-weight:900}.leaflet-tooltip{font-size:11px;font-weight:750}

/* Photos */
.photo-upload{display:grid;gap:8px}.photo-button{position:relative;display:inline-flex;align-items:center;justify-content:center;width:max-content;min-height:48px;padding:10px 14px;border:1px dashed #aeb3ad;border-radius:10px;background:#f8f8f5;font-size:12px;font-weight:850;cursor:pointer}.photo-button input{position:absolute;width:1px;height:1px;opacity:0}.photo-preview,.report-gallery,.edit-photo-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:8px;margin-top:8px}.photo-preview-item,.report-gallery a,.edit-photo-grid label{display:block;overflow:hidden;border:1px solid var(--line);border-radius:9px;background:#f1f1ee}.photo-preview img,.report-gallery img,.edit-photo-grid img{display:block;width:100%;height:120px;object-fit:cover}.report-gallery{grid-template-columns:repeat(auto-fill,minmax(125px,180px))}.report-gallery a{max-width:180px}.edit-photo-grid label{cursor:pointer}.edit-photo-grid span{display:flex;align-items:center;gap:6px;padding:7px 8px;font-size:11px;font-weight:800}.edit-photo-grid input{width:16px;height:16px}.fire-standard{border-left:4px solid #b52424}.equipment-type-card{border-top:3px solid #111}

/* Timeline */
.timeline{margin-left:6px;padding-left:20px;border-left:2px solid #e1e3de}.timeline .item{position:relative;margin-bottom:17px}.timeline .item:before{content:"";position:absolute;left:-26px;top:4px;width:10px;height:10px;border:2px solid #fff;border-radius:50%;background:#111;box-shadow:0 0 0 1px #ccd0ca}

/* Public report and login */
.loginbox{width:min(100%,430px);margin:8vh auto;padding:16px}.loginbox .card{padding:28px;box-shadow:var(--shadow)}.login-logo-image{display:block;width:min(100%,305px);margin-bottom:9px}.login-support,.public-support{font-size:11.5px;line-height:1.5;color:#68706b}.public{width:min(100%,900px);margin:26px auto;padding:0 14px}.public-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}.public-brand{display:flex;flex-direction:column;gap:3px}.public-brand .logo-image{width:min(100%,245px)}.public h1{font-size:30px;letter-spacing:-.025em}.status-big{font-size:26px;font-weight:900}

/* Scanner */
.scanner{display:none;margin-top:9px;padding:10px;border:1px solid var(--line);border-radius:10px;background:#fafaf8}.scanner.active{display:block}.scanner video{width:100%;max-height:310px;border-radius:8px;background:#000}

@media(max-width:1100px){
  .topbar{gap:10px;padding-left:18px;padding-right:18px}.logo-lockup{min-width:auto}.brand-subtitle{display:none}.nav>a,.more-menu>summary{padding:8px 9px}.wrap{padding-left:18px;padding-right:18px}.device-picker,.device-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.recent-item{grid-template-columns:78px minmax(220px,1fr) auto auto}.recent-item .customer{display:none}.consumable-grid{grid-template-columns:1fr}.order-fields{grid-template-columns:1fr 1fr}.order-results,.quote-grid{grid-template-columns:1fr 1fr}.report-row{grid-template-columns:auto 135px minmax(220px,1fr) auto auto}.report-row .report-tech{display:none}
}
@media(max-width:760px){
  body{padding-bottom:72px}.topbar{min-height:58px;padding:8px 13px}.topbar .logo-image{width:118px}.nav{display:none}.right>a{display:none}.wrap{padding:15px 13px 94px}.sitefoot{padding:0 13px 88px}.hero{align-items:flex-start;flex-direction:column;margin-bottom:14px}.hero h1{font-size:30px}.hero>.actions{width:100%}.hero>.actions .btn{flex:1}.grid{gap:9px}.col-2,.col-3,.col-4,.col-5,.col-6,.col-7,.col-8,.col-10{grid-column:span 12}.card{padding:15px;margin-bottom:10px;border-radius:12px}.primary-action{align-items:flex-start;flex-direction:column;padding:18px}.primary-action h2{font-size:21px}.primary-action .btn{width:100%}.metric{font-size:27px}
  .mobile-nav{display:grid;grid-template-columns:repeat(5,1fr);position:fixed;left:0;right:0;bottom:0;z-index:60;padding:5px max(7px,env(safe-area-inset-right)) calc(5px + env(safe-area-inset-bottom)) max(7px,env(safe-area-inset-left));background:rgba(255,255,255,.98);backdrop-filter:blur(12px);border-top:1px solid var(--line);box-shadow:0 -5px 18px rgba(0,0,0,.05)}.mobile-nav a{display:block;padding:7px 2px;border-radius:8px;color:#4c514e;text-decoration:none;text-align:center;font-size:9.5px;font-weight:800}.mobile-nav a b{display:block;margin-bottom:1px;font-size:18px;line-height:1.05}.mobile-nav a.active{background:#efefeb;color:#111}
  .device-picker,.device-grid{grid-template-columns:1fr}.search-row{grid-template-columns:1fr 1fr}.search-row .field{grid-column:1/-1}.recent-item{grid-template-columns:68px minmax(0,1fr) auto;gap:8px}.recent-item .customer{display:none}.recent-item .btn{display:none}
  .form-section{padding:15px}.form-section>h2{font-size:18px}.equipment-segment{grid-template-columns:1fr}.segmented label{justify-content:flex-start;padding-left:14px}.segmented.compact{grid-template-columns:1fr 1fr}.segmented.compact label{justify-content:center;padding-left:10px}.input-action{grid-template-columns:1fr}.checkitem{grid-template-columns:1fr;gap:9px}.radio3{grid-template-columns:repeat(3,1fr)}.radio3 label{min-height:39px}.device-summary{align-items:flex-start;flex-direction:column}.sticky-submit{bottom:76px}.sticky-submit .btn{width:100%}.form-submit{position:sticky;bottom:76px;z-index:20;padding:8px 0;background:var(--bg)}.form-submit .btn{flex:1}.consumable-title{align-items:flex-start;flex-direction:column}
  .report-list{gap:7px}.report-row{grid-template-columns:auto minmax(0,1fr) auto;padding:11px}.report-row .report-no{grid-column:2}.report-row .report-device{grid-column:2}.report-row .report-status{grid-column:3;grid-row:1/3;align-self:start}.report-row .report-tech,.report-row .report-lock{display:none}.report-row .report-open{grid-column:2/4}.report-row .report-open .btn{width:100%}.bundle-actions{align-items:stretch;flex-direction:column}.bundle-actions .btn{width:100%}
  .map-status-grid{grid-template-columns:1fr 1fr}.all-aed-map{height:56vh;min-height:380px}.location-edit-map{height:320px}.simple-list a{flex-direction:column;gap:3px}.simple-list a span{text-align:left}.map-legend{gap:8px 12px}.photo-preview,.edit-photo-grid,.report-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}.report-gallery a{max-width:none}.photo-button{width:100%}.public-head{flex-direction:column}.public h1{font-size:27px}.order-fields,.order-results,.quote-grid{grid-template-columns:1fr}.table{min-width:700px}.table-wrap{border-radius:9px}
}
@media(max-width:430px){.user-chip{display:none}.segmented.compact{grid-template-columns:1fr 1fr}.radio3{grid-template-columns:repeat(3,1fr)}.map-status-grid{grid-template-columns:1fr 1fr}.public{padding:0 10px}.loginbox{margin:4vh auto}}

@media print{.topbar,.mobile-nav,.sitefoot,.no-print{display:none!important}.wrap,.public{width:auto;max-width:none;padding:0;margin:0}.card{box-shadow:none;break-inside:avoid}}

/* v1.9 finishing */
.more-menu>summary.active{background:#efefeb;color:#111;font-weight:900}.empty-state{display:flex;flex-direction:column;gap:4px;padding:24px;border:1px dashed #d4d6d0;border-radius:11px;background:#fafaf8;text-align:center;color:#686e6a}.empty-state strong{color:#222;font-size:14px}.public .table{min-width:0;width:100%}.public .table td:first-child{width:75%}.public .table td:last-child{text-align:right;white-space:nowrap}.public .card{box-shadow:0 2px 12px rgba(0,0,0,.025)}
.report-row{grid-template-columns:auto 145px minmax(220px,1.5fr) minmax(145px,.75fr) 85px 88px auto}
@media(max-width:1100px){.report-row{grid-template-columns:auto 135px minmax(210px,1fr) auto 88px auto}.report-row .report-tech{display:none}}
@media(max-width:760px){.public .table td{font-size:12px}.report-row{grid-template-columns:auto minmax(0,1fr) auto}.report-row .report-no{grid-column:2}.report-row .report-device{grid-column:2}.report-row .report-status{grid-column:3;grid-row:1/3;align-self:start}.report-row .report-tech,.report-row .report-lock{display:none}.report-row .report-open{grid-column:2/4}.report-row .report-open .btn{width:100%}}
.logo-lockup.vertical{flex-direction:column;align-items:flex-start;gap:4px;min-width:0}
.card>.table{min-width:0;width:100%}
.badge.critical{background:#f1f1ed;color:#5f645f;border:1px solid #e1e2dc}
.mobile-more{display:none}.mobile-more>summary{min-width:38px;font-size:17px;letter-spacing:.08em}.mobile-more .more-pop{top:42px}
@media(max-width:760px){.mobile-more{display:block}.mobile-more .more-pop{right:0;min-width:200px}.right{gap:5px}}
.more-pop .menu-logout{margin-top:4px;border-top:1px solid var(--line-2);border-radius:0 0 8px 8px;color:#7d2222}
.order-list{display:grid;gap:8px}.order-card-row{display:grid;grid-template-columns:100px minmax(220px,1.4fr) 160px 115px 115px auto;align-items:center;gap:12px;padding:12px 13px;border:1px solid var(--line-2);border-radius:11px;background:#fff}.order-money span{display:block;color:#6a706c;font-size:10px;text-transform:uppercase;letter-spacing:.055em;font-weight:800}.order-money strong{display:block;margin-top:2px;font-size:12.5px}@media(max-width:1000px){.order-card-row{grid-template-columns:90px minmax(200px,1fr) 150px auto}.order-card-row .order-money{display:none}}@media(max-width:760px){.order-card-row{grid-template-columns:1fr auto;gap:8px}.order-card-row>div:nth-child(1){grid-column:1}.order-card-row>div:nth-child(2){grid-column:1/3}.order-card-row>div:nth-child(3){grid-column:1}.order-card-row .order-money{display:none}.order-card-row>.btn{grid-column:2;grid-row:3;width:100%}}
.product-table{min-width:1060px}.product-table td:nth-child(2){min-width:300px}.product-table td:nth-child(3){min-width:140px}

/* v2.0 · Kunder, fejlmeldinger og mobile plantegninger */
.eyebrow{font-size:12px;font-weight:850;text-transform:uppercase;letter-spacing:.12em;color:#687078;margin-bottom:6px}.metric-link{display:block;color:inherit;text-decoration:none;transition:.15s transform,.15s box-shadow}.metric-link:hover{transform:translateY(-1px);box-shadow:0 8px 22px #0000000d}.split-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,360px);gap:16px}.side-card{align-self:start;position:sticky;top:86px}.customer-list,.location-list,.setup-list,.customer-device-list{display:grid;gap:8px}.customer-row,.customer-device-row,.setup-row,.location-row,.portal-user-row{display:grid;align-items:center;gap:14px;padding:13px 0;border-bottom:1px solid #edf0f2;color:inherit;text-decoration:none}.customer-row{grid-template-columns:minmax(0,1fr) auto 24px}.customer-stats{display:flex;gap:12px;align-items:center;flex-wrap:wrap;font-size:13px;color:#687078}.customer-row:hover,.setup-row:hover,.customer-device-row:hover{background:#fafbfb}.customer-row>div:first-child,.customer-device-row>div:nth-child(2){min-width:0}.customer-row strong,.customer-device-row strong{overflow-wrap:anywhere}.customer-row .report-meta{display:block}.customer-device-row{grid-template-columns:auto minmax(0,1fr) auto 20px}.location-row{grid-template-columns:minmax(0,1fr) auto}.setup-row{grid-template-columns:minmax(0,1fr) auto}.portal-user-row{grid-template-columns:minmax(0,1fr) auto}.inline-details{margin-top:14px;border-top:1px solid #e7eaec;padding-top:12px}.inline-details>summary{cursor:pointer;font-weight:800;color:#34393d}.inline-details[open]>summary{margin-bottom:14px}.location-mini-form,.portal-form{padding-top:4px}.customer-wrap{max-width:1260px}.customer-topbar .nav{margin-left:auto}.customer-topbar .right{margin-left:10px}.section-head{display:flex;align-items:end;justify-content:space-between;gap:12px;margin:25px 0 12px}.section-head h2{margin:0}.setup-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:14px}.setup-card{display:grid;grid-template-columns:112px minmax(0,1fr);gap:14px;align-items:center;color:inherit;text-decoration:none;min-height:110px}.setup-card:hover{box-shadow:0 8px 24px #0000000c}.setup-preview{height:82px;border-radius:10px;overflow:hidden;background:#eef1f2;border:1px solid #e0e4e7}.setup-preview img{width:100%;height:100%;object-fit:cover}.setup-placeholder{height:100%;display:grid;place-items:center;font-size:12px;color:#777}.customer-equipment-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.equipment-card-head{display:flex;justify-content:space-between;align-items:flex-start;gap:8px}.equipment-card-head>div:first-child{display:flex;gap:5px;flex-wrap:wrap}.equipment-card h3{margin:15px 0 7px;font-size:18px}.equipment-meta{font-size:14px;line-height:1.55;color:#4f565c}.equipment-card-foot{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-top:18px;border-top:1px solid #edf0f2;padding-top:12px}.fault-list{display:grid;gap:12px}.fault-card{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:18px;align-items:start}.fault-card h3{margin:9px 0 4px}.fault-thumb{width:118px;height:86px;object-fit:cover;border-radius:10px;border:1px solid #dfe3e5}.admin-fault{grid-template-columns:minmax(0,1fr) auto 180px}.fault-status-form label{display:grid;gap:6px;font-size:12px;font-weight:800}.fault-status-form select{width:100%;padding:9px;border:1px solid #cfd5d9;border-radius:9px;background:#fff}.success-panel{text-align:center;padding:32px 10px 14px}.success-panel h1{margin:10px 0}.success-icon{width:58px;height:58px;border-radius:50%;display:grid;place-items:center;background:#dff5e7;color:#075d2f;font-size:30px;font-weight:900;margin:0 auto}.device-summary{background:#f5f7f7;border:1px solid #e3e7e9;border-radius:12px;padding:14px;margin:14px 0 20px;display:grid;gap:3px}.urgent-check{padding:12px;border-radius:10px;background:#fff7e7;border:1px solid #f0d99e}.public-contact{text-align:center;font-size:12px;color:#687078;padding:4px 0 20px}.floorplan-card,.floorplan-editor-card{overflow:hidden}.floorplan-view{position:relative;width:100%;background:#eef1f2;border:1px solid #dce1e4;border-radius:12px;overflow:hidden;line-height:0;touch-action:none}.floorplan-view>img{display:block;width:100%;height:auto;max-height:78vh;object-fit:contain;margin:auto;background:#fff}.floorplan-view.editable{cursor:crosshair}.floor-marker{position:absolute;transform:translate(-50%,-50%);width:40px;height:40px;border-radius:50%;border:3px solid #fff;box-shadow:0 2px 10px #0005;display:grid;place-items:center;line-height:1;background:#687078;color:#fff;z-index:5;padding:0;user-select:none}.floor-marker.draggable{cursor:grab}.floor-marker.draggable:active{cursor:grabbing;transform:translate(-50%,-50%) scale(1.08);z-index:9}.floor-marker span{font-size:16px;line-height:1}.floor-marker.status-functional{background:#0a6b39}.floor-marker.status-functional_note{background:#b98200}.floor-marker.status-not_functional{background:#9d1b1b}.floor-marker.status-none{background:#687078}.floor-marker.type-extinguisher span{font-size:19px}.floor-marker.type-hose_reel span{font-size:22px;font-weight:900}.setup-tools{align-self:start;position:sticky;top:86px;max-height:calc(100vh - 110px);overflow:auto}.setup-device-palette{display:grid;gap:7px}.palette-device{width:100%;display:grid;grid-template-columns:30px minmax(0,1fr) 20px;align-items:center;gap:8px;text-align:left;border:1px solid #dfe3e5;background:#fff;border-radius:9px;padding:8px;cursor:pointer;color:#222}.palette-device:hover{background:#f6f8f8}.palette-device.placed{background:#eff8f2;border-color:#bfddc9}.palette-device span{font-size:17px}.palette-device div{min-width:0}.palette-device strong,.palette-device small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.palette-device small{font-size:10px;color:#72797e;margin-top:2px}.palette-device b{font-size:16px;text-align:center}.floor-empty{min-height:420px;display:flex!important;flex-direction:column;justify-content:center}.map-legend{display:flex;gap:16px;flex-wrap:wrap;margin-top:12px;font-size:12px;color:#60676c}.map-legend span{display:flex;align-items:center;gap:5px}.dot{width:10px;height:10px;border-radius:50%;display:inline-block}.dot.ok{background:#0a6b39}.dot.warn{background:#b98200}.dot.bad{background:#9d1b1b}.dot.none{background:#687078}.equipment-map-marker{width:38px;height:42px;border-radius:18px 18px 18px 4px;transform:rotate(-45deg);border:3px solid #fff;box-shadow:0 2px 8px #0005;background:#687078;display:grid;place-items:center}.equipment-map-marker span{transform:rotate(45deg);font-size:17px}.equipment-map-marker.status-functional{background:#0a6b39}.equipment-map-marker.status-functional_note{background:#b98200}.equipment-map-marker.status-not_functional{background:#9d1b1b}.equipment-map-marker.status-none{background:#687078}.equipment-marker-wrap{background:transparent!important;border:0!important}.compact.empty-state{padding:18px}.fault-public{max-width:760px}
@media(max-width:900px){.split-layout{grid-template-columns:1fr}.side-card,.setup-tools{position:static;max-height:none}.admin-fault{grid-template-columns:minmax(0,1fr) auto}.admin-fault .fault-status-form{grid-column:1/-1}.customer-topbar .nav{display:none}.customer-topbar .right .user-chip{display:none}.floorplan-editor-card,.setup-tools{grid-column:span 12!important}}
@media(max-width:650px){.customer-row{grid-template-columns:minmax(0,1fr) 22px}.customer-stats{grid-column:1/-1;grid-row:2}.customer-row>span:last-child{grid-column:2;grid-row:1}.customer-device-row{grid-template-columns:auto minmax(0,1fr)}.customer-device-row>div:nth-child(3),.customer-device-row>span:last-child{grid-column:2}.fault-card,.admin-fault{grid-template-columns:1fr}.fault-thumb{width:100%;height:160px}.setup-card{grid-template-columns:88px minmax(0,1fr)}.setup-preview{height:70px}.equipment-card-foot{align-items:flex-start;flex-direction:column}.floor-marker{width:34px;height:34px;border-width:2px}}
.fixed-location-card{display:flex;align-items:center;justify-content:space-between;gap:14px;min-height:86px}.fixed-location-card>div{min-width:0}.fixed-location-grid{grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}
@media(max-width:650px){.fixed-location-card{align-items:flex-start;flex-direction:column}}

/* v2.2 modelprofil-editor */
.model-table td:first-child{min-width:280px}.model-table td:last-child{white-space:nowrap}.profile-list-editor{display:flex;flex-direction:column;gap:10px}.profile-edit-row{display:grid;grid-template-columns:36px 36px minmax(260px,1fr) auto auto;gap:8px;align-items:end;padding:12px;border:1px solid #e1e4e6;border-radius:12px;background:#fafbfb}.profile-edit-row .field{margin:0}.row-move{width:36px;height:40px;border:1px solid #d5dadd;background:#fff;border-radius:9px;font-weight:900;cursor:pointer}.row-move:hover{background:#f0f2f3}.critical-toggle{height:40px;display:flex;align-items:center;gap:7px;padding:0 10px;border:1px solid #d5dadd;border-radius:9px;background:#fff;font-weight:700;white-space:nowrap}.profile-save-bar{position:sticky;bottom:12px;margin-top:18px;padding:14px 16px;display:flex;align-items:center;justify-content:space-between;gap:16px;background:#fff;border:1px solid #dce1e4;border-radius:14px;box-shadow:0 8px 30px #0002;z-index:8}.input-suffix{display:flex;align-items:stretch}.input-suffix input{border-radius:9px 0 0 9px!important}.input-suffix span{display:flex;align-items:center;padding:0 10px;border:1px solid #cfd5d9;border-left:0;border-radius:0 9px 9px 0;background:#f4f5f6;color:#687078;font-size:13px;font-weight:700}@media(max-width:760px){.profile-edit-row{grid-template-columns:34px 34px 1fr}.profile-edit-row .field{grid-column:1/-1;grid-row:1}.profile-edit-row>.row-move{grid-row:2}.profile-edit-row>.critical-toggle{grid-column:3;grid-row:2}.profile-edit-row>.btn.danger{grid-column:1/-1;grid-row:3}.profile-save-bar{align-items:stretch;flex-direction:column}.profile-save-bar .btn{width:100%}.model-table td:first-child{min-width:220px}}

/* v2.3 archive / soft-delete */
.archived-card{opacity:.82;border-style:dashed;background:#fafafa}.archived-card .device-name,.archived-card .report-no{text-decoration:none}.danger-zone{border-color:#e7caca;background:#fffafa}.actions form{display:inline-flex;margin:0}.btn.danger{background:#a32626;color:#fff}.btn.danger:hover{background:#851f1f}

/* =========================================================
   v2.4 · Samlet AVARIS designløft
   Funktioner er uændrede; dette lag samler hele Tilsyn visuelt.
   ========================================================= */
:root{
  --bg:#f1f2ef;
  --surface:#ffffff;
  --surface-2:#f7f8f5;
  --surface-3:#eef0ec;
  --text:#111311;
  --muted:#666c67;
  --line:#dfe2dc;
  --line-2:#eceee9;
  --ok:#08733c;--ok-bg:#e5f4ea;
  --warn:#805900;--warn-bg:#fff2ca;
  --bad:#9e2323;--bad-bg:#fbe8e8;
  --info:#245d87;--info-bg:#e8f1f8;
  --radius:18px;
  --radius-sm:12px;
  --shadow:0 10px 32px rgba(18,24,19,.055);
  --shadow-lg:0 20px 55px rgba(18,24,19,.10);
  --focus:0 0 0 4px rgba(17,19,17,.11)
}
html{background:var(--bg);scroll-behavior:smooth}
body{background:linear-gradient(180deg,#f8f9f7 0,#f1f2ef 260px,var(--bg) 100%);color:var(--text)}
::selection{background:#1b1d1b;color:#fff}

/* App shell */
.topbar{
  min-height:72px;padding:10px 28px;gap:26px;
  background:rgba(255,255,255,.94);border-bottom:1px solid rgba(211,215,208,.9);
  box-shadow:0 1px 0 rgba(17,19,17,.02);backdrop-filter:blur(18px) saturate(135%)
}
.logo-lockup{gap:11px;min-width:218px}.logo-image{width:136px}.brand-subtitle{font-size:8.5px;letter-spacing:.16em;color:#6d736e}
.nav{gap:5px}.nav>a,.more-menu>summary,.right>a{min-height:40px;padding:9px 12px;border-radius:11px;font-size:13px;font-weight:780;color:#4b504c}
.nav>a:hover,.more-menu>summary:hover,.right>a:hover{background:#f0f2ee;color:#111}
.nav>a.active,.more-menu>summary.active{background:#171917!important;color:#fff!important;box-shadow:0 5px 14px rgba(17,19,17,.12)}
.right{gap:7px}.user-chip{min-height:36px;padding:7px 11px;background:#f5f6f3;border-color:#e0e2dd;color:#4e534f;font-size:11.5px}
.more-pop{top:47px;min-width:235px;padding:8px;border-radius:15px;border-color:#dfe2dc;box-shadow:var(--shadow-lg)}
.more-pop a{padding:11px 12px;border-radius:10px}.more-pop a:hover{background:#f1f3ef}
.wrap{width:min(100%,1440px);padding:32px 30px 96px}.sitefoot{width:min(100%,1440px);padding:0 30px 36px;color:#747a75}

/* Page hierarchy */
.hero{align-items:flex-end;margin:3px 0 22px;gap:22px}.hero h1{font-size:clamp(30px,3vw,42px);font-weight:900;letter-spacing:-.045em}.hero .muted{margin-top:8px;font-size:13px;max-width:720px;line-height:1.5}
.eyebrow{font-size:10px!important;letter-spacing:.16em!important;color:#777d78!important;margin-bottom:7px!important}.detail-big{font-size:19px;letter-spacing:-.015em}
.grid{gap:16px}.card{margin-bottom:16px;padding:20px;border-color:#e1e4de;border-radius:var(--radius);box-shadow:0 1px 2px rgba(19,24,20,.018),var(--shadow);transition:border-color .14s ease,box-shadow .14s ease,transform .14s ease}
.card h2{font-size:19px;font-weight:880;letter-spacing:-.022em}.card h3{letter-spacing:-.012em}.card p{color:#444a45}.divider{border-color:#e9ebe6;margin:20px 0}

/* Dashboard */
.primary-action{min-height:108px;margin-bottom:18px;padding:24px 26px;border-radius:20px;background:linear-gradient(135deg,#111311 0,#242824 100%);box-shadow:0 16px 34px rgba(16,19,16,.15);overflow:hidden;position:relative}
.primary-action:after{content:"";position:absolute;right:-45px;top:-90px;width:230px;height:230px;border:1px solid rgba(255,255,255,.08);border-radius:50%;pointer-events:none}
.primary-action h2{font-size:25px}.primary-action>div{position:relative;z-index:1}.primary-action .btn{position:relative;z-index:1;border-color:#fff;background:#fff;color:#111;box-shadow:0 7px 18px rgba(0,0,0,.18)}
.primary-action .btn:hover{background:#f0f1ee;border-color:#f0f1ee}
.metric{font-size:34px;font-weight:940}.metric-label{font-size:11.5px;letter-spacing:.01em}.metric-link{position:relative;overflow:hidden}
.metric-link:hover{transform:translateY(-2px)!important;box-shadow:0 14px 34px rgba(18,24,19,.08)!important;border-color:#d4d8d1}
.grid>.card.col-3{min-height:116px;display:flex;flex-direction:column;justify-content:center;position:relative;overflow:hidden}
.grid>.card.col-3:after{content:"";position:absolute;right:16px;top:16px;width:7px;height:7px;border-radius:50%;background:#cfd3cd}
.grid>.metric-link.col-3:after{background:var(--warn)}
.recent-list{gap:0}.recent-item{padding:14px 4px;min-height:62px}.recent-item:hover{background:#fafbf8}.recent-item .device{font-weight:850}.recent-item .date{font-variant-numeric:tabular-nums;color:#6b716c}

/* Buttons */
.btn{min-height:43px;padding:10px 15px;border-radius:11px;font-size:13px;font-weight:840;box-shadow:0 1px 1px rgba(0,0,0,.035);transition:transform .08s ease,background .14s ease,border-color .14s ease,box-shadow .14s ease}
.btn:hover{box-shadow:0 5px 14px rgba(17,19,17,.11)}.btn.secondary{background:#f3f4f1;border-color:#dde0da;color:#222522}.btn.secondary:hover{background:#e9ebe6;border-color:#d4d8d1}.btn.small{border-radius:9px}.btn.big{min-height:50px;padding:14px 20px}
.btn.danger{background:#a12626;border-color:#a12626}.btn.success{background:#08733c;border-color:#08733c}

/* Badges */
.badge{padding:6px 9px;border:1px solid transparent;font-size:10px;letter-spacing:.025em}.badge.ok{border-color:#cfe8d7}.badge.warn{border-color:#eadb9f}.badge.bad{border-color:#efcccc}.badge.blue{border-color:#d3e3f0}.badge.critical{background:#f4f4f1!important;border-color:#e1e3dd!important;color:#636863!important}
.flash{padding:13px 15px;border-radius:13px;box-shadow:0 3px 12px rgba(0,0,0,.025)}

/* Forms */
.simple-form,.inspection-shell{width:min(100%,1100px)}.form-section{padding:22px}.form-section>h2{font-size:19px;font-weight:900;margin-bottom:19px}.form-section>h2::after{background:#e7e9e4}.subcard{background:#fafbf8;border-color:#dfe2dc;border-style:solid}
.field{margin-bottom:15px}.field label{margin-bottom:7px;font-size:11.5px;letter-spacing:.012em;color:#3f4440}.field input,.field select,.field textarea{min-height:46px;padding:11px 13px;border-color:#d5d9d2;border-radius:11px;background:#fff;box-shadow:inset 0 1px 1px rgba(0,0,0,.012)}
.field input:hover,.field select:hover,.field textarea:hover{border-color:#b8beb6}.field input:focus,.field select:focus,.field textarea:focus{border-color:#7d837c;box-shadow:var(--focus)}
.help{font-size:11px;color:#777d78}.source-note{padding:11px 13px;border:1px solid #e6e8e3;border-radius:11px;background:#f7f8f5}.input-action{gap:8px}
.segmented{gap:8px}.segmented label{min-height:48px;border-color:#dfe2dc;border-radius:12px;background:#fafbf8}.segmented label:hover{border-color:#bfc4bc;background:#fff}.segmented label:has(input:checked){background:#171917;border-color:#171917;box-shadow:0 5px 14px rgba(17,19,17,.12)}

/* Inspection */
.device-summary{padding:16px!important;border:1px solid #dde1da!important;border-radius:14px!important;background:linear-gradient(180deg,#fafbf9,#f5f6f3)!important}.device-summary .device-title{font-size:20px!important}
.checklist-head{margin-bottom:14px}.checkitem{min-height:64px;padding:13px 14px;border-color:#e1e4de;border-radius:13px;background:#fff}.checkitem:hover{border-color:#ccd1c9;background:#fdfefd}.checkitem>div:first-child,.checkitem strong{font-size:13.5px}
.radio3{grid-template-columns:repeat(3,90px);gap:6px}.radio3 label{min-height:38px;border-radius:9px;background:#f4f5f2;border-color:#e1e3de}.radio3 label:hover{background:#eceeea}.radio3 label:has(input:checked){box-shadow:0 3px 8px rgba(17,19,17,.1)}
.sticky-submit{bottom:18px;padding:10px;border-radius:15px;border-color:#dfe2dc;box-shadow:0 16px 38px rgba(19,24,20,.14)}
.consumables-card{padding:21px}.consumable-grid{gap:14px}.consumable-box{padding:16px;border-radius:14px;background:#fafbf8;border-color:#e0e3dd}.consumable-title h3{font-size:16px}

/* Equipment and report cards */
.device-picker,.device-grid{gap:14px}.pick-card,.device-card{border-radius:15px!important;border-color:#e0e3dd!important;box-shadow:0 4px 16px rgba(18,24,19,.03)}.pick-card:hover,.device-card:hover{border-color:#cbd0c8!important;box-shadow:0 12px 28px rgba(18,24,19,.075);transform:translateY(-1px)}
.device-card{padding:18px}.device-name{font-size:17px!important;font-weight:900!important}.meta-line{color:#626863!important}.status-dot{box-shadow:0 0 0 4px #fff}
.search-row{gap:10px;margin-bottom:16px}.search-row .field input{background:#fff}
.report-list{gap:10px}.report-row{padding:14px 15px;border-radius:14px;border-color:#e1e4de;background:#fff;box-shadow:0 3px 12px rgba(18,24,19,.025)}.report-row:hover{border-color:#cdd2ca;background:#fdfefd;box-shadow:0 9px 24px rgba(18,24,19,.055)}.report-no{font-weight:900!important}.report-device{line-height:1.35}.report-meta{color:#69706a!important}.report-lock{opacity:.72}

/* Tables */
.table-wrap{border-radius:14px;border-color:#e0e3dd;background:#fff;box-shadow:0 4px 15px rgba(18,24,19,.025)}.table{background:#fff}.table th{position:sticky;top:0;z-index:2;background:#f6f7f4!important;color:#656b66!important;font-size:10px!important;letter-spacing:.08em!important}.table th,.table td{padding:13px 12px!important;border-color:#eceee9!important}.table tbody tr:hover td{background:#fafbf8}
.product-table td:nth-child(2){min-width:340px}.model-table td:first-child{min-width:330px}

/* Orders / pricing */
.order-line,.order-card-row{border-radius:14px!important;border-color:#e0e3dd!important;box-shadow:0 3px 12px rgba(18,24,19,.025)}.order-line{padding:16px}.order-line-title{font-weight:900}.order-result{border-radius:13px!important}.quote-grid{gap:12px}

/* Maps and plans */
.map-wrap{padding:16px}.map-canvas{border-radius:16px;border-color:#d9ddd6;background:#e7e9e5;box-shadow:inset 0 0 0 1px rgba(255,255,255,.6),0 8px 25px rgba(18,24,19,.05)}
.all-map-card{overflow:hidden}.map-status-grid{gap:10px!important}.map-stat{border-radius:13px!important;background:#fafbf8!important;border-color:#e0e3dd!important}.map-legend{padding-top:3px;color:#666d67}.dot{box-shadow:0 0 0 2px #fff}
.floorplan-view{border-radius:16px;border-color:#d9ddd6;background:#eef0ec;box-shadow:inset 0 0 0 1px rgba(255,255,255,.55)}.floorplan-view>img{background:#fff}.floor-marker{box-shadow:0 5px 14px rgba(0,0,0,.28)}.palette-device{border-radius:11px;border-color:#dfe2dc}.palette-device:hover{background:#f5f7f3}.palette-device.placed{background:#eaf5ee;border-color:#bedcc8}

/* Photos */
.photo-button{min-height:50px;border-radius:12px;background:#fafbf8}.photo-button:hover{background:#f0f2ee;border-color:#878e87}.photo-preview img,.report-gallery img,.edit-photo-grid img{border-radius:12px!important;box-shadow:0 4px 14px rgba(18,24,19,.06)}

/* Customers, setups and faults */
.split-layout{gap:18px!important}.side-card{top:92px}.customer-row,.customer-device-row,.setup-row,.location-row,.portal-user-row{padding:14px 8px;border-radius:10px;border-bottom-color:#eceee9}.customer-row:hover,.setup-row:hover,.customer-device-row:hover,.location-row:hover{background:#f7f8f5}.customer-stats{font-size:12px}.section-head{margin-top:28px}.setup-grid,.customer-equipment-grid,.fixed-location-grid{gap:16px}.setup-card,.equipment-card,.fixed-location-card{border-color:#e0e3dd!important;box-shadow:0 5px 18px rgba(18,24,19,.035)}.setup-card:hover,.equipment-card:hover,.fixed-location-card:hover{border-color:#cdd2ca!important;box-shadow:0 12px 28px rgba(18,24,19,.07)}.setup-preview{border-radius:12px}.equipment-card h3{font-weight:900;letter-spacing:-.02em}.equipment-card-foot{border-color:#e9ece7}.fault-card{border-color:#e0e3dd!important}.fault-thumb{border-radius:12px}.urgent-check{border-radius:12px}

/* Login + public pages */
.loginbox{width:min(100%,460px);margin:0 auto;min-height:100vh;padding:8vh 18px 32px;display:flex;align-items:flex-start}.loginbox .card{width:100%;padding:32px;border-radius:22px;box-shadow:0 24px 70px rgba(18,24,19,.11);border-color:#e1e4de}.login-logo-image{width:min(100%,290px)}.logo-lockup.vertical{gap:6px}.login-support{padding-top:4px;color:#717771}.login-support a:not(.btn){text-underline-offset:3px}
.public{max-width:900px;padding:26px 18px 50px}.public>.card:first-child{border-radius:20px}.public-head{gap:20px}.public-brand{padding-bottom:4px}.public .card{box-shadow:0 7px 26px rgba(18,24,19,.045)}.public-contact{color:#747a75}
.success-icon{width:64px;height:64px;background:var(--ok-bg);box-shadow:0 0 0 7px #f2f8f4}

/* Archive / dangerous actions */
.archived-card{opacity:.76;border-style:dashed;background:#fafbf9}.danger-zone{border-color:#e8d1d1;background:#fffafa;box-shadow:none}.danger-zone h2{color:#761d1d}.danger-zone .muted{color:#866565}

/* Model profile editor */
.profile-edit-row{padding:14px;border-radius:14px;border-color:#e0e3dd;background:#fafbf8}.row-move,.critical-toggle{border-radius:10px;border-color:#d9ddd6}.profile-save-bar{bottom:18px;padding:15px 17px;border-radius:16px;border-color:#dce0d9;box-shadow:0 16px 38px rgba(18,24,19,.13)}

/* Mobile / tablet */
@media(max-width:1100px){
  .topbar{padding-left:18px;padding-right:18px}.wrap{padding:26px 20px 92px}.sitefoot{padding-left:20px;padding-right:20px}.logo-image{width:126px}
}
@media(max-width:760px){
  body{background:#f3f4f1;padding-bottom:76px}.topbar{min-height:60px;padding:8px 13px;border-bottom-color:#e2e5df}.topbar .logo-image{width:116px}.wrap{padding:18px 13px 102px}.sitefoot{padding:0 13px 94px}.hero{margin-bottom:16px}.hero h1{font-size:30px}.hero .muted{font-size:12.5px}.hero>.btn,.hero>.actions{width:100%}.hero>.btn{justify-content:center}
  .card{padding:16px;border-radius:15px;margin-bottom:12px;box-shadow:0 4px 15px rgba(18,24,19,.035)}.grid{gap:11px}.primary-action{min-height:0;padding:19px;border-radius:17px;align-items:stretch}.primary-action h2{font-size:21px}.primary-action .btn{width:100%;margin-top:4px}.grid>.card.col-3{min-height:94px}.metric{font-size:30px}
  .mobile-nav{padding-top:6px;background:rgba(255,255,255,.97);border-top-color:#dfe2dc;box-shadow:0 -10px 30px rgba(18,24,19,.075);backdrop-filter:blur(16px)}.mobile-nav a{min-height:57px;border-radius:11px;font-size:9px;color:#626862}.mobile-nav a b{font-size:19px}.mobile-nav a.active{background:#eef0ec;color:#111}.mobile-nav a:nth-child(2){margin-top:-12px;min-height:62px;background:#171917;color:#fff;border:4px solid #f3f4f1;border-radius:17px;box-shadow:0 8px 20px rgba(17,19,17,.18)}.mobile-nav a:nth-child(2).active{background:#111;color:#fff}
  .form-section{padding:16px}.checkitem{grid-template-columns:1fr;gap:10px}.radio3{width:100%;grid-template-columns:repeat(3,1fr)}.radio3 label{min-height:40px}.sticky-submit{bottom:80px;border-radius:14px}.consumable-grid{grid-template-columns:1fr}.device-summary{align-items:flex-start!important}.report-row{border-radius:13px}.table th,.table td{padding:11px 10px!important}.map-canvas{border-radius:14px}.all-aed-map{height:55vh;min-height:390px}.location-edit-map{height:330px}
  .loginbox{padding:5vh 13px 24px}.loginbox .card{padding:25px 21px;border-radius:19px}.public{padding:12px 10px 92px}.public>.card:first-child{border-radius:16px}
  .customer-topbar .right>a{display:none}
}
@media(max-width:430px){
  .hero h1{font-size:28px}.btn{min-height:44px}.actions{gap:7px}.actions .btn{flex:1 1 auto}.segmented label{min-height:48px}.mobile-nav a{padding-left:3px;padding-right:3px}.report-row{padding:12px}.map-status-grid{gap:8px!important}.map-stat{padding:10px!important}
}

@media print{
  body{background:#fff}.card{border-color:#ddd!important;box-shadow:none!important}.public{padding:0}.report-gallery img{box-shadow:none!important}
}

/* Grid completeness */
.col-9{grid-column:span 9}
@media(max-width:760px){.col-9{grid-column:span 12}}

/* =========================================================
   v2.6 · Synligt designløft + cache-uafhængigt stylesheet
   Desktop: fast AVARIS navigation i venstre side.
   Tablet/mobil: kompakt topbar + bundnavigation.
   ========================================================= */
@media(min-width:1001px){
  body{min-height:100vh;background:#f3f4f1}
  .topbar{
    position:fixed!important;inset:0 auto 0 0!important;width:252px!important;height:100vh!important;
    min-height:100vh!important;padding:22px 16px 18px!important;display:flex!important;flex-direction:column!important;
    align-items:stretch!important;gap:18px!important;background:#fff!important;border:0!important;border-right:1px solid #e1e4de!important;
    box-shadow:8px 0 30px rgba(18,24,19,.035)!important;backdrop-filter:none!important;overflow:visible!important
  }
  .topbar .logo-lockup{min-width:0!important;padding:5px 8px 19px!important;border-bottom:1px solid #eceee9!important;display:flex!important;flex-direction:column!important;align-items:flex-start!important;gap:7px!important}
  .topbar .logo-image{width:154px!important;max-width:100%!important}
  .topbar .brand-subtitle{font-size:9px!important;letter-spacing:.17em!important;color:#777d78!important}
  .topbar .nav{display:flex!important;flex-direction:column!important;align-items:stretch!important;gap:5px!important;width:100%!important;overflow:visible!important}
  .topbar .nav>a,.topbar .more-menu>summary{width:100%!important;min-height:44px!important;padding:11px 12px!important;border-radius:11px!important;display:flex!important;align-items:center!important;justify-content:flex-start!important;font-size:13px!important;font-weight:790!important;color:#4d534e!important;background:transparent!important}
  .topbar .nav>a:hover,.topbar .more-menu>summary:hover{background:#f3f5f1!important;color:#111!important}
  .topbar .nav>a.active,.topbar .more-menu>summary.active{background:#151715!important;color:#fff!important;box-shadow:0 7px 18px rgba(17,19,17,.12)!important}
  .topbar .more-menu{width:100%!important;position:relative!important}
  .topbar .more-pop{left:calc(100% + 10px)!important;right:auto!important;top:0!important;min-width:225px!important}
  .topbar .right{margin:auto 0 0!important;padding:15px 7px 0!important;border-top:1px solid #eceee9!important;display:grid!important;grid-template-columns:1fr auto!important;align-items:center!important;gap:8px!important}
  .topbar .right .user-chip{justify-self:start!important}
  .topbar .right>a{font-size:12px!important;padding:8px 7px!important}
  .topbar .mobile-more{display:none!important}
  .wrap{width:auto!important;max-width:none!important;margin:0 0 0 252px!important;padding:36px 38px 104px!important;min-height:calc(100vh - 1px)!important}
  .sitefoot{width:auto!important;max-width:none!important;margin-left:252px!important;padding:0 38px 34px!important}
  .mobile-nav{display:none!important}
  .hero{padding:2px 0 5px!important;margin-bottom:24px!important}
  .hero h1{font-size:40px!important}
  .primary-action{min-height:122px!important}
  .customer-topbar .nav{display:flex!important}
}

/* visible page polish */
.hero:before{content:"";display:block;width:34px;height:4px;border-radius:999px;background:#171917;margin-bottom:13px}
.card{background:rgba(255,255,255,.98)}
.card:hover{border-color:#d8dcd5}
.metric-link .metric{letter-spacing:-.04em}
.device-card,.report-row,.setup-card,.equipment-card,.fixed-location-card{position:relative;overflow:hidden}
.device-card:before,.report-row:before,.setup-card:before,.equipment-card:before,.fixed-location-card:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:#d9ddd6}
.device-card:has(.badge.ok):before,.report-row:has(.badge.ok):before,.equipment-card:has(.badge.ok):before{background:var(--ok)}
.device-card:has(.badge.warn):before,.report-row:has(.badge.warn):before,.equipment-card:has(.badge.warn):before{background:#c39010}
.device-card:has(.badge.bad):before,.report-row:has(.badge.bad):before,.equipment-card:has(.badge.bad):before{background:var(--bad)}

/* clearer forms */
.form-section{border:1px solid #dfe3dc;background:#fff}
.form-section>h2{display:flex;align-items:center;gap:10px}
.form-section>h2:before{content:"";width:7px;height:7px;border-radius:50%;background:#171917;flex:0 0 auto}
.field input,.field select,.field textarea{font-size:15px}
.field label{font-weight:800}

/* map presentation */
.map-canvas,.all-aed-map,.location-edit-map{background:#dde2dc!important;border:1px solid #cfd5cc!important}
.map-wrap,.all-map-card{background:#fff}

/* public report / portal */
.public>.card:first-child{border-top:4px solid #171917}
.customer-wrap .hero:before{background:#171917}

/* hard mobile reset from desktop rail */
@media(max-width:1000px){
  .topbar{position:sticky!important;inset:auto!important;width:auto!important;height:auto!important;min-height:60px!important;display:flex!important;flex-direction:row!important;align-items:center!important}
  .topbar .logo-lockup{padding:0!important;border:0!important;flex-direction:row!important;align-items:center!important}
  .topbar .nav{flex-direction:row!important}
  .topbar .right{margin-left:auto!important;border:0!important;padding:0!important;display:flex!important}
  .wrap{margin-left:0!important;width:min(100%,1440px)!important;padding-left:20px!important;padding-right:20px!important}
  .sitefoot{margin-left:0!important}
}
@media(max-width:760px){
  .hero:before{width:28px;height:3px;margin-bottom:10px}
  .wrap{padding-left:13px!important;padding-right:13px!important}
}

/* v2.6 · samlet udstyrskort */
.all-equipment-map{height:min(65vh,680px);min-height:480px}
.map-legend-types{border-bottom:1px solid #eceee9;padding-bottom:10px;margin-bottom:3px}
.legend-symbol{display:inline-grid;place-items:center;min-width:24px;height:24px;padding:0 4px;border-radius:7px;background:#f0f2ee;color:#20231f;font-size:14px;line-height:1}
.mobile-placement-help{margin-top:10px}
@media(max-width:760px){.all-equipment-map{height:56vh;min-height:380px}}
