:root{color-scheme:light;--ink:#14293a;--muted:#526679;--line:#dce5ed;--blue:#0867bc;--canvas:#f3f6fa;font-family:system-ui,sans-serif;color:var(--ink);background:var(--canvas)}
*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button,select{cursor:pointer}button,input,select,textarea{border:1px solid var(--line);border-radius:9px;background:white;color:inherit;padding:.63rem .8rem}button:hover{border-color:var(--blue)}:focus-visible{outline:3px solid #2689dd;outline-offset:2px}.primary{background:var(--blue);border-color:var(--blue);color:#fff;font-weight:700;white-space:nowrap}.primary:hover{background:#07579e}
header{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem clamp(1rem,4vw,4rem);background:#12283b;color:white}.brand{display:flex;align-items:center;gap:.85rem}.brand strong{letter-spacing:.12em;font-size:1.14rem}.brand small{display:block;color:#c5d4e3;margin-top:.15rem}.logo{display:block;width:clamp(78px,10vw,112px);height:auto;padding:5px;background:#fff;border-radius:8px;flex:none}.tag,.eyebrow{font-size:.72rem;font-weight:800;letter-spacing:.13em}.tag{color:#a9c2d8}
main{max-width:1580px;margin:auto;padding:clamp(1rem,4vw,4rem)}.intro,.toolbar,footer,.dialog-head,.dialog-actions{display:flex;justify-content:space-between;align-items:center;gap:1rem}.eyebrow{color:#155e99;margin:0 0 .5rem}h1{font-size:clamp(2rem,5vw,3.5rem);letter-spacing:-.055em;line-height:1.05;margin:0}h2{margin:0;letter-spacing:-.025em}p{margin:.55rem 0 0;color:var(--muted)}.metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:.8rem;margin:1.8rem 0}.metrics div,.planner{background:white;border:1px solid var(--line);border-radius:14px}.metrics div{padding:1rem 1.15rem}.metrics span{color:var(--muted);font-size:.86rem}.metrics strong{display:block;font-size:1.8rem;margin-top:.2rem}
.toolbar{padding:1.15rem}.controls{display:flex;gap:.45rem;flex-wrap:wrap}.controls button[aria-label]{min-width:40px}.schedule{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));border-top:1px solid var(--line)}.day{min-width:0;min-height:240px;padding:.65rem;border-inline-end:1px solid var(--line);background:#fbfcfe}.day:last-child{border-inline-end:0}.day h3{font-size:.88rem;margin:.3rem 0 .7rem;text-transform:capitalize}.day.current h3{color:var(--blue)}.day.current{background:#edf6ff}.job{display:block;width:100%;text-align:left;margin-bottom:.55rem;border-left:3px solid #458ccd;padding:.55rem;overflow-wrap:anywhere}.job strong,.job small{display:block}.job small{margin:.3rem 0;color:var(--muted)}.badge{display:inline-block;background:#eaf2fb;color:#184e79;font-size:.72rem;border-radius:5px;padding:.15rem .3rem}.badge[data-status="Klart"]{background:#e3f5e9;color:#17623a}.badge[data-status="Pågående"]{background:#fff2d8;color:#79500e}.add-day{border-style:dashed;width:100%;color:var(--muted);font-size:.8rem;padding:.45rem}.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}footer{margin-top:1rem;color:var(--muted);font-size:.82rem}
dialog{border:1px solid var(--line);border-radius:15px;padding:1.3rem;width:min(540px,calc(100% - 2rem));color:var(--ink)}dialog::backdrop{background:#12283b88}form{display:grid;gap:.8rem}form label{display:grid;gap:.3rem;font-size:.9rem;font-weight:650}input,textarea,form select{width:100%;min-width:0}.pair{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}.dialog-actions .primary{margin-left:auto}.danger,#form-error{color:#a32025}
@media(max-width:1000px){.schedule{grid-template-columns:repeat(4,minmax(0,1fr))}.day{min-height:150px;border-bottom:1px solid var(--line)}}
@media(max-width:650px){.tag{display:none}.intro,.toolbar,footer{align-items:flex-start;flex-direction:column}.schedule{grid-template-columns:repeat(2,minmax(0,1fr))}.metrics div{padding:.65rem}.metrics span{font-size:.74rem}}
.view-nav {
  display: flex;
  flex-wrap: wrap;
  gap: .5rem;
  margin-bottom: 1.5rem;
  border-bottom: 1px solid var(--line);
}

.view-nav a {
  padding: .65rem .85rem;
  border-bottom: 3px solid transparent;
  color: var(--muted);
  font-weight: 700;
  text-decoration: none;
}

.view-nav[hidden] {
  display: none;
}

.role-picker {
  display: block;
  margin-bottom: .5rem;
  color: var(--muted);
}

.role-actions {
  margin: 1rem 0;
}

.role-actions a {
  display: inline-flex;
  align-items: center;
  padding: .6rem .8rem;
  border: 1px solid var(--line);
  border-radius: 9px;
  background: white;
  color: var(--blue);
  font-weight: 650;
  text-decoration: none;
}

.role-actions a:hover {
  border-color: var(--blue);
}

@media (max-width: 480px) {
  #my-week-list li,
  #my-jobs-list li {
    flex-wrap: wrap;
  }

  .my-job-actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
  }
}

[data-admin-only][hidden],
#staff-card-form[hidden],
#deviation-form[hidden],
#general-assignee[hidden],
#ovk-assignee[hidden],
#ovk-required-class[hidden] {
  display: none;
}

.view-nav a:hover,
.view-nav a[aria-current="page"],
.view-nav a[aria-current="true"] {
  color: var(--blue);
}

.view-nav a[aria-current="page"],
.view-nav a[aria-current="true"] {
  border-bottom-color: var(--blue);
}

.extra-week-heading {
  padding: .7rem 1.15rem;
  border-top: 1px solid var(--line);
  font-size: 1rem;
}

.extra-week-heading span {
  display: inline-block;
  margin-inline-start: .7rem;
  color: var(--muted);
  font-size: .85rem;
  font-weight: 400;
}

.extra-week .day {
  min-height: 0;
}

.customer-form {
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 16rem), 1fr));
  align-items: end;
  max-width: 42rem;
  margin: 1.5rem 0 1rem;
}

.customer-form .controls {
  grid-column: 1 / -1;
}

.customer-list {
  display: grid;
  gap: .5rem;
  max-width: 42rem;
  padding: 0;
  list-style: none;
}

.customer-list li {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: .75rem;
  padding: .75rem 1rem;
  border: 1px solid var(--line);
  border-radius: 9px;
  background: white;
  overflow-wrap: anywhere;
}

.customer-list li div {
  min-width: 0;
}

.my-job-actions {
  display: grid;
  justify-items: end;
  gap: .5rem;
  flex-shrink: 0;
}

.installation-search {
  display: block;
  max-width: 28rem;
  margin-top: .35rem;
}

.ovk-reminders {
  margin-bottom: 1rem;
  padding: 1rem 1.15rem;
}

.time-overview {
  max-width: 42rem;
  margin: 1.5rem 0;
}

.time-overview table {
  width: 100%;
  border-collapse: collapse;
}

.time-overview th,
.time-overview td {
  padding: .55rem 1.15rem;
  border-top: 1px solid var(--line);
  text-align: left;
}

.time-overview td,
.time-overview th[scope="col"]:not(:first-child) {
  text-align: right;
}

.time-overview tfoot {
  font-weight: 700;
}

#time-overview-empty {
  padding: 0 1.15rem 1rem;
}

.my-week-content {
  margin: 0 1.15rem 1rem;
}

.work-chart {
  display: grid;
  gap: .9rem;
  padding: 0;
  list-style: none;
}

.work-chart-label {
  display: flex;
  justify-content: space-between;
  gap: .5rem;
}

.work-chart-track {
  height: .65rem;
  margin-top: .3rem;
  overflow: hidden;
  border-radius: .5rem;
  background: var(--line);
}

.work-chart-bar {
  height: 100%;
  background: var(--blue);
}

#work-chart-money .work-chart-bar {
  background: #17623a;
}
.staff-card-detail {
  white-space: pre-line;
}

.staff-certificates {
  grid-column: 1 / -1;
  min-width: 0;
  border: 1px solid var(--line);
  border-radius: .5rem;
}

.staff-certificate-row {
  display: flex;
  flex-wrap: wrap;
  align-items: end;
  gap: .5rem;
  margin-bottom: .75rem;
}

.staff-certificate-row label:first-child {
  flex: 1 1 12rem;
}
.metrics {
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 9rem), 1fr));
}

.job-warning {
  color: #862a18;
  background: #fff0e7;
}

.job .job-warning {
  margin: .25rem .25rem 0 0;
}

#job-overlap-warning {
  padding: .6rem .8rem;
  border-radius: .5rem;
}
.time-review-row {
  flex-wrap: wrap;
}

.review-actions {
  width: min(100%, 19rem);
}

:root {
  --ink: #102638;
  --muted: #4d6270;
  --line: #d9e5e9;
  --blue: #096e72;
  --canvas: #f4f8f9;
  --accent-soft: #e7f4f2;
}

.dashboard-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 13rem), 1fr));
  gap: .75rem;
  max-width: 58rem;
  margin: 1rem 0;
}

.dashboard-tile {
  display: grid;
  justify-items: start;
  gap: .35rem;
  min-width: 0;
  padding: .85rem 1rem;
  border: 1px solid var(--line);
  border-radius: 12px;
  background: #fff;
  color: var(--ink);
  text-align: left;
  text-decoration: none;
}

.dashboard-tile:hover {
  border-color: var(--blue);
  background: var(--accent-soft);
}

.dashboard-tile strong {
  font-size: 1.7rem;
  line-height: 1.15;
}

.dashboard-tile small {
  color: var(--blue);
  font-weight: 650;
}

.dashboard-panel {
  max-width: 42rem;
  padding: 1rem 1.15rem;
  margin-block: 1.25rem;
}

.dashboard-panel ul:empty,
.dashboard-panel p:empty {
  display: none;
}

.planning-tools {
  padding: 0 1.15rem .75rem;
}

#unassigned-filter[aria-pressed="true"] {
  background: var(--accent-soft);
  border-color: var(--blue);
  color: #07585c;
}

main > section > h1,
#planering h1 {
  text-wrap: balance;
}

.customer-list li {
  box-shadow: 0 2px 8px #10263806;
}

.customer-form > label,
.customer-form .pair > label {
  align-content: start;
}

header {
  background: linear-gradient(110deg, #102638, #17404b);
  border-bottom: 3px solid #43b9aa;
}

main {
  padding-block-start: clamp(1rem, 3vw, 2.5rem);
}

button, input, select, textarea {
  max-width: 100%;
}

button:disabled {
  cursor: default;
  opacity: .65;
}

.primary:hover {
  background: #07585c;
}

.eyebrow, a {
  color: var(--blue);
}

.view-nav {
  gap: .25rem;
  margin-bottom: .65rem;
  padding-bottom: .4rem;
}

.view-nav a {
  border: 0;
  border-radius: 8px;
  padding: .55rem .7rem;
}

.view-nav a[aria-current="page"],
.view-nav a[aria-current="true"] {
  background: var(--accent-soft);
  color: #07585c;
}

.planner, .metrics div {
  box-shadow: 0 2px 10px #10263808;
}

.day.current {
  background: #edf8f6;
}

.job {
  border-left-color: #34a99f;
}

.controls label, .controls > select, .customer-list li > div {
  min-width: 0;
  max-width: 100%;
}

dialog {
  max-height: calc(100dvh - 2rem);
  overflow-y: auto;
}

@media (max-width: 650px) {
  main {
    padding: 1rem .85rem 2rem;
  }

  button, input, select, .role-actions a, .view-nav a {
    min-height: 44px;
  }

  .view-nav a {
    display: inline-flex;
    align-items: center;
    font-size: .875rem;
  }

  .view-nav a[hidden] {
    display: none;
  }

  .metrics {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    margin: 1rem 0;
  }

  .schedule {
    grid-template-columns: minmax(0, 1fr);
  }

  .day {
    min-height: 0;
    border-inline-end: 0;
  }

  .customer-list li {
    flex-wrap: wrap;
  }

  .my-job-actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
  }

  .time-overview table {
    table-layout: fixed;
    overflow-wrap: anywhere;
  }

  .time-overview th, .time-overview td {
    padding: .5rem;
  }

  .toolbar, .ovk-reminders {
    padding: .8rem;
  }

  .dashboard-panel {
    padding: .8rem;
  }

  .planning-tools {
    padding-inline: .8rem;
  }

  .pair {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .pair label {
    min-width: 0;
  }
}

/* VENCTAB theme and workspace layout */
:root {
  color-scheme: dark;
  --ink: #edf3fa;
  --muted: #aebed0;
  --line: #2b3d50;
  --blue: #79dcca;
  --canvas: #0c141f;
  --surface: #131e2c;
  --raised: #1a2939;
  --accent-soft: #203c43;
}

header {
  background: linear-gradient(110deg, #111c2a, #172b38);
  border-bottom: 1px solid var(--line);
}

.app-shell {
  display: grid;
  grid-template-columns: 14rem minmax(0, 1fr);
  max-width: 1760px;
  margin-inline: auto;
}

.app-shell > main {
  width: 100%;
  min-width: 0;
  margin: 0;
  padding-inline: clamp(1rem, 2.5vw, 2.5rem);
}

.app-sidebar {
  position: sticky;
  top: 0;
  align-self: start;
  max-height: 100vh;
  overflow-y: auto;
  padding: 1rem;
  border-right: 1px solid var(--line);
  background: var(--surface);
}

.app-sidebar .role-picker {
  display: grid;
  gap: .35rem;
  margin-bottom: .9rem;
  font-size: .85rem;
}

.app-sidebar .view-nav {
  display: grid;
}

.app-sidebar .view-nav[hidden],
.app-sidebar .view-nav a[hidden],
.sidebar-toggle {
  display: none;
}

.view-nav a[aria-current="page"],
.view-nav a[aria-current="true"],
#unassigned-filter[aria-pressed="true"] {
  color: var(--blue);
}

.view-nav a[aria-current="page"],
.view-nav a[aria-current="true"] {
  box-shadow: inset 3px 0 var(--blue);
}

button, input, select, textarea,
.metrics div, .planner, .role-actions a,
.customer-list li, .dashboard-tile, dialog {
  background: var(--surface);
}

.day, .job {
  background: var(--raised);
}

.day.current {
  background: #172f36;
}

.primary {
  background: var(--blue);
  color: #0c2527;
}

.primary:hover {
  background: #a3ecdd;
}

.badge { background: #263c53; color: #c0ddf9; }
.badge[data-status="Klart"] { background: #203f36; color: #a9ebcb; }
.badge[data-status="Pågående"] { background: #423821; color: #ffe0a1; }
.job-warning { background: #482e27; color: #ffd0bd; }
.danger, #form-error { color: #ffacb1; }
#work-chart-money .work-chart-bar { background: #8bcf9f; }

@media (min-width: 651px) and (max-width: 1200px) {
  .schedule {
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 9rem), 1fr));
  }
}

@media (max-width: 850px) {
  .app-shell { grid-template-columns: minmax(0, 1fr); }

  .app-sidebar {
    position: static;
    max-height: none;
    padding: .65rem .85rem;
    border-right: 0;
    border-bottom: 1px solid var(--line);
  }

  .sidebar-toggle {
    display: block;
    min-height: 44px;
  }

  .sidebar-toggle[aria-expanded="false"] + .sidebar-content {
    display: none;
  }

  .sidebar-content { margin-top: .75rem; }
}

.job-detail-actions {
  display: flex;
  flex-wrap: wrap;
  gap: .5rem;
}

.job-detail-actions [hidden],
#my-job-deviation[hidden] {
  display: none;
}

#my-job-detail-title { margin-top: .75rem; }
.my-job-actions.role-actions { margin: 0; }

.deviation-photo {
  display: block;
  width: min(100%, 28rem);
  height: auto;
  margin-top: .75rem;
  border-radius: 8px;
}

@media (max-width: 650px) {
  .job-detail-actions { display: grid; }
  .job-detail-actions > * { justify-content: center; }
}

.backoffice-deviation-notice:has(p:not(:empty)) {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: .4rem 1rem;
  margin-block: .85rem;
  padding: .7rem 1rem;
  border: 1px solid var(--line);
  border-inline-start: 3px solid var(--blue);
  border-radius: 8px;
  background: var(--surface);
}

.backoffice-deviation-notice p {
  margin: 0;
  color: var(--ink);
  font-weight: 650;
}

.header-actions,
.theme-picker {
  display: flex;
  align-items: center;
  gap: .6rem;
}

.header-actions {
  flex-wrap: wrap;
  justify-content: flex-end;
}

.theme-picker {
  color: var(--muted);
  font-size: .875rem;
}

.theme-picker select {
  min-height: 44px;
  color: var(--ink);
}

:root[data-theme="light"] {
  color-scheme: light;
  --ink: #102638;
  --muted: #4d6270;
  --line: #d4e1e6;
  --blue: #096e72;
  --canvas: #f4f8f9;
  --surface: #fff;
  --raised: #f7fafb;
  --accent-soft: #e7f4f2;
}

[data-theme="light"] header {
  background: linear-gradient(110deg, #fff, #e7f4f2);
  color: var(--ink);
}

[data-theme="light"] .brand small,
[data-theme="light"] .tag {
  color: var(--muted);
}

[data-theme="light"] .day.current { background: #e7f4f2; }
[data-theme="light"] .primary { color: #fff; }
[data-theme="light"] .primary:hover { background: #07585c; }
[data-theme="light"] .badge { background: #eaf2fb; color: #184e79; }
[data-theme="light"] .badge[data-status="Klart"] { background: #e3f5e9; color: #17623a; }
[data-theme="light"] .badge[data-status="Pågående"] { background: #fff2d8; color: #79500e; }
[data-theme="light"] .job-warning { background: #fff0e7; color: #862a18; }
[data-theme="light"] .danger,
[data-theme="light"] #form-error { color: #a32025; }
[data-theme="light"] #work-chart-money .work-chart-bar { background: #17623a; }

@media (max-width: 650px) {
  header { flex-wrap: wrap; }
  .header-actions .tag { display: none; }
}

#deviation-form[hidden] { display: none; }

.equipment-scan-actions {
  margin-block: .75rem;
}

#equipment-scan-video {
  display: block;
  width: 100%;
  max-height: 55vh;
  margin-bottom: .65rem;
  border-radius: 8px;
  background: #080e16;
}

.equipment-history {
  margin-top: 1rem;
  padding-top: .85rem;
  border-top: 1px solid var(--line);
}

.equipment-history h3 {
  margin: 0;
  font-size: 1rem;
}

.equipment-photo-preview {
  display: block;
  padding: 0;
  margin-top: .75rem;
  border: 0;
  background: transparent;
  max-width: 100%;
}

.equipment-photo-preview .deviation-photo {
  width: min(100%, 18rem);
  margin: 0;
}

#equipment-photo-viewer {
  width: min(72rem, calc(100% - 1rem));
  max-height: calc(100dvh - 1rem);
  padding: .75rem;
}

#equipment-photo-viewer .dialog-head {
  align-items: flex-start;
  overflow-wrap: anywhere;
  margin-bottom: .75rem;
}

#equipment-photo-viewer button {
  min-height: 44px;
}

#equipment-photo-stage {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  place-items: center;
  overflow: hidden;
  touch-action: none;
}

#equipment-photo-full {
  display: block;
  width: 100%;
  max-height: 78dvh;
  object-fit: contain;
  user-select: none;
}

#equipment-photo-navigation:not([hidden]) {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: .5rem;
  margin-top: .75rem;
}

#equipment-photo-navigation button[aria-disabled="true"] {
  opacity: .5;
  cursor: default;
}

#my-job-deviation-photos {
  list-style: none;
  padding: 0;
  margin: 0;
}

#my-job-deviation-photos li {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: .65rem;
  padding-block: .4rem;
}

.deviation-photo-preview-button {
  padding: 0;
  border: 0;
  background: transparent;
}

#my-job-deviation-photos img {
  display: block;
  width: 4.5rem;
  height: 4.5rem;
  object-fit: contain;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--raised);
}

#my-job-deviation-photos span {
  flex: 1 1 6rem;
  min-width: 0;
  overflow-wrap: anywhere;
}

#my-job-deviation-photos small {
  display: block;
  color: var(--muted);
}

#company-account-form[hidden],
#company-account-manual[hidden] {
  display: none;
}

#company-account-form input[type="checkbox"] {
  width: auto;
}

.staff-photo { display:block; width:96px; height:96px; object-fit:cover; border-radius:12px; border:1px solid var(--line); margin-bottom:.5rem; }
.staff-photo[hidden] {display:none}

.job .planning-assignee {display:flex;align-items:center;gap:.4rem;margin:.45rem 0;min-width:0;font-size:.8rem;}
.job .planning-avatar {display:block;flex:0 0 28px;width:28px;height:28px;border-radius:50%;object-fit:cover;border:1px solid var(--line);}
.job .planning-initials {display:flex;align-items:center;justify-content:center;font-size:.65rem;font-weight:700;background:var(--line);color:inherit;}
.planning-assignee-name {min-width:0;overflow-wrap:anywhere;}

.my-identity {display:flex;align-items:center;gap:.8rem;margin:.7rem 0 1rem;padding:.85rem;border:1px solid var(--line);border-radius:12px;max-width:42rem;}
.my-identity[hidden] {display:none;}
.my-identity small,.my-identity strong {display:block;overflow-wrap:anywhere;}
.my-identity small {color:var(--muted);margin-bottom:.2rem;}
.my-identity > div {min-width:0;}
.my-identity-portrait {display:flex;flex:0 0 52px;width:52px;height:52px;align-items:center;justify-content:center;overflow:hidden;border-radius:50%;background:var(--line);}
.my-identity-portrait img {width:52px;height:52px;object-fit:cover;}
.my-identity-initials {font-size:1rem;font-weight:700;}

#my-photo-crop-canvas {display:block;width:min(256px,100%);height:auto;touch-action:none;border:2px solid var(--line);border-radius:12px;cursor:grab;}
#my-photo-crop-canvas:active {cursor:grabbing;}
#my-photo-crop-canvas:focus-visible {outline:2px solid var(--blue);outline-offset:3px;}
#my-photo-preview {border-radius:50%;}

#installation-documents {margin-top:1rem;}
#document-upload-form,#document-folder-form {margin:1rem 0;}

/* Brand doubles as the home link. */
header a.brand { color: inherit; text-decoration: none; border-radius: 8px; }
header a.brand:focus-visible { outline: 3px solid #68d5ed; outline-offset: 6px; }

#logout-form { margin: 0; }
#logout-form[hidden] { display: none; }
.logout-button { min-height: 44px; padding: .65rem 1rem; border: 1px solid #b8cce0; border-radius: 8px; background: transparent; color: white; font-weight: 700; cursor: pointer; }
.logout-button:hover { background: #ffffff20; }
.logout-button:focus-visible { outline: 3px solid #68d5ed; outline-offset: 3px; }
.logout-page { max-width: 38rem; margin: 10vh auto; padding: 1.5rem; }

.security-log-actions { display:flex; flex-wrap:wrap; align-items:center; gap:1rem; margin:1rem 0; }
.security-log-scroll { overflow-x:auto; }
.security-log-scroll table { width:100%; border-collapse:collapse; }
.security-log-scroll th, .security-log-scroll td { text-align:left; padding:.8rem; border-bottom:1px solid #77889950; }
.security-log-scroll th { white-space:nowrap; }

#tidrapportering #time-overview-table thead th:last-child,
#tidrapportering .time-financial-cell,
#tidrapportering #time-overview-billable,
#tidrapportering #time-overview-unclassified { display: none; }

.deviation-job-context { font-weight: 700; margin: .5rem 0; }

.app-sidebar .role-picker[hidden], #absence-hours-label[hidden] { display:none; }
.planning-absence { display:flex; flex-direction:column; gap:.25rem; padding:.65rem; margin:.5rem 0; border:1px solid #dfb457; border-radius:8px; background:#dfb45715; color:inherit; text-decoration:none; }
.planning-absence.absence-pending { border-style:dashed; opacity:.85; }
#my-week-absences:empty { display:none; }

#backoffice-backup-notice[data-state=ok] { border-left:4px solid #80d4c7; }
#backoffice-backup-notice[data-state=warning] { border-left:4px solid #e5b55b; }
#backup-notice-form textarea { width:100%; max-width:100%; }

#driving-workspace { display: block; width: 100%; height: max(760px, calc(100vh - 220px)); border: 1px solid var(--line, #64748b); border-radius: 12px; background: #fff; }
