@font-face {
  font-family:myTimeSystem;
  src:local('Inter'),local('Segoe UI')
}
* {
  box-sizing:border-box
}
html {
  color-scheme:light
}
:root {--brand-blue:var(--tone-bg-278bd2,#278bd2);--brand-blue-hover:var(--tone-bg-1d7ec2,#1d7ec2);}
body {
  margin:0;
  background:var(--tone-bg-f4f7fb,#f4f7fb);
  color:var(--tone-fg-26364b,#26364b);
  font-family:myTimeSystem,system-ui,-apple-system,sans-serif;
  font-size:14px;
  line-height:1.55
}
button,input,select,textarea {
  font:inherit
}
button,a,input,select,textarea {
  -webkit-tap-highlight-color:transparent
}
button {
  cursor:pointer
}
button:disabled {
  cursor:not-allowed;
  opacity:.42
}
a {
  color:inherit
}
button:focus-visible,a:focus-visible,summary:focus-visible {
  outline:3px solid var(--tone-border-76a9e7,#76a9e7);
  outline-offset:3px
}
input:focus,select:focus,textarea:focus {
  outline:2px solid var(--tone-border-76a9e7,#76a9e7);
  outline-offset:1px
}
h1,h2,h3,p {
  margin:0
}
h1 {
  font-size:30px;
  line-height:1.3;
  font-weight:600;
  letter-spacing:-1.2px
}
h2 {
  font-size:17px;
  line-height:1.4;
  letter-spacing:-.35px;
  font-weight:600
}
h3 {
  font-size:15px;
  font-weight:600
}
small {
  font-size:13px
}
strong {
  font-weight:600
}
.icon {
  width:20px;
  height:20px;
  flex-shrink:0;
  vertical-align:middle
}
.muted {
  color:var(--tone-fg-7087a4,#7087a4)
}
.eyebrow {
  font-size:13px;
  letter-spacing:1.7px;
  font-weight:700;
  color:var(--tone-fg-788da9,#788da9);
  text-transform:uppercase
}
.shell {
  display:flex;
  min-height:100vh
}
.sidebar {
  position:fixed;
  inset:0 auto 0 0;
  width:235px;
  background:var(--tone-bg-182e50,#182e50);
  color:var(--tone-fg-bec8d5,#bec8d5);
  display:flex;
  flex-direction:column;
  padding:32px 19px 18px;
  z-index:5
}
.brand {
  text-decoration:none;
  display:flex;
  align-items:center;
  gap:11px;
  padding:0 12px;
  font-size:29px;
  letter-spacing:-1.4px;
  font-weight:450;
  color:var(--tone-fg-eef2f7,#eef2f7)
}
.brand>.icon {
  width:32px;
  height:32px;
  color:var(--tone-fg-a9d0ff,#a9d0ff);
  stroke-width:1.8
}
.brand>span>span {
  font-weight:700
}
.workspace {
  margin:34px 0 31px;
  display:flex;
  align-items:center;
  gap:11px;
  background:var(--tone-bg-253448,#253448);
  border:1px solid var(--tone-border-394759,#394759);
  border-radius:10px;
  padding:13px 11px
}
.workspace-mark {
  display:grid;
  place-items:center;
  width:32px;
  height:34px;
  background:var(--tone-bg-344357,#344357);
  border-radius:7px;
  color:var(--tone-fg-c1d1e5,#c1d1e5)
}
.workspace strong {
  display:block;
  font-size:13px;
  color:var(--tone-fg-e2e7ed,#e2e7ed)
}
.workspace small {
  display:block;
  color:var(--tone-fg-8c9eb6,#8c9eb6);
  font-size:13px;
  margin-top:2px
}
.nav-label {
  font-size:13px;
  letter-spacing:1.8px;
  color:var(--tone-fg-687f9e,#687f9e);
  margin:0 12px 13px
}
nav {
  display:flex;
  flex-direction:column;
  gap:6px
}
.nav-item {
  background:none;
  border:0;
  color:var(--tone-fg-aebbcb,#aebbcb);
  display:flex;
  gap:12px;
  align-items:center;
  padding:13px 14px;
  border-radius:8px;
  text-align:left;
  font-size:13px;
  transition:background .15s
}
.nav-item .icon {
  width:18px;
  height:18px;
  opacity:.85
}
.nav-item:hover {
  background:var(--tone-bg-25364d,#25364d)
}
.nav-item.active {
  background:var(--tone-bg-d6e7fc,#d6e7fc);
  color:var(--tone-fg-203f68,#203f68);
  font-weight:650
}
.nav-dot {
  width:5px;
  height:5px;
  background:var(--tone-bg-94a4ba,#94a4ba);
  border-radius:50%;
  margin-left:auto
}
.sidebar-bottom {
  margin-top:auto;
  padding-top:70px
}
.sidebar-note {
  border-top:1px solid var(--tone-border-354253,#354253);
  padding:23px 14px;
  color:var(--tone-fg-90a1b8,#90a1b8);
  display:flex;
  gap:15px;
  font-size:13px
}
.sidebar-note .icon {
  width:27px;
  height:27px;
  color:var(--tone-fg-95b2d7,#95b2d7)
}
.profile {
  border:0;
  background:var(--tone-bg-243347,#243347);
  padding:12px 10px;
  border-radius:10px;
  display:flex;
  gap:9px;
  align-items:center;
  width:100%;
  text-align:left;
  color:var(--tone-fg-d9dfe7,#d9dfe7)
}
.profile strong {
  display:block;
  font-size:13px
}
.profile small {
  display:block;
  color:var(--tone-fg-8fa0b7,#8fa0b7);
  font-size:13px
}
.profile>.icon {
  margin-left:auto;
  width:16px
}
.avatar {
  width:33px;
  height:33px;
  border-radius:50%;
  background:var(--tone-bg-b1c1d6,#b1c1d6);
  color:var(--tone-fg-303f52,#303f52);
  display:inline-grid;
  place-items:center;
  font-size:13px;
  font-weight:700;
  flex-shrink:0
}
.avatar.light {
  background:var(--tone-bg-e1e6ec,#e1e6ec);
  color:var(--tone-fg-51657f,#51657f);
  width:35px;
  height:35px
}
.main-wrap {
  margin-left:235px;
  width:calc(100% - 235px);
  min-width:0
}
.topbar {
  height:73px;
  border-bottom:1px solid var(--tone-border-dfe4eb,#dfe4eb);
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:0 40px;
  background:var(--tone-bg-f7f9fb,#f7f9fb);
  font-size:13px
}
.topbar strong {
  font-weight:550
}
.breadcrumb {
  color:var(--tone-fg-778ca8,#778ca8)
}
.slash {
  color:var(--tone-fg-b2bece,#b2bece);
  margin:0 15px
}
.topbar-right {
  display:flex;
  align-items:center;
  gap:17px
}
.connection {
  display:flex;
  align-items:center;
  gap:6px;
  color:var(--tone-fg-768ca8,#768ca8);
  font-size:13px
}
.connection i,.live-status i {
  width:5px;
  height:5px;
  border-radius:50%;
  background:var(--tone-bg-84a271,#84a271);
  display:inline-block
}
.connection.stale i {
  background:var(--tone-bg-c08733,#c08733)
}
#main {
  padding:35px 40px 20px;
  max-width:1600px;
  margin:auto;
  min-height:calc(100vh - 134px)
}
.page-heading {
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:20px;
  margin-bottom:28px
}
.page-heading h1 {
  margin:8px 0
}
.page-heading p {
  color:var(--tone-fg-7087a4,#7087a4);
  font-size:13px
}
.heading-actions {
  display:flex;
  gap:10px;
  align-items:center
}
.heading-actions select {
  width:auto;
  min-width:90px
}
.wave .icon {
  color:var(--tone-fg-8297b3,#8297b3);
  width:27px;
  height:27px;
  margin-left:5px;
  margin-top:-5px;
  stroke-width:1.4
}
.card {
  background:var(--tone-bg-ffffff,#fff);
  border:1px solid var(--tone-border-dce1e8,#dce1e8);
  border-radius:13px;
  box-shadow:0 3px 6px var(--tone-bg-212c3b02,#212c3b02);
  overflow:hidden;
  margin-bottom:22px
}
.section-heading {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:15px;
  padding:23px 24px 18px
}
.section-heading>.icon {
  color:var(--tone-fg-8093ad,#8093ad)
}
.section-heading h2 {
  margin-top:3px
}
.overview-grid {
  display:grid;
  grid-template-columns:minmax(0,1.65fr) minmax(280px,1fr);
  gap:23px
}
.tracker {
  padding:0 25px 15px
}
.tracker .section-heading {
  padding:23px 0 0
}
.live-status {
  font-size:13px;
  display:flex;
  gap:6px;
  align-items:center;
  color:var(--tone-fg-768ba7,#768ba7)
}
.live-status.running {
  color:var(--tone-fg-3a805c,#3a805c)
}
.live-status.running i {
  box-shadow:0 0 0 4px var(--tone-bg-ecf5e7,#ecf5e7)
}
.live-status.paused {
  color:var(--tone-fg-a87932,#a87932)
}
.live-status.paused i {
  background:var(--tone-bg-d6a84f,#d6a84f)
}
.timer-row {
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:19px 0 24px;
  gap:10px
}
.timer {
  font-size:57px;
  letter-spacing:-2.5px;
  font-weight:400;
  font-variant-numeric:tabular-nums;
  line-height:1.25;
  color:var(--tone-fg-25374e,#25374e)
}
.timer-caption {
  color:var(--tone-fg-8094ae,#8094ae);
  font-size:13px;
  margin-top:5px
}
.timer-emblem {
  border:1px solid var(--tone-border-dbe2ea,#dbe2ea);
  width:65px;
  height:65px;
  border-radius:50%;
  display:grid;
  place-items:center;
  background:var(--tone-bg-eff2f7,#eff2f7);
  box-shadow:0 0 0 9px var(--tone-bg-f7f9fb,#f7f9fb);
  margin:0 12px
}
.timer-emblem .icon {
  width:30px;
  height:30px;
  color:var(--tone-fg-708aad,#708aad);
  stroke-width:1.3
}
.tracker-fields {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:13px
}
.field {
  display:flex;
  flex-direction:column;
  gap:7px;
  margin-bottom:16px;
  min-width:0
}
.field>span {
  font-size:13px;
  font-weight:550;
  color:var(--tone-fg-5e7492,#5e7492)
}
input,select,textarea {
  border:1px solid var(--tone-border-d8dee6,#d8dee6);
  background:var(--tone-bg-f9fbfd,#f9fbfd);
  border-radius:7px;
  padding:10px 12px;
  color:var(--tone-fg-344151,#344151);
  width:100%;
  min-width:0;
  font-size:13px
}
select {
  min-height:39px
}
textarea {
  resize:vertical
}
input::placeholder {
  color:var(--tone-fg-8c9eb6,#8c9eb6)
}
.track-note {
  display:flex;
  gap:12px;
  align-items:center;
  margin-top:-2px
}
.track-note input[type=text] {
  border:0;
  background:transparent;
  padding:5px 1px;
  font-size:13px
}
.check-label {
  display:flex;
  align-items:center;
  gap:7px;
  font-size:13px;
  white-space:nowrap;
  color:var(--tone-fg-5b718e,#5b718e)
}
.check-label input {
  width:14px;
  height:14px;
  accent-color:var(--tone-bg-485f7e,#485f7e)
}
.track-note .check-label {
  font-size:13px
}
.tracker-actions {
  display:flex;
  gap:9px;
  margin-top:20px
}
.button {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  padding:10px 15px;
  border:1px solid var(--tone-border-d5dbe4,#d5dbe4);
  background:var(--tone-bg-ffffff,#fff);
  color:var(--tone-fg-435368,#435368);
  border-radius:7px;
  font-size:13px;
  font-weight:600;
  white-space:nowrap;
  min-height:39px;
  text-decoration:none;
  transition:filter .15s,transform .15s
}
.button:not(:disabled):hover {
  filter:brightness(.97);
  transform:translateY(-1px)
}
.button .icon {
  width:15px;
  height:15px
}
.button.primary {
  background:var(--tone-bg-2563ad,#2563ad);
  border-color:var(--tone-border-2563ad,#2563ad);
  color:var(--tone-fg-ffffff,#fff)
}
.button.green {
  background:linear-gradient(145deg,var(--tone-bg-419750,#419750),var(--tone-bg-318246,#318246));
  color:var(--tone-fg-ffffff,#fff);
  border-color:var(--tone-border-358749,#358749);
  flex:1.5
}
.button.yellow {
  background:linear-gradient(145deg,var(--tone-bg-ffd773,#ffd773),var(--tone-bg-f5bd3b,#f5bd3b));
  border-color:var(--tone-border-edb337,#edb337);
  color:var(--tone-fg-513600,#513600);
  flex:1
}
.button.red {
  background:linear-gradient(145deg,var(--tone-bg-e75563,#e75563),var(--tone-bg-ce394d,#ce394d));
  border-color:var(--tone-border-d34254,#d34254);
  color:var(--tone-fg-ffffff,#fff);
  flex:1
}
.tracker-foot {
  display:flex;
  align-items:center;
  gap:6px;
  color:var(--tone-fg-8497b0,#8497b0);
  font-size:13px;
  justify-content:center;
  margin-top:15px
}
.tracker-foot .icon {
  width:12px;
  height:12px
}
.week-card .section-heading h2 {
  font-size:15px;
  margin-top:8px
}
.chart {
  display:flex;
  height:177px;
  padding:13px 24px 0;
  gap:12px
}
.chart-col {
  flex:1;
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:6px;
  min-width:0
}
.chart-col>span {
  font-size:13px;
  color:var(--tone-fg-617998,#617998);
  height:13px
}
.bar-track {
  position:relative;
  width:100%;
  max-width:28px;
  height:116px;
  display:flex;
  align-items:flex-end
}
.bar-target {
  position:absolute;
  bottom:0;
  background:var(--tone-bg-e9edf3,#e9edf3);
  width:100%;
  border-radius:4px 4px 0 0;
  min-height:3px
}
.bar {
  position:relative;
  width:100%;
  background:var(--tone-bg-a7c6e9,#a7c6e9);
  border-radius:4px 4px 0 0
}
.chart-col.today .bar {
  background:var(--tone-bg-397cc6,#397cc6)
}
.chart-col small {
  font-size:13px;
  color:var(--tone-fg-768ba7,#768ba7)
}
.chart-col.today small {
  color:var(--tone-fg-2c425e,#2c425e);
  font-weight:700
}
.week-summary {
  display:flex;
  border-top:1px solid var(--tone-border-e9ecf1,#e9ecf1);
  margin:20px 24px 0;
  padding:15px 0 17px;
  gap:35px
}
.week-summary strong {
  display:block;
  font-size:18px;
  font-weight:550;
  letter-spacing:-.5px
}
.week-summary span {
  display:block;
  font-size:13px;
  color:var(--tone-fg-7b90ab,#7b90ab);
  margin-top:3px
}
.stat-grid {
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:18px
}
.stat {
  position:relative;
  padding:22px 23px;
  min-height:139px
}
.stat>span {
  font-size:13px;
  color:var(--tone-fg-7086a3,#7086a3);
  display:block
}
.stat>strong {
  display:block;
  font-size:27px;
  font-weight:500;
  letter-spacing:-1px;
  margin:8px 0 6px;
  line-height:1.15
}
.stat em {
  font-size:13px;
  font-style:normal;
  letter-spacing:0;
  color:var(--tone-fg-8498b1,#8498b1)
}
.stat small {
  color:var(--tone-fg-8497b0,#8497b0);
  font-size:13px
}
.stat-icon {
  position:absolute;
  right:20px;
  top:19px;
  width:29px;
  height:29px;
  display:grid;
  place-items:center;
  border-radius:8px;
  color:var(--tone-fg-6f86a3,#6f86a3);
  background:var(--tone-bg-e9eef5,#e9eef5)
}
.stat-icon .icon {
  width:16px;
  height:16px
}
.stat-icon.violet {
  background:var(--tone-bg-f1edf6,#f1edf6);
  color:var(--tone-fg-a18db6,#a18db6)
}
.stat-icon.amber {
  background:var(--tone-bg-f9f3e7,#f9f3e7);
  color:var(--tone-fg-c2a267,#c2a267)
}
.stat-icon.blue {
  background:var(--tone-bg-edf3f7,#edf3f7);
  color:var(--tone-fg-8cabc0,#8cabc0)
}
.lower-grid {
  display:grid;
  grid-template-columns:minmax(0,2.5fr) minmax(235px,1fr);
  gap:22px
}
.text-button {
  border:0;
  background:none;
  color:var(--tone-fg-4f627b,#4f627b);
  padding:5px 0;
  display:inline-flex;
  gap:6px;
  align-items:center;
  font-size:13px;
  font-weight:600
}
.text-button .icon {
  width:14px;
  height:14px
}
.text-button:hover {
  color:var(--tone-fg-24364e,#24364e)
}
.icon-button {
  display:inline-grid;
  place-items:center;
  width:30px;
  height:30px;
  border:0;
  background:transparent;
  border-radius:6px;
  color:var(--tone-fg-7087a4,#7087a4);
  flex-shrink:0
}
.icon-button .icon {
  width:16px;
  height:16px
}
.icon-button:hover {
  background:var(--tone-bg-e7ecf2,#e7ecf2);
  color:var(--tone-fg-3e526c,#3e526c)
}
.table-scroll {
  overflow-x:auto
}
table {
  width:100%;
  border-collapse:collapse;
  text-align:left
}
th {
  font-size:13px;
  letter-spacing:.25px;
  font-weight:500;
  color:var(--tone-fg-8195af,#8195af);
  padding:10px 20px;
  border-top:1px solid var(--tone-border-e9ecf1,#e9ecf1);
  border-bottom:1px solid var(--tone-border-e9ecf1,#e9ecf1);
  background:var(--tone-bg-f8fafc,#f8fafc)
}
td {
  padding:15px 20px;
  border-bottom:1px solid var(--tone-border-ebeef2,#ebeef2);
  font-size:13px;
  color:var(--tone-fg-526680,#526680)
}
tr:last-child td {
  border-bottom:0
}
td strong {
  font-size:13px;
  color:var(--tone-fg-45566d,#45566d)
}
td small {
  display:block;
  color:var(--tone-fg-8498b1,#8498b1);
  font-size:13px;
  margin-top:4px
}
.entity-cell {
  display:flex;
  gap:11px;
  align-items:center
}
.entity-icon {
  width:33px;
  height:33px;
  border-radius:8px;
  display:inline-grid;
  place-items:center;
  color:var(--entity);
  background:color-mix(in srgb,var(--entity) 10%,var(--tone-bg-ffffff,#ffffff));
  flex-shrink:0
}
.entity-icon .icon {
  width:17px;
  height:17px
}
.nowrap {
  white-space:nowrap
}
.tabular {
  font-variant-numeric:tabular-nums;
  white-space:nowrap
}
.badge {
  display:inline-block;
  border:1px solid var(--tone-border-dfe5ec,#dfe5ec);
  background:var(--tone-bg-f0f3f8,#f0f3f8);
  border-radius:5px;
  padding:3px 7px;
  color:var(--tone-fg-6c83a1,#6c83a1);
  font-size:13px;
  white-space:nowrap;
  line-height:1.4;
  margin:2px 0
}
.badge.green {
  background:var(--tone-bg-edf5e9,#edf5e9);
  color:var(--tone-fg-6c8c58,#6c8c58);
  border-color:var(--tone-border-e1edd8,#e1edd8)
}
.badge.amber {
  background:var(--tone-bg-fbf4e4,#fbf4e4);
  color:var(--tone-fg-aa8b47,#aa8b47);
  border-color:var(--tone-border-f0e6cc,#f0e6cc)
}
.badge.violet {
  background:var(--tone-bg-f2eef9,#f2eef9);
  color:var(--tone-fg-9380b0,#9380b0);
  border-color:var(--tone-border-e9e1f3,#e9e1f3)
}
.badge.blue {
  background:var(--tone-bg-eff5f9,#eff5f9);
  color:var(--tone-fg-7594aa,#7594aa);
  border-color:var(--tone-border-dfeaf2,#dfeaf2)
}
.row-actions {
  display:flex;
  gap:2px;
  justify-content:flex-end
}
.aside-card {
  padding-bottom:20px
}
.aside-card .section-heading {
  padding-bottom:0
}
.aside-card>h3,.aside-card>p {
  margin:0 24px
}
.aside-card>p {
  font-size:13px;
  color:var(--tone-fg-7c90ab,#7c90ab);
  margin-top:7px
}
.calm-illustration {
  width:62px;
  height:62px;
  background:var(--tone-bg-ebf0f6,#ebf0f6);
  border:1px solid var(--tone-border-dfe6f0,#dfe6f0);
  border-radius:50%;
  display:grid;
  place-items:center;
  margin:22px 24px 16px
}
.calm-illustration .icon {
  width:28px;
  height:28px;
  color:var(--tone-fg-8097b5,#8097b5)
}
.tiny-note {
  display:flex;
  gap:7px;
  margin:18px 24px 0;
  padding-top:15px;
  border-top:1px solid var(--tone-border-e3e9f0,#e3e9f0);
  color:var(--tone-fg-8b9db5,#8b9db5);
  font-size:13px
}
.tiny-note .icon {
  width:13px;
  height:13px
}
.notice {
  display:flex;
  gap:10px;
  padding:15px 18px;
  border:1px solid var(--tone-border-d4dde9,#d4dde9);
  background:var(--tone-bg-e9eef5,#e9eef5);
  border-radius:8px;
  color:var(--tone-fg-556a86,#556a86);
  font-size:13px;
  margin-bottom:22px
}
.notice .icon {
  width:17px;
  height:17px
}
.notice.amber {
  background:var(--tone-bg-faf4e6,#faf4e6);
  border-color:var(--tone-border-efe3c9,#efe3c9);
  color:var(--tone-fg-9b813f,#9b813f)
}
.aside-card .notice {
  margin:20px 20px 0
}
.app-footer {
  display:flex;
  justify-content:space-between;
  color:var(--tone-fg-8fa0b7,#8fa0b7);
  font-size:13px;
  padding:14px 40px 20px;
  max-width:1600px;
  margin:auto
}
.app-footer .muted {
  padding:0 7px
}
.empty {
  padding:40px 25px;
  text-align:center;
  color:var(--tone-fg-8a9cb4,#8a9cb4)
}
.empty>.icon {
  width:30px;
  height:30px;
  margin-bottom:15px;
  color:var(--tone-fg-9cacc0,#9cacc0)
}
.empty h3 {
  color:var(--tone-fg-657d9d,#657d9d)
}
.empty p {
  font-size:13px;
  margin-top:7px
}
.period-nav {
  display:flex;
  align-items:center;
  gap:13px;
  flex-wrap:wrap
}
.period-nav h2 {
  font-size:15px
}
.rotate {
  transform:rotate(180deg)
}
.times-totals {
  display:flex;
  gap:32px;
  padding:22px 24px;
  font-size:13px;
  color:var(--tone-fg-8093ad,#8093ad);
  flex-wrap:wrap
}
.times-totals strong {
  font-size:17px;
  font-weight:500;
  color:var(--tone-fg-405066,#405066);
  display:block;
  margin-top:4px
}
.day-detail {
  border-top:1px solid var(--tone-border-dce3ed,#dce3ed)
}
.day-detail>summary {
  cursor:pointer;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:20px 24px;
  list-style:none
}
.day-detail summary::-webkit-details-marker {
  display:none
}
.day-detail>summary>div {
  display:flex;
  align-items:center;
  gap:15px
}
.day-detail summary strong {
  font-size:13px
}
.day-detail summary span {
  font-size:13px;
  color:var(--tone-fg-768ca8,#768ca8)
}
.day-detail summary .icon {
  width:15px;
  height:15px;
  transition:transform .2s
}
.day-detail[open]>summary>div:last-child>.icon {
  transform:rotate(90deg)
}
.day-content {
  background:var(--tone-bg-f9fbfd,#f9fbfd);
  padding-bottom:5px
}
.warning-line {
  display:flex;
  gap:8px;
  font-size:13px;
  color:var(--tone-fg-b2975a,#b2975a);
  padding:8px 24px
}
.warning-line .icon {
  width:15px;
  height:15px
}
.year-calendar {
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:33px;
  padding:8px 26px 30px
}
.month h3 {
  font-size:13px;
  color:var(--tone-fg-4d6078,#4d6078);
  margin-bottom:12px
}
.month-grid {
  display:grid;
  grid-template-columns:repeat(7,1fr);
  gap:3px;
  text-align:center
}
.month-grid>span {
  font-size:13px;
  aspect-ratio:1;
  display:flex;
  align-items:center;
  justify-content:center;
  min-width:20px
}
.weekday {
  color:var(--tone-fg-95a6bc,#95a6bc);
  font-size:13px!important
}
.calendar-day {
  border-radius:5px;
  color:var(--tone-fg-607796,#607796)
}
.calendar-day.weekend {
  color:var(--tone-fg-b2becd,#b2becd);
  background:var(--tone-bg-f6f8fa,#f6f8fa)
}
.calendar-day[style] {
  background:color-mix(in srgb,var(--day-color) 16%,var(--tone-bg-ffffff,#ffffff));
  color:var(--day-color);
  font-weight:600
}
.calendar-day.pending {
  background:repeating-linear-gradient(45deg,var(--tone-bg-ffffff00,#fff0),var(--tone-bg-ffffff00,#fff0) 3px,var(--tone-bg-ffffff99,#fff9) 3px,var(--tone-bg-ffffff99,#fff9) 6px),color-mix(in srgb,var(--day-color) 15%,var(--tone-bg-ffffff,#ffffff));
  border:1px dashed var(--day-color)
}
.calendar-day.today {
  box-shadow:inset 0 0 0 1px var(--tone-bg-526d90,#526d90);
  font-weight:700
}
.calendar-day.holiday {
  background:var(--tone-bg-dfe8f3,#dfe8f3);
  text-decoration:underline;
  text-decoration-color:var(--tone-fg-748eb0,#748eb0)
}
.legend {
  display:flex;
  gap:15px;
  font-size:13px;
  color:var(--tone-fg-8195af,#8195af)
}
.legend span {
  display:flex;
  gap:5px;
  align-items:center
}
.legend i {
  width:6px;
  height:6px;
  border-radius:2px
}
.count {
  font-size:13px;
  background:var(--tone-bg-e9edf3,#e9edf3);
  color:var(--tone-fg-6e85a2,#6e85a2);
  padding:3px 6px;
  border-radius:5px;
  margin-left:5px;
  vertical-align:middle
}
.two-columns {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:0 22px
}
.list {
  padding:0 24px
}
.list-row {
  display:flex;
  justify-content:space-between;
  gap:16px;
  align-items:center;
  padding:15px 0;
  border-bottom:1px solid var(--tone-border-e6ebf2,#e6ebf2)
}
.list-row:last-child {
  border-bottom:0
}
.list-row strong {
  display:block;
  font-size:13px;
  color:var(--tone-fg-4b5d75,#4b5d75)
}
.list-row small {
  display:block;
  font-size:13px;
  color:var(--tone-fg-8699b2,#8699b2);
  margin-top:4px
}
.list-row .entity-cell strong {
  font-size:13px
}
.inset {
  padding-left:24px;
  padding-right:24px
}
.hint {
  font-size:13px;
  color:var(--tone-fg-8194ae,#8194ae);
  line-height:1.7;
  margin:14px 0 20px
}
.catalog-grid {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:22px
}
.export-card>p {
  font-size:13px;
  padding-bottom:15px
}
.export-preview {
  max-height:260px;
  overflow:auto;
  margin-bottom:20px
}
.auth {
  min-height:100vh;
  display:grid;
  grid-template-columns:1fr 1fr
}
.auth-story {
  background:var(--tone-bg-182e50,#182e50);
  padding:55px 60px;
  color:var(--tone-fg-b3bfcf,#b3bfcf);
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  min-height:100vh
}
.auth-story .brand {
  padding:0
}
.auth-story h1 {
  font-size:43px;
  font-weight:400;
  color:var(--tone-fg-dce5f1,#dce5f1);
  line-height:1.22;
  letter-spacing:-1.8px;
  margin:20px 0 25px
}
.auth-story p {
  color:var(--tone-fg-899cb4,#899cb4);
  font-size:14px
}
.auth-story small {
  font-size:13px;
  color:var(--tone-fg-6d84a2,#6d84a2)
}
.auth-story .eyebrow {
  color:var(--tone-fg-889fbd,#889fbd)
}
.auth-orbit {
  width:140px;
  height:140px;
  border:1px solid var(--tone-border-4c5e76,#4c5e76);
  border-radius:50%;
  display:grid;
  place-items:center;
  margin-top:50px;
  box-shadow:0 0 0 18px var(--tone-bg-28374b20,#28374b20),0 0 0 19px var(--tone-bg-3d4c60,#3d4c60),0 0 0 40px var(--tone-bg-28374b10,#28374b10)
}
.auth-orbit .icon {
  width:72px;
  height:72px;
  stroke-width:.65;
  color:var(--tone-fg-a4bddd,#a4bddd)
}
.auth-form {
  display:grid;
  place-items:center;
  padding:45px
}
.auth-form>div {
  max-width:370px;
  width:100%
}
.auth-form h2 {
  font-size:28px;
  margin:12px 0;
  font-weight:500;
  line-height:1.2;
  letter-spacing:-.9px
}
.auth-form>div>p {
  font-size:13px
}
.auth-form form {
  margin-top:30px
}
.auth-form .button {
  width:100%;
  font-size:13px;
  min-height:44px;
  margin-top:10px
}
.auth-form input {
  padding:13px
}
.auth-form .notice {
  margin-top:22px;
  font-size:13px
}
.form-error {
  color:var(--tone-fg-b06555,#b06555);
  font-size:13px
}
.loading {
  padding:15vh 10vw;
  color:var(--tone-fg-4c6382,#4c6382)
}
dialog {
  border:1px solid var(--tone-border-d1dae5,#d1dae5);
  border-radius:15px;
  padding:0;
  width:min(640px,calc(100vw - 32px));
  max-height:90vh;
  color:var(--tone-fg-314155,#314155);
  background:var(--tone-bg-ffffff,#fff);
  box-shadow:0 25px 100px var(--tone-bg-0d182733,#0d182733)
}
dialog::backdrop {
  background:var(--tone-bg-131f2e55,#131f2e55);
  backdrop-filter:none
}
dialog form>header {
  padding:24px 28px 20px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  border-bottom:1px solid var(--tone-border-dfe5ed,#dfe5ed)
}
dialog header h2 {
  font-size:22px;
  margin-top:5px
}
dialog .modal-body {
  padding:24px 28px;
  max-height:65vh;
  overflow:auto
}
dialog footer {
  display:flex;
  align-items:center;
  justify-content:flex-end;
  padding:18px 28px;
  border-top:1px solid var(--tone-border-dfe5ed,#dfe5ed);
  gap:10px;
  background:var(--tone-bg-f9fbfd,#f9fbfd)
}
dialog footer .form-error {
  margin-right:auto;
  max-width:270px
}
dialog .muted {
  font-size:13px;
  margin-bottom:20px
}
dialog input,dialog select,dialog textarea {
  font-size:13px
}
dialog p {
  font-size:13px
}
.form-grid {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:0 18px
}
.form-grid .wide {
  grid-column:1/-1
}
.checkbox-grid {
  display:flex;
  flex-wrap:wrap;
  gap:14px 20px;
  padding:8px 0
}
.audit-list article {
  padding:14px 0;
  border-bottom:1px solid var(--tone-border-e3e9f1,#e3e9f1)
}
.audit-list small {
  display:block;
  color:var(--tone-fg-8598b1,#8598b1)
}
.audit-list summary {
  font-size:13px;
  color:var(--tone-fg-5e7593,#5e7593);
  cursor:pointer;
  margin-top:10px
}
pre {
  white-space:pre-wrap;
  overflow-wrap:anywhere;
  font-size:13px;
  background:var(--tone-bg-eef2f7,#eef2f7);
  padding:10px;
  border-radius:6px;
  max-height:260px;
  overflow:auto
}
.pin-display {
  font-size:36px!important;
  font-variant-numeric:tabular-nums;
  letter-spacing:8px;
  text-align:center;
  padding:25px
}
.toast {
  background:var(--tone-bg-27384f,#27384f);
  color:var(--tone-fg-e5ecf4,#e5ecf4);
  box-shadow:0 4px 24px var(--tone-bg-1c2f4722,#1c2f4722);
  padding:15px 20px;
  border-radius:9px;
  margin-top:10px;
  max-width:420px;
  font-size:13px
}
.toast.error {
  background:var(--tone-bg-975849,#975849);
  color:var(--tone-fg-ffffff,#ffffff)
}
#toasts {
  position:fixed;
  bottom:25px;
  right:25px;
  z-index:30
}
.sr-only {
  position:absolute;
  width:1px;
  height:1px;
  padding:0;
  overflow:hidden;
  clip:rect(0,0,0,0);
  white-space:nowrap;
  border:0
}
.kiosk {
  max-width:800px;
  margin:auto;
  padding:45px 24px;
  min-height:100vh
}
.kiosk .brand {
  color:var(--tone-fg-25374e,#25374e);
  padding:0;
  margin-bottom:35px
}
.kiosk .brand>.icon {
  color:var(--tone-fg-526c8e,#526c8e)
}
.kiosk h1 {
  font-size:35px;
  margin:20px 0 10px
}
.kiosk .card {
  padding:30px;
  margin-top:25px
}
.kiosk .button {
  min-height:65px;
  font-size:16px
}
.kiosk input,.kiosk select {
  font-size:18px;
  min-height:55px
}
.kiosk .field>span {
  font-size:14px
}
.kiosk .tracker-actions {
  flex-wrap:wrap
}
.kiosk .timer {
  font-size:45px
}
.kiosk .notice {
  font-size:14px
}
.kiosk .brand small {
  font-size:13px;
  letter-spacing:0;
  margin-left:auto;
  color:var(--tone-fg-7087a4,#7087a4)
}
 @media(min-width:1500px) {
  #main {
    padding-top:44px
  }
  .overview-grid {
    grid-template-columns:1.65fr 1fr
  }
  .timer {
    font-size:67px
  }
  .tracker-actions {
    margin-top:25px
  }
  .chart {
    height:200px
  }
  .bar-track {
    height:140px
  }
  
}
 @media(max-width:1200px) {
  .sidebar {
    width:205px;
    padding-left:13px;
    padding-right:13px
  }
  .main-wrap {
    margin-left:205px;
    width:calc(100% - 205px)
  }
  #main {
    padding:28px 25px
  }
  .topbar {
    padding:0 25px
  }
  .overview-grid {
    grid-template-columns:1.5fr 1fr;
    gap:18px
  }
  .tracker {
    padding-left:20px;
    padding-right:20px
  }
  .timer {
    font-size:48px
  }
  .timer-emblem {
    display:none
  }
  .stat {
    padding:18px
  }
  .stat-icon {
    right:13px;
    top:13px;
    width:25px;
    height:25px
  }
  .stat>span {
    max-width:75%
  }
  .stat>strong {
    font-size:24px
  }
  .lower-grid {
    grid-template-columns:1fr
  }
  .aside-card {
    display:none
  }
  .year-calendar {
    grid-template-columns:repeat(3,1fr)
  }
  .catalog-grid {
    grid-template-columns:1fr 1fr
  }
  .page-heading h1 {
    font-size:27px
  }
  .heading-actions {
    flex-wrap:wrap;
    justify-content:flex-end
  }
  .heading-actions .button {
    font-size:13px
  }
  
}
 @media(max-width:950px) {
  .sidebar {
    width:75px;
    padding:25px 10px
  }
  .brand {
    padding:0;
    justify-content:center
  }
  .sidebar .brand>span,.workspace,.nav-label,.nav-item span,.sidebar-note,.profile>span:not(.avatar),.profile>.icon {
    display:none
  }
  .sidebar nav {
    margin-top:45px;
    gap:15px
  }
  .nav-item {
    padding:15px;
    justify-content:center
  }
  .nav-item .icon {
    width:20px;
    height:20px
  }
  .profile {
    padding:8px 4px;
    justify-content:center
  }
  .main-wrap {
    margin-left:75px;
    width:calc(100% - 75px)
  }
  .sidebar .brand>.icon {
    width:31px
  }
  .sidebar-bottom {
    padding-top:20px
  }
  .stat-grid {
    gap:12px
  }
  .year-calendar {
    grid-template-columns:repeat(3,1fr)
  }
  .auth-story {
    padding:45px
  }
  .auth-story h1 {
    font-size:34px
  }
  .page-heading {
    align-items:flex-start
  }
  .two-columns {
    gap:0 16px
  }
  
}
 @media(max-width:720px) {
  .sidebar {
    inset:auto 0 0 0;
    width:100%;
    height:68px;
    padding:7px 6px;
    border-top:1px solid var(--tone-border-425266,#425266);
    display:block
  }
  .sidebar .brand,.sidebar-bottom {
    display:none
  }
  .sidebar nav {
    margin:0;
    display:flex;
    flex-direction:row;
    gap:3px;
    justify-content:space-around;
    overflow-x:auto;
    scrollbar-width:thin
  }
  .nav-item {
    padding:8px 7px;
    flex-direction:column;
    gap:3px;
    flex:1;
    max-width:85px;
    border-radius:6px
  }
  .nav-item span:not(.nav-dot) {
    display:block;
    font-size:13px;
    white-space:nowrap
  }
  .nav-item .icon {
    width:18px;
    height:18px
  }
  .main-wrap {
    margin:0;
    width:100%;
    padding-bottom:68px
  }
  .topbar {
    height:56px;
    padding:0 19px
  }
  .topbar-right {
    gap:9px
  }
  .connection {
    font-size:13px
  }
  .topbar .breadcrumb,.topbar .slash {
    display:none
  }
  #main {
    padding:24px 17px
  }
  .page-heading {
    margin-bottom:22px;
    display:block
  }
  .page-heading h1 {
    font-size:27px
  }
  .page-heading p {
    font-size:13px
  }
  .heading-actions {
    justify-content:flex-start;
    margin-top:16px
  }
  .overview-grid {
    grid-template-columns:1fr;
    gap:0
  }
  .week-card {
    display:none
  }
  .tracker {
    padding:0 18px 16px
  }
  .timer {
    font-size:56px
  }
  .timer-emblem {
    display:grid;
    width:55px;
    height:55px
  }
  .timer-row {
    padding-top:24px
  }
  .tracker .eyebrow {
    font-size:13px
  }
  .tracker-actions .button {
    padding:12px 9px;
    font-size:13px
  }
  .tracker-actions {
    gap:7px
  }
  .tracker-fields {
    gap:10px
  }
  .tracker-fields select {
    font-size:13px
  }
  .tracker-foot {
    font-size:13px
  }
  .stat-grid {
    grid-template-columns:1fr 1fr;
    gap:0 12px
  }
  .stat {
    min-height:124px;
    margin-bottom:13px;
    padding:18px
  }
  .stat>strong {
    font-size:26px
  }
  .stat small {
    font-size:13px
  }
  .stat-grid+.lower-grid {
    margin-top:10px
  }
  .lower-grid .card {
    margin-bottom:0
  }
  .section-heading {
    padding:20px 18px 16px
  }
  .section-heading h2 {
    font-size:15px
  }
  td,th {
    padding:13px 16px
  }
  .lower-grid th:nth-child(4),.lower-grid td:nth-child(4) {
    display:none
  }
  .entity-cell {
    gap:8px
  }
  .entity-cell strong {
    font-size:13px
  }
  .entity-icon {
    width:28px;
    height:28px
  }
  .table-scroll td {
    font-size:13px
  }
  .app-footer {
    padding:5px 19px 15px;
    font-size:13px
  }
  .year-calendar {
    grid-template-columns:repeat(2,1fr);
    padding:5px 18px 25px;
    gap:26px 18px
  }
  .month-grid>span {
    min-width:15px
  }
  .legend {
    gap:8px;
    font-size:13px
  }
  .two-columns,.catalog-grid {
    grid-template-columns:1fr;
    gap:0
  }
  .times-totals {
    gap:18px;
    padding-left:18px;
    padding-right:18px
  }
  .times-totals strong {
    font-size:15px
  }
  .period-nav {
    gap:8px
  }
  .period-nav h2 {
    font-size:13px
  }
  .day-detail>summary {
    padding:18px
  }
  .day-detail>summary>div {
    gap:8px;
    flex-wrap:wrap
  }
  .day-detail>summary>div:first-child {
    max-width:60%
  }
  .day-detail summary span {
    font-size:13px
  }
  .day-detail summary strong {
    font-size:13px
  }
  .auth {
    display:block
  }
  .auth-story {
    display:none
  }
  .auth-form {
    min-height:100vh;
    padding:30px
  }
  .auth-form h2 {
    font-size:30px
  }
  .auth-form .eyebrow:before {
    content:'myTime';
    display:block;
    text-transform:none;
    font-size:34px;
    font-weight:650;
    letter-spacing:-1.5px;
    margin-bottom:45px;
    color:var(--tone-fg-283c56,#283c56)
  }
  .form-grid {
    grid-template-columns:1fr
  }
  .form-grid .wide {
    grid-column:auto
  }
  dialog .modal-body {
    padding:20px
  }
  dialog form>header {
    padding:20px
  }
  dialog footer {
    padding:16px 20px;
    flex-wrap:wrap
  }
  dialog footer .form-error {
    width:100%;
    max-width:none
  }
  #toasts {
    right:16px;
    left:16px;
    bottom:85px
  }
  .toast {
    max-width:none
  }
  .track-note {
    align-items:flex-start
  }
  .check-label {
    white-space:normal
  }
  .kiosk {
    padding:25px 15px
  }
  .kiosk .card {
    padding:22px
  }
  .kiosk h1 {
    font-size:28px
  }
  .kiosk .button {
    font-size:14px;
    min-height:60px
  }
  
}
 @media(prefers-reduced-motion:reduce) {
  * {
    transition:none!important;
    scroll-behavior:auto!important
  }
  
}
  /* Readable secondary text and touch targets. */ .muted,.hint,.page-heading p,.stat>span,.stat small,.week-summary span,.timer-caption,.tracker-foot,.tiny-note,.aside-card>p,.list-row small,td small,.app-footer,.chart-col small,.chart-col>span,.day-detail summary span,.legend,.breadcrumb,.connection {
  color:var(--tone-fg-5c6c82,#5c6c82)
}
 .eyebrow,.field>span,th {
  color:var(--tone-fg-5c6c82,#5c6c82)
}
 .stat small,.tracker-foot,.tiny-note,.app-footer,td small,.list-row small {
  font-size:13px
}
 .nav-label {
  color:var(--tone-fg-99a9bd,#99a9bd)
}
 .badge {
  color:var(--tone-fg-4d6079,#4d6079)
}
.badge.green {
  color:var(--tone-fg-4f703c,#4f703c)
}
.badge.amber {
  color:var(--tone-fg-896c2e,#896c2e)
}
.badge.violet {
  color:var(--tone-fg-796094,#796094)
}
.badge.blue {
  color:var(--tone-fg-506f88,#506f88)
}
 .calendar-day.weekend {
  color:var(--tone-fg-5f7694,#5f7694)
}
 .weekday {
  color:var(--tone-fg-52657f,#52657f)
}
 @media(max-width:720px) {
  .tracker-actions .button {
    min-height:44px
  }
  .stat small {
    font-size:13px
  }
  .app-footer {
    font-size:13px
  }
  
}
 @media(hover:none) {
  .icon-button {
    width:40px;
    height:40px
  }
  
}

/* A personal reminder stays visible on every page, including team reports. */
.pause-reminder {
  margin:20px 40px 0;
  padding:16px 20px;
  border:1px solid var(--tone-border-eadba8,#eadba8);
  border-radius:10px;
  background:var(--tone-bg-fff8e5,#fff8e5);
  color:var(--tone-fg-735622,#735622);
  display:flex;
  align-items:center;
  gap:20px;
}
.pause-reminder[hidden] { display:none }
.pause-reminder.gentle { background:var(--tone-bg-edf4fc,#edf4fc); border-color:var(--tone-border-d5e3f3,#d5e3f3); color:var(--tone-fg-496581,#496581); font-size:13px }
.pause-reminder .button { flex:none }
@media (max-width:700px) {
  .pause-reminder { margin:16px; flex-direction:column; align-items:stretch; gap:12px }
}

.calendar-filters { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:14px }
.calendar-toolbar { display:flex; justify-content:space-between; gap:16px; align-items:center; margin:6px 0 14px }
.calendar-toggle { display:flex; gap:6px }
.team-calendar { margin:18px 0 25px }
.team-calendar-year { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px }
.team-month { background:var(--tone-bg-ffffff,#ffffff); border:1px solid var(--tone-border-dfe6f0,#dfe6f0); border-radius:12px; overflow:hidden }
.team-month.compact { padding:15px }
.team-month-grid { display:grid; grid-template-columns:repeat(7,minmax(0,1fr)); gap:1px; background:var(--tone-bg-e5eaf2,#e5eaf2) }
.compact .team-month-grid { gap:3px; background:var(--tone-bg-ffffff,#ffffff) }
.team-weekday { text-align:center; padding:10px 0; font-size:13px; color:var(--tone-fg-5c6c82,#5c6c82); background:var(--tone-bg-f4f7fb,#f4f7fb) }
.team-calendar-day { min-width:0; min-height:124px; border:0; padding:8px; background:var(--tone-bg-ffffff,#ffffff); color:var(--tone-fg-33465f,#33465f); text-align:left; display:flex; flex-direction:column; gap:5px }
.team-calendar-day:hover { background:var(--tone-bg-edf4fc,#edf4fc) }
.team-calendar-day.weekend { background:var(--tone-bg-f6f8fb,#f6f8fb) }
.team-calendar-day.today { box-shadow:inset 0 0 0 2px var(--tone-bg-397cc6,#397cc6) }
.day-number { font-size:13px; font-weight:600 }
.calendar-person { padding:4px 5px; border-left:3px solid var(--absence-color); background:color-mix(in srgb,var(--absence-color) 10%,var(--tone-bg-ffffff,#ffffff)); border-radius:4px; overflow-wrap:anywhere }
.calendar-person strong { display:block; font-size:13px; line-height:1.4 }
.calendar-person small { display:block; font-size:13px; line-height:1.4; color:var(--tone-fg-526279,#526279) }
.calendar-person.pending { border:1px dashed var(--absence-color); border-left-width:3px }
.calendar-holiday,.calendar-more { font-size:13px; color:var(--tone-fg-59708e,#59708e) }
.month-title { font-size:14px; margin-bottom:12px }
.compact .team-calendar-day { position:relative; min-height:38px; padding:4px 3px; border-radius:5px; gap:1px }
.compact .team-calendar-day.occupied { background:var(--tone-bg-e6effb,#e6effb) }
.compact .day-number { font-size:13px }
.compact .team-weekday { padding:4px 0; font-size:13px; background:var(--tone-bg-ffffff,#ffffff) }
.day-count { position:absolute; right:3px; top:3px; font-size:13px; color:var(--tone-fg-3263a0,#3263a0) }
.day-dots { display:flex; gap:2px }
.day-dots i { width:4px; height:4px; border-radius:50% }
.holiday-dot { position:absolute; bottom:0; right:3px; font-size:13px; color:var(--tone-fg-547397,#547397) }
.workday-inputs { display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:16px 0 }
.quota-tabs { margin:18px 0 }.weekday-picks { display:flex;gap:8px;margin:10px 0;flex-wrap:wrap }.weekday-picks label { cursor:pointer }.weekday-picks input { position:absolute;opacity:0;width:1px;height:1px }.weekday-picks span { display:block;padding:10px 13px;border:1px solid var(--tone-border-bacce0,#bacce0);border-radius:8px;background:var(--tone-bg-f6f9fc,#f6f9fc);color:var(--tone-fg-375473,#375473) }.weekday-picks input:checked+span { background:var(--tone-bg-215f9f,#215f9f);border-color:var(--tone-border-215f9f,#215f9f);color:var(--tone-fg-ffffff,#ffffff) }.weekday-picks input:focus-visible+span { outline:3px solid var(--tone-border-88b9ee,#88b9ee);outline-offset:2px } #work-summary { white-space:pre-line }
.planning-people { display:flex;gap:10px;flex-wrap:wrap;padding:0 24px 24px }
.annual-batch-person { border:1px solid var(--tone-border-cad8e8,#cad8e8);border-radius:10px;padding:16px;margin:18px 0 }.annual-batch-person legend { padding:0 8px;font-weight:600;color:var(--tone-fg-215f9f,#215f9f) }
.presence-toggle { padding:7px 10px;font-size:13px;white-space:nowrap }.presence-sidebar { position:fixed;z-index:12;right:0;top:73px;bottom:0;width:320px;max-width:100vw;background:var(--tone-bg-ffffff,#fff);border-left:1px solid var(--tone-border-d4e1ef,#d4e1ef);box-shadow:-8px 0 30px var(--tone-bg-1a416512,#1a416512);overflow-y:auto }.presence-sidebar header { display:flex;justify-content:space-between;gap:8px;padding:24px 20px 12px }.presence-sidebar h2 { font-size:17px;margin:5px 0 }.presence-sidebar .eyebrow { font-size:13px }.presence-filters { padding:0 20px }.presence-filters input,.presence-filters select { padding:8px 10px;font-size:13px }.presence-counts { display:flex;gap:15px;padding:12px 20px;background:var(--tone-bg-f4f8fd,#f4f8fd);border-block:1px solid var(--tone-border-e2ebf5,#e2ebf5);font-size:13px }.presence-counts span { display:flex;align-items:center;gap:6px }.presence-person { display:flex;align-items:center;gap:12px;padding:17px 20px;border-bottom:1px solid var(--tone-border-ecf1f7,#ecf1f7) }.presence-avatar { width:42px;height:42px;position:relative;flex-shrink:0 }.presence-avatar>span { display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:var(--tone-bg-e7effa,#e7effa);color:var(--tone-fg-315d93,#315d93);font-weight:600 }.presence-avatar img { width:42px;height:42px;object-fit:cover;border-radius:50% }.presence-dot { display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--tone-bg-95a4b7,#95a4b7) }.presence-avatar>.presence-dot { position:absolute;right:-1px;bottom:0;width:12px;height:12px;border:2px solid var(--tone-border-ffffff,#fff) }.presence-dot.working { background:var(--tone-bg-2b8b64,#2b8b64) }.presence-dot.break { background:var(--tone-bg-dda932,#dda932) }.presence-dot.away,.presence-dot.partial { background:var(--tone-bg-6c83bb,#6c83bb) }.presence-person strong { display:block;font-size:13px;overflow-wrap:anywhere }.presence-status { display:block;font-size:13px;color:var(--tone-fg-526982,#526982) }.presence-status.working { color:var(--tone-fg-2b7659,#2b7659) }.presence-status.break { color:var(--tone-fg-906a13,#906a13) }.presence-person small { display:block;font-size:13px;color:var(--tone-fg-7b899a,#7b899a);line-height:1.5 }.presence-empty { padding:20px;color:var(--tone-fg-6d8098,#6d8098) }.presence-updated,.presence-foot { padding:0 20px;color:var(--tone-fg-7b899a,#7b899a);font-size:13px }.presence-foot { margin-bottom:25px }
@media(min-width:1500px) { .presence-open .main-wrap { margin-right:320px;width:calc(100% - 555px) } }
@media(max-width:720px) { .presence-sidebar { top:65px;bottom:65px;width:310px }.presence-toggle span { display:none }.presence-toggle { padding:6px }.presence-sidebar header { padding-top:18px } }
.employment-row { display:grid;grid-template-columns:1fr 1fr auto;gap:12px;align-items:center }
.ledger-chart { display:flex;gap:7px;overflow-x:auto;padding:10px 24px 0;align-items:stretch }
.ledger-bar { flex:1;min-width:20px;text-align:center }
.ledger-bars { height:160px;position:relative;display:flex;align-items:end;justify-content:center;gap:2px }
.ledger-bars i,.ledger-bars b { display:block;width:40%;max-width:30px;border-radius:3px 3px 0 0 }
.ledger-bars i { background:var(--tone-bg-c9daed,#c9daed) }.ledger-bars b { background:var(--tone-bg-3477c5,#3477c5) }
.ledger-bar small { display:block;max-width:110px;font-size:13px;overflow-wrap:anywhere;margin:8px auto }
.ledger-table { font-size:13px }.ledger-table td:not(:first-child) { font-variant-numeric:tabular-nums }
.ledger-table td:last-child { min-width:190px;white-space:normal }
.ledger-table small { display:block }.negative-value { color:var(--tone-fg-ad3e46,#ad3e46) }.outside-employment { color:var(--tone-fg-6b7889,#6b7889);background:var(--tone-bg-f5f7fa,#f5f7fa) }
@media (max-width:700px) { .workday-inputs { grid-template-columns:repeat(2,minmax(0,1fr)) } .employment-row { grid-template-columns:1fr 1fr } .employment-row button { grid-column:1/-1 } }
@media (max-width:1150px) { .team-calendar-year { grid-template-columns:repeat(2,minmax(0,1fr)) } .calendar-filters { grid-template-columns:repeat(2,minmax(0,1fr)) } }
@media (max-width:700px) { .team-calendar-year { grid-template-columns:1fr } .calendar-toolbar { flex-wrap:wrap } .team-calendar-month { overflow-x:auto } .team-calendar-month>.team-month { min-width:700px } }
.quick-clock { position:fixed;right:24px;bottom:24px;z-index:25;display:flex;flex-direction:column;align-items:flex-end;gap:12px;max-width:calc(100vw - 32px) }
.quick-clock-toggle { display:flex;align-items:center;gap:12px;border:1px solid var(--tone-border-487eb3,#487eb3);border-radius:18px;background:var(--tone-bg-1c4d7f,#1c4d7f);color:var(--tone-fg-ffffff,#fff);padding:12px 18px;box-shadow:0 6px 24px var(--tone-bg-173d6533,#173d6533);cursor:pointer;text-align:left;min-height:52px }
.quick-clock-toggle span { font-size:13px }.quick-clock-toggle strong { display:block;font-size:16px;font-variant-numeric:tabular-nums;margin-top:3px }
.quick-clock-panel { width:420px;max-width:100%;max-height:calc(100dvh - 170px);overflow-y:auto;background:var(--tone-bg-ffffff,#fff);border:1px solid var(--tone-border-d1dfef,#d1dfef);border-radius:20px;box-shadow:0 18px 65px var(--tone-bg-193c6933,#193c6933);padding:22px }
.quick-clock-panel>header { display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:18px }.quick-clock-panel h2 { font-size:18px;margin:5px 0 }.quick-clock-panel .eyebrow { font-size:13px }
.quick-clock-panel .section-heading { padding:0;margin-bottom:12px }.quick-clock-panel .section-heading>.eyebrow { display:none }.quick-clock-panel .timer { font-size:40px }.quick-clock-panel .timer-emblem { display:none }.quick-clock-panel .timer-row { margin:12px 0 }.quick-clock-panel .tracker-fields { grid-template-columns:1fr;margin-top:12px;gap:10px }.quick-clock-panel .track-note { flex-wrap:wrap }.quick-clock-panel .track-note>input { width:100% }.quick-clock-panel .tracker-actions { display:grid;grid-template-columns:1fr 1fr;gap:8px }.quick-clock-panel .tracker-actions>.green { grid-column:1/-1 }.quick-clock-panel .tracker-actions .button { padding:12px 8px;min-height:44px }.quick-clock-panel .tracker-foot { font-size:13px;margin-bottom:0 }
.app-footer { padding-bottom:105px }
@media(min-width:1500px) { .quick-clock.beside-presence { right:344px } }
@media(max-width:720px) { .quick-clock { right:12px;bottom:calc(78px + env(safe-area-inset-bottom));max-width:calc(100vw - 24px) }.quick-clock-panel { width:380px;max-height:calc(100dvh - 235px);padding:18px }.quick-clock-toggle { padding:10px 14px }.quick-clock.beside-presence { z-index:11 } }
.absence-mark { display:inline-flex;align-items:center;gap:5px;border-left:3px solid var(--absence-color);border-radius:4px;padding:3px 6px;background:var(--tone-bg-f3f6fa,#f3f6fa);color:var(--tone-fg-263c56,#263c56);vertical-align:middle;font-size:13px;font-weight:500;line-height:1.35;max-width:100% }
.absence-mark .icon { width:14px;height:14px;flex-shrink:0 }.absence-code { font-size:13px;font-weight:700 }.compact-mark { padding:2px 3px;min-width:20px;justify-content:center }.absence-calendar-legend { display:flex;flex-wrap:wrap;gap:8px;margin:10px 0 18px }.absence-style-list { padding:0 24px }.absence-style-preview { display:flex;gap:15px;align-items:center;margin:20px 0 }.absence-style-preview .absence-mark { font-size:14px }.compact .day-dots { gap:2px;flex-wrap:wrap }.compact .team-calendar-day { min-height:58px }.calendar-day { position:relative }.calendar-day>.compact-mark { position:absolute;right:-4px;bottom:-5px;transform:scale(.65);transform-origin:bottom right }.calendar-person .absence-mark { padding:1px 2px;border:0;background:transparent;font-size:13px }.year-card .legend { flex-wrap:wrap }
#modal input[type="color"] { height:42px;padding:4px;cursor:pointer }
.icon-palette:not([hidden]) { display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;padding:14px;margin-top:12px;background:var(--tone-bg-f1f6fc,#f1f6fc);border:1px solid var(--tone-border-c5d8ec,#c5d8ec);border-radius:12px;box-shadow:0 8px 22px var(--tone-bg-24486612,#24486612) }.icon-choice { display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;min-height:76px;padding:10px 4px;background:var(--tone-bg-ffffff,#fff);border:1px solid var(--tone-border-d3dfed,#d3dfed);border-radius:9px;color:var(--tone-fg-294866,#294866);cursor:pointer }.icon-choice .icon { width:25px;height:25px }.icon-choice span { font-size:13px }.icon-choice[aria-pressed="true"] { border:2px solid var(--tone-border-286fb2,#286fb2);background:var(--tone-bg-e0edfb,#e0edfb);color:var(--tone-fg-154f86,#154f86) }.icon-choice:hover { background:var(--tone-bg-eaf2fc,#eaf2fc) }.icon-choice:focus-visible { outline:3px solid var(--tone-border-8dbded,#8dbded);outline-offset:2px } @media(max-width:450px) { .icon-palette:not([hidden]) { grid-template-columns:repeat(3,minmax(0,1fr)) } }
.reminder-rule { display:grid;grid-template-columns:1.3fr 1fr .7fr auto;gap:10px;align-items:end;margin:16px 0 }.reminder-rule .icon-button { margin-bottom:5px }.reminder-end-settings { margin-top:25px }.reminder-channels { display:grid;gap:8px;padding:14px;background:var(--tone-bg-f0f5fc,#f0f5fc);border-radius:10px;font-size:13px }.reminder-popup { pointer-events:auto;max-width:390px;background:var(--tone-bg-ffffff,#fff);color:var(--tone-fg-233e5e,#233e5e);border:1px solid var(--tone-border-a9c7e8,#a9c7e8);border-left:5px solid var(--tone-border-357ec7,#357ec7);border-radius:12px;padding:15px;box-shadow:0 8px 30px var(--tone-bg-183d6533,#183d6533);margin-top:10px }.reminder-popup>div { display:flex;align-items:center;gap:8px }.reminder-popup button { margin-left:auto }.reminder-popup p { font-size:13px;line-height:1.5;margin:8px 0 0 }.reset-page { max-width:540px;margin:8vh auto;padding:30px }.reset-page .field { margin:18px 0 } @media(max-width:650px) { .reminder-rule { grid-template-columns:1fr 1fr }.reminder-rule .icon-button { justify-self:end }.reset-page { margin:24px 12px } }

.mail-preview {white-space:pre-wrap;overflow-wrap:anywhere;background:var(--tone-bg-f1f6fc,#f1f6fc);padding:16px;border-radius:10px;max-height:300px;overflow:auto;}

.day-detail>summary>div:first-child {flex-wrap:wrap;}
.day-content>.hint {padding:12px 24px 0;}
.absence-extent {display:inline-flex;align-items:center;gap:5px;white-space:nowrap;color:var(--tone-fg-315777,#315777);font-weight:500;vertical-align:middle;}
.absence-extent>span:first-child {font-family:"Segoe UI Symbol","DejaVu Sans",sans-serif;font-size:16px;line-height:1;}
.extent-legend {display:flex;flex-wrap:wrap;gap:10px 20px;margin:8px 0 16px;font-size:13px;}
.calendar-person strong .absence-extent {margin-left:3px;}
.calendar-day>.absence-extent {position:absolute;top:2px;right:2px;}
.calendar-day>.absence-extent>span:first-child {font-size:13px;}
.year-calendar .month-grid>.calendar-day {min-height:54px;aspect-ratio:auto;display:flex;flex-direction:column;justify-content:flex-start;gap:3px;padding:5px 3px;color:var(--tone-fg-38506c,#38506c);}
.year-calendar .calendar-date {align-self:flex-start;padding-left:3px;font-size:13px;line-height:16px;}
.year-calendar .calendar-day>.compact-mark {position:static;transform:none;display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;min-width:26px;padding:0;border:0;border-radius:50%;background:var(--tone-bg-ffffff,#fff);color:color-mix(in srgb,var(--absence-color) 65%,var(--tone-fg-14283c,#14283c));box-shadow:0 1px 3px var(--tone-bg-16324c18,#16324c18);}
.year-calendar .calendar-day>.compact-mark .icon {width:20px;height:20px;stroke-width:2;}
.year-calendar .calendar-day>.compact-mark .absence-code {font-size:13px;line-height:1;font-weight:700;}
.year-calendar .calendar-day>.absence-extent {top:5px;right:3px;color:var(--tone-fg-28465f,#28465f);}
.year-calendar .calendar-day>.absence-extent>span:first-child {font-size:13px;}
.year-calendar .month-grid>.weekday {aspect-ratio:auto;min-height:24px;}
@media(max-width:1100px){.year-calendar {grid-template-columns:repeat(2,minmax(0,1fr));}}
@media(max-width:600px){.year-calendar {grid-template-columns:minmax(0,1fr);}}
.icon-palette:not([hidden]) {max-height:360px;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable;}
.app-tooltip {position:fixed;z-index:10000;max-width:min(340px,calc(100vw - 16px));padding:10px 13px;border:1px solid var(--tone-border-385b80,#385b80);border-radius:9px;background:var(--tone-bg-173553,#173553);color:var(--tone-fg-ffffff,#fff);box-shadow:0 5px 20px var(--tone-bg-10263d30,#10263d30);font-size:13px;line-height:1.55;font-weight:400;white-space:pre-wrap;overflow-wrap:anywhere;}
.app-tooltip[hidden] {display:none;}
.absence-extent:focus-visible {outline:2px solid var(--tone-border-2876bd,#2876bd);outline-offset:3px;border-radius:3px;}
.stat .account-rule {font-size:18px;line-height:1.5;}
.period-select {display:inline-flex;align-items:center;gap:10px;border:1px solid var(--tone-border-cedced,#cedced);border-radius:10px;background:var(--tone-bg-ffffff,#fff);color:var(--tone-fg-193653,#193653);padding:10px 14px;font:inherit;font-weight:600;cursor:pointer;min-height:44px;text-align:left}
.period-select:hover {background:var(--tone-bg-edf4fc,#edf4fc);border-color:var(--tone-border-8aaed8,#8aaed8)}
.period-select svg {width:18px;height:18px;flex-shrink:0}
.period-dialog {width:min(540px,calc(100vw - 24px));max-height:calc(100dvh - 24px);padding:0;border:1px solid var(--tone-border-d4dfed,#d4dfed);border-radius:20px;overflow:auto;box-shadow:0 24px 90px var(--tone-bg-102b4c40,#102b4c40);color:var(--tone-fg-193653,#193653)}
.period-dialog>header {display:flex;align-items:center;justify-content:space-between;padding:24px 24px 16px;gap:12px}
.period-dialog header h2 {font-size:20px;margin:7px 0 0}
.period-picker-body {padding:0 24px 8px}
.period-modes {display:flex;gap:6px;padding:5px;background:var(--tone-bg-f1f5fa,#f1f5fa);border-radius:12px;margin:6px 0 20px}
.period-modes button {flex:1}
.period-picker-nav {display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}
.period-picker-nav .icon-button {font-size:26px;min-width:44px;min-height:44px}
.period-year {border:0;background:transparent;font:inherit;font-weight:700;padding:12px;cursor:pointer;color:inherit}
.period-tiles {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.period-tiles button {min-height:58px;border:1px solid var(--tone-border-dce5ef,#dce5ef);border-radius:10px;background:var(--tone-bg-ffffff,#fff);color:inherit;font:inherit;cursor:pointer}
.period-tiles button:hover,.period-week:hover {background:var(--tone-bg-edf4fc,#edf4fc);border-color:var(--tone-border-8aaed8,#8aaed8)}
.period-tiles .selected,.period-week.selected {background:var(--tone-bg-e1edfc,#e1edfc);border-color:var(--tone-border-3171b9,#3171b9);color:var(--tone-fg-164c88,#164c88);font-weight:700}
.period-week-head,.period-week {display:grid;grid-template-columns:34px repeat(7,minmax(0,1fr));align-items:center;width:100%;gap:2px;text-align:center}
.period-week-head {font-size:13px;color:var(--tone-fg-6c7e92,#6c7e92);padding:0 8px 10px}
.period-week {border:1px solid transparent;border-radius:10px;min-height:48px;background:var(--tone-bg-ffffff,#ffffff);color:inherit;padding:5px 8px;font:inherit;cursor:pointer;margin-bottom:3px}
.period-week>span:first-child {font-size:13px;color:var(--tone-fg-6c7e92,#6c7e92)}
.period-week .outside {opacity:.4}
.period-week .today {text-decoration:underline;text-underline-offset:5px;text-decoration-thickness:2px}
.period-selection {display:flex;flex-direction:column;gap:6px;background:var(--tone-bg-f3f6fa,#f3f6fa);border-radius:12px;padding:14px;margin-top:20px;font-size:13px}
.period-selection>span {color:var(--tone-fg-64768c,#64768c);font-size:13px}
.period-year-card {display:flex;align-items:center;flex-direction:column;gap:16px;padding:22px;border:1px solid var(--tone-border-dce5ef,#dce5ef);border-radius:12px}
.period-year-card strong {font-size:40px}
.period-dialog footer {display:flex;justify-content:space-between;gap:12px;align-items:center;padding:16px 24px;border-top:1px solid var(--tone-border-e0e8f2,#e0e8f2)}
.period-dialog footer>div {display:flex;gap:8px}
.period-error {color:var(--tone-fg-a52738,#a52738);font-size:13px}
@media(max-width:540px){.period-dialog>header{padding:18px 16px 12px}.period-picker-body{padding:0 12px 8px}.period-dialog footer{padding:14px 12px;flex-wrap:wrap}.period-tiles button{min-height:50px}.period-select{font-size:13px}.period-week{min-height:46px}.period-dialog header h2{font-size:18px}}
.catalog-mark {display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:30px;height:30px;border-radius:50%;background:color-mix(in srgb,var(--catalog-color) 12%,var(--tone-bg-ffffff,#ffffff));color:var(--catalog-color)}
.catalog-mark svg {width:18px;height:18px}
.catalog-dot {width:10px;height:10px;border-radius:50%;background:var(--catalog-color)}
.catalog-project {display:inline-flex;align-items:center;gap:6px;margin-top:4px;color:inherit}
.catalog-project .catalog-mark {width:23px;height:23px;border-radius:50%}
.catalog-project svg {width:14px;height:14px}
.catalog-native {position:absolute!important;width:1px!important;height:1px!important;clip-path:inset(50%);overflow:hidden;opacity:0;pointer-events:none}
.catalog-select {display:flex;align-items:center;gap:9px;min-height:48px;padding:7px 10px;background:var(--tone-bg-ffffff,#ffffff);border:1px solid var(--tone-border-d3deeb,#d3deeb);border-radius:8px;width:100%;color:inherit;text-align:left;font:inherit;cursor:pointer}
.catalog-select>span:nth-child(2) {flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.catalog-picker {width:min(560px,calc(100vw - 24px));padding:0;border-radius:18px;max-height:calc(100dvh - 24px)}
.catalog-picker>header {display:flex;align-items:center;justify-content:space-between;padding:20px 22px;gap:12px}
.catalog-search {padding:0 22px 14px}
.catalog-search input {width:100%;margin-top:8px}
.catalog-choices {max-height:48dvh;overflow:auto;padding:4px 12px}
.catalog-choice {display:flex;align-items:center;gap:12px;width:100%;border:1px solid transparent;border-radius:10px;padding:12px 10px;background:var(--tone-bg-ffffff,#ffffff);text-align:left;color:inherit;cursor:pointer}
.catalog-choice:hover,.catalog-choice[aria-pressed=true] {background:var(--tone-bg-eef4fc,#eef4fc);border-color:var(--tone-border-cadcf1,#cadcf1)}
.catalog-choice>span:nth-child(2) {flex:1;min-width:0;overflow-wrap:anywhere}
.catalog-choice strong,.catalog-choice small {display:block}
.catalog-choice small {color:var(--tone-fg-687c94,#687c94);margin-top:4px}
.catalog-choice>svg {width:18px;height:18px;color:var(--tone-fg-2461a7,#2461a7)}
.catalog-select:focus-visible,.catalog-choice:focus-visible {outline:3px solid var(--tone-border-3477c5,#3477c5);outline-offset:3px;}
.catalog-copy {display:grid;gap:3px;min-width:0;}
.catalog-copy strong {font-size:inherit;font-weight:600;line-height:1.35;}
.catalog-copy small {display:block;font-size:13px;font-weight:400;color:var(--tone-fg-6b809c,#6b809c);line-height:1.3;}
.catalog-select .catalog-copy strong {overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.catalog-select-project {min-height:48px;border-radius:9px;background:var(--tone-bg-ffffff,#fff);color:var(--tone-fg-304969,#304969);}
.catalog-select-project:hover {background:var(--tone-bg-f7faff,#f7faff);border-color:var(--tone-border-a9c3df,#a9c3df);}
.catalog-select-project .catalog-mark,.catalog-choice-project .catalog-mark,.catalog-activity-project .catalog-mark,.catalog-project .catalog-mark {border-radius:8px;}
.catalog-choice-project {padding:9px 10px;margin:2px 0;gap:10px;color:var(--tone-fg-304969,#304969);}
.catalog-choice-project:hover,.catalog-choice-project[aria-pressed=true] {background:var(--tone-bg-f0f6fc,#f0f6fc);border-color:var(--tone-border-b9d0e8,#b9d0e8);}
.catalog-choice-project small {margin-top:3px;font-size:13px;}
.catalog-project .catalog-copy {gap:2px;}
.catalog-project .catalog-copy small {font-size:13px;}
.catalog-select-service,.catalog-activity-service,.catalog-choice-service {background:var(--catalog-color);border:1px solid var(--catalog-color);color:var(--catalog-ink);}
.catalog-select-service {min-height:42px;padding:5px 12px;border-radius:999px;font-weight:600;}
.catalog-select-service:hover {box-shadow:0 0 0 2px color-mix(in srgb,var(--catalog-color) 22%,transparent);}
.catalog-select-service .catalog-mark,.catalog-activity-service .catalog-mark,.catalog-choice-service .catalog-mark {background:var(--tone-bg-ffffff22,#ffffff22);color:var(--catalog-ink);width:24px;height:24px;}
.catalog-select-service .catalog-mark svg,.catalog-activity-service .catalog-mark svg,.catalog-choice-service .catalog-mark svg {width:15px;height:15px;}
.catalog-select-service .catalog-dot,.catalog-activity-service .catalog-dot,.catalog-choice-service .catalog-dot {background:currentColor;}
.catalog-picker-service {width:min(660px,calc(100vw - 24px));}
.catalog-picker-service .catalog-choices {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;padding:4px 14px 12px;}
.catalog-choice-service {min-height:40px;padding:6px 12px;gap:8px;margin:0;border-radius:999px;font-size:13px;}
.catalog-choice-service:hover,.catalog-choice-service[aria-pressed=true] {background:var(--catalog-color);border-color:var(--catalog-ink);box-shadow:0 0 0 1px var(--catalog-ink) inset;}
.catalog-choice-service strong {font-weight:600;line-height:1.3;}
.catalog-choice-service small {font-size:13px;margin-top:2px;color:inherit;opacity:.9;}
.catalog-choice-service>svg {width:15px;height:15px;flex-shrink:0;color:inherit;}
.catalog-picker-service .catalog-choices>.hint {grid-column:1/-1;}
.tracker-assignment {display:grid;gap:7px;margin-top:6px;}
.catalog-activity {display:flex;align-items:center;gap:9px;min-width:0;}
.catalog-activity-project {padding:6px 2px;color:var(--tone-fg-304969,#304969);}
.catalog-activity-service {padding:6px 12px;border-radius:999px;}
.catalog-activity>span:last-child {min-width:0;display:grid;gap:2px;}
.catalog-activity strong {font-size:13px;overflow-wrap:anywhere;line-height:1.35;}
.tracker-current .catalog-activity-service small {font-size:13px;color:inherit;}
.tracker-current .catalog-activity-project small {font-size:13px;color:var(--tone-fg-6b809c,#6b809c);}
@media(max-width:480px){.catalog-picker-service .catalog-choices {grid-template-columns:1fr;}}
@media(pointer:coarse){.catalog-choice-service,.catalog-select-service {min-height:46px;}}
.kiosk.kiosk-workplace {max-width:1380px;text-align:left;margin:0 auto;padding:32px}
.kiosk-header {display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:24px}
.kiosk-header>div {display:flex;gap:10px}
.kiosk-header .brand {margin:0}
.kiosk-layout {display:grid;grid-template-columns:minmax(280px,380px) minmax(0,1fr);gap:26px;align-items:start;margin-top:28px}
.kiosk .kiosk-login-card {padding:26px;margin:0}
.kiosk-login-card .field {margin:18px 0}
.kiosk-login-card .tracker-actions {flex-wrap:wrap}
.kiosk-login-card .tracker-actions button {min-height:54px;flex:1 1 140px}
.kiosk-login-card h2 {margin-bottom:20px}
.kiosk-filters {display:flex;gap:12px;align-items:end;flex-wrap:wrap;margin-bottom:12px}
.kiosk-filters label {display:flex;flex-direction:column;gap:6px;font-size:13px}
.kiosk-people {display:grid;grid-template-columns:repeat(auto-fill,minmax(215px,1fr));gap:12px}
.kiosk-person {display:flex;align-items:center;gap:14px;text-align:left;padding:18px;min-height:92px;border:1px solid var(--tone-border-d7e2ef,#d7e2ef);background:var(--tone-bg-ffffff,#ffffff);border-radius:14px;color:var(--tone-fg-193653,#193653);cursor:pointer}
.kiosk-person:hover {border-color:var(--tone-border-3275ba,#3275ba);background:var(--tone-bg-f2f7fd,#f2f7fd)}
.kiosk-person strong {display:block;font-size:15px}
.kiosk-person .avatar {width:44px;height:44px;flex-shrink:0;overflow:hidden}
.kiosk-person img {width:100%;height:100%;object-fit:cover}
.kiosk-status {display:flex;align-items:center;gap:6px;margin-top:6px;color:var(--tone-fg-6c7e92,#6c7e92);font-size:13px}
.kiosk-status:before {content:'';height:7px;width:7px;border-radius:50%;background:var(--tone-bg-98a7b8,#98a7b8)}
.kiosk-status.working:before {background:var(--tone-bg-269461,#269461)}.kiosk-status.break:before {background:var(--tone-bg-d49a26,#d49a26)}
.help-center {max-width:1000px;margin:0 auto}.help-center h1 {margin:12px 0}
.help-filters {display:grid;grid-template-columns:2fr 1fr;gap:16px;margin:24px 0 16px}
.help-filters label {display:flex;flex-direction:column;gap:8px}
.help-tags {display:flex;flex-wrap:wrap;gap:10px;margin:14px 0}
.help-article {background:var(--tone-bg-ffffff,#fff);border:1px solid var(--tone-border-d8e3ef,#d8e3ef);border-radius:12px;margin:12px 0;overflow:hidden}
.help-article summary {cursor:pointer;padding:20px;font-weight:600}
.help-article summary small {display:block;margin-top:7px;color:var(--tone-fg-6c7e92,#6c7e92);font-weight:400}
.help-article>div {padding:0 24px 20px;line-height:1.8}.help-article li {margin-bottom:12px}
.help-flow {display:flex;flex-wrap:wrap;gap:12px;margin:12px 0 20px}.help-flow span {padding:12px;background:var(--tone-bg-e8f1fd,#e8f1fd);border-radius:9px;color:var(--tone-fg-225893,#225893)}
.help-dialog {width:min(1050px,calc(100vw - 24px));max-height:90dvh;padding:28px;border-radius:16px}
.help-close {float:right}
@media(max-width:850px){.kiosk-layout{grid-template-columns:1fr}.kiosk.kiosk-workplace{padding:20px}.kiosk-header{flex-wrap:wrap}.help-filters{grid-template-columns:1fr}.kiosk .kiosk-login-card{max-width:none}.help-dialog{padding:18px}}
.help-screenshot {display:block;width:100%;max-height:420px;object-fit:contain;object-position:left top;border:1px solid var(--tone-border-d8e3ef,#d8e3ef);border-radius:10px;background:var(--tone-bg-f4f7fb,#f4f7fb)}
.help-article figure {margin:16px 0}.help-article figcaption{font-size:13px;color:var(--tone-fg-6c7e92,#6c7e92)}
.access-list{max-height:45vh;overflow:auto;margin:18px 0;border:1px solid var(--tone-border-d8e1ef,#d8e1ef);border-radius:12px}
.access-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px;border-bottom:1px solid var(--tone-border-d8e1ef,#d8e1ef)}
.access-row label{display:flex;align-items:center;gap:12px;flex:1;min-width:0}
.access-row small{display:block;color:var(--tone-fg-64748b,#64748b);margin-top:4px}
.access-picks{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;max-height:220px;overflow:auto;padding:8px 0}
#access-targets{border:1px solid var(--tone-border-d8e1ef,#d8e1ef);border-radius:12px;margin:16px 0;padding:16px}
#access-targets:disabled{opacity:.5}

.tracker-current{display:grid;gap:6px;padding:12px 14px;background:var(--tone-bg-f0f5ff,#f0f5ff);border:1px solid var(--tone-border-d8e1ef,#d8e1ef);border-radius:12px;margin:12px 0}.tracker-current small{color:var(--tone-fg-64748b,#64748b)}.tracker-current .text-button{justify-self:start}.tracker-actions [hidden]{display:none}
.tracker-next{margin:16px 0}.tracker-next.switching{padding:16px;border:1px solid var(--tone-border-adc9ee,#adc9ee);border-radius:12px;background:var(--tone-bg-f5f9ff,#f5f9ff)}.tracker-current .section-heading{margin:0;padding:0}.tracker-current .section-heading strong{font-size:13px;color:var(--tone-fg-64748b,#64748b)}
.detached-clock{max-width:560px;margin:0 auto;padding:24px;background:var(--tone-bg-ffffff,#fff);min-height:100dvh;box-sizing:border-box}.detached-clock>header{display:flex;flex-wrap:wrap;gap:12px;align-items:center;justify-content:space-between;margin-bottom:24px}.detached-clock h1{font-size:22px;margin:6px 0}.detached-clock>header .button{font-size:13px}.detached-clock .tracker-fields{grid-template-columns:1fr}.detached-clock .tracker-actions{display:flex;flex-wrap:wrap}.detached-clock .tracker-actions .green{flex-basis:100%}.detached-clock .tracker-actions .yellow,.detached-clock .tracker-actions .red{flex:1}.detached-clock .timer{font-size:54px}.detached-status{display:flex;align-items:center;justify-content:space-between;margin-top:20px;color:var(--tone-fg-64748b,#64748b);font-size:13px}
.forgotten-clock-banner{position:sticky;top:0;z-index:40;display:flex;gap:16px;align-items:center;justify-content:center;background:var(--tone-bg-fff3cf,#fff3cf);padding:12px;border-bottom:1px solid var(--tone-border-e7c96f,#e7c96f)}
.time-timeline{list-style:none;margin:0;padding:12px 20px}.timeline-entry{position:relative;display:grid;grid-template-columns:75px minmax(150px,1fr) auto auto;gap:18px;align-items:center;padding:16px 0;min-height:72px;border-bottom:1px solid var(--tone-border-e7edf5,#e7edf5)}.timeline-entry>time{font-variant-numeric:tabular-nums;font-weight:600;align-self:start;padding-top:5px}.timeline-entry>time small{display:block;font-size:13px;font-weight:400;color:var(--tone-fg-64748b,#64748b)}.timeline-activity{display:flex;align-items:center;gap:12px;border-left:3px solid var(--tone-border-bad1ef,#bad1ef);padding-left:16px;min-height:42px}.timeline-activity>svg{width:20px;flex-shrink:0}.timeline-activity small{display:block;color:var(--tone-fg-64748b,#64748b);margin-top:5px}.timeline-entry.is-break .timeline-activity{border-color:var(--tone-border-e9cc75,#e9cc75)}.timeline-duration{display:grid;gap:6px;justify-items:end;font-size:13px;font-variant-numeric:tabular-nums}.timeline-marker{display:flex;gap:20px;padding:12px 0;color:var(--tone-fg-64748b,#64748b);font-size:13px}.timeline-marker time{min-width:75px;font-variant-numeric:tabular-nums}.timeline-marker.gap{padding-left:95px;background:var(--tone-bg-fff9e9,#fff9e9)}.timeline-marker.gap time{display:none}.timeline-marker.overlap{color:var(--tone-fg-a34242,#a34242)}.timeline-marker.live{color:var(--tone-fg-217257,#217257)}.timeline-marker.live:before{content:'●';margin-left:95px}@media(max-width:650px){.time-timeline{padding:8px 12px}.timeline-entry{grid-template-columns:52px minmax(0,1fr) auto;gap:8px}.timeline-entry .row-actions{grid-column:2 / -1;justify-content:flex-end}.timeline-activity{padding-left:8px;gap:8px}.timeline-marker time{min-width:52px}.timeline-marker.gap{padding-left:60px}.timeline-duration{font-size:13px}}
.week-summary-scroll{overflow-x:auto}.times-week-table{width:100%;min-width:750px;table-layout:fixed}.times-week-table th,.times-week-table td{text-align:center;vertical-align:top;padding:22px 10px}.times-week-table th:first-child{text-align:left;width:115px}.times-week-table th small{display:block;margin-top:8px;color:var(--tone-fg-64748b,#64748b);font-weight:400}.times-week-table .week-work,.week-absence{border:0;background:transparent;cursor:pointer;color:inherit;padding:8px;border-radius:8px}.week-work:hover,.week-absence:hover{background:var(--tone-bg-edf4ff,#edf4ff)}.week-work{font-weight:600;font-variant-numeric:tabular-nums}.week-absence{display:flex;flex-wrap:wrap;gap:6px;align-items:center;justify-content:center;font-size:13px}.week-holiday{display:block;margin-top:8px;color:var(--tone-fg-426cb0,#426cb0)}.timeline-marker .row-actions{margin-left:auto}
.week-summary-scroll{padding:8px 18px 22px}.times-week-table{border-collapse:separate;border-spacing:0;display:table;margin:0}.times-week-table th,.times-week-table td{border-right:1px solid var(--tone-border-edf1f7,#edf1f7);border-bottom:1px solid var(--tone-border-edf1f7,#edf1f7)}.times-week-table th:last-child,.times-week-table td:last-child{border-right:0}.times-week-table thead th{background:var(--tone-bg-f8fafd,#f8fafd);padding:20px 6px;color:var(--tone-fg-405471,#405471);font-size:13px}.times-week-table thead th:first-child{border-radius:12px 0 0 0}.times-week-table thead th:last-child{border-radius:0 12px 0 0}.times-week-table tbody th{background:var(--tone-bg-ffffff,#fff);color:var(--tone-fg-708099,#708099);font-size:13px;font-weight:500;vertical-align:middle}.times-week-table thead .text-button{display:flex;flex-direction:column;align-items:center;gap:8px;width:100%;font-size:13px;font-weight:650;padding:0}.times-week-table th small{margin:0;font-size:13px}.times-week-table .is-today{background:var(--tone-bg-f0f6ff,#f0f6ff)}.times-week-table thead .is-today{background:var(--tone-bg-e4efff,#e4efff);color:var(--tone-fg-245ea8,#245ea8);box-shadow:inset 0 3px var(--tone-bg-3477c5,#3477c5)}.times-week-table .is-weekend:not(.is-today){background:var(--tone-bg-fafbfd,#fafbfd)}.times-week-table .week-work{font-size:16px;white-space:nowrap}.times-week-table .no-work .week-work{color:var(--tone-fg-97a5b7,#97a5b7);font-weight:400}.times-week-table td{height:84px;vertical-align:middle}.times-week-table .week-absence{margin:auto;line-height:1.5}.times-week-table .week-absence span{font-size:13px}.times-week-table .week-absence small{flex-basis:100%;color:var(--tone-fg-a67919,#a67919)}.times-week-table .muted{color:var(--tone-fg-b7c2d0,#b7c2d0)}
.times-week-table .is-rest-day:not(.is-today){background:var(--tone-bg-fafbfd,#fafbfd)}.times-week-table .week-band-row td{height:auto;padding:5px 6px;border-bottom:0;vertical-align:middle}.times-week-table .week-band-row th{padding:8px 10px;font-size:13px}.week-band{display:flex;align-items:center;justify-content:center;gap:7px;min-height:28px;width:100%;padding:5px 8px;border:0;border-radius:6px;background:var(--tone-bg-e9eef5,#e9eef5);color:var(--tone-fg-53637b,#53637b);font-size:13px;font-weight:600;cursor:pointer}.week-band>svg{width:14px;height:14px;flex-shrink:0}.week-band.absence{background:color-mix(in srgb,var(--band-color) 14%,var(--tone-bg-ffffff,#ffffff));color:var(--band-color);box-shadow:inset 3px 0 var(--band-color)}.week-band.holiday{background:var(--tone-bg-eaf2ff,#eaf2ff);color:var(--tone-fg-346bb0,#346bb0)}.week-band.rest{background:var(--tone-bg-e8ebf0,#e8ebf0);color:var(--tone-fg-697587,#697587)}.week-band.inactive,.week-band.unknown{background:var(--tone-bg-f3f4f6,#f3f4f6);color:var(--tone-fg-7b8493,#7b8493)}.week-band.pending{outline:1px dashed var(--band-color);outline-offset:-1px}.week-band small{font-size:13px;font-weight:400}.week-band:hover{filter:brightness(.96)}.week-band .absence-icon{width:18px;height:18px}.times-week-table .week-band-row:first-child td{padding-top:12px}
.times-week-table .week-band-row .week-band-spacer{background:var(--tone-bg-ffffff,#fff);border-bottom:0}
.times-week-table .week-band-row + .week-work-row td,.times-week-table .week-band-row + .week-work-row th{padding-top:4px;height:64px}
.report-weeks-table{min-width:1080px;width:100%}
.report-weeks-table tbody th{min-width:140px;text-align:left;font-weight:500}
.report-weeks-table tbody th small{font-size:13px;margin-top:5px;color:var(--tone-fg-74849b,#74849b);font-weight:400}
.report-weeks-table td:not(.report-week-day){white-space:nowrap}
.ledger-table.report-weeks-table .report-week-day{min-width:48px;width:54px;white-space:normal;padding:8px 3px;text-align:center;vertical-align:middle}
.report-weeks-table th:nth-child(n+7){text-align:center;font-size:13px;letter-spacing:.04em}
.report-day-button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;min-height:36px;width:100%;padding:4px 0;border:0;border-radius:6px;background:transparent;cursor:pointer;color:inherit}
.report-day-button:hover,.report-day-button:focus-visible{background:var(--tone-bg-edf4ff,#edf4ff)}
.report-day-tag{display:block;border-radius:5px;padding:4px 5px;font-size:13px;line-height:1.3;font-weight:600;white-space:nowrap}
.report-day-tag.absence{--day-color:var(--tone-bg-64748b,#64748b);color:var(--day-color);background:color-mix(in srgb,var(--day-color) 12%,var(--tone-bg-ffffff,#ffffff))}
.report-day-tag.pending{outline:1px dashed var(--day-color);outline-offset:-1px}
.report-day-tag.holiday{background:var(--tone-bg-eaf2ff,#eaf2ff);color:var(--tone-fg-346bb0,#346bb0)}
.report-day-tag.rest{background:var(--tone-bg-edf0f4,#edf0f4);color:var(--tone-fg-758195,#758195)}
.report-day-tag.unknown{background:var(--tone-bg-fff4d8,#fff4d8);color:var(--tone-fg-936a19,#936a19)}
.report-day-empty,.report-weeks-table .outside-period{color:var(--tone-fg-b6c0ce,#b6c0ce)}
.group-templates .template-list{display:grid;gap:14px;padding:0 24px 8px}
.group-template{border:1px solid var(--tone-border-dce5f0,#dce5f0);border-radius:12px;overflow:hidden;background:var(--tone-bg-ffffff,#fff)}
.group-template .template-header{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:18px 20px;border-bottom:1px solid var(--tone-border-edf1f7,#edf1f7)}
.template-identity{min-width:0}.template-identity h3{font-size:15px;line-height:1.4;margin:7px 0 0;overflow-wrap:anywhere}
.template-group{display:inline-flex;align-items:center;gap:6px;font-size:13px;color:var(--tone-fg-627590,#627590)}.template-group svg{width:14px;height:14px}
.template-actions{display:flex;flex-wrap:wrap;align-items:center;gap:10px;flex-shrink:0}.template-actions .button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:40px;white-space:nowrap}.template-actions svg{width:15px;height:15px}
.template-details{display:grid;grid-template-columns:minmax(105px,.6fr) minmax(300px,2fr) minmax(170px,.9fr);align-items:center;gap:24px;padding:20px;background:var(--tone-bg-fbfcfe,#fbfcfe)}
.template-metric{display:flex;flex-direction:column;align-items:flex-start;gap:7px}.template-metric>span,.template-schedule>span{font-size:13px;color:var(--tone-fg-667994,#667994)}.template-metric>strong{font-size:23px;line-height:1.2;font-weight:600;color:var(--tone-fg-254465,#254465);font-variant-numeric:tabular-nums}.template-metric>small{font-size:13px;color:var(--tone-fg-667994,#667994);line-height:1.5}
.template-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;margin-top:10px}.template-day{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;padding:10px 3px;border-radius:8px;border:1px solid transparent;font-size:13px;min-height:57px}.template-day strong{font-weight:550;font-size:13px;white-space:nowrap;font-variant-numeric:tabular-nums}.template-day.working{background:var(--tone-bg-edf4ff,#edf4ff);border-color:var(--tone-border-dce8f8,#dce8f8);color:var(--tone-fg-2c639f,#2c639f)}.template-day.rest{background:var(--tone-bg-f0f2f6,#f0f2f6);color:var(--tone-fg-8391a4,#8391a4)}
.template-vacation{border-left:1px solid var(--tone-border-e2e9f2,#e2e9f2);padding-left:24px}
@media(max-width:1050px){.template-details{grid-template-columns:1fr 1fr}.template-schedule{grid-column:1/-1;grid-row:2}.template-vacation{justify-self:start}}
@media(max-width:600px){.group-templates .template-list{padding:0 14px 8px}.group-template .template-header{align-items:stretch;flex-direction:column;padding:16px;gap:14px}.template-actions{display:grid;grid-template-columns:1fr 1fr}.template-actions .button{padding:9px 8px;font-size:13px}.template-details{padding:16px;gap:18px 12px;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.template-vacation{padding-left:12px}.template-metric>strong{font-size:21px}.template-days{gap:4px}.template-day{font-size:13px}.template-day strong{font-size:13px}.group-templates>.section-heading{gap:12px;flex-wrap:wrap}}
.ledger-grouping{flex-shrink:0;margin-left:auto}
@media(max-width:700px){.section-heading:has(.ledger-grouping){align-items:flex-start;flex-wrap:wrap;gap:14px}.ledger-grouping{margin-left:0}}
.employee-import-source{width:100%;min-height:300px;resize:vertical;font:12px/1.6 ui-monospace,Consolas,monospace;tab-size:2}
.import-downloads{display:flex;flex-wrap:wrap;gap:10px;margin:16px 0}.import-person{display:flex;flex-direction:column;gap:6px}.import-person strong{font-size:20px}.import-person small{color:var(--tone-fg-6c7e96,#6c7e96)}
.import-counts{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:20px 0}.import-counts>div{display:flex;flex-direction:column;gap:7px;border-radius:9px;background:var(--tone-bg-f0f5fc,#f0f5fc);padding:12px}.import-counts strong{font-size:22px}.import-counts span{font-size:13px;color:var(--tone-fg-64748b,#64748b)}.import-notices p{margin:8px 0;font-size:13px}
dialog:has(.employee-import-source),dialog:has(.import-person){width:min(880px,calc(100vw - 32px))}
.notice.import-notices{display:block}.import-notices p+p{border-top:1px solid var(--tone-border-dce5ef,#dce5ef);padding-top:9px}
.modal-body:has(.import-person)>details{margin:16px 0}.modal-body:has(.import-person)>details>summary{cursor:pointer;font-weight:600;margin-bottom:10px}
:root .manual-balance-import fieldset {margin:16px 0;border:1px solid var(--line,var(--tone-border-d7e1ef,#d7e1ef));border-radius:12px;padding:16px;}
.manual-balance-import .balance-choice {display:flex;gap:12px;align-items:flex-start;padding:12px 0;border-bottom:1px solid var(--line,var(--tone-border-d7e1ef,#d7e1ef));cursor:pointer;}
.manual-balance-import .balance-choice:last-child {border-bottom:0;}
.manual-balance-import .balance-choice span {display:grid;gap:5px;min-width:0;overflow-wrap:anywhere;}
.manual-balance-import .balance-choice input {margin-top:4px;flex:none;width:16px;height:16px;min-height:0;padding:0;}
.manual-balance-import .balance-choice:has(input:disabled) {cursor:default;}
dialog:has(.manual-balance-import) {width:min(950px,calc(100vw - 32px));}
.overview-tabs {display:inline-flex;gap:4px;padding:5px;background:var(--tone-bg-e7eef8,#e7eef8);border:1px solid var(--tone-border-d3dfef,#d3dfef);border-radius:12px;margin-bottom:26px;}
.overview-tabs button {display:flex;align-items:center;gap:9px;border:0;border-radius:8px;padding:12px 20px;color:var(--tone-fg-516b8e,#516b8e);background:transparent;font-weight:600;}
.overview-tabs button.selected {background:var(--tone-bg-ffffff,#fff);color:var(--tone-fg-205ea9,#205ea9);box-shadow:0 2px 8px var(--tone-bg-193f6712,#193f6712);}
.company-load-state {padding:42px;background:var(--tone-bg-ffffff,#fff);border:1px solid var(--tone-border-d3dfef,#d3dfef);border-radius:14px;color:var(--tone-fg-526a85,#526a85);}
.company-overview .page-heading {align-items:center;}
.company-group {display:grid;gap:5px;font-size:13px;color:var(--tone-fg-526a85,#526a85);}
.company-group select {min-width:190px;max-width:250px;}
.company-overview .company-stats {margin-bottom:24px;}
.company-distributions {display:grid;grid-template-columns:1fr 1fr;gap:24px;margin:24px 0;}
.company-count {color:var(--tone-fg-73859d,#73859d);font-size:13px;}
.company-donut-layout {display:grid;grid-template-columns:155px 1fr;gap:26px;padding:8px 24px 28px;align-items:center;}
.company-donut {width:155px;height:155px;border-radius:50%;display:grid;place-items:center;}
.company-donut>div {width:115px;height:115px;border-radius:50%;background:var(--tone-bg-ffffff,#fff);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;}
.company-donut strong {font-size:22px;color:var(--tone-fg-223f65,#223f65);}
.company-donut>div>span {font-size:13px;color:var(--tone-fg-677e98,#677e98);}
.company-legend {padding:0;margin:0;list-style:none;display:grid;gap:14px;min-width:0;}
.company-legend li {display:flex;align-items:center;gap:10px;min-width:0;}
.company-legend li>span:last-child {display:grid;gap:4px;min-width:0;overflow-wrap:anywhere;}
.company-legend strong {font-size:13px;font-weight:500;}
.company-legend small {font-size:13px;color:var(--tone-fg-677e98,#677e98);}
.company-color {width:25px;height:25px;flex-shrink:0;border-radius:7px;display:grid;place-items:center;color:var(--tone-fg-ffffff,#ffffff);}
.company-color .icon {width:15px;height:15px;}
.company-empty {padding:30px 24px 45px;text-align:center;color:var(--tone-fg-73859d,#73859d);}
.company-empty>.icon {width:34px;height:34px;}
.company-all {margin:0 24px 24px;font-size:13px;}
.company-all ul {list-style:none;padding:0;}
.company-all li {display:flex;justify-content:space-between;gap:12px;padding:8px 0;border-bottom:1px solid var(--tone-border-edf1f6,#edf1f6);}
.company-chart-legend {display:flex;gap:16px;flex-wrap:wrap;font-size:13px;color:var(--tone-fg-627893,#627893);}
.company-chart-legend span {display:flex;align-items:center;gap:6px;}
.company-chart-legend i {display:inline-block;width:9px;height:9px;border-radius:3px;}
.company-overview .work {background:var(--tone-bg-326eb5,#326eb5);}
.company-overview .credit {background:var(--tone-bg-93b9df,#93b9df);}
.company-overview .target {background:var(--tone-bg-d8e2ef,#d8e2ef);}
.company-chart-scroll {overflow-x:auto;margin:0 24px;}
.company-months {display:grid;grid-template-columns:repeat(12,minmax(42px,1fr));gap:12px;min-width:640px;padding:14px 0 4px;}
.company-month {border:0;background:transparent;padding:0;display:flex;flex-direction:column;gap:10px;align-items:center;min-width:0;}
.company-month:hover {background:var(--tone-bg-f2f6fc,#f2f6fc);border-radius:6px;}
.company-month-value {font-size:13px;color:var(--tone-fg-45638a,#45638a);min-height:15px;}
.company-bars {height:155px;display:flex;align-items:flex-end;justify-content:center;gap:5px;width:100%;border-bottom:1px solid var(--tone-border-d4dfed,#d4dfed);}
.company-actual {width:16px;display:flex;flex-direction:column;border-radius:4px 4px 0 0;overflow:hidden;}
.company-actual i {display:block;min-height:0;}
.company-target {width:12px;background:var(--tone-bg-d8e2ef,#d8e2ef);border-radius:4px 4px 0 0;}
.company-target.missing {background:repeating-linear-gradient(135deg,var(--tone-bg-f1f4f9,#f1f4f9) 0px,var(--tone-bg-f1f4f9,#f1f4f9) 4px,var(--tone-bg-dae2ed,#dae2ed) 4px,var(--tone-bg-dae2ed,#dae2ed) 6px);}
.company-month-label {font-size:13px;color:var(--tone-fg-536d8d,#536d8d);}
.company-month.future .company-month-label {color:var(--tone-fg-8497ae,#8497ae);}
.company-footnote {font-size:13px;line-height:1.65;color:var(--tone-fg-687f99,#687f99);padding:14px 24px 20px;margin:0;}
.company-people {margin-bottom:20px;}
.company-people table {min-width:1000px;}
.company-people tbody th {font-weight:500;text-align:left;padding:16px 20px;}
.company-person {display:flex;align-items:center;gap:10px;border:0;background:none;color:var(--tone-fg-254b79,#254b79);text-align:left;padding:0;font-weight:600;}
.company-person>span:last-child {display:grid;gap:4px;}
.company-person small {font-size:13px;color:var(--tone-fg-70829a,#70829a);font-weight:400;}
.company-avatar {width:34px;height:34px;border-radius:10px;background:var(--tone-bg-edf3fb,#edf3fb);display:grid;place-items:center;}
.company-spark {height:32px;display:flex;gap:3px;width:110px;}
.company-spark>span {flex:1;position:relative;border-bottom:1px solid var(--tone-border-dbe3ee,#dbe3ee);}
.company-spark i {display:block;position:absolute;bottom:0;left:0;width:100%;min-height:0;border-radius:2px 2px 0 0;}
.company-spark i.work {width:65%;left:18%;}
.company-incomplete {display:block;color:var(--tone-fg-9b6922,#9b6922);font-size:13px;margin-top:4px;}
.company-negative {color:var(--tone-fg-a44848,#a44848);}
@media(max-width:1150px){.company-donut-layout{grid-template-columns:1fr;justify-items:center;gap:22px;}.company-legend{width:100%;}.company-count{display:none;}}
@media(max-width:700px){.company-distributions{grid-template-columns:1fr;}.company-donut-layout{grid-template-columns:135px 1fr;gap:16px;}.company-donut{width:135px;height:135px;}.company-donut>div{width:100px;height:100px;}.company-year .section-heading{align-items:flex-start;gap:12px;flex-direction:column;}.overview-tabs{display:flex;}.overview-tabs button{flex:1;justify-content:center;padding:12px;}.company-group select{max-width:100%;min-width:0;}}
@media(max-width:380px){.company-donut-layout{grid-template-columns:1fr;}}
/* Shared application accent; imported catalog colors remain independent. */
.sidebar {background:var(--brand-blue);color:var(--tone-fg-ffffff,#fff);}
.sidebar .brand,.sidebar .brand>.icon,.sidebar .nav-item,.sidebar .nav-label,.sidebar .sidebar-note,.sidebar .workspace strong,.sidebar .workspace small,.sidebar .profile,.sidebar .profile small {color:var(--tone-fg-ffffff,#fff);}
.sidebar .workspace,.sidebar .profile {background:var(--tone-bg-ffffff14,#ffffff14);border-color:var(--tone-border-ffffff38,#ffffff38);}
.sidebar .workspace-mark {background:var(--tone-bg-ffffff26,#ffffff26);color:var(--tone-fg-ffffff,#fff);border-radius:50%;}
.sidebar .nav-item:hover {background:var(--tone-bg-ffffff24,#ffffff24);}
.sidebar .nav-item.active {background:var(--tone-bg-ffffff,#fff);color:var(--tone-fg-07527e,#07527e);}
.sidebar .sidebar-note {border-color:var(--tone-border-ffffff38,#ffffff38);}
.sidebar .nav-dot {background:var(--tone-bg-ffffff,#fff);}
.button.primary,.quick-clock-toggle {background:var(--brand-blue);border-color:var(--brand-blue);color:var(--tone-fg-ffffff,#fff);}
.button.primary:hover,.quick-clock-toggle:hover {background:var(--brand-blue-hover);border-color:var(--brand-blue-hover);}
.company-overview .work {background:var(--brand-blue);}
.mail-test-area {padding:18px;background:var(--tone-bg-eef7fd,#eef7fd);border:1px solid var(--tone-border-cbe5f7,#cbe5f7);border-radius:12px;margin-top:20px;}
.mail-test-area p {margin:8px 0 12px;}
#smtp-test-result {margin-bottom:0;}
/* Shared clock controls:main page, detached window and kiosk. */
.button:is(.green,.yellow,.red){min-height:50px;border-radius:12px;font-weight:650;gap:10px;--clock-shadow:var(--tone-bg-2d62442e,#2d62442e);--clock-icon:var(--tone-bg-ffffff20,#ffffff20)}
.button.yellow{--clock-shadow:var(--tone-bg-91620b26,#91620b26);--clock-icon:var(--tone-bg-86580d12,#86580d12)}
.button.red{--clock-shadow:var(--tone-bg-9c34432b,#9c34432b)}
.button:is(.green,.yellow,.red)>.icon{width:15px;height:15px;padding:6px;box-sizing:content-box;border-radius:50%;background:var(--clock-icon);box-shadow:inset 0 1px 0 var(--tone-bg-ffffff20,#ffffff20);flex-shrink:0;transition:background .16s,transform .16s}
.button:is(.green,.yellow,.red):not(:disabled){box-shadow:0 3px 0 var(--clock-shadow),0 5px 12px var(--tone-bg-23395410,#23395410),inset 0 1px 0 var(--tone-bg-ffffff45,#ffffff45);transition:transform .16s,box-shadow .16s,filter .16s}
@media(hover:hover){.button:is(.green,.yellow,.red):not(:disabled):hover{filter:brightness(1.035);box-shadow:0 4px 0 var(--clock-shadow),0 8px 16px var(--tone-bg-2339541c,#2339541c),inset 0 1px 0 var(--tone-bg-ffffff50,#ffffff50);transform:translateY(-1px)}.button:is(.green,.yellow,.red):not(:disabled):hover>.icon{background:var(--tone-bg-ffffff30,#ffffff30);transform:scale(1.06)}.button.yellow:not(:disabled):hover>.icon{background:var(--tone-bg-86580d20,#86580d20)}}
.button:is(.green,.yellow,.red):not(:disabled):active{transform:translateY(2px);filter:brightness(.98);box-shadow:0 1px 0 var(--clock-shadow),inset 0 2px 4px var(--tone-bg-23395418,#23395418)}
.button:is(.green,.yellow,.red):focus-visible{outline:3px solid var(--tone-border-278bd2,#278bd2);outline-offset:3px}
.rest-choices{display:grid;gap:8px;margin:18px 0}.rest-choice{display:flex;gap:12px;align-items:flex-start;border:1px solid var(--tone-border-dce4ee,#dce4ee);border-radius:10px;padding:12px;cursor:pointer}.rest-choice:has(input:checked){border-color:var(--brand,var(--tone-border-278bd2,#278bd2));background:var(--tone-bg-eef7ff,#eef7ff)}.rest-choice input{width:auto;margin-top:3px;accent-color:var(--brand,var(--tone-bg-278bd2,#278bd2))}.rest-choice strong,.rest-choice small{display:block}.rest-choice small{margin-top:5px;color:var(--tone-fg-65778e,#65778e);line-height:1.5}.rest-choice:focus-within{outline:2px solid var(--tone-border-278bd2,#278bd2);outline-offset:2px}
@media(prefers-reduced-motion:reduce){.button:is(.green,.yellow,.red),.button:is(.green,.yellow,.red)>.icon{transition:none!important;transform:none!important}}
.request-filters{display:flex;gap:12px;align-items:end}.request-filters .field{margin:0;min-width:160px}.request-detail-row>td{padding:0 20px 14px!important}.request-detail-row summary{cursor:pointer;color:var(--tone-fg-627c99,#627c99);font-size:13px;padding:6px 0}.request-detail-row details[open]{background:var(--tone-bg-f7faff,#f7faff);border-radius:8px;padding:10px}.requests-table>tbody>tr:not(.request-detail-row)>td{border-bottom:0;padding-top:22px}.requests-table small{display:block;margin-top:7px}.requests-table .row-actions{flex-wrap:wrap}
@media(max-width:700px){.request-filters{flex-direction:column;align-items:stretch;width:100%}}
.production-icon-list{padding:0 20px 20px;max-height:65vh;overflow:auto}.production-icons{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.production-icons button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;background:var(--tone-bg-f7faff,#f7faff);border:1px solid var(--tone-border-dce7f3,#dce7f3);border-radius:12px;min-height:95px;padding:12px;color:var(--tone-fg-365c85,#365c85);font-size:13px;cursor:pointer}.production-icons button:hover,.production-icons button[aria-pressed=true]{border-color:var(--tone-border-278bd2,#278bd2);background:var(--tone-bg-e9f4fd,#e9f4fd)}.production-icons svg{width:30px;height:30px}.catalog-icon-picker{max-width:720px}.catalog-icon-trigger svg{width:25px;height:25px}.catalog-link-picks{display:grid;grid-template-columns:1fr 1fr;gap:8px;max-height:180px;overflow:auto}.catalog-link-picks label{display:flex;align-items:center;gap:8px}.catalog-link-picks input{width:auto}.pause-reminder{flex-wrap:wrap}.pause-reminder>[role=status]{flex:1;min-width:220px}
@media(max-width:600px){.production-icons{grid-template-columns:repeat(3,minmax(0,1fr))}}

.warning-actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;margin-top:12px}.warning-actions .button{font-size:13px;padding:7px 10px;background:var(--tone-bg-fffdf7,#fffdf7);border-color:var(--tone-border-e7ce98,#e7ce98);color:var(--tone-fg-72531e,#72531e)}.warning-actions .text-button{font-size:13px;color:var(--tone-fg-72531e,#72531e)}

.rest-choice-illustrated{align-items:center;gap:14px;padding:13px 14px;border-radius:12px;transition:background .15s,border-color .15s}
.rest-choice-illustrated:hover{background:var(--tone-bg-f7faff,#f7faff);border-color:var(--tone-border-b8cfe6,#b8cfe6)}
.rest-choice-illustrated:has(input:checked){background:var(--tone-bg-eef7ff,#eef7ff);border-color:var(--tone-border-278bd2,#278bd2)}
.rest-choice-symbol{display:flex;align-items:center;justify-content:center;flex:0 0 42px;width:42px;height:42px;border-radius:50%;background:var(--tone-bg-edf3fa,#edf3fa);color:var(--tone-fg-487ba7,#487ba7)}
.rest-choice-symbol>.icon{width:24px;height:24px;stroke-width:1.65}
.rest-symbol-pause{background:var(--tone-bg-fff3dd,#fff3dd);color:var(--tone-fg-a77724,#a77724)}.rest-symbol-undo_stop{background:var(--tone-bg-f0edfa,#f0edfa);color:var(--tone-fg-8067b3,#8067b3)}.rest-symbol-rest{background:var(--tone-bg-eef0fa,#eef0fa);color:var(--tone-fg-677eb2,#677eb2)}.rest-symbol-actual_work{background:var(--tone-bg-eaf4ed,#eaf4ed);color:var(--tone-fg-4f8b62,#4f8b62)}
.rest-choice-copy{flex:1;min-width:0}.rest-choice-illustrated input{flex:0 0 16px;width:16px;height:16px;margin:0}
.rest-choice-illustrated:has(input:focus-visible){outline:2px solid var(--tone-border-278bd2,#278bd2);outline-offset:2px}
.rest-choice-illustrated:focus-within:not(:has(input:focus-visible)){outline:none}
@media(max-width:480px){.rest-choice-illustrated{gap:10px;padding:12px 10px}.rest-choice-symbol{width:36px;height:36px;flex-basis:36px}.rest-choice-symbol>.icon{width:21px;height:21px}}
@media(prefers-reduced-motion:reduce){.rest-choice-illustrated{transition:none}}

.protection-banner{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 24px;background:var(--tone-bg-edf5ff,#edf5ff);color:var(--tone-fg-234e7a,#234e7a);border-bottom:1px solid var(--tone-border-c4d9f2,#c4d9f2);position:relative;z-index:15;font-size:13px}.protection-banner.urgent{background:var(--tone-bg-fff1e9,#fff1e9);color:var(--tone-fg-854326,#854326);border-color:var(--tone-border-ecc5ad,#ecc5ad)}.protection-banner .button{flex-shrink:0}.protection-toolbar{max-width:230px}@media(max-width:600px){.protection-banner{padding:12px;flex-wrap:wrap}}

/* Compact detail timeline:respond to available card width, including team sidebar. */
.day-detail {container-type:inline-size;}
.day-detail>summary {padding:16px 22px;background:var(--tone-bg-ffffff,#fff);}
.day-detail[open]>summary {background:var(--tone-bg-f1f6fc,#f1f6fc);border-bottom:1px solid var(--tone-border-e1eaf5,#e1eaf5);}
.day-detail>summary>div:first-child>strong {font-size:17px;font-weight:700;letter-spacing:-.2px;color:var(--tone-fg-244565,#244565);}
.day-detail>summary>div:first-child>span {font-size:13px;}
.day-detail>summary>div:last-child>strong {font-size:14px;white-space:nowrap;}
.time-timeline {padding:4px 18px;}
.timeline-entry {grid-template-columns:64px minmax(0,1fr) auto auto;gap:14px;padding:9px 0;min-height:56px;}
.timeline-entry>time {align-self:center;padding-top:0;font-size:13px;}
.timeline-activity {min-width:0;min-height:32px;gap:10px;padding-left:12px;border-left-width:2px;}
.timeline-copy {min-width:0;}
.timeline-service {font-size:13px;line-height:1.4;overflow-wrap:anywhere;}
.timeline-project {font-size:13px;line-height:1.4;}
.timeline-activity .timeline-note {margin-top:3px;font-size:13px;line-height:1.5;overflow-wrap:anywhere;}
.timeline-activity>.catalog-mark {width:26px;height:26px;flex:0 0 26px;}
.timeline-project .catalog-copy {min-width:0;}
.timeline-project .catalog-copy>span {overflow-wrap:anywhere;}
.timeline-project .catalog-copy>small {margin:0;font-size:13px;}
.timeline-duration {gap:4px;white-space:nowrap;}
.timeline-marker {align-items:center;padding:8px 0;gap:14px;min-height:40px;}
.timeline-marker time {min-width:64px;font-size:13px;}
.timeline-marker.gap {padding-left:78px;}
.timeline-marker.live:before {margin-left:78px;}
@container (min-width:850px) {
 .timeline-copy {display:flex;align-items:center;gap:8px 20px;flex-wrap:wrap;width:100%;}
 .timeline-copy>.timeline-service {flex:0 1 auto;}
 .timeline-copy>.timeline-project {flex:1 1 200px;margin:0;}
 .timeline-copy>.timeline-note {flex-basis:100%;}
 .timeline-project .catalog-project {display:inline-flex;align-items:center;gap:6px;}
 .timeline-project .catalog-copy {display:flex;align-items:baseline;gap:8px;flex-wrap:wrap;}
 .timeline-project .catalog-copy>small {padding-left:8px;border-left:1px solid var(--tone-border-cbd8e7,#cbd8e7);}
 .timeline-project .catalog-mark {width:22px;height:22px;flex:0 0 22px;}
 .timeline-duration {display:flex;align-items:center;gap:12px;}
}
@container (max-width:600px) {
 .day-detail>summary {padding:14px 12px;align-items:flex-start;}
 .day-detail>summary>div {gap:6px;}
 .day-detail>summary>div:first-child {flex-wrap:wrap;}
 .day-detail>summary>div:first-child>strong {font-size:16px;}
 .day-detail>summary>div:last-child {flex-wrap:wrap;justify-content:flex-end;}
 .time-timeline {padding:4px 10px;}
 .timeline-entry {grid-template-columns:46px minmax(0,1fr) auto;gap:6px 8px;padding:9px 0;}
 .timeline-entry .row-actions {grid-column:2 / -1;justify-content:flex-end;}
 .timeline-activity {padding-left:8px;gap:7px;}
 .timeline-marker time {min-width:46px;}
 .timeline-marker {gap:8px;flex-wrap:wrap;}
 .timeline-marker.gap {padding-left:54px;}
 .timeline-marker.live:before {margin-left:54px;}
}
@media(pointer:coarse){.timeline-entry .icon-button,.timeline-marker .icon-button{min-width:44px;min-height:44px;}}

.times-total-label{display:flex;align-items:center;gap:6px;line-height:1.4}.times-total-label>.icon{width:15px;height:15px;flex:0 0 15px;color:var(--tone-fg-6783a6,#6783a6)}.times-totals>span{min-width:0}.times-totals strong{margin-top:6px}

/* A soft band distinguishes actual pause entries without changing the column grid. */
.timeline-entry.is-break {background:var(--tone-bg-fff8e7,#fff8e7);box-shadow:-8px 0 var(--tone-bg-fff8e7,#fff8e7),8px 0 var(--tone-bg-fff8e7,#fff8e7);border-bottom-color:var(--tone-border-ede3c9,#ede3c9);}
.timeline-entry.is-break .timeline-activity {border-left-color:var(--tone-border-dfbc57,#dfbc57);}
.timeline-entry.is-break .timeline-activity>.icon {color:var(--tone-fg-92701e,#92701e);}

/* Shared right-hand columns keep daily totals and every entry duration aligned. */
@container (min-width:850px) {
 .day-detail>summary {padding-left:18px;padding-right:18px;}
 .day-detail>summary>div:last-child {display:grid;grid-template-columns:auto 100px 76px 134px;gap:14px;align-items:center;}
 .day-detail>summary>div:last-child>span {grid-column:1;white-space:nowrap;}
 .day-detail>summary>div:last-child>strong {grid-column:2;text-align:right;}
 .day-detail>summary>div:last-child>.icon {grid-column:4;justify-self:end;margin-right:8px;}
 .timeline-entry {grid-template-columns:64px minmax(0,1fr) 190px 134px;}
 .timeline-duration {display:grid;grid-template-columns:100px 76px;gap:14px;align-items:center;}
 .timeline-duration>span:first-child {justify-self:end;}
 .timeline-duration>.badge {justify-self:start;}
 .timeline-entry>.row-actions {width:134px;}
}
@media(pointer:coarse){
 @container (min-width:850px){
  .day-detail>summary>div:last-child {grid-template-columns:auto 100px 76px 182px;}
  .timeline-entry {grid-template-columns:64px minmax(0,1fr) 190px 182px;}
  .timeline-entry>.row-actions {width:182px;}
 }
}

/* Additional work is distinct from safety warnings:a muted violet segment. */
.bar.bar-work-stack,.chart-col.today .bar.bar-work-stack{display:flex;flex-direction:column;overflow:hidden;background:transparent;}
.bar-regular{background:var(--tone-bg-a7c6e9,#a7c6e9);width:100%;flex-shrink:0;}
.chart-col.today .bar-regular{background:var(--tone-bg-397cc6,#397cc6);}
.bar-extra{background:var(--tone-bg-9285b6,#9285b6);width:100%;flex-shrink:0;}
.week-chart-key{display:flex;align-items:center;justify-content:flex-end;gap:6px;margin:4px 24px 0;font-size:13px;color:var(--tone-fg-71809a,#71809a);}
.week-chart-key>span{width:8px;height:8px;border-radius:3px;background:var(--tone-bg-9285b6,#9285b6);}
.chart-col:focus-visible{outline:2px solid var(--tone-border-7c9dc5,#7c9dc5);outline-offset:3px;border-radius:5px;}
/* Shared person filters:searchable single and multiple selection. */
.people-picker{position:relative;min-width:220px;max-width:100%;align-self:end;text-align:left}
.people-picker>summary{display:flex;align-items:center;gap:10px;list-style:none;cursor:pointer;min-height:42px;background:var(--tone-bg-ffffff,#ffffff);font-weight:600}
.people-picker>summary::-webkit-details-marker{display:none}
.people-picker>summary span{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.people-picker>summary .icon{width:18px;height:18px;flex-shrink:0;color:var(--tone-fg-6386ac,#6386ac)}
.people-picker[open]>summary{border-color:var(--tone-border-5a9cd0,#5a9cd0);box-shadow:0 0 0 3px var(--tone-bg-e5f1fb,#e5f1fb)}
.people-picker-panel{position:absolute;top:calc(100% + 8px);right:0;width:360px;max-width:calc(100vw - 40px);padding:12px;background:var(--tone-bg-ffffff,#ffffff);border:1px solid var(--tone-border-d7e2ef,#d7e2ef);border-radius:16px;box-shadow:0 16px 44px var(--tone-bg-203b6029,#203b6029);z-index:80}
.people-picker-search{width:100%;margin-bottom:8px}
.people-picker-list{max-height:300px;overflow-y:auto;overscroll-behavior:contain}
.people-picker-row{display:flex;align-items:center;gap:10px;padding:10px 8px;border-radius:10px;cursor:pointer;margin:2px 0}
.people-picker-row:hover{background:var(--tone-bg-f2f7fc,#f2f7fc)}
.people-picker-row:has(input:checked){background:var(--tone-bg-eaf4fd,#eaf4fd)}
.people-picker-row input{width:17px;height:17px;accent-color:var(--tone-bg-288acc,#288acc);flex-shrink:0;margin:0}
.people-picker-row strong{display:block;font-size:13px;color:var(--tone-fg-30465f,#30465f)}
.people-picker-row small{display:block;font-size:13px;color:var(--tone-fg-74869e,#74869e);margin-top:3px}
.people-picker-avatar{display:flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:50%;background:var(--tone-bg-e4edf8,#e4edf8);color:var(--tone-fg-4777a5,#4777a5);font-size:13px;flex-shrink:0;overflow:hidden}
.people-picker-avatar img{width:100%;height:100%;object-fit:cover}
.people-picker-tools{display:flex;justify-content:space-between;align-items:center;padding:5px 3px 10px;font-size:13px;color:var(--tone-fg-70849d,#70849d)}
.people-picker-panel footer{display:flex;justify-content:flex-end;gap:8px;padding-top:12px;border-top:1px solid var(--tone-border-e5edf6,#e5edf6);margin-top:8px}
.people-picker-empty{font-size:13px;color:var(--tone-fg-70849d,#70849d);padding:15px}
.people-picker [hidden]{display:none!important}
.viewed-person-summary{display:grid;gap:22px;padding:24px;color:var(--tone-fg-647e9b,#647e9b)}
.viewed-person-summary>strong{font-size:44px;color:var(--tone-fg-2e4562,#2e4562);font-weight:500}
@media(max-width:600px){.people-picker{width:100%}.people-picker-panel{left:0;right:auto;width:min(360px,calc(100vw - 48px))}.people-picker-list{max-height:240px}}

/* Align the shared person picker with labelled native filters. */
.calendar-filters{align-items:end}
.people-filter-field>.people-picker{min-width:0;width:100%;align-self:stretch}
.people-filter-field>.people-picker>summary{height:39px;min-height:39px;padding:10px 12px}
/* Compact, scannable absence requests; expanded day details take space only on demand. */
.request-filter-bar{display:grid;grid-template-columns:minmax(220px,1.3fr) repeat(3,minmax(150px,1fr));gap:14px;padding:0 24px 18px;align-items:end}
.request-filter-bar .field{margin:0}
.requests-card>.section-heading{padding-bottom:14px}
.requests-table{width:100%}
.requests-table>thead>tr>th{font-size:13px;padding:12px 18px;color:var(--tone-fg-60758d,#60758d)}
.requests-table>tbody>.request-main-row>td{padding:12px 18px!important;border-bottom:1px solid var(--tone-border-e6edf5,#e6edf5);font-size:14px;vertical-align:middle}
.request-person{display:flex;align-items:center;gap:10px;min-width:140px}
.request-person strong{font-size:14px;font-weight:600}
.request-person .people-picker-avatar{width:30px;height:30px}
.request-period{display:flex;align-items:center;gap:10px;white-space:nowrap}
.request-period strong{font-size:14px;font-weight:600}
.request-days{font-variant-numeric:tabular-nums;font-weight:600;white-space:nowrap}
.requests-table .absence-mark{font-size:13px}
.request-status{display:inline-flex;align-items:center;gap:6px;font-size:13px;font-weight:600;white-space:nowrap;color:var(--tone-fg-69798c,#69798c)}
.request-status .icon{width:15px;height:15px}
.request-status-approved{color:var(--tone-fg-34754c,#34754c)}.request-status-pending{color:var(--tone-fg-976619,#976619)}.request-status-rejected{color:var(--tone-fg-b24953,#b24953)}
.requests-table .row-actions{gap:7px;flex-wrap:nowrap}
.request-action{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:34px;padding:7px 10px;font-size:13px;white-space:nowrap}
.request-action .icon{width:15px;height:15px;flex-shrink:0}
.request-action-approved{background:var(--tone-bg-e8f5ed,#e8f5ed);color:var(--tone-fg-276742,#276742);border-color:var(--tone-border-bdddc9,#bdddc9)}
.request-action-approved:hover{background:var(--tone-bg-d6ecdf,#d6ecdf);border-color:var(--tone-border-92bda4,#92bda4)}
.request-action-rejected{background:var(--tone-bg-fbecef,#fbecef);color:var(--tone-fg-a13f50,#a13f50);border-color:var(--tone-border-edc8d0,#edc8d0)}
.request-action-rejected:hover{background:var(--tone-bg-f5dce2,#f5dce2);border-color:var(--tone-border-dca5b0,#dca5b0)}
.request-action-cancelled{background:var(--tone-bg-fff5e6,#fff5e6);color:var(--tone-fg-94651f,#94651f);border-color:var(--tone-border-ebd5b0,#ebd5b0)}
.request-action-cancelled:hover{background:var(--tone-bg-fbeacd,#fbeacd);border-color:var(--tone-border-d8b980,#d8b980)}
.request-details-toggle{background:var(--tone-bg-f3f7fc,#f3f7fc);color:var(--tone-fg-426c97,#426c97);border-color:var(--tone-border-d8e4f1,#d8e4f1)}
.request-details-toggle[aria-expanded=true] .icon{transform:rotate(90deg)}
.request-actions-heading{text-align:right}
.requests-table>.request-detail-row[hidden],.requests-table>tbody>.request-detail-row[hidden]{display:none!important}
.requests-table>tbody>.request-detail-row>td{padding:10px 18px 16px!important;background:var(--tone-bg-f4f8fc,#f4f8fc)}
.request-pagination{display:flex;justify-content:space-between;align-items:center;padding:14px 20px;gap:12px;font-size:13px;color:var(--tone-fg-6c8099,#6c8099)}
.request-pagination>div{display:flex;align-items:center;gap:12px}
.request-pagination .button{min-height:32px;padding:5px 11px}
@media(max-width:1050px){.request-filter-bar{grid-template-columns:repeat(2,minmax(0,1fr))}.requests-table{min-width:940px}}
@media(max-width:600px){.request-filter-bar{grid-template-columns:1fr;padding:0 16px 16px}.request-pagination{flex-wrap:wrap}.requests-table .request-action{min-height:42px}}

/* Clocked-out intervals:a quiet rose tint, distinct from yellow breaks. */
.timeline-marker.gap,
.timeline-marker.stop{background:var(--tone-bg-fbf0f1,#fbf0f1);box-shadow:-8px 0 var(--tone-bg-fbf0f1,#fbf0f1),8px 0 var(--tone-bg-fbf0f1,#fbf0f1);color:var(--tone-fg-86636b,#86636b)}

/* Clock-out is a primary timeline event, with the same type scale as work. */
.timeline-marker.stop{min-height:48px;color:var(--tone-fg-425b76,#425b76)}
.timeline-marker.stop>time,
.timeline-marker.stop>span{font-size:13px;font-weight:600;line-height:1.4}
.timeline-marker.stop{color:var(--tone-fg-795761,#795761)}
.pause-warning-detail{margin:10px 24px;color:var(--tone-fg-94702f,#94702f);font-size:13px}
.pause-warning-detail>summary{display:flex;align-items:center;gap:8px;cursor:pointer;list-style:none;min-height:32px}
.pause-warning-detail>summary::-webkit-details-marker{display:none}
.pause-warning-detail>summary>.icon,.day-content>.warning-line>.icon{width:15px;height:15px;flex:0 0 15px}
.pause-warning-why{font-weight:600;text-decoration:underline;text-underline-offset:3px}
.pause-warning-detail>div{background:var(--tone-bg-fffaf0,#fffaf0);border:1px solid var(--tone-border-eddfbf,#eddfbf);border-radius:10px;padding:12px 16px;margin:6px 0 12px;color:var(--tone-fg-52657c,#52657c);max-width:850px;line-height:1.6;font-size:13px}
.pause-warning-detail p{margin:0 0 10px}.pause-warning-detail ul{padding-left:20px;margin:10px 0}.pause-warning-detail li{margin:4px 0}

/* One aligned information box for the day's review hints. */
.day-notices{margin:12px 18px;border:1px solid var(--tone-border-e8dcc2,#e8dcc2);border-radius:10px;background:var(--tone-bg-fffcf5,#fffcf5);overflow:hidden}
.day-notices>.warning-line{margin:0;padding:10px 14px;align-items:center;gap:8px;color:var(--tone-fg-92713c,#92713c);font-size:13px;line-height:1.5}
.day-notices>.pause-warning-detail{margin:0;font-size:13px;color:var(--tone-fg-92713c,#92713c)}
.day-notices>.pause-warning-detail>summary{padding:10px 14px;line-height:1.5;min-height:0}
.day-notices>.warning-line>.icon{width:15px;height:15px;flex:0 0 15px}
.day-notices>.pause-warning-detail>div{margin:0 14px 12px;background:var(--tone-bg-ffffff,#fff);border-color:var(--tone-border-ece2ce,#ece2ce)}
.day-notices>.pause-warning-detail>summary>.pause-warning-why{white-space:nowrap}
@container(max-width:600px){.day-notices{margin:10px}.day-notices>.pause-warning-detail>summary{align-items:flex-start}.day-notices>.pause-warning-detail>summary>.icon{margin-top:2px}}

/* Consistent calendar disclosure icons, independent of font rendering. */
.period-chevron {display:inline-flex;align-items:center;justify-content:center;flex:0 0 20px;width:20px;height:20px;color:var(--tone-fg-7188a1,#7188a1);vertical-align:middle}
.period-chevron svg {width:16px;height:16px;transform:rotate(90deg);stroke-width:2}
.period-select>.period-chevron {margin-left:4px}
.period-select:hover .period-chevron,.period-year:hover .period-chevron {color:var(--tone-fg-286fa6,#286fa6)}

/* Account navigation stays separate from daily work. */
.profile-menu {position:relative}
.profile-menu>summary {list-style:none;cursor:pointer}
.profile-menu>summary::-webkit-details-marker {display:none}
.profile-menu>summary:focus-visible {outline:2px solid var(--tone-border-ffffff,#fff);outline-offset:3px}
.profile-menu[open]>.profile {box-shadow:inset 0 0 0 1px var(--tone-bg-ffffff50,#ffffff50)}
.profile-menu-panel {position:absolute;bottom:calc(100% + 10px);left:0;width:244px;max-width:calc(100vw - 24px);padding:8px;background:var(--tone-bg-ffffff,#fff);color:var(--tone-fg-25445f,#25445f);border:1px solid var(--tone-border-dce6ef,#dce6ef);border-radius:14px;box-shadow:0 12px 36px var(--tone-bg-17375326,#17375326);z-index:100;max-height:65vh;overflow-y:auto}
.profile-menu-heading {display:block;padding:10px 12px 8px;font-size:13px;font-weight:700;letter-spacing:.09em;color:var(--tone-fg-7890a6,#7890a6)}
.profile-menu-panel button {display:flex;align-items:center;gap:12px;width:100%;border:0;border-radius:8px;padding:12px;background:transparent;color:inherit;font:inherit;font-size:13px;text-align:left;cursor:pointer}
.profile-menu-panel button>.icon {width:18px;height:18px;color:var(--tone-fg-6685a0,#6685a0);flex-shrink:0}
.profile-menu-panel button:hover,.profile-menu-panel button[aria-current] {background:var(--tone-bg-edf5fc,#edf5fc);color:var(--tone-fg-246d9f,#246d9f)}
.profile-menu-panel button:focus-visible {outline:2px solid var(--tone-border-368fc2,#368fc2);outline-offset:-2px}
.profile-menu-panel .profile-menu-logout {border-top:1px solid var(--tone-border-e8edf3,#e8edf3);border-radius:0;margin-top:5px;color:var(--tone-fg-8b5b63,#8b5b63)}
@media(max-width:720px){
 .sidebar {display:flex;align-items:center;gap:5px}
 .sidebar nav {flex:1;min-width:0}
 .sidebar .sidebar-bottom {display:block;margin:0;padding:0;flex:0 0 46px}
 .profile-menu-panel {left:auto;right:0;bottom:calc(100% + 16px)}
 .profile-menu .profile {min-height:48px}
}

.personal-settings-tabs {flex-wrap:wrap;margin-bottom:24px}
.personal-setting-card {display:flex;align-items:center;justify-content:space-between;gap:20px;padding:24px;margin-bottom:16px}
.personal-setting-card h2 {margin:0 0 8px}
.personal-setting-card p {margin:0}
.personal-settings-form {background:var(--tone-bg-ffffff,#fff);border:1px solid var(--tone-border-dce6ef,#dce6ef);border-radius:14px;padding:28px;max-width:1050px}
.personal-settings-form>h2 {margin:0 0 18px}
.personal-settings-form>footer {display:flex;align-items:center;justify-content:flex-end;gap:16px;border-top:1px solid var(--tone-border-e3eaf2,#e3eaf2);margin-top:24px;padding-top:20px}
@media(max-width:600px){.personal-setting-card{align-items:flex-start;flex-direction:column}.personal-settings-form{padding:18px}.personal-settings-tabs{display:flex}}

/* Open person filters must extend beyond the table card. */
.card:has(.people-picker[open]) {overflow:visible;position:relative;z-index:10}
.people-picker-panel {display:flex;flex-direction:column;max-height:min(520px,calc(100dvh - 32px))}
.people-picker-panel>.people-picker-list {min-height:0;flex:1 1 auto}
.people-picker-panel>footer,.people-picker-tools,.people-picker-search {flex-shrink:0}
.people-picker-panel>footer {background:var(--tone-bg-ffffff,#fff)}

.administration-tabs {display:flex;flex-wrap:wrap;gap:6px;margin-bottom:24px}
.administration-tabs button {white-space:nowrap}
.administration-content {min-width:0}
@media(max-width:600px){.administration-tabs{gap:4px}.administration-tabs button{flex:1 1 auto}}

.protection-notice-options .check-label{align-items:flex-start;padding:12px;border:1px solid var(--tone-border-e1e9f2,#e1e9f2);border-radius:10px;margin:10px 0}.protection-notice-options small{display:block;margin-top:5px;color:var(--tone-fg-71849a,#71849a);line-height:1.5}

.template-members {padding:16px 20px;border-top:1px solid var(--tone-border-e3ebf5,#e3ebf5);display:grid;gap:10px;font-size:13px}
.template-members>div {display:flex;flex-wrap:wrap;gap:8px}
.model-person-link {display:inline-flex;gap:8px;align-items:center;border:1px solid var(--tone-border-e0e9f3,#e0e9f3);border-radius:24px;background:var(--tone-bg-ffffff,#ffffff);padding:5px 12px 5px 5px;color:var(--tone-fg-355673,#355673);cursor:pointer}
.model-person-link .people-picker-avatar {width:26px;height:26px}
.model-person {padding:22px;border-top:1px solid var(--tone-border-e1e9f2,#e1e9f2)}
.model-person[hidden] {display:none}
.model-person>header {display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:16px}
.model-person>header small,.model-period small {display:block;color:var(--tone-fg-72869d,#72869d);margin-top:5px;font-size:13px}
.model-period {display:grid;grid-template-columns:minmax(230px,1fr) minmax(250px,1fr) 36px;align-items:center;gap:18px;border-left:3px solid var(--tone-border-dfe6ef,#dfe6ef);padding:14px 16px;background:var(--tone-bg-fafbfd,#fafbfd);margin-top:8px;font-size:13px}
.model-period.current {border-left-color:var(--tone-border-398fc3,#398fc3);background:var(--tone-bg-f0f7fc,#f0f7fc)}
.model-period .badge {margin-right:10px}
.model-gap {font-size:13px;color:var(--tone-fg-8a713e,#8a713e);padding:8px 12px}
@media(max-width:700px){.model-person>header{align-items:flex-start;flex-direction:column}.model-person .row-actions{flex-wrap:wrap}.model-period{grid-template-columns:1fr 36px}.model-period>div:nth-child(2){grid-column:1}.model-period>button{grid-column:2;grid-row:1 / 3}}

.work-settings-tabs{display:inline-flex;gap:4px;margin-bottom:22px;background:var(--tone-bg-edf2f8,#edf2f8)}.work-settings-tabs button{font-size:13px}

.protection-settings-row{display:flex;align-items:center;gap:18px;padding:22px 24px;border-top:1px solid var(--tone-border-e1e9f2,#e1e9f2)}
.protection-setting-icon{display:grid;place-items:center;flex:0 0 40px;height:40px;border-radius:50%;background:var(--tone-bg-edf5fc,#edf5fc);color:var(--tone-fg-4c84ac,#4c84ac)}
.protection-setting-icon .icon{width:20px;height:20px}
.protection-settings-row>div{flex:1;min-width:0}.protection-settings-row h3{font-size:15px;margin:0 0 6px}.protection-settings-row p{margin:0;color:var(--tone-fg-72849a,#72849a);line-height:1.5;font-size:13px}
@media(max-width:650px){.protection-settings-row{flex-wrap:wrap;padding:18px}.protection-settings-row>.button{margin-left:58px}}

.protection-inline-form{padding:24px;border-top:1px solid var(--tone-border-e1e9f2,#e1e9f2)}
.protection-inline-form>h3{font-size:18px;margin:0 0 20px}.protection-inline-form h4{font-size:13px;color:var(--tone-fg-6d829a,#6d829a);margin:0 0 8px}
.protection-inline-form .protection-notice-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.protection-inline-form .protection-notice-options .check-label{margin:0;padding:16px;gap:12px;background:var(--tone-bg-fafcfe,#fafcfe)}
.protection-inline-form .protection-notice-options input{flex-shrink:0;margin-top:3px;accent-color:var(--tone-bg-368ec2,#368ec2)}
.protection-inline-form>.section-heading{padding:20px 0 12px}
.protection-inline-form>.field{max-width:620px;margin-top:20px}
.protection-inline-form>footer{display:flex;justify-content:flex-end;align-items:center;gap:16px;margin-top:20px}
@media(max-width:700px){.protection-inline-form{padding:18px}.protection-inline-form .protection-notice-options{grid-template-columns:1fr}}

.protection-home-title{display:flex;align-items:center;gap:12px}.protection-home-title>.icon{width:23px;height:23px;flex-shrink:0;color:var(--tone-fg-4c84ac,#4c84ac)}

/* Consistent symbols and readable reminder copy. */
#pause-reminder-text{display:flex;align-items:flex-start;gap:12px;flex:1 1 420px;min-width:0;line-height:1.55}
#pause-reminder-text strong{display:block;font-size:15px}
#pause-reminder-text p{margin:5px 0;font-size:13px}
#pause-reminder-text small{display:block;margin-top:8px;font-size:13px}
.notice-symbol{display:grid;place-items:center;flex:none;width:36px;height:36px;border-radius:50%;background:rgba(185,133,24,.10)}
.notice-symbol svg{width:22px;height:22px}
.pause-reminder.gentle .notice-symbol{background:rgba(53,126,199,.10)}
.toast{display:flex;align-items:flex-start;gap:10px}.toast>svg,.reminder-popup>div>svg,.forgotten-clock-banner>svg{width:20px;height:20px;flex:none}
@media(max-width:700px){#pause-reminder-text{flex:auto}}

.pause-progress{color:var(--tone-fg-496581,#496581)}.notice.pause-progress{background:var(--tone-bg-edf4fc,#edf4fc);border-color:var(--tone-border-d5e3f3,#d5e3f3)}

.overview-tabs button > .icon{width:18px;height:18px;flex:none}

.quota-inline-action{margin-top:7px}.quota-inline-action .button{padding:5px 9px;font-size:13px;min-height:30px}

/* Keep quota actions at the right edge of their own, contained table. */
.absence-usage-card{min-width:0;max-width:100%}
.absence-usage-card .table-scroll{max-width:100%;overflow-x:auto}
.absence-usage-table{table-layout:fixed;width:100%;min-width:720px}
.absence-usage-table th,.absence-usage-table td{padding:14px 12px;white-space:normal;overflow-wrap:anywhere;min-width:0}
.absence-usage-table th:first-child{width:19%}
.absence-usage-table th:nth-child(2){width:21%}
.absence-usage-table .quota-actions{width:136px;text-align:center;position:sticky;right:0;background:var(--tone-bg-ffffff,#fff);z-index:1;box-shadow:-1px 0 var(--tone-bg-e5edf6,#e5edf6)}
.absence-usage-table th:nth-child(n+3),.absence-usage-table td:nth-child(n+3){text-align:center}
.absence-usage-table thead .quota-actions{background:var(--tone-bg-f7f9fc,#f7f9fc);z-index:2}
.absence-usage-table .quota-actions .button{max-width:100%;padding:7px 9px;gap:6px;white-space:normal;font-size:13px}
.absence-usage-table .quota-actions .icon{flex:none;width:16px;height:16px}
.absence-usage-table .absence-mark{max-width:100%;white-space:normal}

.balance-chart-scroll{overflow-x:auto;max-width:100%;padding:0 12px}.balance-chart{display:block;width:100%;height:auto}.chart-axis{font-size:13px;fill:var(--tone-fg-526c88,#526c88)}.chart-axis-caption{font-size:13px;fill:var(--tone-fg-526c88,#526c88)}.chart-grid{stroke:var(--tone-fg-e9eef5,#e9eef5);stroke-width:1}.saldo-line{fill:none;stroke:var(--tone-fg-8d7ca9,#8d7ca9);stroke-width:2;vector-effect:non-scaling-stroke;stroke-linejoin:round}.saldo-zero{stroke:var(--tone-fg-8d7ca9,#8d7ca9);stroke-opacity:.4;stroke-dasharray:4 5;vector-effect:non-scaling-stroke}.saldo-point{fill:var(--tone-fg-8d7ca9,#8d7ca9);stroke:var(--tone-fg-ffffff,#ffffff);stroke-width:1}.saldo-axis{fill:var(--tone-fg-7a6997,#7a6997)}.saldo-toggle{display:inline-flex;align-items:center;gap:6px;cursor:pointer}.saldo-toggle input{width:auto;margin:0}.saldo-legend-line{width:18px;height:2px;background:var(--tone-bg-8d7ca9,#8d7ca9)}.balance-chart g:focus{outline:none}.balance-chart g:focus .saldo-point{stroke:var(--tone-fg-23466b,#23466b);stroke-width:2}

.saldo-continuation{stroke:var(--tone-fg-a6adb8,#a6adb8);stroke-width:2;stroke-dasharray:6 5;stroke-opacity:.7;vector-effect:non-scaling-stroke}

.end-suggestion{align-items:flex-start;background:var(--tone-bg-f0f6fd,#f0f6fd);border-color:var(--tone-border-d3e2f4,#d3e2f4);margin:12px 0 22px;line-height:1.6}.end-suggestion>.icon{flex:none;margin-top:2px;color:var(--tone-fg-357ec7,#357ec7)}.end-suggestion strong{display:block;color:var(--tone-fg-284d75,#284d75);font-size:13px;margin-bottom:4px}.end-suggestion p{margin:0}

.week-card .week-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(125px,1fr));gap:16px 20px}.week-card .week-summary>div{min-width:0}.week-card .week-summary span{display:flex;align-items:center;gap:6px;margin-top:6px}.week-card .week-summary .icon{width:15px;height:15px;flex:none}.week-card .week-summary strong{font-variant-numeric:tabular-nums}

.week-target-info{display:inline-flex;align-items:center;gap:6px;margin-top:6px;padding:0;border:0;background:transparent;color:var(--tone-fg-5c6c82,#5c6c82);font:inherit;font-size:13px;line-height:1.55;text-align:left}.week-target-info:hover{color:var(--tone-fg-246bb0,#246bb0)}.week-target-info .icon{width:15px;height:15px;flex:none}

.week-summary .target-balance.ahead{color:var(--tone-fg-23816a,#23816a)}.week-summary .target-balance.remaining{color:var(--tone-fg-b34d53,#b34d53)}

.team-actions-cell{width:300px;vertical-align:middle}.team-person-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;min-width:260px;max-width:300px;margin-left:auto}.team-person-actions .button{display:inline-flex;align-items:center;justify-content:flex-start;gap:7px;min-height:34px;padding:7px 10px;font-size:13px;white-space:nowrap}.team-person-actions .icon{width:15px;height:15px;flex:none}.team-person-actions .team-archive-action{background:var(--tone-bg-fff8ed,#fff8ed);border-color:var(--tone-border-ecd6b4,#ecd6b4);color:var(--tone-fg-966122,#966122)}.team-person-actions .team-archive-action:hover{background:var(--tone-bg-fff0da,#fff0da)}.team-person-actions .team-restore-action{background:var(--tone-bg-f0f8f4,#f0f8f4);border-color:var(--tone-border-cee5d9,#cee5d9);color:var(--tone-fg-28785c,#28785c)}.team-actions-heading{text-align:left}

.team-table-container{container-type:inline-size;container-name:team-table}
@container team-table (min-width:1200px){
 .team-people-table{table-layout:fixed;width:100%}
 .team-people-table th:nth-child(1){width:22%}
 .team-people-table th:nth-child(2){width:21%}
 .team-people-table th:nth-child(3){width:14%}
 .team-people-table th:nth-child(4){width:8%}
 .team-people-table th:nth-child(5){width:35%}
 .team-people-table th,.team-people-table td{padding-left:14px;padding-right:14px}
 .team-people-table td:not(.team-actions-cell){overflow-wrap:anywhere;white-space:normal}
 .team-people-table .team-actions-cell{width:auto}
 .team-person-actions{display:flex;flex-wrap:wrap;min-width:0;max-width:none;margin-left:0;gap:6px}
 .team-person-actions .button{flex:0 0 auto;padding:7px 8px;gap:5px}
 .team-people-table .entity-cell>div{min-width:0}
}

.team-group-label{display:flex;align-items:center;gap:12px;min-width:0}.team-group-icon{display:grid;place-items:center;flex:none;width:34px;height:34px;border-radius:9px;background:var(--tone-bg-edf4fc,#edf4fc);color:var(--tone-fg-517ca9,#517ca9)}.team-group-icon .icon{width:19px;height:19px}

.avatar img{width:100%;height:100%;object-fit:cover;border-radius:inherit}.photo-dropzone{border:2px dashed var(--tone-border-c8d9eb,#c8d9eb);border-radius:12px;background:var(--tone-bg-f7faff,#f7faff);padding:22px;display:flex;flex-direction:column;gap:14px;align-items:center}.photo-dropzone>.icon{width:30px;height:30px;color:var(--tone-fg-4c80b3,#4c80b3)}.photo-dropzone .field{width:100%}.photo-dropzone.drag-over{border-color:var(--tone-border-278ad0,#278ad0);background:var(--tone-bg-eaf4ff,#eaf4ff)}.photo-dropzone #photo-preview{display:flex;align-items:center;gap:14px;overflow-wrap:anywhere;max-width:100%}.photo-dropzone #photo-preview img{width:84px;height:84px;object-fit:cover;border-radius:50%;flex:none}.photo-dropzone #photo-preview span{font-size:13px;color:var(--tone-fg-526c88,#526c88)}

.personal-profile-heading{display:flex;align-items:center;gap:12px}.personal-profile-heading .avatar{width:52px;height:52px;flex:none}

.scope-picker{margin:0 0 14px}.scope-picker>summary{display:flex;gap:10px;list-style:none;width:100%;justify-content:flex-start}.scope-picker>summary::-webkit-details-marker{display:none}.scope-picker>summary>span{flex:1}.scope-picker[open]>summary>.icon:last-child{transform:rotate(90deg)}.scope-picker-panel{margin-top:8px;border:1px solid var(--tone-border-d4e1f1,#d4e1f1);border-radius:10px;background:var(--tone-bg-ffffff,#fff);padding:12px;display:flex;flex-direction:column;gap:12px}.scope-picker-panel .overview-tabs{margin:0;align-self:flex-start}.scope-picker-list{max-height:260px;overflow-y:auto;overscroll-behavior:contain}.scope-choice{display:flex;align-items:center;gap:10px;padding:10px;border-radius:8px;cursor:pointer}.scope-choice[hidden]{display:none}.scope-choice:has(input:checked){background:var(--tone-bg-eaf4ff,#eaf4ff)}.scope-choice input{width:auto;flex:none}.scope-choice-avatar{width:34px;height:34px;border-radius:50%;background:var(--tone-bg-edf3fb,#edf3fb);display:grid;place-items:center;flex:none;color:var(--tone-fg-4c729e,#4c729e);font-size:13px;overflow:hidden}.scope-choice-avatar img{width:100%;height:100%;object-fit:cover}.scope-choice-avatar .icon{width:19px;height:19px}.scope-choice strong{font-size:13px}.scope-choice small{display:block;font-size:13px;color:var(--tone-fg-6b809c,#6b809c);margin-top:3px}.scope-selected{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:18px}.scope-chip{display:flex;align-items:center;gap:6px;border:1px solid var(--tone-border-d4e1f1,#d4e1f1);border-radius:18px;background:var(--tone-bg-f0f6fe,#f0f6fe);color:var(--tone-fg-365c86,#365c86);padding:6px 9px;font-size:13px;cursor:pointer}.scope-chip .icon{width:14px;height:14px;flex:none}

.scope-owner-toggle{border:0;padding:0;margin:0 0 20px;min-width:0}.scope-owner-toggle legend{font-size:13px;color:var(--tone-fg-657c99,#657c99);margin-bottom:8px;padding:0}.scope-owner-toggle>div{display:flex;gap:4px;padding:4px;border:1px solid var(--tone-border-d2e0f3,#d2e0f3);border-radius:10px;background:var(--tone-bg-e8eff9,#e8eff9)}.scope-owner-toggle label{position:relative;flex:1;cursor:pointer}.scope-owner-toggle input{position:absolute;opacity:0;width:1px;height:1px}.scope-owner-toggle span{display:flex;align-items:center;justify-content:center;gap:8px;padding:11px 16px;border-radius:7px;color:var(--tone-fg-56718f,#56718f);font-size:13px;font-weight:600}.scope-owner-toggle .icon{width:18px;height:18px;flex:none}.scope-owner-toggle input:checked+span{background:var(--tone-bg-ffffff,#ffffff);color:var(--tone-fg-1266b8,#1266b8);box-shadow:0 2px 7px var(--tone-bg-203b600d,#203b600d)}.scope-owner-toggle input:focus-visible+span{outline:2px solid var(--tone-border-6da6ee,#6da6ee);outline-offset:1px}

/* Personal, responsive dashboard arrangements. */
.dashboard-topline{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:24px;flex-wrap:wrap}
.dashboard-topline .overview-tabs{margin-bottom:0}
.dashboard-edit-button{gap:8px}
.dashboard-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:24px;align-items:stretch;margin-bottom:24px}
.dashboard-tile{grid-column:span var(--tile-span);min-width:0;display:flex;flex-direction:column;position:relative}
.dashboard-tile[hidden],.dashboard-editor[hidden],.dashboard-tile-tools[hidden]{display:none!important}
.dashboard-tile>.card{width:100%;height:100%;min-width:0;margin:0;box-sizing:border-box}
.dashboard-tile>.stat{min-height:138px}
.dashboard-grid.is-editing .dashboard-tile{outline:2px dashed var(--tone-border-abc7e7,#abc7e7);border-radius:16px;outline-offset:3px}
.dashboard-tile-tools{display:flex;align-items:center;justify-content:space-between;background:var(--tone-bg-e8f1fc,#e8f1fc);border-radius:12px 12px 0 0;padding:6px 10px;gap:8px}
.dashboard-grip{border:0;background:none;color:var(--tone-fg-265a91,#265a91);cursor:grab;font:inherit;font-size:14px;display:flex;align-items:center;gap:8px;min-width:0;text-align:left}
.dashboard-grip:active{cursor:grabbing}
.dashboard-tile.is-dragging{opacity:.4}
.dashboard-grid .dashboard-tile.drop-target{outline:3px solid var(--tone-border-258bd2,#258bd2);box-shadow:0 0 0 7px var(--tone-bg-258bd21a,#258bd21a)}
.dashboard-editor{padding:24px;background:var(--tone-bg-f8fbff,#f8fbff);border:1px solid var(--tone-border-c9daed,#c9daed);border-radius:16px;margin-bottom:28px}
.dashboard-editor-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;flex-wrap:wrap}
.dashboard-editor h2{display:flex;align-items:center;gap:8px;font-size:18px;margin:0}
.dashboard-editor p{font-size:14px;color:var(--tone-fg-627c9e,#627c9e);margin:8px 0 16px}
.dashboard-presets{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:8px 0 20px}
.dashboard-presets>span{font-size:14px;font-weight:600}
.dashboard-presets .button{gap:12px;text-align:left;padding:12px 16px}
.dashboard-presets small{display:block;font-size:13px;font-weight:400;color:var(--tone-fg-627c9e,#627c9e);margin-top:3px}
.dashboard-elements summary{cursor:pointer;font-weight:600;font-size:14px;padding:10px 0}
.dashboard-element-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 24px;margin:12px 0}
.dashboard-element{display:flex;align-items:center;gap:6px;border-bottom:1px solid var(--tone-border-dfe8f2,#dfe8f2);padding:8px 0;min-width:0}
.dashboard-element label{display:flex;align-items:center;gap:8px;flex:1;font-size:14px;min-width:0}
.dashboard-element select{width:140px;min-width:0;padding:8px;font-size:13px}
.dashboard-editor-footer{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-top:14px;font-size:13px;color:var(--tone-fg-627c9e,#627c9e)}
.dashboard-editor-footer .text-button{display:flex;align-items:center;gap:6px}
@media(max-width:1100px){.dashboard-element-list{grid-template-columns:1fr}.dashboard-tile{grid-column:span 6}.dashboard-tile[data-width="12"],.dashboard-tile[data-width="8"],.dashboard-tile[data-width="9"]{grid-column:span 12}}
@media(max-width:700px){.dashboard-grid{grid-template-columns:minmax(0,1fr);gap:18px}.dashboard-grid .dashboard-tile{grid-column:1}.dashboard-editor{padding:16px}.dashboard-element{flex-wrap:wrap}.dashboard-element label{flex-basis:100%}.dashboard-topline .overview-tabs{flex:1}.dashboard-edit-button span{display:none}.dashboard-presets .button{flex:1;min-width:150px}}

.year-status-legend{display:flex;flex-wrap:wrap;gap:18px;margin:0 24px 24px;color:var(--tone-fg-627c9e,#627c9e);font-size:13px}
.year-status-legend>span{display:inline-flex;align-items:center;gap:7px}
.year-status-legend i{width:24px;height:24px;display:inline-flex;align-items:center;justify-content:center;border-radius:5px;font-style:normal;font-size:11px;font-weight:600}
.year-status-legend .key-weekend{background:var(--tone-bg-f1f4f8,#f1f4f8)}
.year-status-legend .key-holiday,.year-calendar .calendar-day.holiday{background:var(--tone-bg-fff1d8,#fff1d8);box-shadow:inset 0 0 0 1px var(--tone-bg-eed5a4,#eed5a4)}
.year-calendar .calendar-day .calendar-holiday-marker{position:absolute;right:3px;bottom:3px;font-size:10px;font-weight:700;color:var(--tone-fg-966523,#966523);line-height:1}
.year-status-legend .key-inactive,.year-calendar .calendar-day.employment-inactive{background:var(--tone-bg-eff1f4,#eff1f4);color:var(--tone-fg-8692a3,#8692a3)}
.year-calendar .calendar-day.employment-inactive .calendar-date{color:var(--tone-fg-8994a4,#8994a4)}
.calendar-inactive-cross{position:absolute;inset:14px 0 0;display:flex;align-items:center;justify-content:center;font-size:30px;font-weight:300;color:var(--tone-fg-b1bbc780,#b1bbc780);pointer-events:none}
.year-calendar .calendar-day.holiday.employment-inactive{box-shadow:inset 0 0 0 1px var(--tone-bg-e3d6bc,#e3d6bc)}
.year-calendar .calendar-day.today{outline:2px solid var(--tone-border-3477c5,#3477c5);outline-offset:-2px}
.year-calendar .calendar-day:focus-visible{outline:2px solid var(--tone-border-3477c5,#3477c5);outline-offset:1px}

.dashboard-topline .dashboard-customize{margin-left:auto}

/* A duration remains one signed quantity; the second line shows total hours. */
.duration-pair{display:inline-flex!important;flex-direction:column;align-items:flex-start;gap:4px;vertical-align:top;max-width:100%;font-variant-numeric:tabular-nums}
.duration-pair>.duration-primary{display:block!important;font:inherit!important;color:inherit!important;margin:0!important}
.duration-pair>.duration-secondary{display:block!important;font-size:13px!important;font-weight:400!important;line-height:1.4!important;color:var(--tone-fg-62758e,#62758e)!important;margin:0!important;white-space:nowrap}

.duration-pair{font:inherit!important;color:inherit!important;margin:0!important;line-height:1.25!important}

/* Separate complete requests, including any expanded detail row. */
.requests-table>tbody>tr.request-main-row~tr.request-main-row>td{
  border-top:1px solid var(--request-row-divider,#e8ebef);
}
:root[data-theme="midnight"],:root[data-theme="ember"]{--request-row-divider:#3c424c}

.export-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:12px 0 20px}.export-option{display:flex;align-items:flex-start;gap:10px;border:1px solid var(--tone-border-dce5ef,#dce5ef);border-radius:10px;padding:14px;cursor:pointer}.export-option:has(input:checked){background:var(--tone-bg-eff5fb,#eff5fb);border-color:var(--brand-blue)}.export-option small{display:block;margin-top:5px;line-height:1.5;color:var(--muted)}.export-option input,.export-detail input{width:auto;flex:none}.export-option .icon{flex:none;margin-top:2px}.export-detail{display:flex;gap:10px;align-items:center}.export-options strong{font-size:14px}@media(max-width:600px){.export-options{grid-template-columns:1fr}}

.technical-export{position:relative}.technical-export>div{position:absolute;right:0;top:calc(100% + 6px);z-index:15;display:grid;gap:8px;padding:12px;min-width:220px;background:var(--tone-bg-ffffff,#fff);border:1px solid var(--tone-border-dce5ef,#dce5ef);border-radius:12px;box-shadow:0 8px 24px #0002}.technical-export summary{list-style:none;cursor:pointer}

.catalog-management-filters { display:grid;grid-template-columns:minmax(0,1fr) minmax(150px,220px);gap:16px;padding:0 24px 20px; }
.catalog-management-row { gap:16px; border-top:1px solid var(--line,#e5e9ef);padding:18px 24px; }
.catalog-management-row .entity-cell { min-width:0;overflow-wrap:anywhere; }
.catalog-management-row > .button { flex-shrink:0; }
.catalog-management-services {display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,280px),1fr));gap:12px;padding:4px 24px 24px;}
.catalog-management-service.catalog-choice-service {width:100%;min-width:0;min-height:66px;padding:12px 16px;gap:10px;text-align:left;}
.catalog-management-service .catalog-management-service-copy {flex:1;min-width:0;}
.catalog-management-service strong {display:block;white-space:normal;overflow-wrap:anywhere;font-size:14px;line-height:1.4;}
.catalog-management-service small {display:block;}
.catalog-management-service:focus-visible {outline:3px solid var(--catalog-color);outline-offset:3px;}
.catalog-management-services>.empty {grid-column:1/-1;}
@media(max-width:600px) { .catalog-management-filters { grid-template-columns:1fr; } .catalog-management-row { align-items:flex-start;flex-direction:column; } }

.catalog-management-filters { grid-template-columns:repeat(auto-fit,minmax(190px,1fr));align-items:end; }
.catalog-management-filters .field { min-width:0; }
.catalog-filter-reset { justify-self:start;align-self:end;min-height:40px; }
@media(max-width:600px) { .catalog-management-filters { grid-template-columns:1fr; } }
.clock-receipts article{padding:16px 0;border-bottom:1px solid var(--border,#dce3eb)}
.clock-receipts article:last-child{border:0}.clock-receipts p{margin:8px 0}
.offline-clock{max-width:680px;margin:40px auto;padding:28px}.offline-clock .button-row,.clock-receipts .button-row{display:flex;gap:10px;flex-wrap:wrap}
#clock-transfer-button{white-space:normal;font-size:13px}
.offline-clock{display:flex;flex-direction:column;gap:16px}.offline-clock h1{font-size:28px;line-height:1.2}.offline-clock h2{font-size:20px}.offline-clock .hint{line-height:1.6}.offline-clock p{margin:0}@media(max-width:720px){.offline-clock{margin:16px;padding:22px}.offline-clock h1{font-size:24px}}
/* Loading feedback uses the active theme and reserves space without inventing values. */
.loading-card{padding:24px;min-width:0}.loading-caption{display:flex;gap:10px;align-items:center;color:var(--muted,#64748b);font-size:14px;min-height:24px}.loading-spinner{width:16px;height:16px;border:2px solid var(--tone-border-dce5ef,#dce5ef);border-top-color:var(--brand-blue,#258bd2);border-radius:50%;animation:load-spin .8s linear infinite;flex:none}.loading-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin-bottom:24px}.skeleton{display:flex;gap:12px;margin-top:24px;overflow:hidden}.skeleton span{display:block;border-radius:6px;background:var(--tone-bg-e8eef6,#e8eef6);animation:load-pulse 1.6s ease-in-out infinite}.skeleton.chart{height:220px;align-items:flex-end}.skeleton.chart span{flex:1;height:var(--bar)}.skeleton.table{flex-direction:column;gap:18px;min-height:290px}.skeleton.table span{height:40px}.skeleton.metric{flex-direction:column;margin-top:14px;min-height:65px}.skeleton.metric span{height:18px;width:65%}.skeleton.metric span:first-child{height:26px;width:45%}.load-error{padding:28px}.load-error p{margin:12px 0 20px}.loading-card.stat{display:block}.loading-card.stat .loading-caption{max-width:100%}
@keyframes load-spin{to{transform:rotate(360deg)}}@keyframes load-pulse{50%{opacity:.45}}
@media(prefers-reduced-motion:reduce){.loading-spinner,.skeleton span{animation:none}}
/* React to the available card width, including customized dashboard layouts. */
.dashboard-grid{container-type:inline-size;container-name:dashboard}
.tracker{container-type:inline-size;container-name:tracker}
.tracker-fields{grid-template-columns:repeat(2,minmax(0,1fr))}.tracker-actions{flex-wrap:wrap}.tracker-actions .button{min-width:0;white-space:normal;flex:1 1 120px}.tracker-fields .catalog-picker,.tracker-fields select{max-width:100%;min-width:0}.tracker .timer{font-size:clamp(38px,12cqi,64px)}
@container tracker (max-width:460px){.tracker-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.tracker-actions>.green{grid-column:1/-1}.tracker-actions .button{padding:11px 9px;gap:6px}.tracker-fields{grid-template-columns:minmax(0,1fr)}.tracker-next{margin-top:12px}.tracker .section-heading{gap:8px;flex-wrap:wrap}}
@container dashboard (max-width:760px){.dashboard-grid>.dashboard-tile:is([data-tile="tracker"],[data-tile="week"]){grid-column:1/-1}}
@media(max-width:800px){.topbar{height:auto;min-height:64px;gap:12px;flex-wrap:wrap;padding-top:12px;padding-bottom:12px}.topbar-right{min-width:0;flex-wrap:wrap;gap:8px}.loading-metrics{grid-template-columns:1fr;gap:14px}.loading-card{padding:20px}.page-heading .heading-actions{flex-wrap:wrap}}

/* Keep visually hidden table labels inside the table's scrolling area. */
.table-scroll{position:relative}
.tracker-actions{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,160px),1fr));width:100%;min-width:0}
.tracker-actions>.button{width:100%;max-width:100%;box-sizing:border-box}
@container tracker (max-width:460px){.tracker-actions{grid-template-columns:1fr}.tracker-actions>.green{grid-column:auto}}
@media(max-width:720px){.sidebar{flex-direction:row}.sidebar nav{width:0}}

.jibble-people{max-height:320px;overflow:auto;margin:16px 0;border:1px solid var(--border,#dce3eb);border-radius:12px}.jibble-person,.jibble-issue{display:flex;align-items:flex-start;gap:12px;padding:12px;border-bottom:1px solid var(--border,#e5eaf0)}.jibble-person[hidden]{display:none}.jibble-person small,.jibble-issue small,.jibble-map-row small{display:block;color:var(--muted,#64748b);margin-top:4px}.jibble-person .icon{width:16px;height:16px}.jibble-options{display:flex;flex-wrap:wrap;gap:16px;margin:16px 0}.jibble-map-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px;align-items:center;padding:12px 0;border-bottom:1px solid var(--border,#e5eaf0)}.jibble-map-row select{width:100%;min-width:0}.jibble-details{max-height:360px;overflow:auto}#modal h3{margin:24px 0 12px}@media(max-width:600px){.jibble-map-row{grid-template-columns:1fr}}
/* Checkboxes keep their intrinsic size instead of inheriting full-width form inputs. */
.jibble-person,.jibble-issue{justify-content:flex-start;text-align:left;cursor:pointer}
.jibble-person>input[type=checkbox],.jibble-issue>input[type=checkbox],.jibble-options input[type=checkbox]{flex:0 0 17px;width:17px;height:17px;min-width:17px;margin:3px 0 0;padding:0;accent-color:var(--brand-blue,#258bd2)}
.jibble-person>span,.jibble-issue>span{flex:1;min-width:0;text-align:left;overflow-wrap:anywhere}
.jibble-person:last-child{border-bottom:0}
.jibble-options>label{display:flex;align-items:flex-start;gap:8px;cursor:pointer}
.jibble-person:has(input:checked){background:var(--tone-bg-eaf4fd,#eaf4fd)}
.jibble-saved{display:flex;align-items:flex-start;gap:14px;padding:20px;border:1px solid var(--tone-border-b9dfc7,#b9dfc7);border-radius:12px;background:var(--tone-bg-e9f6ee,#e9f6ee);margin-bottom:24px}
.jibble-saved>.icon{width:24px;height:24px;flex:0 0 24px;color:var(--tone-fg-24844d,#24844d)}
.jibble-saved>div{min-width:0}.jibble-saved strong{display:block;font-size:17px}.jibble-saved p{margin:8px 0;line-height:1.6}.jibble-saved small{display:block;color:var(--muted,#64748b);line-height:1.5}
.jibble-change{margin:0 0 24px}.jibble-change>summary{cursor:pointer;font-weight:600;padding:12px 0}.jibble-change .form-grid{margin-top:12px}

.catalog-category-heading{grid-column:1/-1;display:flex;align-items:center;gap:8px;margin:14px 0 8px;font-size:15px;color:var(--text);}
.catalog-service-group>.catalog-category-heading{margin:8px 24px 14px;}
.catalog-service-group+.catalog-service-group{border-top:1px solid var(--line,#e5e9ef);padding-top:14px;}
.catalog-picker-service .catalog-category-heading{margin:12px 4px 6px;}

.catalog-management-tabs{flex-wrap:wrap;max-width:100%;}
.catalog-choice-service,.catalog-select-service{transition:box-shadow .15s ease,border-color .15s ease;}
.catalog-choice-service:hover,.catalog-select-service:hover{box-shadow:0 3px 10px color-mix(in srgb,var(--catalog-color) 22%,transparent);}
.quick-clock-panel .catalog-select-service,.detached-clock .catalog-select-service,
.quick-clock-panel .catalog-activity-service,.detached-clock .catalog-activity-service{min-height:50px;padding:11px 14px;gap:10px;font-size:14px;}
.quick-clock-panel .catalog-select-service .catalog-copy strong,.detached-clock .catalog-select-service .catalog-copy strong{white-space:normal;overflow-wrap:anywhere;line-height:1.4;}
.quick-clock-panel .catalog-activity-service small,.detached-clock .catalog-activity-service small{display:none;}
.quick-clock-panel .catalog-activity-service strong,.detached-clock .catalog-activity-service strong{font-size:14px;line-height:1.4;}
.catalog-picker-service .catalog-choice-service{min-height:48px;padding:10px 14px;font-size:14px;}
/* Compact weekly overview, with one aligned group per employee. */
.team-week-table th,.team-week-table td{border-right:0;padding:10px 8px;height:auto}
.team-week-table thead th{padding:12px 8px;background:transparent}
.team-week-table thead .text-button{gap:3px}
.team-week-table thead .is-today{box-shadow:none;border-radius:10px 10px 0 0}
.team-week-table .week-person-row th{padding:18px 8px 8px;border-bottom:0;background:transparent}
.week-person-heading{display:flex;align-items:center;gap:10px;text-align:left}
.week-person-heading .avatar{width:32px;height:32px;flex:0 0 32px;font-size:12px}
.week-person-heading strong{font-size:14px;color:var(--text,#203550)}
.week-person-total{margin-left:auto;font-size:15px;font-weight:650;white-space:nowrap}
.week-person-total small{font-weight:400;font-size:12px!important;display:inline!important}
.team-week-table .week-work-row td,.team-week-table .week-work-row th,.team-week-table .week-band-row+.week-work-row td,.team-week-table .week-band-row+.week-work-row th{height:auto;padding:6px 8px 14px}
.team-week-table .week-work{font-size:14px;padding:6px}
.team-week-table .week-band{min-height:24px;padding:3px 8px;font-weight:500;font-size:12px}
.team-week-table .week-band-row td{padding:3px 5px}
.team-week-table .week-person-loading{text-align:left;padding:16px;color:var(--muted,#64748b);font-size:13px}
.week-loading-bar{display:inline-block;width:72px;height:10px;border-radius:5px;background:var(--tone-bg-e9eef5,#e9eef5);margin-right:12px;animation:week-pulse 1.5s ease-in-out infinite}
@keyframes week-pulse{50%{opacity:.35}}
@media(prefers-reduced-motion:reduce){.week-loading-bar{animation:none}}
@media(max-width:700px){.team-week-card .section-heading{padding:16px}.team-week-card .week-summary-scroll{padding:0 12px 16px}.team-week-table{min-width:660px}.week-person-total small{display:none!important}}
.profile-details{padding:8px 24px}.profile-detail-row{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:20px 0;border-bottom:1px solid var(--tone-border-edf1f7,#edf1f7)}.profile-detail-row:last-child{border-bottom:0}.profile-detail-row>div{display:grid;gap:5px;min-width:0}.profile-detail-row strong{overflow-wrap:anywhere}.profile-detail-row small,.profile-email-pending small{color:var(--muted,#64748b)}.profile-email-pending{padding:18px;border-radius:12px;background:var(--tone-bg-eaf2ff,#eaf2ff);margin:10px 0}.profile-email-pending p{margin:6px 0;overflow-wrap:anywhere}.profile-email-pending .button-row{margin-top:14px}@media(max-width:600px){.profile-detail-row{align-items:flex-start;flex-direction:column;gap:12px}.profile-details{padding:8px 18px}}
.team-week-table thead th:first-child{width:200px}.team-week-table .week-person-cell{vertical-align:middle;padding:16px 10px;text-align:left}.week-person-heading>div{min-width:0}.week-person-heading strong{display:block;overflow-wrap:anywhere}.week-person-heading small{font-size:12px!important;font-weight:400;margin-top:4px!important}.team-week-table tbody+tbody tr:first-child td,.team-week-table tbody+tbody tr:first-child th{border-top:1px solid var(--tone-border-edf1f7,#edf1f7)}
.team-week-table{min-width:940px}.team-week-table .week-sum-heading{width:180px}.team-week-table .week-sum-cell{vertical-align:middle;font-weight:700;font-size:15px;white-space:nowrap;background:var(--tone-bg-f8fafd,#f8fafd);border-left:1px solid var(--tone-border-edf1f7,#edf1f7)}
.profile-email-pending .button-row{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.team-week-card{overflow:visible}
.times-week-toolbar{flex-wrap:wrap;align-items:flex-end;gap:16px 24px}
.times-week-toolbar>.period-nav{flex:1 1 420px;min-width:0;min-height:39px}
.times-week-filters{flex:1 1 320px;max-width:380px;min-width:0;grid-template-columns:minmax(0,1fr);margin:0}
.times-week-filters .field{margin:0}
@media(max-width:600px){.times-week-filters{max-width:none}}
.team-week-table .week-work-row td{position:relative}.week-add{border:0;background:var(--tone-bg-eaf2ff,#eaf2ff);color:var(--brand-blue,#258bd2);width:26px;height:26px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;opacity:0;vertical-align:middle;cursor:pointer}.week-add .icon{width:16px;height:16px}.week-work-row td:hover .week-add,.week-add:focus-visible{opacity:1}.week-duration-note{display:block;font-size:11px;color:var(--muted,#64748b)}.daily-entry{padding:14px 0;border-bottom:1px solid var(--border,#e5eaf0)}.daily-entry>div:first-child{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.daily-entry-tags{display:flex;gap:8px;margin:10px 0;flex-wrap:wrap}.daily-entries .day-add-entry{margin:4px 0 12px}.daily-entries h3{margin:14px 0 8px}.daily-entry p{margin:8px 0}@media(hover:none){.week-add{opacity:1}}@media(prefers-reduced-motion:no-preference){.week-add{transition:opacity .12s}}
.team-week-table .week-work-row td{vertical-align:top}.week-add{position:absolute;right:3px;bottom:4px}.week-duration-note{white-space:nowrap}

.template-change-list{max-height:360px;overflow:auto}.template-change-row{display:flex;align-items:flex-start;gap:12px;padding:12px 0;border-bottom:1px solid var(--border)}.template-change-row input[type=checkbox]{width:17px;min-width:17px;flex:0 0 17px;margin-top:7px}.template-change-row .avatar{flex:0 0 32px}.template-change-row>span:last-child{min-width:0;overflow-wrap:anywhere}.template-change-row small{display:block;margin-top:4px;color:var(--muted)}

#work-summary.quota-summary{white-space:normal;margin:12px 0;padding:12px 16px;border:1px solid var(--border,#dce3eb);border-radius:12px}
.quota-summary-metrics{display:flex;flex-wrap:wrap;gap:16px 28px}.quota-summary-metrics>div{display:flex;flex-direction:column;gap:2px;line-height:1.3}.quota-summary-metrics strong{font-size:20px;font-variant-numeric:tabular-nums}.quota-summary-metrics span,.quota-summary-note{font-size:12px;color:var(--muted,#64748b)}.quota-summary-note{display:block;margin-top:6px;line-height:1.35}.quota-summary .template-days{margin-top:10px}.quota-summary .template-day{min-height:44px;padding:6px 3px;gap:3px;line-height:1.25}.quota-summary .template-day strong{font-weight:650}
@media(max-width:420px){#work-summary.quota-summary{padding:12px}.quota-summary .template-days{gap:3px}.quota-summary .template-day{padding:5px 1px}.quota-summary .template-day strong{font-size:11px}.quota-summary-metrics{gap:12px 18px}.quota-summary-metrics strong{font-size:18px}}

/* Work plan dialogs use available viewport space, with one scrolling body. */
#modal:has(.quota-editor){width:min(920px,calc(100vw - 24px));max-width:calc(100vw - 24px);max-height:calc(100dvh - 24px);overflow:hidden}
#modal:has(.quota-editor)>form{display:flex;flex-direction:column;max-height:calc(100dvh - 26px);min-height:0}
#modal:has(.quota-editor) form>header{flex:none;padding:16px 24px 12px}
#modal:has(.quota-editor) .modal-body{flex:1 1 auto;min-height:0;max-height:none;overflow:auto;padding:18px 24px;overscroll-behavior:contain}
#modal:has(.quota-editor) footer{flex:none;padding:12px 24px;flex-wrap:wrap}
.quota-editor .quota-tabs{margin:0 0 12px}.quota-editor .field{margin-bottom:12px}.quota-editor .hint{margin:8px 0;line-height:1.45}
@media(min-width:800px){
 .quota-editor{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px 24px;align-items:start}
 .quota-editor>.quota-tabs,.quota-editor>.form-grid,.quota-editor>.hint{grid-column:1/-1}
 .quota-editor>#quota-weekly,.quota-editor>#quota-daily{grid-column:1;grid-row:2}
 .quota-editor>#work-summary{grid-column:2;grid-row:2;margin:0}
 .quota-editor .workday-inputs{grid-template-columns:repeat(4,minmax(0,1fr))}
}
@media(max-width:600px){#modal:has(.quota-editor) form>header,#modal:has(.quota-editor) .modal-body,#modal:has(.quota-editor) footer{padding:12px 16px}#modal:has(.quota-editor) footer .button{white-space:normal}#modal:has(.quota-editor) footer .form-error:not(:empty){flex-basis:100%;max-width:none}}

.company-donut{position:relative;background:none}.donut-segments{position:absolute;inset:0;width:100%;height:100%;overflow:visible}.company-donut>div{position:relative;pointer-events:none}.donut-segment{cursor:help;outline:none}.donut-segment:hover,.donut-segment:focus-visible{filter:brightness(1.12);stroke:var(--tone-fg-223f65,#223f65);stroke-width:1.5}

.holiday-year-filters{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.holiday-year-filters .period-select{margin-left:auto}@media(max-width:600px){.holiday-year-filters .period-select{margin-left:0}}

.year-status-legend .key-holiday .icon{width:13px;height:13px}.year-calendar .calendar-day .calendar-holiday-marker .icon{width:14px;height:14px}.year-calendar .calendar-day .calendar-holiday-marker.primary{left:50%;right:auto;bottom:5px;transform:translateX(-50%)}.year-calendar .calendar-day .calendar-holiday-marker.primary .icon{width:20px;height:20px}

.structured-tooltip{white-space:normal}.tooltip-heading{display:block;font-size:14px;margin-bottom:7px}.tooltip-row{display:grid;grid-template-columns:auto minmax(0,1fr);gap:12px;margin-top:3px}.tooltip-row>span{opacity:.78}.tooltip-row>strong{font-weight:600}.tooltip-note{margin-top:9px;padding-top:8px;border-top:1px solid currentColor;font-weight:550}

.app-tooltip.tooltip-emphasis{font-weight:700}

.company-actual{position:relative}.company-chart-legend .over-target,.company-actual .over-target{background:var(--tone-bg-b9a9d4,#b9a9d4)}.company-actual .over-target{position:absolute;top:0;left:0;right:0;pointer-events:none}

.quota-history-link{margin-top:5px}.quota-history-details{margin-top:18px}.quota-history{list-style:none;padding:0;margin:16px 0 0}.quota-history li{padding:12px 0;border-top:1px solid var(--tone-bg-e5edf6,#e5edf6)}.quota-history-heading{display:flex;justify-content:space-between;gap:8px;flex-wrap:wrap;margin-bottom:6px}.quota-history-heading time{font-size:12px;color:var(--muted,#60758f)}.quota-history li p{margin:4px 0;overflow-wrap:anywhere}

.absence-settings-tabs{margin:10px 0 20px;display:flex;flex-wrap:wrap}

.times-year-calendar{grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.times-year-calendar .time-year-day{position:relative;min-width:0;min-height:68px;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;padding:20px 2px 3px;color:inherit;font:inherit;border:1px solid transparent;cursor:pointer;background:var(--tone-bg-f7f9fc,#f7f9fc);border-radius:5px}.times-year-calendar .time-year-day.weekend{background:var(--tone-bg-e5edf6,#e5edf6)}.times-year-calendar .time-year-day.holiday{background:#fff3dd;border-color:#f1ce8b}.times-year-calendar .time-year-day.today{outline:2px solid #258dcc;outline-offset:-2px}.times-year-calendar .time-year-day:focus-visible,.times-year-calendar .time-year-day:hover{box-shadow:inset 0 0 0 2px #79a7d4}.time-year-hours{font-size:12px;line-height:16px;font-variant-numeric:tabular-nums}.time-year-symbols{height:17px;display:flex;align-items:center;gap:2px}.time-year-symbols>.icon,.time-year-symbols .absence-mark .icon{width:12px;height:12px}.time-year-symbols .absence-mark{position:static!important;transform:none!important;width:16px!important;height:16px!important;min-width:0;padding:1px;box-shadow:none}.times-year-calendar .time-year-day.rule-deviation{border-color:#c64652}.time-rule-dot{position:absolute;right:3px;top:3px;background:#b73345;color:white;font-size:10px;font-weight:700;border-radius:50%;width:13px;height:13px;line-height:13px}.times-rule-key{color:#b73345}.time-duration-mark{font-size:11px}.time-year-day.future .time-year-hours{opacity:.55}@media(max-width:420px){.times-year-calendar{grid-template-columns:minmax(0,1fr)}}

.times-year-calendar .time-year-day .calendar-date{position:absolute;top:3px;left:3px;padding:0;font-size:11px}.times-year-calendar .time-year-day.pending{border-style:dashed;border-color:#9a84b0}
.time-year-symbols{pointer-events:none}
.times-year-calendar .month-grid>.time-year-day{min-height:68px;padding:21px 2px 3px;justify-content:flex-end;gap:2px}

.absence-usage-card{container-type:inline-size;container-name:absence-usage}
@container absence-usage (min-width:1100px){
 .absence-usage-table .quota-actions{width:240px;white-space:nowrap}
 .absence-usage-table .quota-actions .button{white-space:nowrap}
 .absence-usage-table .quota-history-link{margin:0 0 0 6px}
}
#modal .field[hidden]{display:none}

.company-actual .over-target{pointer-events:auto}.balance-chart [data-tooltip]:focus-visible{outline:none;stroke:#193653;stroke-width:2}.balance-chart [data-tooltip]:hover{filter:brightness(1.06)}

.bar-track [data-tooltip]:focus-visible{outline:2px solid #193653;outline-offset:2px}.bar-track [data-tooltip]:hover{filter:brightness(1.06)}

.quota-origin-link{display:block;margin:7px auto 0;white-space:normal;font-size:12px}#modal:has([data-account-period]){width:min(900px,calc(100vw - 24px))}

#modal:has(.allocation-editor){width:min(740px,calc(100vw - 24px));max-height:calc(100dvh - 24px)}
#modal:has(.allocation-editor) form{display:flex;flex-direction:column;max-height:calc(100dvh - 24px)}
#modal:has(.allocation-editor) .modal-body{overflow-y:auto;min-height:0;padding:20px 24px}
#modal:has(.allocation-editor) header,#modal:has(.allocation-editor) footer{flex-shrink:0}
.allocation-summary{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin-bottom:18px}.allocation-summary>strong{padding:6px 10px;border-radius:8px;background:var(--tone-bg-eaf2ff,#eaf2ff);font-size:16px}.allocation-summary>span{font-size:13px;color:var(--muted,#60758f)}
.allocation-selection-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:8px}.allocation-selection-head .check-label{margin:0}.allocation-selection-head>span{font-size:12px;color:var(--muted,#60758f)}
.allocation-day-list{display:grid;gap:6px}.allocation-day{display:flex;align-items:center;gap:12px;padding:10px 12px;border:1px solid var(--tone-border-e2e8f0,#e2e8f0);border-radius:9px;cursor:pointer}.allocation-day:hover{background:var(--tone-bg-f7f9fc,#f7f9fc)}.allocation-day:has(input:checked){background:var(--tone-bg-eaf2ff,#eaf2ff);border-color:var(--tone-border-79a7d4,#79a7d4)}.allocation-day:focus-within{outline:2px solid #79a7d4;outline-offset:1px}.allocation-day input{width:16px;height:16px;flex:none;margin:0}.allocation-day-date{display:flex;flex-direction:column;gap:2px}.allocation-day-date strong{font-size:13px}.allocation-day-date>span{font-size:12px;color:var(--muted,#60758f)}.allocation-source{margin-left:auto;text-align:right;font-size:13px}.allocation-source small{display:block;font-size:11px;color:var(--muted,#60758f)}
.allocation-destination{margin-top:18px;padding-top:16px;border-top:1px solid var(--tone-border-e2e8f0,#e2e8f0)}.allocation-destination h3{margin:0 0 10px;font-size:14px}.allocation-fields{display:grid;grid-template-columns:1fr 1fr;gap:14px}.allocation-fields .field{margin:0;min-width:0}.allocation-destination .hint{font-size:12px;margin:10px 0 0;line-height:1.5}@media(max-width:560px){.allocation-fields{grid-template-columns:1fr}.allocation-selection-head{align-items:flex-start}.allocation-day{gap:8px;padding:9px}.allocation-source{max-width:45%}#modal:has(.allocation-editor) .modal-body{padding:16px}}

.request-origin-button{margin-top:6px;padding:6px 9px;gap:6px;font-size:12px;color:var(--tone-fg-2866a5,#2866a5);background:var(--tone-bg-f3f7fd,#f3f7fd);border:1px solid var(--tone-border-cbdcf0,#cbdcf0);border-radius:7px}.request-origin-button .icon{width:14px;height:14px;flex:none}.request-origin-button:hover{background:var(--tone-bg-e5effb,#e5effb);border-color:var(--tone-border-79a7d4,#79a7d4)}.request-origin-button:focus-visible{outline:2px solid #397cc6;outline-offset:2px}

.absence-usage-table .quota-origin-link{display:inline-flex;align-items:center;justify-content:center;margin:7px 0 0;white-space:normal}.quota-origin-link span{min-width:0}

.absence-usage-table strong[data-tooltip]{cursor:help}
.absence-usage-table strong[data-tooltip] svg{width:13px;height:13px;vertical-align:-2px;margin-left:3px}

/* Reserve room for actions while keeping all controls inside their table cell. */
.absence-usage-table th:first-child{width:16%}
.absence-usage-table th:nth-child(2){width:19%}
.absence-usage-table .quota-actions{white-space:normal}
.quota-action-buttons{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:6px;min-width:0}
.absence-usage-table .quota-action-buttons .button{margin:0;white-space:normal;flex:0 1 auto}
.absence-usage-table .quota-availability{display:inline;font-weight:400;white-space:nowrap;cursor:help}
@container absence-usage (min-width:1300px){
 .absence-usage-table .quota-actions{width:440px}
 .absence-usage-table .quota-action-buttons .button{white-space:nowrap}
}

.requests-table .request-actions-cell{width:1%;min-width:320px}
.requests-table .row-actions{flex-wrap:wrap;justify-content:flex-end}
.requests-table .row-actions .request-origin-button{margin:0}
@container absence-usage (min-width:1300px){.absence-usage-table .quota-actions{width:340px}}

.requests-card{container-type:inline-size;container-name:requests}
@container requests (min-width:1100px){
 .requests-table .request-actions-cell{min-width:0}
 .requests-table .row-actions{width:max-content;flex-wrap:nowrap;margin-left:auto}
 .requests-table .row-actions .button{flex-shrink:0}
}

.time-rule-dot.time-rule-inline{position:static;display:inline-flex;align-items:center;justify-content:center;flex:none;width:15px;height:15px;line-height:1;font-size:11px;vertical-align:middle;cursor:help}
.week-work-row .time-rule-inline{margin-left:4px}
.time-rule-inline:focus-visible{outline:2px solid #b73345;outline-offset:3px}
.day-detail summary .time-rule-dot.time-rule-inline{color:#fff}

.times-view-actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:10px;margin:0 0 20px;min-width:0}
.times-view-tabs{max-width:100%}
@media(max-width:600px){.times-view-actions{justify-content:flex-start}.times-view-tabs{display:flex;overflow-x:auto}.times-view-tabs button{flex:0 0 auto}}

/* Shared placement for Times and Absences: tabs stay anchored on the left. */
.view-toolbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:14px 24px;margin-bottom:26px;min-width:0}
.view-toolbar>.overview-tabs{margin:0;max-width:100%;flex:0 1 auto;overflow-x:auto}
.view-toolbar>.overview-tabs button{flex:none;white-space:nowrap}
.view-toolbar-actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:10px;margin-left:auto;min-width:0;max-width:100%}
@media(max-width:600px){.view-toolbar-actions{margin-left:0;justify-content:flex-start;width:100%}}

.view-toolbar-actions .period-nav{gap:6px;flex-wrap:wrap;justify-content:flex-end;margin:0}
.toolbar-people-filter{width:220px;max-width:100%;min-width:0}
.toolbar-people-filter>.people-picker{width:100%;min-width:0}
.view-toolbar-actions .period-nav>.text-button{white-space:nowrap}
@media(max-width:600px){.view-toolbar-actions .period-nav{justify-content:flex-start}.toolbar-people-filter{width:100%}}

/* Compact page titles retain orientation without a separate motto row. */
.page-heading{gap:12px;margin-bottom:18px}
.page-heading .eyebrow{display:none}
.page-heading h1{font-size:22px;line-height:1.25;margin:0;font-weight:600}
.page-heading p{font-size:13px;line-height:1.45;margin:4px 0 0}
.page-heading>.heading-actions:empty{display:none}
@media(max-width:700px){.page-heading{margin-bottom:16px}.page-heading h1{font-size:20px}.page-heading>.heading-actions:not(:empty){margin-top:12px}}

[data-leave-date]:not([aria-disabled="true"]){cursor:pointer}
[data-leave-range] .calendar-day.range-preview{box-shadow:inset 0 0 0 2px #90b8e9;background-image:linear-gradient(#4589d52b,#4589d52b)}
[data-leave-range] .calendar-day.range-anchor{outline:2px solid #236dba;outline-offset:-2px;box-shadow:inset 0 0 0 3px #fff}
[data-leave-date]:focus-visible{outline:2px solid #236dba;outline-offset:2px}

.request-arrival{animation:request-arrival 3s ease-out}
@keyframes request-arrival{from{background:#dceafd}to{background:transparent}}
@media(prefers-reduced-motion:reduce){.request-arrival{animation:none;outline:2px solid #90b8e9;outline-offset:-2px}}

.catalog-entry-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}
.catalog-service-access-card{display:flex;flex-direction:column;gap:8px;min-width:0}
.catalog-service-access-card>.catalog-choice{width:100%;flex:1}
.catalog-service-access-card>.button{align-self:flex-end}
.access-navigation{display:flex;justify-content:flex-end;margin-bottom:16px}
.access-full-table{max-height:45vh;overflow:auto}
.access-full-table th{position:sticky;top:0;background:var(--tone-bg-f7f9fc,#f7f9fc)}
.access-full-table td:not(:first-child),.access-full-table th:not(:first-child){text-align:center}
.access-full-table input[type=checkbox]{width:18px;height:18px;cursor:pointer}
.access-picks label[hidden],.access-full-table tr[hidden]{display:none}

.catalog-access-people{gap:8px;font-size:12px}
.catalog-access-people>.icon{width:15px;height:15px}
.catalog-access-avatars{display:inline-flex;align-items:center;padding-left:4px}
.catalog-access-avatars .avatar{width:28px;height:28px;min-width:28px;font-size:10px;margin-left:-4px;border:2px solid white;overflow:hidden}
.catalog-access-avatars img{width:100%;height:100%;object-fit:cover}

/* Keep access controls inside the service pill, as separate accessible buttons. */
.catalog-service-access-card{flex-direction:row;align-items:center;gap:0;border-radius:32px;background:var(--catalog-color);color:var(--catalog-ink)}
.catalog-service-access-card>.catalog-choice{flex:1;width:auto;background:transparent;border:0;color:inherit}
.catalog-service-access-card>.catalog-access-compact{align-self:center;flex:none;min-width:36px;min-height:36px;margin:0 12px 0 0;padding:5px;gap:2px;border:0;border-radius:20px;color:inherit;background:rgba(255,255,255,.15)}
.catalog-service-access-card>.catalog-access-compact:hover{background:rgba(255,255,255,.3)}
.catalog-access-compact:focus-visible{outline:2px solid currentColor;outline-offset:3px}
.catalog-access-compact .catalog-access-avatars:empty,.catalog-access-compact>span:empty{display:none}
.catalog-access-compact .avatar{width:25px;height:25px;min-width:25px}

/* Shared workspace navigation for administration and HR. */
a.workspace-return{text-decoration:underline;text-underline-offset:3px;border-radius:3px}a.workspace-return:hover{text-decoration:underline;text-underline-offset:4px}a.workspace-return:focus-visible{outline:2px solid currentColor;outline-offset:4px}

/* Header account menu keeps the quick clock unobstructed. */
.topbar-profile{position:relative;flex:none}
.topbar-profile .profile-avatar-button{display:flex;align-items:center;justify-content:center;width:42px;height:42px;padding:3px;border:1px solid var(--border);border-radius:50%;cursor:pointer;list-style:none;background:var(--tone-bg-ffffff,#fff)}
.topbar-profile .profile-avatar-button::-webkit-details-marker{display:none}
.topbar-profile .avatar{width:34px;height:34px;border-radius:50%;overflow:hidden;background:var(--tone-bg-edf5fc,#edf5fc);color:var(--tone-fg-246d9f,#246d9f)}
.topbar-profile .profile-avatar-button:focus-visible{outline:2px solid #278ad0;outline-offset:3px}
.topbar-profile .profile-menu-panel{top:calc(100% + 12px);bottom:auto;left:auto;right:0;width:260px;max-width:calc(100vw - 32px);z-index:120}
.topbar-profile .profile-menu-panel a{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:8px;color:inherit;text-decoration:none;font-size:14px}
.topbar-profile .profile-menu-panel a:hover,.topbar-profile .profile-menu-panel a:focus-visible{background:var(--tone-bg-edf5fc,#edf5fc);color:var(--tone-fg-246d9f,#246d9f)}
.topbar-profile .profile-menu-panel a>.icon{width:18px;height:18px;flex:none}

.global-search-results{display:grid;gap:8px;max-height:48vh;overflow:auto}.search-result{width:100%;justify-content:space-between;text-align:left;padding:12px 16px}.search-result small{display:block;color:var(--muted);font-weight:400;margin-bottom:4px}.global-search-toggle>span:first-child{font-size:22px;line-height:1}

.header-search{position:relative;display:flex;align-items:center;gap:8px;width:clamp(200px,25vw,360px);padding:0 10px;min-height:40px;border:1px solid #d6e4df;border-radius:11px;background:#f7fbf9;color:#548475}.header-search input{width:100%;min-width:0;height:38px;border:0;background:transparent;color:#203e60;outline:none;font:inherit}.header-search:focus-within{border-color:#278dca;box-shadow:0 0 0 3px #278dca18}.header-search>button{border:0;background:transparent;display:flex;padding:6px;color:inherit;cursor:pointer}.header-search-dropdown{position:absolute;right:0;top:calc(100% + 9px);width:min(470px,calc(100vw - 32px));max-height:70vh;overflow:auto;z-index:100;background:white;border:1px solid #dae6df;border-radius:15px;box-shadow:0 18px 50px #12372b26;padding:6px}.header-search-dropdown [role=option]{display:flex;align-items:center;gap:12px;width:100%;padding:11px;border:0;border-radius:9px;background:white;color:#203e60;text-align:left;cursor:pointer}.header-search-dropdown [role=option][aria-selected=true]{background:#edf5fc}.header-search-dropdown small,.header-search-dropdown strong{display:block}.header-search-dropdown small{font-size:11px;color:#7b9188;margin-bottom:3px}.header-search-dropdown strong{font-size:13px;font-weight:500;overflow-wrap:anywhere}.header-search-all{display:flex;justify-content:space-between;width:100%;border:0;border-top:1px solid #e1ebe5;background:#f5faf7;padding:12px;color:#278dca;cursor:pointer}.header-search-dropdown p{padding:12px}.topbar{overflow:visible}.global-search-results{margin-top:12px}@media(max-width:600px){.header-search{width: min(220px,48vw)}}

.header-search-dropdown[hidden]{display:none}.header-search-dropdown [role=option]>span:last-child{flex:1}.header-search-all{font:inherit}.header-search input{margin:0;padding:0}.topbar-right{min-width:0}

/* Catalog access: compact controls, readable names, one scrolling content area. */
#modal:has(.access-list){width:min(1280px,calc(100vw - 48px));max-width:calc(100vw - 48px);max-height:calc(100dvh - 48px);overflow:hidden}
#modal:has(.access-list) #modal-form{display:flex;flex-direction:column;max-height:calc(100dvh - 50px);min-height:0}
#modal:has(.access-list) form>header,#modal:has(.access-list) footer{flex:0 0 auto}
#modal:has(.access-list) .modal-body{flex:1 1 auto;min-height:0;max-height:none;overflow:auto;overscroll-behavior:contain}
#modal:has(.access-list) .access-list{max-height:none;overflow:visible;margin:20px 0}
.access-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:20px;padding:14px 18px;align-items:center}
.access-row:last-child{border-bottom:0}
.access-row>label{display:grid;grid-template-columns:18px 32px minmax(0,1fr);gap:14px;align-items:center;min-width:0;cursor:pointer;margin:0}
.access-row input[type=checkbox],.access-picks input[type=checkbox]{width:18px;min-width:18px;height:18px;flex:0 0 18px;margin:0;padding:0;accent-color:var(--brand-blue,#258bd2)}
.access-row .catalog-mark{width:32px;height:32px;min-width:32px}
.access-row>label>span:last-child{min-width:0;overflow-wrap:anywhere}
.access-row strong{display:block;line-height:1.45}
.access-row small{line-height:1.5;margin-top:4px}
.access-row>.button{white-space:nowrap;justify-self:end}
.access-row:has(input:checked){background:var(--tone-bg-eaf4ff,#eaf4ff)}
.access-row:focus-within{outline:2px solid var(--brand-blue,#258bd2);outline-offset:-2px}
@media(min-width:1000px){#modal:has(.access-list) .form-grid{grid-template-columns:minmax(0,2fr) minmax(220px,1fr)}}
@media(max-width:600px){
 #modal:has(.access-list){width:calc(100vw - 16px);max-width:calc(100vw - 16px);max-height:calc(100dvh - 16px)}
 #modal:has(.access-list) #modal-form{max-height:calc(100dvh - 18px)}
 #modal:has(.access-list) form>header,#modal:has(.access-list) .modal-body,#modal:has(.access-list) footer{padding:16px}
 #modal:has(.access-list) footer{flex-wrap:wrap}
 #modal:has(.access-list) footer .button{white-space:normal}
 #modal:has(.access-list) footer .form-error:not(:empty){flex-basis:100%;max-width:none}
 .access-row{grid-template-columns:minmax(0,1fr);gap:10px;padding:14px}
 .access-row>label{gap:10px}
 .access-row>.button{justify-self:start;margin-left:28px}
 .access-navigation .button{white-space:normal;text-align:left}
}

/* Wide catalog-access dialogs use two independent, readable item columns. */
@media(min-width:1100px){
 #modal:has(.access-list) .access-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0;overflow:hidden}
 #modal:has(.access-list) .access-row{gap:12px;padding:14px 16px;height:100%;border-bottom:1px solid var(--tone-border-d8e1ef,#d8e1ef)}
 #modal:has(.access-list) .access-row:nth-child(odd){border-right:1px solid var(--tone-border-d8e1ef,#d8e1ef)}
 #modal:has(.access-list) .access-row>label{gap:10px}
 #modal:has(.access-list) .access-list>.hint{grid-column:1/-1;padding:16px}
}

/* Compact responsive controls leave more room for the catalog. */
.access-toolbar{display:grid;grid-template-columns:auto minmax(200px,1fr) auto;align-items:center;gap:16px}
.access-toolbar .overview-tabs{margin:0;min-width:0}
.access-toolbar .overview-tabs button{display:inline-flex;align-items:center;gap:8px}
.access-toolbar>input{width:100%;min-width:0;margin:0}
.access-toolbar>[data-full-access]{white-space:nowrap}
.access-meta{display:flex;align-items:baseline;justify-content:space-between;gap:8px 24px;margin-top:10px}
.access-meta>.hint{margin:0;flex:0 0 auto}
.access-help{font-size:13px;color:var(--muted);max-width:720px;text-align:right}
.access-help summary{cursor:pointer}
.access-help p{line-height:1.6;text-align:left;margin:8px 0 0}
#modal:has(.access-list) .access-list{margin-top:12px}
@media(max-width:850px){
 .access-toolbar{grid-template-columns:minmax(0,1fr) auto;gap:10px}
 .access-toolbar>input{grid-column:1/-1;grid-row:2}
}
@media(max-width:480px){
 .access-toolbar{grid-template-columns:minmax(0,1fr)}
 .access-toolbar>input{grid-row:auto}
 .access-toolbar>[data-full-access]{justify-self:start}
 .access-meta{flex-wrap:wrap}
 .access-help{text-align:left}
}

.help-article>summary{display:flex;align-items:center;gap:12px}
.help-topic-icon{display:inline-flex;align-items:center;justify-content:center;flex:0 0 36px;width:36px;height:36px;border-radius:10px;background:var(--tone-bg-eaf4ff,#eaf4ff);color:var(--brand-blue,#258bd2)}
.help-topic-title{flex:1;min-width:0}
.help-article>summary::after{content:'+';margin-left:auto;font-size:20px}
.help-article[open]>summary::after{content:'−'}
.help-guide-figure{margin:22px 0 10px;max-width:100%}
.help-guide-figure>a{display:block;width:fit-content;max-width:100%;border-radius:12px;overflow:hidden;border:1px solid var(--tone-border-d8e1ef,#d8e1ef)}
.help-guide-figure .help-screenshot{display:block;width:auto;max-width:100%;height:auto;margin:0}
.help-guide-figure figcaption{font-size:13px;line-height:1.6;margin-top:10px}
.help-guide-figure figcaption span{display:block;opacity:.8;margin-top:4px}

.help-share{display:flex;justify-content:flex-end;margin:0 0 14px;gap:10px}
.help-article{scroll-margin-top:24px}

/* Give the import mapping room on larger screens. */
#modal:has([data-jibble-mapping]){width:min(1100px,calc(100vw - 32px));max-width:1100px}

/* Wide review surface; header and actions remain visible while details scroll. */
#modal:has([data-jibble-review]){width:min(1440px,calc(100vw - 32px));max-width:calc(100vw - 32px);max-height:calc(100dvh - 32px);overflow:hidden}
#modal:has([data-jibble-review]) form{display:flex;flex-direction:column;max-height:calc(100dvh - 34px);min-height:0}
#modal:has([data-jibble-review]) form>header,#modal:has([data-jibble-review]) footer{flex-shrink:0}
#modal:has([data-jibble-review]) .modal-body{flex:1 1 auto;min-height:0;max-height:none;overflow:auto;overscroll-behavior:contain}
#modal:has([data-jibble-review]) .jibble-details{max-height:min(600px,55dvh)}
#modal:has([data-jibble-review]) .jibble-people{max-height:min(520px,50dvh)}
@media(max-width:600px){#modal:has([data-jibble-review]){width:calc(100vw - 16px);max-width:calc(100vw - 16px);max-height:calc(100dvh - 16px)}#modal:has([data-jibble-review]) form{max-height:calc(100dvh - 18px)}#modal:has([data-jibble-review]) footer{flex-wrap:wrap;padding:12px 16px}#modal:has([data-jibble-review]) footer .button{white-space:normal}}

#modal:has([data-jibble-review]) .notice{display:block;min-width:0}
#modal:has([data-jibble-review]) .import-counts{grid-template-columns:repeat(4,minmax(0,1fr))}
.jibble-conflict-section{margin:20px 0;min-width:0}.jibble-conflict-card{border:1px solid var(--border,#dce3eb);border-radius:10px;margin:10px 0;padding:10px;background:var(--tone-bg-ffffff,#fff)}.jibble-conflict-card[hidden]{display:none}.jibble-conflict-card details{padding:8px 12px}.jibble-conflict-card summary{cursor:pointer}.jibble-conflict-pager{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.jibble-conflict-card .jibble-issue{width:100%;box-sizing:border-box}.jibble-conflict-card td{white-space:normal}
@media(max-width:650px){#modal:has([data-jibble-review]) .import-counts{grid-template-columns:repeat(2,minmax(0,1fr))}}

.request-compact-tools{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.request-compact-tools input{width:220px;max-width:100%}.request-column-filter{display:inline-flex;align-items:center;gap:6px;border:0;background:transparent;color:inherit;font:inherit;cursor:pointer;padding:4px}.request-column-filter .icon{width:14px;height:14px}.request-column-filter.active{color:var(--brand-blue,#258bd2);font-weight:700}.request-filter-popover{position:fixed;margin:0;width:320px;max-width:calc(100vw - 16px);max-height:calc(100dvh - 16px);overflow:auto;border:1px solid #d1dae5;border-radius:12px;padding:16px;background:var(--tone-bg-ffffff,#fff);color:var(--tone-fg-314155,#314155);box-shadow:0 12px 40px #152c4930}.request-filter-popover .field{margin:12px 0}.request-filter-popover input:not([type=checkbox]),.request-filter-popover select{width:100%;box-sizing:border-box}.request-choices{max-height:210px;overflow:auto;margin:10px 0}.request-choices label{display:flex;gap:10px;align-items:center;padding:8px}.request-choices label[hidden]{display:none}.request-choices input{width:16px;height:16px;flex-shrink:0}.request-filter-actions{display:flex;justify-content:space-between;gap:8px;margin-top:14px}.request-mobile-filter{display:none}.request-filter-popover fieldset{border:0;padding:0;margin:14px 0}.request-filter-popover legend{font-weight:600}@media(max-width:700px){.request-mobile-filter{display:inline-flex}.requests-card .section-heading{flex-wrap:wrap;gap:12px}.request-compact-tools{width:100%}.request-compact-tools input{flex:1;min-width:150px}}

.dev-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:10px;padding:12px 20px;background:#fff3cf;border-bottom:2px solid #ad7810;color:#42310e;position:sticky;top:0;z-index:45}.dev-toolbar label{display:flex;align-items:center;gap:6px}.dev-toolbar select{max-width:230px}.dev-toolbar>span{font-size:12px}.dev-settings{padding:20px;margin-bottom:18px}.dev-settings h2{margin-top:0}@media(max-width:700px){.dev-toolbar{position:relative;padding:12px}.dev-toolbar label{flex:1 1 180px}.dev-toolbar select{width:100%}}

.people-picker-tools{flex-wrap:wrap;gap:6px 12px}.people-picker-selection-hint{margin:8px 0;font-size:12px}

.report-stat-label{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%}.report-stat-icon{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:10px;background:var(--tone-bg-c9daed,#eaf2fb);color:var(--primary,#287fc1)}.report-stat-icon svg{width:18px;height:18px}.ledger-bars [data-tooltip-details]:focus-visible{outline:2px solid var(--primary,#287fc1);outline-offset:3px}

/* Highlight only the chart element whose details are being inspected. */
.ledger-bars [data-tooltip-details],.balance-chart [data-tooltip-details]{transition:filter .12s ease}
.ledger-bars [data-tooltip-details]:is(:hover,:focus-visible),.balance-chart [data-tooltip-details]:is(:hover,:focus-visible){filter:brightness(1.12) drop-shadow(0 0 3px color-mix(in srgb,currentColor 22%,transparent));cursor:help}
@media(prefers-reduced-motion:reduce){.ledger-bars [data-tooltip-details],.balance-chart [data-tooltip-details]{transition:none}}

/* Device kiosk: people first, touch-friendly personal PIN entry. */
.kiosk-roster-first{display:flex;flex-direction:column}
.kiosk-roster-first .kiosk-team{order:0;width:100%;min-width:0}
.kiosk-roster-first .kiosk-login-card{order:1;padding:0;background:transparent;border:0;box-shadow:none}
.kiosk-pinpad{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:16px 0}
.kiosk-pinpad .button{min-height:58px;justify-content:center;font-size:1.4rem}

.kiosk-pin-dialog{box-sizing:border-box;width:min(420px,calc(100vw - 24px));max-width:calc(100vw - 24px);max-height:calc(100dvh - 24px);margin:auto;padding:20px;border:1px solid #d5dfeb;border-radius:18px;overflow:auto;background:#fff;color:#173b61}
.kiosk-pin-dialog::backdrop{background:rgb(20 39 60 / .4)}
.kiosk-pin-dialog .kiosk-login-card{padding:0;border:0;box-shadow:none;max-width:none}
.kiosk-pin-close{display:flex;margin-left:auto;min-height:36px;padding:4px 12px;font-size:24px}
.kiosk-pin-dialog .kiosk-pinpad{gap:8px;margin:12px 0}
.kiosk-pin-dialog .kiosk-pinpad .button{min-height:48px}
.kiosk-pin-dialog input{box-sizing:border-box;width:100%;min-width:0}
@media(max-height:650px){.kiosk-pin-dialog{padding:12px}.kiosk-pin-dialog .kiosk-pinpad{gap:5px;margin:8px 0}.kiosk-pin-dialog .kiosk-pinpad .button{min-height:40px;padding:6px}.kiosk-pin-dialog .hint{margin-bottom:0}}

.kiosk.kiosk-workplace{padding:20px clamp(12px,3vw,44px);max-width:1800px;margin:auto}
.kiosk-workplace .kiosk-header{margin-bottom:12px}
.kiosk-workplace h1{font-size:clamp(24px,3vw,34px);margin:8px 0}
.kiosk-workplace .kiosk-layout{margin-top:16px;gap:12px}
.kiosk-workplace .kiosk-people{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:8px}
.kiosk-workplace .kiosk-person{padding:12px;min-height:76px;gap:10px}
.kiosk-workplace .kiosk-person .avatar{width:36px;height:36px;min-width:36px;font-size:12px}
.kiosk-workplace .kiosk-person strong{font-size:14px;line-height:1.25}
.kiosk-workplace .kiosk-person small{font-size:12px}
.kiosk-workplace .kiosk-filters{gap:10px;flex-wrap:wrap}
.kiosk-workplace .kiosk-filters .button{min-height:42px;padding:8px 12px;gap:6px}
@media(max-width:480px){.kiosk-workplace .kiosk-people{grid-template-columns:repeat(2,minmax(0,1fr))}.kiosk-workplace .kiosk-person{padding:10px;flex-wrap:wrap}.kiosk-workplace .kiosk-header .button{padding:8px;font-size:12px}}

.kiosk-workplace [data-filter="online"]{color:#167347;border-color:#b7dfc9;background:#f1faf5}
.kiosk-workplace [data-filter="online"].primary{color:#fff;border-color:#188453;background:#188453}
.kiosk-workplace [data-filter="offline"]{color:#596777;border-color:#d8dee5;background:#f5f7f9}
.kiosk-workplace [data-filter="offline"].primary{color:#fff;border-color:#637182;background:#637182}
.kiosk-workplace .kiosk-person{transition:border-color .15s,box-shadow .15s;background:#fff}
.kiosk-workplace .kiosk-person:hover{box-shadow:0 3px 12px rgb(26 60 90 / .1)}
.kiosk-workplace .kiosk-status{width:fit-content;border-radius:20px;padding:3px 7px;font-weight:600;line-height:1.3}
.kiosk-workplace .kiosk-status.working{color:#167347;background:#eaf7ef}
.kiosk-workplace .kiosk-status.stopped{color:#667383;background:#f0f3f6}
.kiosk-workplace .kiosk-status.stopped:before{background:#8a96a4}
.kiosk-workplace .kiosk-status.break{color:#94600b;background:#fff4d8}
.kiosk-workplace .kiosk-status.break:before{display:none}
.kiosk-workplace .kiosk-status.break svg{width:12px;height:12px}
@media(prefers-reduced-motion:reduce){.kiosk-workplace .kiosk-person{transition:none}}

/* myTime kiosk: blue welcome area and a clean, compact workplace. */
body:has(.kiosk-workplace){background:#fff}
.kiosk.kiosk-workplace{max-width:none;padding:0;min-height:100dvh;background:#fff}
.kiosk-topper{background:#258bd0;color:#fff;padding:18px clamp(16px,3vw,48px) 22px}
.kiosk-topper .brand,.kiosk-topper h1,.kiosk-topper .eyebrow,.kiosk-topper .muted,.kiosk-topper .hint{color:#fff}
.kiosk-topper .eyebrow{opacity:.8;font-size:11px;letter-spacing:.12em}
.kiosk-topper .muted{opacity:.9;margin-bottom:0}
.kiosk-topper #kiosk-connection{font-size:11px;opacity:.8;margin:0 0 10px}
.kiosk-topper .kiosk-header .button{color:#fff;background:rgb(255 255 255 / .12);border-color:rgb(255 255 255 / .35);min-height:38px;padding:8px 12px}
.kiosk-topper .kiosk-header .button:hover{background:rgb(255 255 255 / .24)}
.kiosk-workplace .kiosk-layout{margin:0;padding:18px clamp(16px,3vw,48px)}
.kiosk-workplace .kiosk-filters{align-items:center;gap:10px;margin-bottom:10px}
.kiosk-workplace .kiosk-filters .calendar-toggle{display:flex;gap:6px;flex-wrap:wrap}
.kiosk-workplace .kiosk-filters .kiosk-sort-field,.kiosk-workplace .kiosk-filters .kiosk-search-field{position:relative;display:flex;flex-direction:row;align-items:center;gap:0;margin:0}
.kiosk-workplace .kiosk-filters label>svg{position:absolute;left:12px;width:17px;height:17px;color:#258bd0;pointer-events:none}
.kiosk-workplace .kiosk-filters select,.kiosk-workplace .kiosk-filters input{height:42px;min-height:42px;margin:0;padding:8px 12px 8px 38px;border-radius:11px;background:#f6f9fc;border:1px solid #dce6ef;box-sizing:border-box}
.kiosk-workplace .kiosk-sort-field{margin-left:auto!important}
.kiosk-workplace .kiosk-search-field{flex:1 1 190px;max-width:300px}
.kiosk-workplace .kiosk-search-field input{width:100%;min-width:0}
.kiosk-workplace .kiosk-person{border-color:#e0e9f1;border-radius:14px;box-shadow:0 2px 5px rgb(24 73 110 / .035)}
.kiosk-workplace .kiosk-person .avatar{background:#e9f4fd;color:#227bbb}
.kiosk-workplace .kiosk-person:hover,.kiosk-workplace .kiosk-person:focus-visible{border-color:#258bd0;background:#f4faff;box-shadow:0 3px 12px rgb(37 139 208 / .12)}
@media(max-width:600px){.kiosk-workplace .kiosk-sort-field{margin-left:0!important;flex:1 1 150px}.kiosk-workplace .kiosk-sort-field select{width:100%}.kiosk-workplace .kiosk-search-field{max-width:none;flex:1 1 160px}.kiosk-topper{padding:14px 16px 18px}.kiosk-topper .kiosk-header{gap:10px}.kiosk-workplace .kiosk-layout{padding:14px 16px}}

.kiosk .kiosk-topper .brand,.kiosk .kiosk-topper .brand>.icon,.kiosk .kiosk-topper .brand>span,.kiosk .kiosk-topper .brand>span>span{color:#fff}

.kiosk-login-options{display:flex;gap:10px;flex-wrap:wrap;margin-top:8px}
.kiosk-login-options .button{display:inline-flex;gap:8px;align-items:center;justify-content:center;min-height:44px;color:#227bbb;border-color:#c5dff1;background:#f5faff}
.kiosk-person-results{display:grid;gap:8px;margin-top:14px}
.kiosk-person-results .button{display:flex;align-items:center;gap:10px;min-height:48px;text-align:left}
.kiosk-person-results .button span{flex:1}
.kiosk-person-dialog .field{display:flex;flex-direction:column;gap:6px}
@media(max-width:480px){.kiosk-login-options .button{flex:1 1 180px}}

.kiosk-pinpad{position:relative;touch-action:none;user-select:none}
.kiosk-pin-trail{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;overflow:hidden}
.kiosk-pin-trail polyline{fill:none;stroke:#258bd0;stroke-width:5;stroke-linecap:round;stroke-linejoin:round;opacity:.55}
.kiosk-pinpad .button.pin-traced{background:#e1f2ff;border-color:#258bd0;color:#17689f}
.kiosk-pin-help{font-size:12px;color:#65788d;margin:8px 0}

/* Compact kiosk header also responds to short landscape/tablet windows. */
@media(max-width:1100px),(max-height:800px){
 .kiosk-topper{padding:12px clamp(16px,3vw,36px) 14px;display:flex;flex-wrap:wrap;align-items:center;column-gap:14px;row-gap:4px}
 .kiosk-topper .kiosk-header{width:100%;margin-bottom:4px;gap:10px;flex-wrap:nowrap}
 .kiosk .kiosk-topper .brand{font-size:26px}
 .kiosk .kiosk-topper .brand>.icon{width:25px;height:25px}
 .kiosk-topper #kiosk-connection{margin:0;font-size:10px}
 .kiosk-topper .eyebrow{font-size:10px;margin:0}
 .kiosk-workplace .kiosk-topper h1{flex-basis:100%;font-size:24px;line-height:1.2;margin:4px 0 0}
 .kiosk-topper>.muted{flex-basis:100%;font-size:12px;line-height:1.4;margin:2px 0 0}
 .kiosk-topper .kiosk-header .button{min-height:36px;font-size:12px;padding:6px 9px}
}
@media(max-width:540px){
 .kiosk-topper{padding:10px 14px 12px;column-gap:8px}
 .kiosk .kiosk-topper .brand{font-size:23px}
 .kiosk-topper .kiosk-header>div{gap:5px}
 .kiosk-topper .kiosk-header .button{font-size:0;gap:0;width:38px;height:38px;padding:9px}
 .kiosk-topper .kiosk-header .button svg{width:18px;height:18px}
 .kiosk-workplace .kiosk-topper h1{font-size:21px}
}

.track-note>.field{flex:1;min-width:0;margin:0}
.track-note textarea{width:100%;box-sizing:border-box;resize:vertical;min-height:60px}
.timeline-note{white-space:pre-wrap;color:#65788d}
.timeline-note summary{cursor:pointer;font-size:12px;white-space:normal}
.timeline-note[open] summary{margin-bottom:6px}
.tracker-current>.text-button{display:flex;align-items:center;gap:6px;margin-top:8px}

.daily-entries{padding:0 20px}.daily-entries .day-add-entry{display:inline-flex;align-items:center;gap:6px;margin:10px 0 12px;min-height:32px}

.pin-setup-pad{margin:8px 0 16px}.pin-setup-pad summary{display:flex;align-items:center;gap:8px;color:#227bbb;cursor:pointer;font-size:13px}.pin-setup-pad .kiosk-pinpad{max-width:330px;margin:12px auto}.pin-setup-pad .kiosk-pinpad .button{min-height:44px}

.pin-visibility-field{position:relative;width:100%}.pin-visibility-field input{width:100%;box-sizing:border-box;padding-right:48px}.pin-visibility-field>.icon-button{position:absolute;right:3px;top:50%;transform:translateY(-50%);width:40px;height:36px;color:#227bbb}

.kiosk-status-compact{display:none}
@media(max-width:700px){
 .kiosk-topper{position:relative;padding:10px 14px;display:block}
 .kiosk-topper>.eyebrow,.kiosk-topper>h1,.kiosk-topper>.muted{display:none}
 .kiosk-topper .kiosk-header{margin:0;min-height:42px}
 .kiosk-topper .kiosk-header .brand{padding-bottom:15px}
 .kiosk-topper #kiosk-connection{position:absolute;left:14px;top:40px;margin:0;opacity:1;font-size:10px;line-height:1.2}
 .kiosk-status-wide{display:none}
 .kiosk-status-compact{display:block}
 .kiosk-status-compact summary{display:flex;align-items:center;gap:4px;cursor:pointer;list-style:none}
 .kiosk-status-compact summary::-webkit-details-marker{display:none}
 .kiosk-status-compact summary .icon{width:11px;height:11px}
 .kiosk-status-compact>span{position:absolute;top:20px;left:0;z-index:10;width:220px;box-sizing:border-box;padding:12px;background:#fff;color:#193653;border:1px solid #dce6ef;border-radius:10px;box-shadow:0 4px 16px #19365322;font-size:12px;line-height:1.5}
 .kiosk-topper #kiosk-connection.has-error{position:static;margin-top:8px;font-size:12px}
}

/* Use the compact header whenever the actual kiosk content needs scrolling. */
.kiosk-topper.kiosk-topper-compact{position:relative;padding:10px 14px;display:block}
.kiosk-topper.kiosk-topper-compact>.eyebrow,.kiosk-topper.kiosk-topper-compact>h1,.kiosk-topper.kiosk-topper-compact>.muted{display:none}
.kiosk-topper.kiosk-topper-compact .kiosk-header{margin:0;min-height:42px}
.kiosk-topper.kiosk-topper-compact .kiosk-header .brand{padding-bottom:15px}
.kiosk-topper.kiosk-topper-compact #kiosk-connection{position:absolute;left:14px;top:40px;margin:0;opacity:1;font-size:10px;line-height:1.2}
.kiosk-topper-compact .kiosk-status-wide{display:none}
.kiosk-topper-compact .kiosk-status-compact{display:block}
.kiosk-topper-compact .kiosk-status-compact summary{display:flex;align-items:center;gap:4px;cursor:pointer;list-style:none}
.kiosk-topper-compact .kiosk-status-compact summary .icon{width:11px;height:11px}
.kiosk-topper-compact .kiosk-status-compact>span{position:absolute;top:20px;left:0;z-index:10;width:220px;padding:12px;background:#fff;color:#193653;border:1px solid #dce6ef;border-radius:10px;box-shadow:0 4px 16px #19365322;font-size:12px;line-height:1.5}
.kiosk-topper.kiosk-topper-compact #kiosk-connection.has-error{position:static;margin-top:8px;font-size:12px}

.kiosk-workplace .kiosk-filters .kiosk-view-toggle{order:3;width:42px;min-width:42px;padding:10px;justify-content:center;color:#227bbb}
.kiosk-workplace .kiosk-filters .kiosk-view-toggle[aria-pressed="true"]{background:#e8f4fd;border-color:#258bd0}
.kiosk-workplace .kiosk-people.kiosk-people-list{grid-template-columns:minmax(0,1fr);gap:0;border:1px solid #e0e9f1;border-radius:12px;overflow:hidden}
.kiosk-workplace .kiosk-people-list .kiosk-person{min-height:52px;padding:8px 14px;border:0;border-bottom:1px solid #e0e9f1;border-radius:0;box-shadow:none;flex-wrap:nowrap}
.kiosk-workplace .kiosk-people-list .kiosk-person:last-child{border-bottom:0}
.kiosk-workplace .kiosk-people-list .kiosk-person>span:last-child{display:flex;align-items:center;justify-content:space-between;gap:12px;flex:1;min-width:0}
.kiosk-workplace .kiosk-people-list .kiosk-person .avatar{width:30px;height:30px;min-width:30px}
.kiosk-workplace .kiosk-people-list .kiosk-status{margin-top:0;flex-shrink:0}
@media(max-width:380px){.kiosk-workplace .kiosk-people-list .kiosk-person>span:last-child{flex-wrap:wrap;gap:2px}.kiosk-workplace .kiosk-people-list .kiosk-person strong{flex-basis:100%}}

.kiosk-workplace .kiosk-filters .kiosk-sort-field{flex:0 0 42px;width:42px;height:42px;margin-left:auto!important;border:1px solid #dce6ef;border-radius:11px;background:#f6f9fc;box-sizing:border-box}
.kiosk-workplace .kiosk-filters .kiosk-sort-field select{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer;padding:0}
.kiosk-workplace .kiosk-sort-field:focus-within{outline:2px solid #258bd0;outline-offset:2px}
.kiosk-workplace .kiosk-filters .calendar-toggle{flex-wrap:nowrap}
@media(max-width:1000px){
 .kiosk-workplace .kiosk-filter-label{display:none}
 .kiosk-workplace .kiosk-filters{gap:6px}
 .kiosk-workplace .kiosk-filters .calendar-toggle{gap:4px}
 .kiosk-workplace .kiosk-filters .button{padding:8px;gap:4px}
 .kiosk-workplace .kiosk-filters .kiosk-search-field{flex:1 1 90px;min-width:70px;max-width:none}
}
@media(max-width:420px){
 .kiosk-workplace .kiosk-filters{gap:4px}
 .kiosk-workplace .kiosk-filters .calendar-toggle{gap:2px}
 .kiosk-workplace .kiosk-filters .button{padding:6px;min-height:38px;font-size:11px}
 .kiosk-workplace .kiosk-filters .button .icon{width:14px;height:14px}
 .kiosk-workplace .kiosk-filters .kiosk-sort-field{flex-basis:34px;width:34px;height:38px}
 .kiosk-workplace .kiosk-filters .kiosk-sort-field>svg{left:8px}
 .kiosk-workplace .kiosk-filters .kiosk-view-toggle{width:34px;min-width:34px}
 .kiosk-workplace .kiosk-filters .kiosk-search-field{flex-basis:45px;min-width:40px}
 .kiosk-workplace .kiosk-search-field input{padding-left:28px;font-size:12px}
 .kiosk-workplace .kiosk-filters .kiosk-search-field>svg{left:8px;width:14px}
}

.kiosk-workplace .kiosk-filters .kiosk-search-field[hidden]{display:none}

/* Touch targets take precedence over compact visual controls. */
.kiosk-workplace button,.kiosk-workplace summary{touch-action:manipulation;-webkit-tap-highlight-color:transparent}
.kiosk-workplace button:focus-visible,.kiosk-workplace summary:focus-visible{outline:3px solid #258bd0;outline-offset:3px}
.kiosk-pin-dialog{overscroll-behavior:contain;scroll-padding:16px}
.kiosk-pin-dialog input,.kiosk-pin-dialog select{font-size:16px}
.kiosk-pinpad .button{touch-action:none}
body:has(.kiosk-workplace dialog[open]){overflow:hidden}
@media(pointer:coarse){
 .kiosk-workplace .button,.kiosk-workplace .icon-button,.kiosk-workplace .text-button,.kiosk-workplace .kiosk-header .button{min-height:44px;min-width:44px}
 .kiosk-workplace .kiosk-filters .button,.kiosk-workplace .kiosk-filters .kiosk-view-toggle{min-height:44px;min-width:44px}
 .kiosk-workplace .kiosk-filters .kiosk-sort-field{flex-basis:44px;width:44px;height:44px}
 .kiosk-workplace .kiosk-filters input,.kiosk-workplace .kiosk-filters select{min-height:44px;font-size:16px}
 .kiosk-workplace .kiosk-status-compact summary{min-height:24px;min-width:44px}
 .kiosk-workplace .kiosk-person{min-height:64px}
 .kiosk-pin-dialog .kiosk-pinpad .button{min-height:48px}
 .kiosk-workplace .kiosk-person:hover{background:#fff;box-shadow:none}
 .kiosk-workplace .kiosk-person:active{background:#e9f4fd;border-color:#258bd0}
}
@supports(padding:max(0px)){
 .kiosk-workplace .kiosk-layout{padding-left:max(16px,env(safe-area-inset-left));padding-right:max(16px,env(safe-area-inset-right));padding-bottom:max(18px,env(safe-area-inset-bottom))}
}

.kiosk-workplace .kiosk-status-compact>span{max-width:calc(100vw - 32px);box-sizing:border-box;overflow-wrap:anywhere}
.kiosk-pin-dialog{max-height:calc(100vh - 24px);max-height:calc(100dvh - 24px);overflow-x:hidden;overflow-y:auto;overflow-wrap:anywhere}
.kiosk-person-results .button span{min-width:0;overflow-wrap:anywhere}
.kiosk-pin-dialog .kiosk-login-card{min-width:0}
@media(hover:none){.kiosk-workplace .kiosk-person:hover{background:#fff;box-shadow:none}.kiosk-workplace .kiosk-person:active{background:#e9f4fd}}

/* Grouped absence responsibilities and person tokens. */
.approval-access-note{font-size:13px;line-height:1.6;color:var(--muted)}
.approval-target{padding:18px 24px;border-top:1px solid var(--border)}
.approval-target h3{margin:0;font-size:15px}
.approval-target>p{margin:6px 0 12px;font-size:13px}
.approval-people{display:flex;flex-wrap:wrap;gap:8px;align-items:flex-start}
.approval-person{position:relative;max-width:100%}
.approval-person>summary{display:flex;align-items:center;gap:8px;list-style:none;cursor:pointer;border:1px solid var(--border);border-radius:24px;padding:5px 12px 5px 5px;font-size:13px;background:var(--tone-bg-f4f8fd,#f4f8fd)}
.approval-person>summary::-webkit-details-marker{display:none}
.approval-person>summary:focus-visible{outline:2px solid #278ad0;outline-offset:3px}
.approval-person>summary>span:last-child{overflow-wrap:anywhere;min-width:0}
.approval-person .avatar{width:30px;height:30px;flex:0 0 30px;font-size:11px;overflow:hidden}
.approval-person[open]{width:280px;max-width:100%}
.approval-person-popup{position:static;margin-top:6px;width:100%;max-width:100%;overflow-wrap:anywhere;box-sizing:border-box;padding:16px;border:1px solid var(--border);border-radius:12px;background:var(--tone-bg-ffffff,#fff);box-shadow:0 8px 24px #152c4926;font-size:13px;line-height:1.5}
@media(max-width:700px){.approval-person[open]{flex-basis:100%}.approval-person-popup{position:static;margin-top:6px;width:100%}}

/* Responsibility selection and detail panel. */
.scope-selection-bar{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;padding:0 24px 18px;font-size:12px;color:var(--muted)}
.scope-card .approval-person>summary{user-select:none;transition:background .15s,border-color .15s}
.scope-card .approval-person.is-selected>summary{background:#e1effc;border-color:#258bd2;box-shadow:0 0 0 1px #258bd2;color:#124f7a}
.scope-card .approval-person-popup{padding:20px;border:1px solid #dce5ef;box-shadow:0 5px 16px #152c4910}
.scope-card .approval-person-popup>strong{display:block;font-size:15px;margin-bottom:4px}
.scope-card .approval-person-popup>p{margin:0 0 16px;color:var(--muted)}
.scope-rights{display:flex;flex-wrap:wrap;gap:6px;margin:16px 0}
.scope-rights>span{padding:5px 8px;border-radius:6px;background:#f0f5fa;font-size:12px;line-height:1.45}
.scope-card .approval-person-popup .button-row{display:grid;gap:8px;margin:18px 0;padding-top:16px;border-top:1px solid #e3eaf2}
.scope-card .approval-person-popup .button-row>.button{width:100%;justify-content:center;text-align:center;margin:0}
.scope-remove{color:#a93636;border-color:#e4bcbc;background:#fff}
.scope-remove:hover:not(:disabled){background:#fff1f1;border-color:#bf5555}
.scope-remove:disabled{opacity:.45;cursor:default}
.scope-card .approval-person-popup>p.hint:last-child{margin:0;font-size:12px;line-height:1.6}
.scope-removal-list{max-height:40vh;overflow:auto;padding-left:24px;line-height:1.8}
@media(max-width:700px){.scope-selection-bar{padding-inline:18px}.scope-selection-bar>button{width:100%}}

/* Keep the person token at its intrinsic width when details expand. */
.scope-card .approval-person>summary{width:max-content;max-width:100%;box-sizing:border-box}

/* Floating details never take space in the token row or get clipped by cards. */
.scope-card .approval-person[open]{width:auto;max-width:100%;flex-basis:auto}
.scope-card .approval-person-popup[popover]{position:fixed;inset:auto;margin:0;width:280px;max-width:calc(100vw - 24px);overflow:auto;overscroll-behavior:contain;color:inherit}

.scope-owner-heading{display:flex;align-items:center;flex-wrap:wrap;gap:12px}.scope-owner-heading h3 button{display:inline-flex;gap:8px;align-items:center;border:0;background:transparent;font:inherit;color:inherit;padding:5px 0;cursor:pointer}.scope-owner-heading h3 button:hover{color:#1476b4}.scope-owner-heading .icon{width:15px;height:15px}.scope-difference{display:inline-block;background:#fff2d8;color:#805419;border-radius:5px;padding:3px 6px;font-size:11px}.scope-rights .scope-right-different{background:#fff2d8;color:#805419}.scope-bulk-rights>label{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:12px 0;border-bottom:1px solid #e3eaf2}.scope-bulk-rights small,.scope-bulk-targets small{display:block;color:var(--muted);margin-top:5px;font-size:12px}.scope-bulk-rights select{width:210px;max-width:100%;flex-shrink:0}.scope-bulk-targets{max-height:38vh;overflow:auto;margin:16px 0}.scope-bulk-targets>label{align-items:flex-start;padding:12px 0}.scope-bulk-targets input{flex-shrink:0}.scope-bulk-targets small{line-height:1.7}[data-owner-error]{color:#a93636}@media(max-width:600px){.scope-bulk-rights>label{align-items:stretch;flex-direction:column;gap:8px}.scope-bulk-rights select{width:100%}}

.scope-mail-dependency{padding:14px 16px;margin:12px 0;border:1px solid #e9cc93;border-radius:10px;background:#fff8e9}.scope-mail-dependency p{margin:0 0 12px}.scope-mail-dependency[hidden]{display:none}

/* Permission symbols: slash means denied; mixed and inherited remain distinct. */
.scope-permissions{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0 18px}
.scope-permission{display:inline-flex;align-items:center;gap:9px;padding:8px 11px;border:1px solid #dce5ed;border-radius:9px;background:#f7fafc;font-size:12px;line-height:1.35}
.scope-permission small{display:block;margin-top:2px;font-size:10px;color:var(--muted,#64748b)}
.scope-permission-symbol{position:relative;display:inline-flex;flex:0 0 23px;width:23px;height:23px}
.scope-permission-symbol svg{width:23px;height:23px}
.scope-permission.included .scope-permission-symbol,.scope-permission.allowed .scope-permission-symbol{color:#19704f}
.scope-permission.denied{background:#f5f6f8;color:#687689}
.scope-permission-slash{stroke:#a34040;stroke-width:2.3}
.scope-permission.mixed{background:#fff7e8;border-color:#ead5ac}
.scope-permission.mixed .scope-permission-symbol{color:#8b641b}
.scope-permission.inherited .scope-permission-symbol{color:#486b9b}
.scope-permission-symbol b{position:absolute;right:-5px;bottom:-5px;min-width:13px;text-align:center;border-radius:4px;background:#fff;font-size:12px;line-height:14px}
.scope-permissions-detail{display:grid;grid-template-columns:1fr;margin:16px 0}
.scope-permissions-detail .scope-permission{width:100%;box-sizing:border-box}
@media(max-width:600px){.scope-permissions:not(.scope-permissions-detail){display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.scope-permission{min-width:0;padding:8px;overflow-wrap:anywhere}}

/* Central sign-in: content-sized groups rather than stretched grid children. */
.sso-welcome{min-height:100svh;display:grid;place-items:center;padding:48px 24px;background:#f4f7fb}
.sso-welcome-card{width:min(100%,960px);display:grid;grid-template-columns:1fr 1fr;background:#fff;border:1px solid #dbe5ef;border-radius:24px;overflow:hidden;box-shadow:0 20px 70px #1634520d}
.sso-intro{padding:42px;min-height:490px;display:flex;flex-direction:column;justify-content:space-between;gap:48px;background:linear-gradient(145deg,#e7f3ff,#f1f7fd);color:#183c5d}
.sso-intro .brand{padding:0;color:#1681c4;width:fit-content}
.sso-intro .brand .icon{color:inherit}
.sso-intro .eyebrow{color:#4a7294}
.sso-intro h2{font-size:38px;line-height:1.2;letter-spacing:-1.3px;font-weight:600;margin:16px 0}
.sso-intro p{font-size:15px;line-height:1.8;color:#516c85;margin:0}
.sso-intro-footer{display:flex;align-items:center;gap:10px;font-size:12px;line-height:1.6;color:#526f88}
.sso-intro-footer .icon{flex-shrink:0;width:19px;height:19px}
.sso-signin{padding:52px 42px;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;color:#18334d;min-width:0}
.sso-account-mark{display:grid;place-items:center;width:48px;height:48px;background:#edf6ff;color:#2188cb;border:1px solid #dbeafa;border-radius:14px;margin-bottom:26px}
.sso-account-mark .icon{width:24px;height:24px}
.sso-signin .eyebrow{font-size:10px;letter-spacing:1.4px;color:#5b7890}
.sso-signin h1{font-size:29px;line-height:1.2;letter-spacing:-.9px;margin:12px 0 14px;font-weight:600}
.sso-description{font-size:14px;line-height:1.8;color:#60758a;margin:0 0 28px}
.sso-login-button{width:100%;min-height:48px;display:flex;justify-content:center;gap:12px;text-decoration:none;border-radius:10px}
.sso-security-note{font-size:12px;line-height:1.6;color:#6a7e92;margin:12px 0 28px}
.sso-workspace-link{border-top:1px solid #e5edf5;padding-top:22px;width:100%;display:grid;gap:7px}
.sso-workspace-link a{display:inline-flex;align-items:center;gap:8px;width:fit-content;text-decoration:none;color:#226caa;font-size:13px;font-weight:600}
.sso-workspace-link a:hover{text-decoration:underline}
.sso-workspace-link .icon{width:15px;height:15px}
.sso-workspace-link>span{font-size:12px;color:#6a7e92}
@media(max-width:720px){.sso-welcome{padding:24px 16px}.sso-welcome-card{max-width:440px;grid-template-columns:1fr;border-radius:18px}.sso-intro{min-height:0;padding:24px 28px;gap:0}.sso-intro>div{display:none}.sso-signin{padding:30px 28px}.sso-signin h1{font-size:27px}}
@media(max-width:360px){.sso-welcome{padding:16px 10px}.sso-signin{padding:26px 20px}.sso-signin h1{font-size:25px}}

.overview-empty{display:flex;align-items:flex-start;gap:24px;padding:32px;margin-top:24px}
.overview-empty-icon{display:grid;place-items:center;flex:0 0 56px;height:56px;border-radius:16px;background:#eaf3fc;color:#2873af}
.overview-empty-icon svg{width:28px;height:28px}
.overview-empty h2{margin:0 0 12px}.overview-empty p{max-width:660px;line-height:1.7;margin:0 0 24px;color:#526b87}
.overview-empty .heading-actions{justify-content:flex-start;flex-wrap:wrap;gap:12px}
@media(max-width:600px){.overview-empty{padding:24px;gap:16px;flex-direction:column}}

.nav-item.compact-management{display:none}
@media(max-width:950px){.nav-item.compact-management{display:flex}}
.assignment-workspace{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin:22px 0}.assignment-workspace section{min-width:0;border:1px solid var(--border,#d4dfed);border-radius:12px;padding:14px}.assignment-workspace input[type=search],.assignment-workspace select{width:100%;margin-bottom:10px}.assignment-targets,.assignment-resources{max-height:280px;overflow:auto}.assignment-resource{display:flex;align-items:flex-start;gap:10px;padding:10px 6px;border-bottom:1px solid #edf1f7}.assignment-resource small,.assignment-effective-row small{display:block;color:#58708e;margin-top:4px}.assignment-targets .check-label{display:flex;padding:8px 4px}.assignment-targets [hidden]{display:none}.resources-first [data-resources]{order:-1}.assignment-effective{margin-top:20px}.assignment-effective-row{padding:10px 0;border-bottom:1px solid #edf1f7}[data-effective-list]{max-height:280px;overflow:auto}@media(max-width:650px){.assignment-workspace{grid-template-columns:1fr}}
dialog.assignment-dialog{width:min(1040px,calc(100vw - 32px));max-width:1040px}.assignment-resource input[type=checkbox]{width:16px;height:16px;flex:0 0 16px;margin:3px 0 0}.assignment-resource span{min-width:0}.assignment-dialog [data-review]{display:block}.assignment-dialog [data-review][hidden]{display:none}.assignment-dialog [data-review] ul{padding-left:20px}.assignment-dialog [data-review] p{margin:8px 0}.assignment-dialog .overview-tabs{display:inline-flex}
.assignment-dialog .button-row{display:flex;gap:16px;flex-wrap:wrap;margin:6px 0 12px}.assignment-dialog .assignment-workspace{align-items:start}
.assignment-impact{max-height:300px;overflow:auto}.assignment-impact small{display:block;color:var(--muted,#58708e)}.assignment-impact th,.assignment-impact td{padding:9px;vertical-align:top}.assignment-dialog [data-resources] small{line-height:1.5}
.assignment-workspace.global-rule{grid-template-columns:1fr}.assignment-workspace [data-targets][hidden]{display:none}

.catalog-category-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin:8px 24px 14px}
.catalog-category-toolbar>.catalog-category-heading{margin:0}
.catalog-category-toolbar>.button{flex:none;padding:7px 11px;font-size:12px}

.catalog-service-with-access{min-width:0;display:flex;flex-direction:column;gap:7px;align-self:start}
.catalog-access-chips{display:flex;align-items:center;gap:5px;flex-wrap:wrap;min-width:0;max-width:100%}
.catalog-access-token,.catalog-access-status,.catalog-access-more>summary{display:inline-flex;align-items:center;gap:5px;max-width:180px;border:1px solid var(--line,#dde5ef);border-radius:18px;padding:4px 8px;background:var(--surface,#f4f7fb);color:var(--text,#17344f);font-size:12px;line-height:1.4;cursor:pointer}
.catalog-access-token>span:last-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.catalog-access-token .icon,.catalog-access-status .icon{width:15px;height:15px;flex:none}
.access-initials{display:grid;place-items:center;width:23px;height:23px;border-radius:50%;background:#e4edf8;font-size:10px;font-weight:700;flex:none}
.catalog-access-token:hover{border-color:#278bd2;background:#eaf4ff}.catalog-access-token:focus-visible{outline:2px solid #278bd2;outline-offset:2px}
.catalog-access-chips>small{flex-basis:100%;font-size:11px;color:var(--muted,#64758b)}
.catalog-category-toolbar>.catalog-access-chips{flex-basis:100%}
.catalog-entry-actions{flex-wrap:wrap}.catalog-entry-actions>.catalog-access-chips{order:3;flex-basis:100%}
.catalog-access-more{max-width:100%}.catalog-access-more>div{display:flex;flex-wrap:wrap;gap:5px;padding:6px 0}
.access-removal-impact{max-height:220px;overflow:auto}.access-removal-impact p{padding:7px 0;border-top:1px solid var(--line,#dde5ef)}

.assignment-everyone{border-bottom:1px solid var(--line,#dde5ef);padding-bottom:12px;margin-bottom:8px}.assignment-everyone small{display:block;font-size:12px;color:var(--muted,#64758b)}

/* Access workspace grows with the screen; header and actions stay reachable. */
#modal:has(.assignment-workspace){width:min(1480px,calc(100vw - 48px));max-width:1480px;max-height:calc(100dvh - 40px);overflow:hidden}
#modal:has(.assignment-workspace)>form{display:flex;flex-direction:column;max-height:calc(100dvh - 42px);min-height:0}
#modal:has(.assignment-workspace) .modal-body{max-height:none;min-height:0;overflow:auto;overscroll-behavior:contain;flex:1;padding:20px 28px}
#modal:has(.assignment-workspace) form>header,#modal:has(.assignment-workspace) footer{flex:none}
.assignment-dialog .assignment-workspace{margin:16px 0;align-items:stretch;gap:20px}
.assignment-workspace section>h3{margin:0 0 12px}
.assignment-targets,.assignment-resources{max-height:clamp(240px,43dvh,600px);scrollbar-gutter:stable;overscroll-behavior:contain}
.assignment-resource,.assignment-targets .check-label{border-radius:7px;cursor:pointer}
.assignment-resource:has(input:checked),.assignment-targets .check-label:has(input:checked){background:var(--tone-bg-eaf3ff,#eaf3ff);box-shadow:inset 3px 0 #278bd2}
.assignment-targets .check-label:has(input:disabled){opacity:.55;cursor:default}
.assignment-dialog [data-count]{padding:10px 12px;background:var(--tone-bg-f4f7fb,#f4f7fb);border-radius:8px;margin:12px 0}
.assignment-help{margin:12px 0;font-size:13px}.assignment-help summary{cursor:pointer;color:var(--muted,#58708e)}
#modal:has(.assignment-workspace) footer{flex-wrap:wrap}
@media(min-width:1600px){#modal:has(.assignment-workspace) .modal-body{padding:24px 36px}.assignment-workspace section{padding:20px}}
@media(max-width:700px){#modal:has(.assignment-workspace){width:calc(100vw - 16px);max-height:calc(100dvh - 16px)}#modal:has(.assignment-workspace)>form{max-height:calc(100dvh - 18px)}#modal:has(.assignment-workspace) form>header,#modal:has(.assignment-workspace) .modal-body,#modal:has(.assignment-workspace) footer{padding:14px}.assignment-workspace{grid-template-columns:1fr}.assignment-targets,.assignment-resources{max-height:260px}.assignment-dialog .overview-tabs{display:flex;flex-wrap:wrap}.assignment-dialog footer .button{white-space:normal}}

/* Compact catalog rows: identity, grants and actions share one line. */
.catalog-management-row{display:grid;grid-template-columns:minmax(180px,1fr) minmax(160px,1.2fr) auto;align-items:center;gap:12px 20px;padding:12px 24px}
.catalog-management-row.catalog-customer-row{grid-template-columns:minmax(180px,1fr) auto}
.catalog-management-row>.catalog-entry-actions{flex-wrap:nowrap;align-items:center}
.catalog-management-row>.catalog-access-chips{margin:0;justify-content:flex-start}
.catalog-management-row>.catalog-access-chips>.hint{margin:0;font-size:12px}
.catalog-management-row .catalog-entry-actions>.button{padding:8px 11px;min-height:36px;font-size:12px;white-space:nowrap}
.catalog-category-toolbar>.catalog-access-chips{flex:1 1 180px}
@media(max-width:1000px){.catalog-management-row{grid-template-columns:minmax(0,1fr) auto}.catalog-management-row>.catalog-access-chips{grid-column:1;grid-row:2}.catalog-management-row>.catalog-entry-actions{grid-column:2;grid-row:1 / span 2}}
@media(max-width:650px){.catalog-management-row,.catalog-management-row.catalog-customer-row{grid-template-columns:minmax(0,1fr);padding:12px 16px;gap:8px}.catalog-management-row>.catalog-entry-actions{grid-column:1;grid-row:auto;justify-content:flex-start;flex-wrap:wrap}.catalog-management-row>.catalog-access-chips{grid-row:auto}}

.assignment-action{display:flex;flex-wrap:wrap;gap:8px;border:0;padding:0;margin:16px 0}
.assignment-action legend{font-size:13px;font-weight:600;margin-bottom:8px}
.assignment-action label{display:flex;align-items:center;gap:8px;border:1px solid var(--line,#d4dfed);border-radius:9px;padding:10px 14px;cursor:pointer;font-size:13px;background:var(--tone-bg-ffffff,#fff)}
.assignment-action label:has(input:checked){background:var(--tone-bg-eaf3ff,#eaf3ff);border-color:#278bd2;font-weight:600}
.assignment-action label:has(input:focus-visible){outline:2px solid #278bd2;outline-offset:2px}
.assignment-action input{width:16px;height:16px;margin:0}.assignment-action .icon{width:16px;height:16px}

.catalog-access-token.access-person{width:30px;height:30px;min-width:30px;padding:2px;border-radius:50%;justify-content:center;flex:none}
.catalog-access-token.access-person .access-initials{width:24px;height:24px;font-size:10px;overflow:visible}

/* A separate, lightweight calendar permission in the responsibility editor. */
.scope-calendar-option{display:flex;align-items:flex-start;gap:12px;margin:18px 0;padding:16px;border:1px solid var(--tone-border-dce5ed,#dce5ed);border-radius:12px;background:var(--tone-bg-f4f7fb,#f4f7fb);cursor:pointer}
.scope-calendar-option>input{flex:0 0 18px;width:18px;height:18px;padding:0;margin-top:4px}.scope-calendar-option>span:last-child{flex:1;min-width:0}.scope-calendar-icon{display:flex;flex:0 0 auto;color:var(--brand-blue,#278bd2);padding-top:1px}.scope-calendar-option strong{display:block;font-size:14px}.scope-calendar-option small{display:block;margin-top:5px;color:var(--muted,#64748b);font-size:12px;line-height:1.6}.scope-calendar-option [hidden]{display:none}.scope-calendar-option:has(input:checked){border-color:var(--brand-blue,#278bd2)}
