:root{--bg:#f4f6f8;--panel:#fff;--text:#17202a;--muted:#6b7280;--border:#e5e7eb;--sidebar:#111827;--sidebar2:#0b1220;--accent:#3b82f6;--accent2:#2563eb;--success:#14804a;--warning:#a15c00;--danger:#b42318;--radius:15px;--shadow:0 8px 28px rgba(15,23,42,.06)}
*{box-sizing:border-box}body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:var(--bg);color:var(--text)}a{color:inherit;text-decoration:none}.app-shell{min-height:100vh;display:grid;grid-template-columns:250px 1fr}.sidebar{position:sticky;top:0;height:100vh;background:linear-gradient(180deg,var(--sidebar),var(--sidebar2));color:#fff;padding:22px 16px;display:flex;flex-direction:column}.brand{display:flex;align-items:center;gap:12px;padding:0 8px 22px;border-bottom:1px solid rgba(255,255,255,.08)}.brand-mark{width:42px;height:42px;border-radius:12px;background:#fff;color:#111827;display:grid;place-items:center;font-size:22px;font-weight:800}.brand strong,.brand span{display:block}.brand span{font-size:12px;color:#94a3b8;margin-top:2px}.nav{display:flex;flex-direction:column;gap:6px;padding-top:18px}.nav a{padding:12px 13px;border-radius:10px;color:#cbd5e1;display:flex;gap:10px;align-items:center;font-weight:600}.nav a:hover,.nav a.active{background:rgba(255,255,255,.1);color:#fff}.sidebar-bottom{margin-top:auto;border-top:1px solid rgba(255,255,255,.08);padding-top:15px}.user-chip{display:flex;gap:10px;align-items:center}.avatar{width:34px;height:34px;border-radius:50%;background:#334155;display:grid;place-items:center;font-weight:700}.user-chip strong,.user-chip small{display:block}.user-chip small{color:#94a3b8}.logout{display:block;color:#94a3b8;font-size:13px;margin:12px 0 0 44px}.main{padding:28px;min-width:0}.topbar{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:24px}.topbar h1{margin:0;font-size:27px}.topbar p{margin:5px 0 0;color:var(--muted)}.btn{border:0;border-radius:10px;padding:10px 15px;font-weight:700;cursor:pointer;display:inline-flex;gap:8px;align-items:center}.btn-primary{background:var(--accent);color:#fff}.btn-primary:hover{background:var(--accent2)}.btn-secondary{background:#fff;border:1px solid var(--border)}.btn-danger{background:#fff0ee;color:var(--danger);border:1px solid #ffd5cf}.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:20px}.stat-card,.card{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow)}.stat-card{padding:18px}.stat-card .label{color:var(--muted);font-size:13px;font-weight:700}.stat-card .value{font-size:30px;font-weight:800;margin-top:8px}.stat-card .sub{font-size:12px;color:var(--muted);margin-top:4px}.grid-2{display:grid;grid-template-columns:1.3fr .7fr;gap:18px}.card{padding:18px}.card h2{margin:0 0 14px;font-size:18px}.table-wrap{overflow:auto}.table{width:100%;border-collapse:collapse}.table th,.table td{padding:12px 10px;border-bottom:1px solid var(--border);text-align:left;white-space:nowrap}.table th{color:var(--muted);font-size:12px;text-transform:uppercase;letter-spacing:.03em}.table tbody tr:hover{background:#f8fafc}.badge{display:inline-flex;padding:5px 9px;border-radius:999px;font-size:12px;font-weight:800}.badge-success{background:#e8f7ef;color:var(--success)}.badge-warning{background:#fff3df;color:var(--warning)}.badge-danger{background:#feeceb;color:var(--danger)}.badge-info{background:#eaf2ff;color:#2456a6}.badge-muted{background:#eef0f3;color:#667085}.alert{padding:12px 14px;border-radius:10px;margin-bottom:16px}.alert-success{background:#e8f7ef;color:#176b42}.alert-error{background:#feeceb;color:#9d2520}.empty{padding:25px;text-align:center;color:var(--muted)}.form-card{max-width:900px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.form-group{display:flex;flex-direction:column;gap:6px}.form-group.full{grid-column:1/-1}.form-group label{font-size:13px;font-weight:700}.input,.select,.textarea{width:100%;border:1px solid #d0d5dd;border-radius:10px;padding:10px 11px;background:#fff;font:inherit}.textarea{min-height:110px;resize:vertical}.form-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:18px;padding-top:16px;border-top:1px solid var(--border)}.searchbar{display:flex;gap:10px;margin-bottom:15px}.searchbar .input{max-width:420px}.vehicle-header{display:flex;gap:18px;align-items:center;background:#fff;border:1px solid var(--border);border-radius:var(--radius);padding:18px;margin-bottom:18px}.vehicle-icon{width:70px;height:70px;border-radius:16px;background:#eef4ff;display:grid;place-items:center;font-size:34px}.vehicle-header h2{margin:0}.vehicle-meta{display:flex;flex-wrap:wrap;gap:10px;margin-top:7px;color:var(--muted)}.tabs{display:flex;gap:8px;margin-bottom:16px}.tabs a{background:#fff;border:1px solid var(--border);padding:9px 13px;border-radius:9px;font-weight:700}.tabs a.active{background:#111827;color:#fff;border-color:#111827}.detail-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.detail-item{background:#f8fafc;border-radius:10px;padding:12px}.detail-item small,.detail-item strong{display:block}.detail-item small{color:var(--muted);margin-bottom:3px}.journal-list{display:flex;flex-direction:column;gap:12px}.journal-item{display:grid;grid-template-columns:42px 1fr auto;gap:12px;padding:14px;border:1px solid var(--border);border-radius:12px;background:#fff}.journal-icon{width:42px;height:42px;border-radius:10px;background:#f1f5f9;display:grid;place-items:center}.journal-item h3{margin:0 0 4px;font-size:15px}.journal-item p{margin:0;color:#475467}.journal-item small{color:var(--muted)}.login-page{min-height:100vh;display:grid;place-items:center;background:#eef2f6;padding:20px}.login-card{width:min(430px,100%);background:#fff;padding:28px;border-radius:18px;border:1px solid var(--border);box-shadow:var(--shadow)}.login-brand{display:flex;gap:12px;align-items:center;margin-bottom:22px}.login-brand .brand-mark{background:#111827;color:#fff}.login-card h1{margin:0;font-size:24px}.login-card p{color:var(--muted);margin:5px 0 0}.login-card .form-group{margin-bottom:14px}.login-card .btn{width:100%;justify-content:center;margin-top:6px}.muted{color:var(--muted)}@media(max-width:1000px){.stats{grid-template-columns:repeat(2,1fr)}.grid-2{grid-template-columns:1fr}.detail-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:760px){.app-shell{grid-template-columns:1fr}.sidebar{position:relative;height:auto}.nav{display:grid;grid-template-columns:repeat(2,1fr)}.sidebar-bottom{display:none}.main{padding:18px}.topbar{align-items:flex-start;flex-direction:column}.stats,.form-grid,.detail-grid{grid-template-columns:1fr}.journal-item{grid-template-columns:42px 1fr}.journal-item>small{grid-column:2}.vehicle-header{align-items:flex-start}}

/* Risager's Biler V1.1 – Nem3D Business inspired */
:root{--bg:#f1f4f6;--sidebar:#171713;--sidebar2:#10100e;--accent:#009fe4;--accent2:#0086c2;--accent-soft:#e8f7fd;--text:#171713;--border:#dde5e9;--shadow:0 12px 30px rgba(15,23,42,.055)}
.app-shell{grid-template-columns:250px 1fr}.sidebar{padding:18px 12px;background:linear-gradient(180deg,#171713,#10100e)}.brand{padding:10px 10px 25px;border-bottom:0}.brand-mark{width:38px;height:38px;border-radius:5px;font-size:19px}.brand strong{font-size:18px}.brand span{color:#a9b7c2}.nav-label{padding:2px 13px 9px;color:#748592;font-size:10px;font-weight:900;letter-spacing:.16em}.nav{padding-top:0;gap:5px}.nav a{border-radius:10px;padding:12px 13px;color:#d5dfe5}.nav a.active{background:#23313a}.nav a:hover{background:#1d2a32}.sidebar-bottom{padding:15px 0 0}.avatar{background:var(--accent);color:#fff}.main{padding:20px 34px 40px;max-width:1600px;width:100%}.topbar{margin-bottom:38px}.topbar h1{font-size:31px;letter-spacing:-.035em}.topbar p{display:none}.btn{border-radius:9px}.btn-primary,.btn-accent{background:var(--accent);color:#fff}.btn-primary:hover,.btn-accent:hover{background:var(--accent2)}
.hero-panel{max-width:1380px;margin:0 auto 18px;background:linear-gradient(120deg,#171713 48%,#102a35 76%,#007fb7);color:#fff;border-radius:24px;padding:32px 34px;display:flex;justify-content:space-between;align-items:center;gap:28px;box-shadow:0 18px 40px rgba(15,23,42,.08)}.hero-copy h2{font-size:31px;line-height:1.1;margin:12px 0 9px;letter-spacing:-.035em}.hero-copy p{margin:0;color:#c6d0d5}.eyebrow{display:block;color:var(--accent);font-size:10px;font-weight:900;letter-spacing:.16em}.hero-eyebrow{display:inline-flex;background:rgba(0,159,228,.18);border-radius:999px;padding:7px 11px;letter-spacing:.08em}.hero-actions{display:flex;gap:10px;margin-top:20px}.btn-dark-outline{color:#fff;border:1px solid rgba(255,255,255,.25);background:transparent}.today-card{width:220px;min-height:145px;border:1px solid rgba(255,255,255,.13);border-radius:17px;background:rgba(255,255,255,.08);padding:25px 22px;display:flex;flex-direction:column;justify-content:center}.today-card strong{font-size:21px;line-height:1.25;margin:8px 0 12px}.today-card small{color:#bdc7cb}
.business-stats{max-width:1380px;margin:0 auto 18px}.business-stat{min-height:96px;padding:16px;display:grid;grid-template-columns:42px 1fr auto;align-items:center;gap:13px;box-shadow:none;transition:.15s}.business-stat:hover{transform:translateY(-1px);box-shadow:var(--shadow)}.business-stat.attention{border-color:#a8ddf4;background:#f5fbfe}.stat-icon{width:40px;height:40px;border-radius:10px;background:#eef2f3;display:grid;place-items:center;font-size:18px}.business-stat.attention .stat-icon{background:#e8f7fd}.business-stat .label{font-size:9px;letter-spacing:.12em}.business-stat .value{font-size:27px;line-height:1;margin-top:3px}.business-stat .sub{font-size:11px}.stat-arrow{font-size:23px;color:#9aabb4}
.dashboard-grid{max-width:1380px;margin:0 auto;display:grid;grid-template-columns:minmax(0,1.8fr) 420px;gap:18px;align-items:start}.card{box-shadow:none}.attention-card,.quick-card,.recent-card{padding:20px}.section-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:12px}.section-heading h2,.quick-card h2{font-size:19px;margin:4px 0 2px}.section-heading p{margin:0;color:var(--muted);font-size:12px}.section-heading>a{font-size:12px;font-weight:800;margin-top:25px}.service-list{display:flex;flex-direction:column}.service-row{display:grid;grid-template-columns:1.2fr .8fr .6fr 18px;align-items:center;gap:12px;padding:15px 12px;border-top:1px solid var(--border)}.service-row:first-child{border-top:0}.service-row:hover{background:#fafbfc;border-radius:10px}.service-row strong,.service-row small{display:block}.service-row small{color:var(--muted);font-size:12px;margin-top:3px}.service-date span{display:block;color:var(--muted);font-size:10px}.service-date strong{font-size:12px;margin-top:3px}.row-arrow{font-size:24px;color:#9aabb4}.dashboard-side{display:flex;flex-direction:column;gap:18px}.quick-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:14px}.quick-grid a{min-height:105px;border:1px solid var(--border);border-radius:11px;padding:13px;display:flex;flex-direction:column;align-items:flex-start}.quick-grid a:hover{background:#fafbfc}.quick-grid a>span{width:32px;height:32px;background:#eef2f3;border-radius:9px;display:grid;place-items:center;margin-bottom:10px}.quick-grid strong{font-size:13px}.quick-grid small{font-size:10px;color:var(--muted);margin-top:3px}.dark-summary{background:linear-gradient(120deg,#171713,#12313e);color:#fff;border-radius:15px;padding:20px;display:flex;align-items:center;justify-content:space-between;gap:20px}.dark-summary h2{font-size:18px;margin:4px 0 3px}.dark-summary p{margin:0;color:#b7c2c7;font-size:11px}.summary-numbers{display:flex;gap:8px}.summary-numbers span{width:70px;height:60px;border:1px solid rgba(255,255,255,.12);border-radius:10px;display:flex;flex-direction:column;align-items:center;justify-content:center}.summary-numbers strong{font-size:20px}.summary-numbers small{font-size:9px;color:#c7d0d4}.recent-card{max-width:1380px;margin:18px auto 0}.journal-list.compact{display:grid;grid-template-columns:1fr 1fr;gap:8px}.journal-list.compact .journal-item{box-shadow:none}
@media(max-width:1150px){.dashboard-grid{grid-template-columns:1fr}.dashboard-side{display:grid;grid-template-columns:1fr 1fr}.business-stats{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){.main{padding:18px}.hero-panel{align-items:flex-start;flex-direction:column}.today-card{width:100%;min-height:auto}.business-stats,.dashboard-side,.journal-list.compact{grid-template-columns:1fr}.service-row{grid-template-columns:1fr auto}.service-date,.service-row>.badge{display:none}}

/* Risager's brand identity */
.brand{min-height:86px}
.brand-logo-wrap{width:100%;background:#fff;border-radius:11px;padding:9px 11px;display:flex;align-items:center}
.brand-logo{display:block;width:150px;max-width:100%;height:auto}
.brand-copy{display:none}
.nav a.active{background:rgba(0,159,228,.17);box-shadow:inset 3px 0 0 var(--accent)}
.nav a:hover{background:rgba(0,159,228,.10)}
.nav-label,.eyebrow{color:var(--accent)}
.stat-icon{color:#0c607f}
.business-stat.attention .stat-icon{color:#0079ad}
.tabs a.active{background:var(--accent);border-color:var(--accent)}
.vehicle-icon{background:var(--accent-soft)}
.badge-info{background:var(--accent-soft);color:#006c9c}
.input:focus,.select:focus,.textarea:focus{outline:0;border-color:var(--accent);box-shadow:0 0 0 3px rgba(0,159,228,.12)}
.quick-grid a:hover{border-color:#b9e4f6;background:#f7fcfe}
.login-page{background:linear-gradient(135deg,#eef4f7,#e7f6fc)}
.login-card{border-top:4px solid var(--accent)}
.login-brand{display:block;text-align:center}
.login-logo-wrap{background:#fff;border:1px solid var(--border);border-radius:12px;padding:12px;margin:0 auto 18px}
.login-logo{display:block;width:230px;max-width:100%;height:auto;margin:auto}

/* Risager's Biler V1.3 – Biloversigt & bilkort */
.fleet-toolbar{max-width:1380px;margin:0 auto 16px}
.fleet-search{display:flex;align-items:center;gap:10px;position:relative}
.fleet-search .input{max-width:none;flex:1;padding-left:40px;height:44px}
.search-icon{position:absolute;left:14px;color:#7a8a94;font-size:20px;z-index:1}
.clear-search{font-size:12px;font-weight:800;color:#60717b}
.fleet-stats{max-width:1380px;margin:0 auto 18px}
.fleet-card{max-width:1380px;margin:0 auto;padding:20px}
.fleet-heading{margin-bottom:17px}
.vehicle-card-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}
.vehicle-card{border:1px solid var(--border);border-radius:14px;padding:17px;background:#fff;transition:.16s ease;display:block}
.vehicle-card:hover{border-color:#b9e4f6;transform:translateY(-1px);box-shadow:0 12px 28px rgba(15,23,42,.06)}
.vehicle-card-top{display:grid;grid-template-columns:44px minmax(0,1fr) auto;gap:12px;align-items:center}
.vehicle-card-icon{width:44px;height:44px;border-radius:11px;background:var(--accent-soft);display:grid;place-items:center;font-size:21px}
.vehicle-card-title{min-width:0}
.vehicle-card-title h3{font-size:16px;margin:5px 0 0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.plate-chip{display:inline-flex;font-size:10px;font-weight:900;letter-spacing:.08em;background:#171713;color:#fff;border-radius:5px;padding:4px 7px}
.vehicle-card-details{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:17px 0 14px}
.vehicle-card-details>div{background:#f7f9fa;border-radius:9px;padding:10px}
.vehicle-card-details small,.vehicle-card-details strong{display:block}
.vehicle-card-details small{color:var(--muted);font-size:9px;text-transform:uppercase;letter-spacing:.06em;margin-bottom:4px}
.vehicle-card-details strong{font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.vehicle-card-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;border-top:1px solid var(--border);padding-top:12px}
.vehicle-alerts{display:flex;gap:6px;flex-wrap:wrap}
.mini-alert{display:inline-flex;padding:5px 8px;border-radius:999px;background:#fff3df;color:#8a5200;font-size:10px;font-weight:800}
.mini-alert.danger{background:#feeceb;color:#a22a20}
.all-good{font-size:10px;color:#2b7650;font-weight:800}
.open-arrow{color:var(--accent);font-size:19px;font-weight:900}
.fleet-empty{display:flex;flex-direction:column;align-items:center;gap:4px}
.fleet-empty .empty-icon{font-size:28px;margin-bottom:4px}
.fleet-empty span{font-size:12px}

.car-hero{max-width:1380px;margin:0 auto 18px;border-radius:20px;padding:26px 28px;background:linear-gradient(115deg,#171713 48%,#102a35 76%,#007fb7);color:#fff;display:flex;align-items:center;justify-content:space-between;gap:24px;box-shadow:0 18px 38px rgba(15,23,42,.07)}
.car-hero-main{display:flex;align-items:center;gap:18px;min-width:0}
.car-big-icon{width:72px;height:72px;border-radius:17px;background:rgba(255,255,255,.11);border:1px solid rgba(255,255,255,.12);display:grid;place-items:center;font-size:34px}
.car-kicker{color:#58c7f5;font-size:9px;font-weight:900;letter-spacing:.16em}
.car-title-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.car-title-row h2{font-size:27px;letter-spacing:-.03em;margin:4px 0}
.car-plate{font-size:13px;font-weight:900;letter-spacing:.12em;margin-top:2px}
.car-inline-meta{display:flex;gap:14px;flex-wrap:wrap;margin-top:10px;color:#c5d1d6;font-size:11px}
.car-hero-kpis{display:flex;gap:8px}
.car-hero-kpis>div{width:105px;height:88px;border-radius:13px;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.07);display:flex;flex-direction:column;align-items:center;justify-content:center}
.car-hero-kpis small{font-size:8px;color:#b9c7cd;letter-spacing:.09em;font-weight:900}
.car-hero-kpis strong{font-size:23px;line-height:1.1;margin-top:5px}
.car-hero-kpis span{font-size:9px;color:#b9c7cd}
.car-hero-kpis .has-issue{background:rgba(0,159,228,.16);border-color:rgba(88,199,245,.28)}

.car-detail-layout{max-width:1380px;margin:0 auto;display:grid;grid-template-columns:minmax(0,1.6fr) 420px;gap:18px;align-items:start}
.car-main-column,.car-side-column{display:flex;flex-direction:column;gap:18px}
.car-section{padding:20px}
.car-detail-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.car-detail-grid .detail-item{background:#f7f9fa;border:1px solid #edf0f2;padding:14px}
.car-notes{margin-top:14px;border-top:1px solid var(--border);padding-top:14px}
.car-notes small{font-size:9px;color:var(--accent);font-weight:900;letter-spacing:.12em}
.car-notes p{margin:6px 0 0;color:#4b5962;font-size:13px}
.equipment-panel .section-heading{margin-bottom:8px}
.equipment-list{display:flex;flex-direction:column}
.equipment-row{display:flex;justify-content:space-between;gap:10px;align-items:center;padding:12px 2px;border-top:1px solid var(--border)}
.equipment-row:first-child{border-top:0}
.equipment-main{display:flex;gap:10px;align-items:center;min-width:0}
.equipment-mini-icon{width:36px;height:36px;border-radius:9px;background:#f0f5f7;display:grid;place-items:center}
.equipment-main>span:last-child{min-width:0}
.equipment-main strong,.equipment-main small{display:block}
.equipment-main strong{font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.equipment-main small{color:var(--muted);font-size:10px;margin-top:2px}
.equipment-actions{display:flex;align-items:center;gap:6px}
.equipment-actions>a{width:27px;height:27px;border-radius:8px;background:#f1f4f6;display:grid;place-items:center;font-weight:900}
.car-quick-actions{background:#171713;border-radius:15px;padding:18px;color:#fff}
.car-quick-actions>.eyebrow{margin-bottom:9px}
.car-quick-actions>a{display:grid;grid-template-columns:34px 1fr auto;gap:10px;align-items:center;padding:11px 0;border-top:1px solid rgba(255,255,255,.08)}
.car-quick-actions>a:first-of-type{border-top:0}
.car-quick-actions>a>span{width:32px;height:32px;border-radius:8px;background:rgba(0,159,228,.15);display:grid;place-items:center}
.car-quick-actions strong,.car-quick-actions small{display:block}
.car-quick-actions strong{font-size:12px}
.car-quick-actions small{font-size:9px;color:#aebbc1;margin-top:2px}
.car-quick-actions b{color:#6bcaf2}
.journal-title-line{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.journal-type{font-size:9px;font-weight:900;color:#006c9c;background:var(--accent-soft);border-radius:999px;padding:4px 7px}
.car-journal .journal-item{box-shadow:none}

@media(max-width:1150px){
  .vehicle-card-grid{grid-template-columns:1fr}
  .car-detail-layout{grid-template-columns:1fr}
  .car-side-column{display:grid;grid-template-columns:1fr 1fr}
}
@media(max-width:820px){
  .vehicle-card-details{grid-template-columns:repeat(2,1fr)}
  .car-hero{align-items:flex-start;flex-direction:column}
  .car-hero-kpis{width:100%}
  .car-hero-kpis>div{flex:1}
}
@media(max-width:760px){
  .fleet-search{align-items:stretch;flex-wrap:wrap}
  .fleet-search .btn{width:100%;justify-content:center}
  .vehicle-card-top{grid-template-columns:44px 1fr}
  .vehicle-card-top>.badge{grid-column:2;justify-self:start}
  .car-hero-main{align-items:flex-start}
  .car-big-icon{width:56px;height:56px}
  .car-title-row h2{font-size:22px}
  .car-hero-kpis{gap:5px}
  .car-hero-kpis>div{width:auto}
  .car-detail-grid,.car-side-column{grid-template-columns:1fr}
}

/* V1.4 Brugere, roller og mobil/PWA */
.nav-admin-label{margin-top:22px}.admin-card,.form-card{max-width:1380px;margin:0 auto;padding:20px}.admin-list{display:flex;flex-direction:column}.admin-row{display:grid;grid-template-columns:44px minmax(180px,1.4fr) minmax(120px,1fr) 120px auto;gap:14px;align-items:center;padding:14px 4px;border-top:1px solid var(--border)}.admin-row:first-child{border-top:0}.admin-row small,.admin-row strong{display:block}.admin-row small{font-size:10px;color:var(--muted);margin-top:3px}.admin-avatar{width:40px;height:40px;border-radius:10px;background:var(--accent-soft);display:grid;place-items:center;font-weight:900;color:#006c9c}.admin-actions{display:flex;gap:7px;justify-content:flex-end}.admin-actions form{margin:0}.btn-small{padding:7px 10px;font-size:10px}.role-row{grid-template-columns:44px minmax(220px,1.8fr) 100px 110px auto}.permission-groups h3,.form-card>form>h3{margin:20px 0 10px}.permission-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.permission-check{display:flex;gap:10px;align-items:flex-start;border:1px solid var(--border);border-radius:11px;padding:12px;background:#fafcfd;cursor:pointer}.permission-check input{margin-top:3px}.permission-check strong,.permission-check small{display:block}.permission-check strong{font-size:12px}.permission-check small{font-size:9px;color:var(--muted);margin-top:3px}.permission-check:has(input:checked){border-color:#a8ddf4;background:#f2fbfe}.form-actions{display:flex;gap:9px;margin-top:20px}



/* =========================================================
   V1.4.1 – komplet mobil / PWA layout
   Desktop påvirkes minimalt. Mobil breakpoint: 900px.
   ========================================================= */

.mobile-menu-btn,
.mobile-sidebar-head,
.mobile-bottom-nav,
.mobile-overlay{display:none}

.topbar-title-wrap{display:flex;align-items:center;gap:12px;min-width:0}
.topbar-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}

/* Små desktop/tablet forbedringer */
img{max-width:100%;height:auto}
input,select,textarea,button{font-size:16px}
.table-wrap{-webkit-overflow-scrolling:touch}
.btn{min-height:40px}
.main>*{max-width:1380px;margin-left:auto;margin-right:auto}

/* Tablet */
@media (max-width:1100px) {
  .app-shell{grid-template-columns:220px minmax(0,1fr)}
  .sidebar{padding-left:10px;padding-right:10px}
  .main{padding:22px}
  .dashboard-grid,.grid-2{grid-template-columns:1fr}
  .business-stats,.stats{grid-template-columns:repeat(2,minmax(0,1fr))}
}

/* Rigtig mobil-app visning */
@media (max-width:900px) {
  html,body{max-width:100%;overflow-x:hidden}
  body{padding-bottom:calc(74px + env(safe-area-inset-bottom))}
  body.menu-open{overflow:hidden}

  .app-shell{
    display:block;
    min-height:100vh;
  }

  .main{
    margin:0 !important;
    padding:
      calc(12px + env(safe-area-inset-top))
      12px
      18px !important;
    width:100%;
    min-width:0;
  }

  /* Off-canvas menu */
  .sidebar{
    position:fixed !important;
    z-index:1200;
    inset:0 auto 0 0;
    width:min(86vw,330px) !important;
    height:100dvh !important;
    transform:translateX(-104%);
    transition:transform .22s ease;
    padding:
      calc(12px + env(safe-area-inset-top))
      14px
      calc(18px + env(safe-area-inset-bottom)) !important;
    box-shadow:0 20px 50px rgba(0,0,0,.32);
    overflow-y:auto;
  }

  .sidebar.mobile-open{transform:translateX(0)}
  .mobile-overlay{
    display:block;
    position:fixed;
    z-index:1150;
    inset:0;
    background:rgba(8,14,18,.46);
    opacity:0;
    visibility:hidden;
    transition:.2s ease;
    backdrop-filter:blur(2px);
  }
  .mobile-overlay.show{opacity:1;visibility:visible}

  .mobile-sidebar-head{
    display:flex;
    align-items:center;
    justify-content:space-between;
    color:#d5dfe5;
    font-size:11px;
    font-weight:900;
    letter-spacing:.12em;
    text-transform:uppercase;
    padding:0 3px 10px;
  }
  .sidebar-close{
    appearance:none;
    border:0;
    background:rgba(255,255,255,.08);
    color:#fff;
    width:38px;
    height:38px;
    border-radius:10px;
    font-size:26px;
    line-height:1;
  }

  .brand{
    padding:6px 0 18px !important;
    min-height:0 !important;
  }
  .brand-logo-wrap{
    padding:10px 12px !important;
    width:180px !important;
  }
  .brand-logo{width:150px !important}

  .nav-label{
    display:block !important;
    padding:10px 10px 7px !important;
  }
  .nav-admin-label{margin-top:18px !important}

  .nav{
    display:flex !important;
    flex-direction:column !important;
    gap:5px !important;
  }
  .nav a{
    display:flex !important;
    justify-content:flex-start !important;
    gap:12px !important;
    font-size:14px !important;
    padding:13px 14px !important;
    min-height:48px;
  }
  .nav a span{font-size:19px !important;width:24px;text-align:center}
  .nav a b{display:inline;font-weight:750}

  .sidebar-bottom{
    display:block !important;
    margin-top:28px;
  }
  .user-chip>div{display:block !important}
  .logout{
    display:block !important;
    margin:12px 0 0 44px !important;
  }

  /* Topbar */
  .topbar{
    position:sticky;
    top:0;
    z-index:500;
    margin:-12px -12px 14px !important;
    padding:
      calc(10px + env(safe-area-inset-top))
      12px
      10px;
    background:rgba(241,244,246,.94);
    backdrop-filter:blur(14px);
    border-bottom:1px solid rgba(221,229,233,.85);
    align-items:center !important;
    flex-direction:row !important;
    gap:10px;
  }
  .topbar-title-wrap{flex:1;min-width:0}
  .mobile-menu-btn{
    display:grid;
    place-items:center;
    flex:0 0 42px;
    width:42px;
    height:42px;
    padding:0;
    border:1px solid var(--border);
    background:#fff;
    border-radius:11px;
    box-shadow:0 3px 10px rgba(15,23,42,.04);
    color:#171713;
    font-size:20px;
  }
  .topbar h1{
    font-size:19px !important;
    line-height:1.12;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
  }
  .topbar p{
    font-size:10px;
    margin-top:2px;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
  }
  .topbar-actions{
    flex:0 0 auto;
    max-width:46%;
  }
  .topbar-actions .btn{
    min-height:40px;
    padding:9px 11px;
    font-size:11px;
  }

  /* Fast bundnavigation */
  .mobile-bottom-nav{
    display:grid;
    grid-auto-flow:column;
    grid-auto-columns:1fr;
    position:fixed;
    z-index:1000;
    left:8px;
    right:8px;
    bottom:calc(7px + env(safe-area-inset-bottom));
    height:62px;
    padding:5px;
    border:1px solid rgba(221,229,233,.92);
    background:rgba(255,255,255,.96);
    backdrop-filter:blur(18px);
    box-shadow:0 14px 34px rgba(15,23,42,.16);
    border-radius:18px;
  }
  .mobile-bottom-nav a,
  .mobile-bottom-nav button{
    appearance:none;
    border:0;
    background:transparent;
    color:#71808a;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:2px;
    min-width:0;
    border-radius:13px;
    font:inherit;
  }
  .mobile-bottom-nav a span,
  .mobile-bottom-nav button span{
    font-size:18px;
    line-height:1;
  }
  .mobile-bottom-nav small{
    font-size:9px;
    font-weight:800;
  }
  .mobile-bottom-nav a.active{
    color:#007fac;
    background:var(--accent-soft);
  }

  /* Generelle kort/sektioner */
  .card,.stat-card{
    border-radius:14px;
    box-shadow:0 6px 18px rgba(15,23,42,.045);
  }
  .card{padding:14px}
  .section-heading{
    display:flex;
    gap:10px;
    align-items:flex-start;
    flex-wrap:wrap;
  }
  .section-heading>div{min-width:0;flex:1}
  .section-heading h2{font-size:17px}
  .section-heading p{font-size:11px}
  .section-heading>a{font-size:11px}

  /* Dashboard */
  .hero-panel{
    margin:0 0 12px !important;
    padding:20px 17px !important;
    border-radius:17px !important;
    display:block !important;
    min-height:0 !important;
  }
  .hero-copy h2{font-size:24px !important}
  .hero-copy p{font-size:12px;max-width:none}
  .hero-actions{
    display:grid !important;
    grid-template-columns:1fr 1fr;
    gap:8px !important;
    margin-top:16px !important;
  }
  .hero-actions .btn{
    justify-content:center;
    min-height:44px;
  }
  .today-card{
    width:100% !important;
    min-width:0 !important;
    margin-top:16px;
    padding:13px !important;
  }

  .business-stats,.stats{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:9px !important;
    margin-bottom:12px !important;
  }
  .business-stat,.stat-card{
    min-width:0;
    padding:13px !important;
  }
  .business-stat{
    grid-template-columns:34px 1fr !important;
    gap:8px !important;
  }
  .business-stat .stat-icon{
    width:34px !important;
    height:34px !important;
    font-size:16px !important;
  }
  .business-stat .value,.stat-card .value{
    font-size:24px !important;
  }
  .business-stat .label,.stat-card .label{
    font-size:9px !important;
  }
  .business-stat .sub,.stat-card .sub{
    font-size:9px !important;
  }
  .business-stat .stat-arrow{display:none}

  .dashboard-grid,.grid-2{
    display:block !important;
  }
  .dashboard-grid>*,
  .grid-2>*{
    margin-bottom:12px;
  }

  .service-row{
    grid-template-columns:minmax(0,1fr) auto !important;
    gap:7px !important;
    align-items:center;
    padding:12px 0 !important;
  }
  .service-row .service-date{grid-column:1}
  .service-row>.badge{grid-column:2;grid-row:1}
  .service-row .row-arrow{display:none}

  .quick-grid{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:8px !important;
  }
  .quick-grid a{padding:12px !important}
  .dark-summary{margin-top:0 !important}

  /* Biler */
  .fleet-toolbar,.fleet-stats,.fleet-card,.car-hero,.car-detail-layout{
    max-width:none !important;
  }
  .fleet-search{
    display:grid !important;
    grid-template-columns:1fr auto;
    gap:8px !important;
  }
  .fleet-search .input{
    grid-column:1/-1;
    height:46px !important;
  }
  .fleet-search .btn{width:auto !important}
  .clear-search{align-self:center}

  .vehicle-card-grid{grid-template-columns:1fr !important}
  .vehicle-card{padding:14px !important}
  .vehicle-card-top{
    grid-template-columns:40px minmax(0,1fr) auto !important;
  }
  .vehicle-card-icon{width:40px !important;height:40px !important}
  .vehicle-card-top>.badge{
    grid-column:auto !important;
    justify-self:end !important;
  }
  .vehicle-card-details{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:7px !important;
    margin:13px 0 !important;
  }
  .vehicle-card-details>div{padding:9px !important}
  .vehicle-card-footer{align-items:flex-start !important}

  /* Bilkort */
  .car-hero{
    padding:18px !important;
    border-radius:17px !important;
    display:block !important;
  }
  .car-hero-main{align-items:flex-start !important;gap:12px !important}
  .car-big-icon{
    width:52px !important;
    height:52px !important;
    flex:0 0 52px;
    font-size:25px !important;
  }
  .car-title-row h2{font-size:20px !important}
  .car-inline-meta{gap:7px !important;font-size:10px !important}
  .car-hero-kpis{
    display:grid !important;
    grid-template-columns:repeat(3,1fr);
    width:100% !important;
    margin-top:16px;
  }
  .car-hero-kpis>div{
    width:auto !important;
    height:72px !important;
  }
  .car-hero-kpis strong{font-size:19px !important}

  .car-detail-layout{display:block !important}
  .car-main-column,.car-side-column{display:block !important}
  .car-main-column>*,
  .car-side-column>*{margin-bottom:12px}
  .car-detail-grid,.detail-grid{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:8px !important;
  }

  /* Udstyr */
  .equipment-row{
    align-items:flex-start !important;
    gap:7px !important;
  }
  .equipment-actions{
    flex-direction:column;
    align-items:flex-end !important;
  }

  /* Formularer */
  .form-card,.admin-card{
    padding:14px !important;
    max-width:none !important;
  }
  .form-grid,.permission-grid{
    grid-template-columns:1fr !important;
    gap:12px !important;
  }
  .form-group.full{grid-column:auto !important}
  .input,.select,.textarea{
    min-height:46px;
    border-radius:11px;
    padding:11px 12px;
  }
  .textarea{min-height:120px}
  .form-actions{
    position:sticky;
    bottom:73px;
    z-index:30;
    background:rgba(255,255,255,.96);
    backdrop-filter:blur(12px);
    margin:16px -14px -14px !important;
    padding:11px 14px calc(11px + env(safe-area-inset-bottom)) !important;
    border-radius:0 0 14px 14px;
    box-shadow:0 -8px 22px rgba(15,23,42,.05);
    display:grid !important;
    grid-template-columns:1fr 1fr;
  }
  .form-actions .btn{
    width:100%;
    justify-content:center;
    min-height:46px;
  }

  /* Journal */
  .journal-item{
    grid-template-columns:38px minmax(0,1fr) !important;
    gap:10px !important;
    padding:12px !important;
  }
  .journal-icon{
    width:38px !important;
    height:38px !important;
  }
  .journal-item>small,
  .journal-item-actions{
    grid-column:2 !important;
  }
  .journal-item-actions{
    width:100% !important;
    min-width:0 !important;
    flex-direction:row !important;
    align-items:center !important;
    justify-content:space-between !important;
  }
  .journal-delete-btn{min-height:36px}

  /* Administration */
  .admin-row,.role-row{
    display:grid !important;
    grid-template-columns:40px minmax(0,1fr) !important;
    gap:8px 11px !important;
    padding:13px 0 !important;
  }
  .admin-row>div:nth-child(n+3),
  .role-row>div:nth-child(n+3),
  .role-row>b{
    grid-column:2 !important;
  }
  .admin-actions{
    justify-content:flex-start !important;
    flex-wrap:wrap;
  }
  .admin-actions .btn{min-height:38px}

  /* Tabeller bliver kort på mobil i stedet for vandret scroll */
  .table-wrap{
    overflow:visible !important;
  }
  .table,.table tbody,.table tr,.table td{
    display:block;
    width:100%;
  }
  .table thead{display:none}
  .table tbody{
    display:grid;
    gap:10px;
  }
  .table tbody tr{
    border:1px solid var(--border);
    border-radius:13px;
    padding:7px 12px;
    background:#fff;
    box-shadow:0 4px 14px rgba(15,23,42,.035);
  }
  .table tbody tr:hover{background:#fff}
  .table td{
    display:grid;
    grid-template-columns:minmax(90px,38%) minmax(0,1fr);
    align-items:center;
    gap:10px;
    white-space:normal !important;
    padding:8px 0 !important;
    border-bottom:1px solid #edf0f2 !important;
    text-align:right !important;
    overflow-wrap:anywhere;
  }
  .table td:last-child{border-bottom:0 !important}
  .table td::before{
    content:attr(data-label);
    text-align:left;
    color:var(--muted);
    font-size:9px;
    font-weight:900;
    letter-spacing:.05em;
    text-transform:uppercase;
  }
  .table td .btn{margin-left:auto}

  .searchbar{
    display:grid !important;
    grid-template-columns:1fr auto;
    gap:8px !important;
  }
  .searchbar .input,.searchbar .select{
    max-width:none !important;
  }

  /* Login */
  .login-page{
    padding:16px !important;
    align-items:center;
  }
  .login-card{
    padding:20px !important;
    border-radius:16px !important;
  }
  .login-logo{width:190px !important}

  /* Touch targets */
  a,button,.btn,.tabs a{touch-action:manipulation}
}

/* Små telefoner */
@media (max-width:430px) {
  .business-stats,.stats{
    grid-template-columns:1fr 1fr !important;
  }

  .topbar-actions{
    max-width:42%;
  }
  .topbar-actions .btn{
    padding:8px 9px;
    font-size:10px;
  }

  .hero-actions{grid-template-columns:1fr !important}
  .quick-grid{grid-template-columns:1fr 1fr !important}
  .car-detail-grid,.detail-grid{grid-template-columns:1fr !important}

  .car-hero-kpis{
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  }
  .car-hero-kpis small{font-size:7px !important}
  .car-hero-kpis strong{font-size:17px !important}

  .vehicle-card-top{
    grid-template-columns:38px minmax(0,1fr) !important;
  }
  .vehicle-card-top>.badge{
    grid-column:2 !important;
    justify-self:start !important;
  }

  .form-actions{grid-template-columns:1fr !important}
}


/* V1.5 – QR-koder og fejlmelding */
.equipment-tools-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:18px}
.qr-equipment-box{display:flex;align-items:center;gap:20px;margin-top:14px}
.qr-render{width:190px;min-width:190px;min-height:190px;background:#fff;border:1px solid var(--border);border-radius:14px;padding:10px;display:grid;place-items:center}
.qr-render img,.qr-render canvas{max-width:100%;height:auto}
.qr-copy{display:flex;flex-direction:column;align-items:flex-start}
.qr-copy>strong{font-size:19px}.qr-copy>span{color:var(--muted);font-size:12px;margin-top:3px}.qr-copy>small{font-weight:900;color:#007fac;margin-top:10px;letter-spacing:.06em}
.qr-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}
.fault-chip-list{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}
.fault-chip{display:flex;flex-direction:column;background:var(--accent-soft);border:1px solid #bee7f7;color:#075b78;border-radius:11px;padding:9px 11px;font-size:12px;font-weight:800}
.fault-chip small{font-size:8px;color:#5e7b86;margin-top:3px}
.muted-copy{font-size:12px;color:var(--muted)}
.fault-option-admin{margin-top:12px}
.fault-option-row{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:12px 0;border-top:1px solid var(--border)}
.fault-option-row:first-child{border-top:0}.fault-option-row strong,.fault-option-row small{display:block}.fault-option-row small{font-size:9px;color:var(--muted);margin-top:3px}

.fault-report-hero{max-width:900px;margin:0 auto 14px;background:linear-gradient(115deg,#171713 48%,#102a35 76%,#007fb7);color:#fff;border-radius:18px;padding:20px;display:grid;grid-template-columns:52px minmax(0,1fr) auto;gap:14px;align-items:center}
.fault-report-icon{width:52px;height:52px;border-radius:13px;background:rgba(255,255,255,.1);display:grid;place-items:center;font-size:26px}
.fault-report-hero h2{margin:3px 0;font-size:23px}.fault-report-hero p{margin:0;color:#c6d4da;font-size:11px}
.fault-form{max-width:900px!important;margin:0 auto!important}
.fault-choice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:18px 0}
.fault-choice{cursor:pointer;position:relative}
.fault-choice input{position:absolute;opacity:0;pointer-events:none}
.fault-choice span{min-height:62px;border:1px solid var(--border);border-radius:13px;background:#f8fafb;padding:12px;display:flex;align-items:center;gap:10px;transition:.15s ease}
.fault-choice span b{width:28px;height:28px;border-radius:8px;border:2px solid #c7d2d8;color:transparent;display:grid;place-items:center}
.fault-choice span strong{font-size:13px}
.fault-choice input:checked+span{background:#e8f7fd;border-color:#55c3ef;box-shadow:0 0 0 2px rgba(0,159,228,.08)}
.fault-choice input:checked+span b{background:#009fe4;border-color:#009fe4;color:#fff}
.notice-box{padding:13px;background:#fff6e7;border:1px solid #f0d6a9;border-radius:11px;color:#755118;font-size:12px;margin:15px 0}
.fault-description{margin-top:18px}
.fault-submit-bar{margin-top:18px}
.btn-danger-large{width:100%;justify-content:center;min-height:54px;background:#b42318;color:#fff;border-color:#b42318;font-size:14px}
.btn-danger-large:hover{background:#962017}
.fault-success-card{max-width:700px!important;margin:0 auto!important;text-align:center;padding:35px!important}
.fault-success-icon{width:64px;height:64px;margin:0 auto 13px;border-radius:50%;background:#e6f5ed;color:#27764e;display:grid;place-items:center;font-size:30px;font-weight:900}
.fault-success-card p{color:var(--muted)}

.fault-filter-bar{display:flex;gap:7px;margin-bottom:14px;overflow:auto;padding-bottom:2px}
.fault-filter-bar a{white-space:nowrap;border:1px solid var(--border);background:#fff;border-radius:999px;padding:8px 13px;font-size:11px;font-weight:800}
.fault-filter-bar a.active{background:#171713;color:#fff;border-color:#171713}
.fault-report-list{display:grid;gap:12px}
.fault-office-card{padding:18px!important}.fault-office-card.is-new{border-left:4px solid #d92d20}
.fault-office-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.fault-office-head h2{font-size:18px;margin:3px 0}.fault-office-head p{font-size:10px;color:var(--muted);margin:0}
.fault-selected-tags{display:flex;gap:6px;flex-wrap:wrap;margin-top:14px}.fault-selected-tags span{background:#feeceb;color:#9c2b22;border-radius:999px;padding:6px 9px;font-size:10px;font-weight:800}
.fault-office-description{font-size:13px;line-height:1.5;margin:14px 0}
.fault-image-link{display:inline-block;margin:2px 0 12px}.fault-image-link img{display:block;max-width:260px;max-height:220px;object-fit:cover;border-radius:12px;border:1px solid var(--border)}
.fault-office-meta{display:flex;gap:14px;flex-wrap:wrap;color:var(--muted);font-size:10px;border-top:1px solid var(--border);padding-top:11px}
.fault-office-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}.fault-office-actions form{margin:0}

.dashboard-faults{margin-top:18px}.dashboard-fault-list{display:flex;flex-direction:column}.dashboard-fault-list>a{display:grid;grid-template-columns:32px 1fr auto;gap:10px;align-items:center;padding:11px 0;border-top:1px solid var(--border)}.dashboard-fault-list>a:first-child{border-top:0}
.fault-dot{width:28px;height:28px;border-radius:8px;background:#feeceb;color:#b42318;display:grid;place-items:center;font-weight:900}
.dashboard-fault-list strong,.dashboard-fault-list small{display:block}.dashboard-fault-list small{font-size:9px;color:var(--muted);margin-top:2px}.dashboard-fault-list time{font-size:9px;color:var(--muted)}

@media(max-width:900px){
  .equipment-tools-grid{grid-template-columns:1fr}
  .qr-equipment-box{align-items:flex-start}
  .qr-render{width:145px;min-width:145px;min-height:145px}
  .fault-choice-grid{grid-template-columns:1fr}
  .fault-form{padding-bottom:85px!important}
  .fault-submit-bar{position:sticky;bottom:76px;z-index:35;background:rgba(255,255,255,.96);backdrop-filter:blur(10px);margin:18px -14px -14px;padding:11px 14px}
  .fault-report-hero{grid-template-columns:46px minmax(0,1fr);padding:15px}
  .fault-report-hero>.badge{grid-column:2;justify-self:start}
  .fault-report-icon{width:46px;height:46px}
}
@media(max-width:520px){
  .qr-equipment-box{flex-direction:column;align-items:center;text-align:center}
  .qr-copy{align-items:center}
  .qr-actions{justify-content:center}
  .fault-office-actions{display:grid;grid-template-columns:1fr 1fr}.fault-office-actions form,.fault-office-actions .btn{width:100%}.fault-office-actions button{width:100%;justify-content:center}
}


/* V1.5.3 – QR scanner inde i PWA */
.scanner-card{max-width:760px!important;margin:0 auto!important;padding:22px!important}
.scanner-intro{text-align:center;margin-bottom:18px}
.scanner-intro h2{font-size:23px;margin:5px 0}
.scanner-intro p{font-size:12px;color:var(--muted);max-width:520px;margin:0 auto;line-height:1.5}
.qr-scanner-box{overflow:hidden;border-radius:16px;border:1px solid var(--border);background:#111;min-height:330px}
.qr-scanner-box video{border-radius:14px!important}
#reader__scan_region{background:#111!important}
#reader__dashboard{padding:12px!important;background:#fff!important}
#reader__dashboard_section_csr button,#reader__dashboard_section_swaplink{
    border:1px solid var(--border)!important;background:#fff!important;color:#171713!important;
    border-radius:9px!important;padding:9px 12px!important;font-weight:800!important
}
#reader__camera_selection{max-width:100%!important;min-height:42px!important;border:1px solid var(--border)!important;border-radius:9px!important}
.scanner-status{margin-top:12px;padding:10px 12px;border-radius:10px;background:#eef6fa;color:#326071;text-align:center;font-size:11px;font-weight:800}
.scanner-status.scanner-success{background:#e7f5ed;color:#27764e}
.scanner-status.scanner-error{background:#feeceb;color:#a22a20}
.scanner-help{display:flex;flex-direction:column;gap:3px;margin-top:12px;padding:12px;border-radius:10px;background:#f7f9fa}
.scanner-help strong{font-size:11px}
.scanner-help span{font-size:10px;color:var(--muted)}
@media(max-width:900px){
  .scanner-card{padding:14px!important}
  .scanner-intro h2{font-size:20px}
  .qr-scanner-box{min-height:300px}
}


/* V1.6 – Opgaver & notifikationer */
.nav-count{display:inline-grid;place-items:center;min-width:18px;height:18px;padding:0 5px;border-radius:999px;background:#d92d20;color:#fff;font-size:8px;font-style:normal;margin-left:5px}
.field-help{display:block;color:var(--muted);font-size:9px;margin-top:4px}
.fault-detail-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:14px}
.fault-detail-head h2{margin:3px 0;font-size:22px}.fault-detail-head p{margin:0;color:var(--muted);font-size:11px}
.fault-detail-grid{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:16px}.fault-detail-grid>div,.fault-detail-grid>aside{display:flex;flex-direction:column;gap:16px}
.task-full-btn{width:100%;justify-content:center;margin-top:10px}
.task-timeline{margin-top:12px}.task-comment{display:grid;grid-template-columns:36px minmax(0,1fr);gap:10px;padding:12px 0;border-top:1px solid var(--border)}.task-comment:first-child{border-top:0}
.task-comment-avatar{width:34px;height:34px;border-radius:10px;background:#e8f7fd;color:#08749b;display:grid;place-items:center;font-weight:900}
.task-comment.system .task-comment-avatar{background:#f0f2f3;color:#68757c}
.task-comment strong{font-size:11px}.task-comment p{font-size:12px;line-height:1.45;margin:3px 0}.task-comment small{font-size:8px;color:var(--muted)}
.task-comment-form{margin-top:12px;display:flex;flex-direction:column;gap:8px}

.notification-settings-card{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:12px}.notification-settings-card h2{font-size:18px;margin:3px 0}.notification-settings-card p{font-size:11px;color:var(--muted);margin:0;max-width:650px}
.push-status{font-size:9px;color:var(--muted)}
.notification-toolbar{display:flex;justify-content:flex-end;margin-bottom:10px}
.notification-list{display:grid;gap:9px}.notification-item{display:grid;grid-template-columns:42px minmax(0,1fr) 10px;gap:11px;align-items:center;padding:13px!important}.notification-item.unread{border-left:4px solid #009fe4;background:#fbfeff}
.notification-icon{width:40px;height:40px;border-radius:11px;background:#eef6fa;display:grid;place-items:center}.notification-item strong{font-size:12px}.notification-item p{font-size:11px;color:#42515a;margin:3px 0}.notification-item small{font-size:8px;color:var(--muted)}
.notification-dot{width:8px;height:8px;border-radius:50%;background:#009fe4}

@media(max-width:900px){
 .fault-detail-grid{grid-template-columns:1fr}
 .notification-settings-card{align-items:stretch;flex-direction:column}
 .notification-settings-card .btn{width:100%;justify-content:center}
}


/* V1.6.1 – slet fejlmelding */
.danger-zone{
    border:1px solid #efc3bf!important;
    background:#fffafa!important;
}
.danger-zone h2{font-size:16px;margin:4px 0}
.danger-zone p{font-size:10px;color:#7d5551;line-height:1.45;margin:0 0 10px}
.btn-delete-task{
    background:#fff4f3!important;
    border-color:#e9b7b2!important;
    color:#a22a20!important;
}
.btn-delete-task:hover{
    background:#fee7e5!important;
    border-color:#df9e98!important;
}


/* V1.7 – Service & eftersyn */
.maintenance-stats{margin-bottom:14px!important}
.maintenance-filter{display:flex;gap:7px;overflow:auto;margin-bottom:14px;padding-bottom:2px}
.maintenance-filter a{white-space:nowrap;border:1px solid var(--border);background:#fff;border-radius:999px;padding:8px 12px;font-size:10px;font-weight:800}
.maintenance-filter a.active{background:#171713;color:#fff;border-color:#171713}
.maintenance-list{display:flex;flex-direction:column}
.maintenance-row{display:grid;grid-template-columns:42px minmax(0,1fr) 120px auto 18px;gap:12px;align-items:center;padding:13px 0;border-top:1px solid var(--border)}
.maintenance-row:first-child{border-top:0}.maintenance-icon{width:40px;height:40px;border-radius:10px;background:var(--accent-soft);display:grid;place-items:center;font-size:19px}
.maintenance-main strong,.maintenance-main small,.maintenance-due small,.maintenance-due strong{display:block}.maintenance-main strong{font-size:12px}.maintenance-main small,.maintenance-due small{font-size:9px;color:var(--muted);margin-top:2px}.maintenance-due strong{font-size:11px;margin-top:2px}
.maintenance-hero{display:grid;grid-template-columns:58px minmax(0,1fr) auto;gap:14px;align-items:center;margin-bottom:14px}.maintenance-big-icon{width:56px;height:56px;border-radius:14px;background:var(--accent-soft);display:grid;place-items:center;font-size:27px}.maintenance-hero h2{font-size:21px;margin:3px 0}.maintenance-hero p{font-size:10px;color:var(--muted);margin:0}
.maintenance-detail-grid{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:16px}.maintenance-detail-grid>div,.maintenance-detail-grid>aside{display:flex;flex-direction:column;gap:16px}
.maintenance-mini-list{display:flex;flex-direction:column}.maintenance-mini-list>a{display:grid;grid-template-columns:34px minmax(0,1fr) auto;align-items:center;gap:9px;padding:10px 0;border-top:1px solid var(--border)}.maintenance-mini-list>a:first-child{border-top:0}.maintenance-mini-list>a>span:first-child{width:32px;height:32px;border-radius:8px;background:#f1f6f8;display:grid;place-items:center}.maintenance-mini-list strong,.maintenance-mini-list small{display:block}.maintenance-mini-list strong{font-size:11px}.maintenance-mini-list small{font-size:9px;color:var(--muted);margin-top:2px}
.entity-group{flex-direction:column}
@media(max-width:900px){
 .maintenance-row{grid-template-columns:38px minmax(0,1fr) auto}.maintenance-due{grid-column:2}.maintenance-row>.badge{grid-column:3;grid-row:1/3}.maintenance-row>.row-arrow{display:none}
 .maintenance-detail-grid{grid-template-columns:1fr}
 .maintenance-hero{grid-template-columns:48px minmax(0,1fr)}.maintenance-hero-status{grid-column:2}
}
