:root {
  --teal-950: #06353d;
  --teal-900: #073f49;
  --teal-800: #0b5663;
  --teal-700: #137080;
  --teal-100: #dff0f2;
  --teal-50: #f0f8f9;
  --gold-600: #c88317;
  --gold-500: #d99a2b;
  --gold-100: #fff1d2;
  --ink: #203138;
  --muted: #60727a;
  --line: #d6e0e3;
  --surface: #ffffff;
  --surface-2: #f5f8f9;
  --shadow-sm: 0 10px 30px rgba(5, 54, 63, .08);
  --shadow-lg: 0 28px 75px rgba(3, 37, 44, .2);
  --radius-sm: 12px;
  --radius: 22px;
  --radius-lg: 34px;
  --shell: 1180px;
}

/* Manager Daily Checklist */
.manager-checklist-entry{margin-bottom:1.5rem}
.manager-checklist-form{overflow:hidden}
.manager-checklist-form-header h2{letter-spacing:.02em}
.manager-checklist-items{display:grid;gap:1rem;padding:1rem 0}
.manager-checklist-item{border:1px solid #bed5d8;border-radius:16px;background:#f8fbfb;overflow:hidden;box-shadow:0 7px 20px rgba(11,86,99,.07)}
.manager-checklist-item-copy{display:flex;gap:.85rem;align-items:flex-start;padding:1rem 1.1rem;background:linear-gradient(90deg,#e8f4f4,#f8fbfb)}
.manager-checklist-item-copy>span{display:grid;place-items:center;flex:0 0 2rem;height:2rem;border-radius:50%;background:#087985;color:#fff;font-weight:800}
.manager-checklist-item-copy h4{margin:0;color:#006d77;font-size:1rem}
.manager-checklist-item-copy p{margin:.28rem 0 0;color:#44585f;font-size:.88rem;line-height:1.45}
.manager-checklist-item-fields{display:grid;grid-template-columns:1fr 1fr 2fr 1.2fr 1fr;gap:.75rem;padding:1rem 1.1rem}
.manager-checklist-item-fields label,.manager-checklist-status-grid label,.manager-checklist-log-heading label{display:grid;gap:.35rem;color:#253a42;font-size:.78rem;font-weight:800}
.manager-checklist-item-fields input,.manager-checklist-item-fields select,.manager-checklist-item-fields textarea,.manager-checklist-log-heading select{width:100%;border:1px solid #a9c2c6;border-radius:9px;background:#fff;color:#203138;padding:.68rem .72rem;font:inherit;font-weight:500}
.manager-checklist-item-fields textarea{resize:vertical;min-height:4.6rem}
.manager-checklist-item-fields input:disabled{background:#edf2f2;color:#6d7a7f}
.manager-checklist-admin-notice{border-left:5px solid #d7a13b;margin-bottom:1.5rem}
.manager-checklist-log-panel,.manager-checklist-archive-panel{margin-top:1.5rem}
.manager-checklist-log-heading{display:flex;align-items:end;justify-content:space-between;gap:1rem;margin-bottom:1rem}
.manager-checklist-log-heading h2,.manager-checklist-log-heading p{margin-bottom:.25rem}
.manager-checklist-log-heading label{min-width:230px}
.manager-checklist-current-log{display:grid;gap:1rem}
.manager-checklist-facility-log{border:1px solid #c7dadd;border-radius:14px;overflow:hidden;background:#fff}
.manager-checklist-facility-heading{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.85rem 1rem;background:#0b6873;color:#fff}
.manager-checklist-facility-heading h3{margin:0;font-size:1rem}
.manager-checklist-facility-heading span{font-size:.78rem;font-weight:800;opacity:.9}
.manager-checklist-log-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:1rem;padding:.88rem 1rem;border-top:1px solid #d9e5e7}
.manager-checklist-log-row:first-of-type{border-top:0}
.manager-checklist-log-row strong{color:#183b44}
.manager-checklist-log-row p{margin:.2rem 0 0;color:#607078;font-size:.82rem}
.manager-checklist-issue-badge{border-radius:999px;background:#e6f3ec;color:#246b45;padding:.32rem .58rem;font-size:.72rem;font-weight:800;white-space:nowrap}
.manager-checklist-issue-badge.has-issues{background:#fff1d9;color:#8b5a0a}
.manager-checklist-archive-row{align-items:center}

@media (max-width:1050px){
  .manager-checklist-item-fields{grid-template-columns:1fr 1fr 1fr}
  .manager-checklist-item-fields .wide{grid-column:1/-1}
  .manager-checklist-status-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
@media (max-width:700px){
  .manager-checklist-item-fields{grid-template-columns:1fr 1fr;padding:.85rem}
  .manager-checklist-item-fields .wide{grid-column:1/-1}
  .manager-checklist-log-heading{align-items:stretch;flex-direction:column}
  .manager-checklist-log-heading label{min-width:0}
  .manager-checklist-log-row{grid-template-columns:1fr auto}
  .manager-checklist-log-row .button{grid-column:1/-1;width:100%}
  .manager-checklist-status-grid{grid-template-columns:1fr!important}
}
@media (max-width:460px){
  .manager-checklist-item-fields{grid-template-columns:1fr}
  .manager-checklist-item-fields .wide{grid-column:auto}
  .manager-checklist-facility-heading,.manager-checklist-log-row{align-items:flex-start}
  .manager-checklist-log-row{grid-template-columns:1fr}
  .manager-checklist-issue-badge{justify-self:start}
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 92px; }
body {
  margin: 0;
  color: var(--ink);
  background: var(--surface);
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  line-height: 1.65;
  -webkit-font-smoothing: antialiased;
}
body.modal-open { overflow: hidden; }
img { display: block; max-width: 100%; }
a { color: inherit; }
button, input, textarea { font: inherit; }
button { cursor: pointer; }
svg { width: 1em; height: 1em; fill: currentColor; }
.shell { width: min(calc(100% - 40px), var(--shell)); margin-inline: auto; }
.skip-link { position: fixed; left: 12px; top: -80px; z-index: 9999; padding: 10px 16px; color: white; background: var(--teal-900); border-radius: 8px; }
.skip-link:focus { top: 12px; }

.topbar { color: #dfecee; background: var(--teal-950); font-size: .82rem; }
.topbar-inner { min-height: 36px; display: flex; align-items: center; justify-content: space-between; gap: 20px; }
.topbar a { color: white; text-decoration: none; }
.topbar-contact { display: flex; align-items: center; gap: 9px; }
.site-header { position: sticky; top: 0; z-index: 1000; background: rgba(255,255,255,.96); box-shadow: 0 1px 0 rgba(6,53,61,.08); backdrop-filter: blur(14px); }
.navbar { min-height: 82px; display: flex; align-items: center; justify-content: space-between; gap: 24px; }
.brand { display: inline-flex; align-items: center; gap: 13px; color: var(--teal-900); text-decoration: none; }
.brand img { width: 78px; height: 58px; object-fit: contain; }
.brand-copy { display: grid; line-height: 1.15; }
.brand-copy strong { font-size: .98rem; letter-spacing: -.01em; }
.brand-copy small { margin-top: 4px; color: var(--muted); font-size: .73rem; }
.brand-compact img { width: 68px; height: 50px; }
.nav-panel { display: flex; align-items: center; gap: 4px; }
.nav-link { position: relative; padding: 12px 11px; color: #43565d; text-decoration: none; font-size: .91rem; font-weight: 650; border-radius: 10px; }
.nav-link:hover, .nav-link:focus, .nav-link.active { color: var(--teal-800); background: var(--teal-50); }
.menu-toggle { display: none; width: 44px; height: 44px; padding: 10px; border: 1px solid var(--line); background: white; border-radius: 12px; }
.menu-toggle span { display: block; height: 2px; margin: 5px 0; background: var(--teal-900); border-radius: 99px; }

.button { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 48px; padding: 12px 20px; border: 1px solid transparent; border-radius: 13px; text-decoration: none; font-weight: 760; transition: transform .2s ease, box-shadow .2s ease, background .2s ease, border-color .2s ease; }
.button:hover { transform: translateY(-2px); }
.button-primary { color: white; background: var(--teal-800); box-shadow: 0 10px 24px rgba(11,86,99,.22); }
.button-primary:hover { background: var(--teal-900); }
.button-light { color: var(--teal-900); background: white; border-color: rgba(255,255,255,.55); }
.button-outline { min-height: 42px; padding: 9px 15px; color: var(--teal-800); background: transparent; border-color: var(--teal-800); }
.button-outline:hover { color: white; background: var(--teal-800); }
.button-outline-light { min-height: 40px; padding: 8px 14px; color: white; background: transparent; border-color: rgba(255,255,255,.45); }
.button-outline-light:hover { background: rgba(255,255,255,.12); }
.button-small { font-size: .86rem; }
.button-full { width: 100%; }

.hero { position: relative; min-height: 720px; display: grid; align-items: center; overflow: hidden; color: white; background: var(--teal-950) url('../images/bg.png') center / cover no-repeat; }
.hero-overlay { position: absolute; inset: 0; background: linear-gradient(90deg, rgba(3,32,38,.93) 0%, rgba(5,50,58,.79) 53%, rgba(5,43,51,.54) 100%); }
.hero::after { content: ""; position: absolute; right: -130px; bottom: -210px; width: 560px; height: 560px; border: 1px solid rgba(255,255,255,.13); border-radius: 50%; box-shadow: 0 0 0 70px rgba(255,255,255,.025), 0 0 0 150px rgba(255,255,255,.018); }
.hero-content { position: relative; z-index: 2; display: grid; grid-template-columns: minmax(0,1.2fr) minmax(340px,.7fr); align-items: center; gap: 70px; padding-block: 82px; }
.eyebrow { margin: 0 0 12px; color: var(--gold-600); font-size: .75rem; font-weight: 850; letter-spacing: .15em; text-transform: uppercase; }
.eyebrow-light { color: #f1bc59; }
.hero h1 { max-width: 780px; margin: 0; font-size: clamp(3.1rem, 6vw, 5.6rem); line-height: .98; letter-spacing: -.055em; }
.hero-lead { max-width: 710px; margin: 25px 0 0; color: #e9f3f4; font-size: clamp(1.05rem, 1.5vw, 1.24rem); line-height: 1.7; }
.hero-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 30px; }
.hero-trust { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 38px; }
.hero-trust span { padding: 7px 12px; color: #f5fbfc; background: rgba(255,255,255,.09); border: 1px solid rgba(255,255,255,.18); border-radius: 999px; font-size: .78rem; font-weight: 720; }
.hero-card { padding: 34px; color: var(--ink); background: rgba(255,255,255,.94); border: 1px solid rgba(255,255,255,.7); border-radius: var(--radius-lg); box-shadow: var(--shadow-lg); backdrop-filter: blur(18px); }
.hero-card-icon { display: grid; width: 54px; height: 54px; place-items: center; color: white; background: var(--gold-500); border-radius: 17px; font-size: 1.75rem; }
.hero-card h2 { margin: 10px 0; color: var(--teal-900); font-size: 1.75rem; letter-spacing: -.03em; }
.hero-card p { color: var(--muted); }
.contact-list { margin: 24px 0 0; }
.contact-list div { display: grid; grid-template-columns: 68px 1fr; gap: 12px; padding: 13px 0; border-top: 1px solid var(--line); }
.contact-list dt { color: var(--teal-800); font-weight: 800; }
.contact-list dd { margin: 0; color: var(--ink); }
.contact-list a { color: var(--teal-800); font-weight: 700; text-decoration: none; }

.quick-strip { background: var(--teal-900); }
.quick-grid { display: grid; grid-template-columns: repeat(4,1fr); }
.quick-grid article { min-height: 112px; display: grid; place-content: center; padding: 22px; color: white; text-align: center; border-right: 1px solid rgba(255,255,255,.12); }
.quick-grid article:last-child { border-right: 0; }
.quick-grid strong { color: #f4bd58; font-size: 1.35rem; }
.quick-grid span { color: #d8e8ea; font-size: .82rem; }

.section { padding: 105px 0; }
.section-tint { background: var(--surface-2); }
.section-dark { color: white; background: var(--teal-950); }
.section-heading { max-width: 720px; margin-bottom: 46px; }
.section-heading h2, .activities-copy h2, .about-copy h2, .mission-copy h2, .contact-copy h2 { margin: 0; color: var(--teal-900); font-size: clamp(2.25rem, 4vw, 3.55rem); line-height: 1.08; letter-spacing: -.045em; }
.section-heading > p:last-child, .activities-copy > p, .mission-copy > p, .contact-copy > p { color: var(--muted); font-size: 1.05rem; }
.card-grid { display: grid; gap: 22px; }
.service-grid { grid-template-columns: repeat(3, 1fr); }
.service-card { padding: 30px; background: white; border: 1px solid var(--line); border-radius: var(--radius); box-shadow: var(--shadow-sm); transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease; }
.service-card:hover { transform: translateY(-7px); border-color: #a9c7cd; box-shadow: 0 20px 46px rgba(5,54,63,.13); }
.card-icon { display: grid; width: 54px; height: 54px; place-items: center; color: var(--teal-800); background: var(--teal-100); border-radius: 16px; font-size: 1.7rem; }
.service-card h3 { margin: 21px 0 8px; color: var(--teal-900); font-size: 1.18rem; }
.service-card p { margin: 0; color: var(--muted); }

.homes-grid { display: grid; grid-template-columns: repeat(6, 1fr); gap: 18px; }
.home-card { grid-column: span 2; min-height: 230px; padding: 28px; background: white; border: 1px solid var(--line); border-radius: var(--radius); box-shadow: var(--shadow-sm); }
.home-card:nth-child(4) { grid-column: 2 / span 2; }
.home-card:nth-child(5) { grid-column: 4 / span 2; }
.home-card span { display: inline-grid; width: 42px; height: 42px; place-items: center; color: var(--teal-800); background: var(--teal-100); border-radius: 12px; font-weight: 850; }
.home-card h3 { margin: 24px 0 8px; color: var(--teal-900); }
.home-card p { margin: 0; color: var(--muted); }
.home-card.featured { color: white; background: linear-gradient(145deg, var(--teal-800), var(--teal-950)); border-color: transparent; }
.home-card.featured h3, .home-card.featured p { color: white; }
.home-card.featured span { color: var(--teal-950); background: #f5c469; }

.activities-layout { display: grid; grid-template-columns: 1.12fr .88fr; gap: 70px; align-items: center; }
.activities-photo { position: relative; min-height: 0; aspect-ratio: 16 / 9; overflow: hidden; background: linear-gradient(rgba(3,38,45,.2),rgba(3,38,45,.2)), url('../images/bg.png') center / cover no-repeat; border-radius: var(--radius-lg); box-shadow: var(--shadow-lg); }
.activities-video { display: block; width: 100%; height: 100%; border: 0; background: #061f24; object-fit: contain; }
.activities-video-play { position: absolute; inset: 0; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 16px; width: 100%; padding: 28px; color: white; text-align: center; background: linear-gradient(180deg, rgba(2,26,32,.04) 35%, rgba(2,26,32,.88) 100%); border: 0; cursor: pointer; transition: background .2s ease; }
.activities-video-play:hover { background: linear-gradient(180deg, rgba(2,26,32,.02) 24%, rgba(2,26,32,.94) 100%); }
.activities-video-play[hidden] { display: none; }
.activities-video-play-icon { display: grid; width: 78px; height: 78px; place-items: center; padding-left: 5px; color: var(--teal-950); background: #f5c469; border: 4px solid rgba(255,255,255,.92); border-radius: 50%; box-shadow: 0 8px 28px rgba(0,0,0,.34); font-size: 2rem; transition: transform .2s ease; }
.activities-video-play:hover .activities-video-play-icon { transform: scale(1.08); }
.activities-video-play:focus-visible { outline: 4px solid #f5c469; outline-offset: -7px; }
.activities-video-play-copy { position: absolute; right: 22px; bottom: 20px; left: 22px; display: grid; gap: 4px; text-shadow: 0 2px 12px rgba(0,0,0,.75); }
.activities-video-play-copy strong { font-size: clamp(1.15rem, 2.6vw, 1.7rem); line-height: 1.15; }
.activities-video-play-copy small { font-size: clamp(.78rem, 1.45vw, .98rem); }
.check-list { display: grid; gap: 14px; margin: 28px 0 0; padding: 0; list-style: none; }
.check-list li { position: relative; padding-left: 34px; color: #31464d; font-weight: 680; }
.check-list li::before { content: "✓"; position: absolute; left: 0; top: -1px; display: grid; width: 24px; height: 24px; place-items: center; color: white; background: var(--gold-500); border-radius: 50%; font-size: .75rem; }

.about-layout { display: grid; grid-template-columns: 1fr 1fr; gap: 70px; align-items: center; }
.about-copy h2 { color: white; }
.about-copy > p:not(.eyebrow) { color: #cadcde; font-size: 1.07rem; }
.values-list { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 28px; }
.values-list span { padding: 8px 13px; color: white; border: 1px solid rgba(255,255,255,.23); border-radius: 999px; font-size: .8rem; font-weight: 720; }
.leadership-card { display: grid; grid-template-columns: 170px 1fr; gap: 28px; padding: 28px; color: var(--ink); background: white; border-radius: var(--radius); box-shadow: var(--shadow-lg); }
.leadership-card img { width: 170px; height: 245px; object-fit: cover; object-position: center top; border-radius: 17px; }
.leadership-card h3 { margin: 0; color: var(--teal-900); font-size: 1.35rem; }
.leadership-card blockquote { margin: 18px 0; color: #43575e; font-size: 1.05rem; font-style: italic; }
.leader-name { color: var(--teal-800); font-weight: 820; }

.mission-layout { display: grid; grid-template-columns: 1fr 390px; align-items: center; gap: 70px; }
.mission-image-button { position: relative; padding: 0; overflow: hidden; background: white; border: 0; border-radius: var(--radius); box-shadow: var(--shadow-lg); }
.mission-image-button img { width: 100%; height: 330px; object-fit: cover; object-position: center top; transition: transform .35s ease; }
.mission-image-button:hover img { transform: scale(1.035); }
.mission-image-button span { position: absolute; left: 18px; right: 18px; bottom: 18px; padding: 11px 15px; color: white; background: rgba(7,63,73,.92); border-radius: 12px; font-weight: 750; }

.contact-section { background: var(--teal-50); }
.contact-layout { display: grid; grid-template-columns: .85fr 1.15fr; gap: 70px; align-items: start; }
.contact-cards { display: grid; gap: 12px; margin-top: 30px; }
.contact-cards > * { display: grid; padding: 17px 19px; color: inherit; background: white; border: 1px solid var(--line); border-radius: 14px; text-decoration: none; }
.contact-cards strong { color: var(--teal-800); font-size: .78rem; text-transform: uppercase; letter-spacing: .08em; }
.contact-cards span { color: #344a51; }
.contact-form { padding: 34px; background: white; border: 1px solid var(--line); border-radius: var(--radius); box-shadow: var(--shadow-sm); }
.form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
label { display: grid; gap: 7px; margin-bottom: 17px; color: var(--teal-900); font-size: .84rem; font-weight: 760; }
input, textarea { width: 100%; padding: 13px 14px; color: var(--ink); background: #fbfdfd; border: 1px solid #becdd1; border-radius: 11px; outline: none; transition: border-color .2s, box-shadow .2s, background .2s; }
input:focus, textarea:focus { background: white; border-color: var(--teal-700); box-shadow: 0 0 0 4px rgba(19,112,128,.12); }
textarea { resize: vertical; }
.form-status { min-height: 1.4em; margin: 12px 0 0; color: var(--teal-800); font-size: .84rem; font-weight: 680; }
.form-status.error { color: #a12f2f; }
.form-honeypot { position: absolute !important; left: -10000px !important; width: 1px; height: 1px; overflow: hidden; }
button:disabled { cursor: wait; opacity: .66; }

.career-nav-actions { display: flex; gap: 10px; align-items: center; }
.career-hero { min-height: 440px; display: grid; align-items: center; color: white; background: linear-gradient(115deg, rgba(4,47,54,.97), rgba(11,86,99,.88)), url('../images/bg.png') center/cover; }
.career-hero-content { max-width: 850px; padding-block: 90px; }
.career-hero h1 { max-width: 780px; color: white; font-size: clamp(2.25rem, 5vw, 4.35rem); line-height: 1.02; }
.career-hero p:not(.eyebrow) { max-width: 730px; color: #d6e8ea; font-size: 1.12rem; }
.career-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; }
.career-card { display: flex; flex-direction: column; padding: 30px; background: white; border: 1px solid var(--line); border-top: 5px solid var(--gold-500); border-radius: var(--radius); box-shadow: var(--shadow-sm); }
.career-card h3 { margin: 5px 0 12px; color: var(--teal-900); font-size: 1.38rem; }
.career-card > p:not(.career-department) { color: #3e545b; }
.career-card ul { margin: 8px 0 24px; padding-left: 20px; color: #425960; }
.career-card li + li { margin-top: 6px; }
.career-card .button { align-self: flex-start; margin-top: auto; }
.career-department { margin: 0; color: var(--teal-700); font-size: .76rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.career-notice { max-width: 900px; margin: 26px auto 0; color: #566a70; text-align: center; font-size: .86rem; }
.career-form-shell { max-width: 980px; }
.career-form { position: relative; padding: 36px; background: white; border: 1px solid var(--line); border-radius: var(--radius); box-shadow: var(--shadow-sm); }
.career-form fieldset { margin: 0 0 26px; padding: 24px; border: 1px solid var(--line); border-radius: 15px; }
.career-form legend { padding: 0 10px; color: var(--teal-900); font-size: 1rem; font-weight: 820; }
.career-form select { width: 100%; padding: 13px 14px; color: var(--ink); background: #fbfdfd; border: 1px solid #becdd1; border-radius: 11px; }
.career-certification { grid-template-columns: auto 1fr; align-items: start; gap: 12px; padding: 15px; background: var(--teal-50); border-radius: 12px; }
.career-certification input { width: 20px; height: 20px; margin-top: 2px; }
.career-confirmation { max-width: 820px; padding-block: 80px; text-align: center; }
.career-confirmation p { color: #3e545b; }
.message-attachments { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin: 12px 0; padding: 12px; background: #eef6f7; border: 1px solid #c7dadd; border-radius: 10px; }
.message-attachments > strong { width: 100%; color: var(--teal-900); font-size: .72rem; text-transform: uppercase; letter-spacing: .05em; }

.site-footer { color: #d8e8ea; background: #042f36; }
.footer-grid { display: grid; grid-template-columns: 1.55fr .8fr .9fr .75fr; gap: 48px; padding-block: 72px 54px; }
.footer-brand img { width: 155px; padding: 10px; background: white; border-radius: 14px; }
.footer-brand p { max-width: 410px; color: #b8cfd2; }
.footer-grid h2 { margin: 0 0 17px; color: white; font-size: .92rem; }
.footer-grid > div:not(.footer-brand) { display: flex; flex-direction: column; gap: 9px; }
.footer-grid a, .footer-grid span, .footer-button { color: #b8cfd2; text-decoration: none; font-size: .87rem; }
.footer-grid a:hover, .footer-button:hover { color: white; }
.footer-button { width: fit-content; padding: 0; background: none; border: 0; }
.footer-bottom { display: flex; justify-content: space-between; gap: 20px; padding-block: 20px; color: #9bb7bb; border-top: 1px solid rgba(255,255,255,.1); font-size: .78rem; }
.footer-bottom a { color: white; text-decoration: none; }

.modal, .image-modal { padding: 0; border: 0; background: transparent; }
.modal::backdrop, .image-modal::backdrop { background: rgba(3,31,37,.78); backdrop-filter: blur(6px); }
.modal-panel { position: relative; width: min(92vw, 450px); padding: 38px; background: white; border-radius: 24px; box-shadow: var(--shadow-lg); }
.modal-close, .image-modal-close { position: absolute; top: 14px; right: 16px; z-index: 2; width: 38px; height: 38px; color: var(--teal-900); background: var(--teal-50); border: 0; border-radius: 50%; font-size: 1.5rem; }
.modal-logo { width: 125px; margin-bottom: 18px; }
.modal-panel h2 { margin: 0; color: var(--teal-900); font-size: 2rem; }
.modal-panel > p:not(.eyebrow) { color: var(--muted); }
.image-modal { width: min(92vw, 780px); max-height: 92vh; border-radius: 20px; }
.image-modal img { max-height: 88vh; margin: auto; border-radius: 18px; }
.image-modal-close { color: white; background: rgba(7,63,73,.9); }

.reveal { opacity: 0; transform: translateY(20px); transition: opacity .65s ease, transform .65s ease; }
.reveal.visible { opacity: 1; transform: translateY(0); }

/* Dashboard */
.dashboard-body { min-height: 100vh; background: #eef4f5; }
.dashboard-header { color: white; background: var(--teal-950); box-shadow: 0 8px 30px rgba(2,32,38,.18); }
.dashboard-nav { min-height: 88px; display: flex; align-items: center; justify-content: space-between; gap: 24px; }
.dashboard-header .brand { color: white; }
.dashboard-header .brand img { padding: 4px; background: white; border-radius: 12px; }
.dashboard-header .brand-copy small { color: #bcd2d5; }
.dashboard-user { display: flex; align-items: center; gap: 12px; }
.dashboard-user > div { display: grid; line-height: 1.25; }
.dashboard-user small { color: #bcd2d5; }
.user-avatar { display: grid; width: 42px; height: 42px; place-items: center; color: var(--teal-950); background: #f2bd59; border-radius: 50%; font-weight: 900; }
.dashboard-main { padding-block: 60px 90px; }
.dashboard-welcome { display: flex; align-items: end; justify-content: space-between; gap: 30px; margin-bottom: 48px; }
.dashboard-welcome h1 { margin: 0; color: var(--teal-900); font-size: clamp(2.4rem, 5vw, 4.1rem); line-height: 1; letter-spacing: -.05em; }
.dashboard-welcome p:last-child { max-width: 700px; color: var(--muted); }
.portal-badge { display: flex; align-items: center; gap: 8px; padding: 10px 14px; color: #205b3d; background: #e4f4e9; border: 1px solid #badbc4; border-radius: 999px; font-size: .8rem; font-weight: 760; white-space: nowrap; }
.portal-badge span { width: 8px; height: 8px; background: #2b8b50; border-radius: 50%; box-shadow: 0 0 0 5px rgba(43,139,80,.12); }
.dashboard-section-heading { display: flex; align-items: end; justify-content: space-between; gap: 20px; margin-bottom: 22px; }
.dashboard-section-heading h2, .dashboard-panel h2 { margin: 0; color: var(--teal-900); font-size: 1.55rem; }
.text-link { color: var(--teal-800); font-weight: 760; text-decoration: none; }
.portal-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
.portal-card { display: grid; grid-template-columns: 52px 1fr auto; align-items: center; gap: 16px; min-height: 150px; padding: 24px; color: inherit; background: white; border: 1px solid var(--line); border-radius: 20px; text-decoration: none; box-shadow: var(--shadow-sm); transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease; }
.portal-card:hover { transform: translateY(-4px); border-color: #9ebfc5; box-shadow: 0 18px 40px rgba(5,54,63,.13); }
.portal-icon { display: grid; width: 52px; height: 52px; place-items: center; color: var(--teal-800); background: var(--teal-100); border-radius: 15px; font-size: 1.65rem; }
.portal-card h3 { margin: 0 0 5px; color: var(--teal-900); font-size: 1.02rem; }
.portal-card p { margin: 0; color: var(--muted); font-size: .86rem; }
.portal-arrow { color: var(--gold-600); font-size: 1.4rem; }
.dashboard-columns { display: grid; grid-template-columns: 1.35fr .65fr; gap: 20px; margin-top: 28px; }
.dashboard-panel { padding: 28px; background: white; border: 1px solid var(--line); border-radius: 20px; box-shadow: var(--shadow-sm); }
.reminder-list { display: grid; gap: 18px; margin: 24px 0 0; padding: 0; list-style: none; }
.reminder-list li { display: flex; gap: 14px; padding-top: 18px; border-top: 1px solid var(--line); }
.reminder-list strong { color: var(--teal-900); }
.reminder-list p { margin: 3px 0 0; color: var(--muted); font-size: .87rem; }
.reminder-dot { flex: 0 0 auto; width: 11px; height: 11px; margin-top: 7px; border-radius: 50%; }
.reminder-dot.gold { background: var(--gold-500); }
.reminder-dot.teal { background: var(--teal-700); }
.reminder-dot.slate { background: #74858c; }
.support-panel { color: white; background: linear-gradient(145deg, var(--teal-800), var(--teal-950)); border: 0; }
.support-panel h2 { color: white; }
.support-panel > p:not(.eyebrow) { color: #d6e6e8; }
.support-panel .text-link { display: block; margin-top: 18px; color: white; }
.toast { position: fixed; right: 22px; bottom: 22px; z-index: 3000; max-width: 360px; padding: 15px 18px; color: white; background: var(--teal-900); border-radius: 12px; box-shadow: var(--shadow-lg); opacity: 0; transform: translateY(20px); pointer-events: none; transition: opacity .25s, transform .25s; }
.toast.show { opacity: 1; transform: translateY(0); }

@media (max-width: 1020px) {
  .topbar-inner > span:first-child { display: none; }
  .topbar-inner { justify-content: flex-end; }
  .menu-toggle { display: block; }
  .nav-panel { position: absolute; top: calc(100% + 1px); left: 0; right: 0; display: none; flex-direction: column; align-items: stretch; padding: 20px; background: white; border-top: 1px solid var(--line); box-shadow: 0 16px 36px rgba(5,54,63,.14); }
  .nav-panel.open { display: flex; }
  .nav-link { padding: 12px 16px; }
  .button-outline { width: 100%; margin-top: 5px; }
  .hero { min-height: auto; }
  .hero-content { grid-template-columns: 1fr; gap: 38px; padding-block: 70px; }
  .hero-card { max-width: 680px; }
  .service-grid { grid-template-columns: repeat(2, 1fr); }
  .activities-layout, .about-layout, .contact-layout { grid-template-columns: 1fr; }
  .activities-photo { min-height: 0; }
  .activities-video-play { gap: 10px; padding: 18px; }
  .activities-video-play-icon { width: 62px; height: 62px; border-width: 3px; font-size: 1.55rem; }
  .mission-layout { grid-template-columns: 1fr 330px; gap: 40px; }
  .footer-grid { grid-template-columns: 1.4fr 1fr 1fr; }
  .footer-grid > div:last-child { grid-column: 2; }
  .portal-grid { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 760px) {
  .shell { width: min(calc(100% - 28px), var(--shell)); }
  .topbar-contact { width: 100%; justify-content: center; font-size: .72rem; }
  .brand-copy { display: none; }
  .brand img { width: 72px; }
  .hero h1 { font-size: clamp(2.8rem, 14vw, 4.2rem); }
  .hero-actions { flex-direction: column; }
  .hero-actions .button { width: 100%; }
  .hero-card { padding: 26px; }
  .quick-grid { grid-template-columns: repeat(2, 1fr); }
  .quick-grid article:nth-child(2) { border-right: 0; }
  .quick-grid article:nth-child(-n+2) { border-bottom: 1px solid rgba(255,255,255,.12); }
  .section { padding: 76px 0; }
  .service-grid { grid-template-columns: 1fr; }
  .homes-grid { grid-template-columns: 1fr; }
  .home-card, .home-card:nth-child(4), .home-card:nth-child(5) { grid-column: auto; }
  .activities-photo { min-height: 0; }
  .leadership-card { grid-template-columns: 1fr; }
  .leadership-card img { width: 100%; height: auto; aspect-ratio: 545 / 718; object-fit: contain; object-position: center; background: #edf3f3; }
  .mission-layout { grid-template-columns: 1fr; }
  .mission-image-button { max-width: 420px; }
  .form-row { grid-template-columns: 1fr; gap: 0; }
  .contact-form { padding: 24px; }
  .footer-grid { grid-template-columns: 1fr 1fr; gap: 35px; }
  .footer-brand { grid-column: 1 / -1; }
  .footer-grid > div:last-child { grid-column: auto; }
  .footer-bottom { flex-direction: column; }
  .modal-panel { padding: 30px 24px; }
  .dashboard-nav { align-items: center; }
  .dashboard-user > div { display: none; }
  .dashboard-user .button { padding: 8px 11px; }
  .dashboard-welcome { align-items: flex-start; flex-direction: column; }
  .portal-grid, .dashboard-columns { grid-template-columns: 1fr; }
  .dashboard-section-heading { align-items: flex-start; flex-direction: column; }
  .career-nav-actions .button-outline { display: none; }
  .career-grid { grid-template-columns: 1fr; }
  .career-card { padding: 24px; }
  .career-form { padding: 20px; }
  .career-form fieldset { padding: 18px; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
  .reveal { opacity: 1; transform: none; }
}

/* Staff management */
.user-avatar { overflow: hidden; }
.user-avatar img { width: 100%; height: 100%; object-fit: cover; }
.user-avatar.has-photo { background: white; }
.portal-card[hidden], [data-admin-only][hidden] { display: none !important; }
.portal-card-admin { border-color: #e4c88e; background: linear-gradient(145deg, #fffefb, #fff8e8); }
.portal-card-admin .portal-icon { color: #8a5a0c; background: var(--gold-100); }
.staff-page-heading { display: flex; align-items: end; justify-content: space-between; gap: 30px; margin-bottom: 34px; }
.staff-page-heading h1 { margin: 0; color: var(--teal-900); font-size: clamp(2.4rem, 5vw, 4.1rem); line-height: 1; letter-spacing: -.05em; }
.staff-page-heading > div > p:last-child { max-width: 760px; color: var(--muted); }
.staff-management-grid { display: grid; grid-template-columns: minmax(0, .95fr) minmax(0, 1.05fr); gap: 22px; align-items: start; }
.staff-form-panel, .staff-directory-panel { padding: 30px; }
.staff-form { margin-top: 24px; }
select { width: 100%; padding: 13px 14px; color: var(--ink); background: #fbfdfd; border: 1px solid #becdd1; border-radius: 11px; outline: none; transition: border-color .2s, box-shadow .2s, background .2s; }
select:focus { background: white; border-color: var(--teal-700); box-shadow: 0 0 0 4px rgba(19,112,128,.12); }
.staff-photo-field { display: grid; grid-template-columns: 112px 1fr; gap: 18px; align-items: center; margin-bottom: 24px; padding: 18px; background: var(--teal-50); border: 1px solid var(--line); border-radius: 16px; }
.staff-photo-preview-wrap { width: 112px; height: 112px; display: grid; place-items: center; overflow: hidden; color: var(--teal-700); background: white; border: 1px dashed #9cb8be; border-radius: 20px; }
.staff-photo-preview-wrap img { width: 100%; height: 100%; object-fit: cover; }
.staff-photo-preview-wrap svg { width: 45px; height: 45px; }
.staff-photo-label { margin: 0 0 8px; }
.staff-photo-label input { padding: 9px; background: white; }
.staff-photo-controls{display:grid;gap:7px;align-content:center}.staff-photo-title{color:var(--teal-900);font-size:.82rem;font-weight:850}.staff-photo-actions{display:flex;gap:8px;flex-wrap:wrap}.staff-photo-actions .button{margin:0}.staff-photo-camera-dialog{width:min(620px,calc(100% - 22px));border:0;padding:0;background:transparent}.staff-photo-camera-dialog::backdrop{background:rgba(4,29,34,.76)}.staff-photo-camera-panel{width:100%}.staff-photo-camera-panel>h2{margin:.1rem 0;color:var(--teal-900)}.staff-photo-camera-panel>p:not(.eyebrow){margin:.35rem 0 1rem;color:var(--muted)}.staff-photo-camera-panel video{display:block;width:100%;max-height:58vh;aspect-ratio:1/1;object-fit:cover;border:2px solid #b8cdd1;border-radius:15px;background:#102f35}.staff-photo-camera-panel .staff-form-actions{margin-top:14px}
.field-help { margin: 8px 0 0; color: var(--muted); font-size: .78rem; line-height: 1.45; }
.text-button { padding: 0; color: var(--teal-800); background: none; border: 0; font-size: .78rem; font-weight: 760; text-decoration: underline; }
.facility-fieldset { margin: 4px 0 22px; padding: 18px; border: 1px solid var(--line); border-radius: 16px; }
.facility-fieldset legend { padding: 0 8px; color: var(--teal-900); font-size: .88rem; font-weight: 800; }
.facility-fieldset legend span { margin-left: 8px; color: var(--muted); font-size: .74rem; font-weight: 600; }
.facility-check-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.facility-check { display: flex; grid-template-columns: none; align-items: center; gap: 9px; margin: 0; padding: 10px 11px; color: #344a51; background: var(--surface-2); border: 1px solid transparent; border-radius: 10px; font-size: .78rem; font-weight: 680; }
.facility-check:has(input:checked) { color: var(--teal-900); background: var(--teal-100); border-color: #aacbd0; }
.facility-check input { width: 17px; height: 17px; margin: 0; padding: 0; accent-color: var(--teal-700); }
.staff-credentials-box { margin: 0 0 22px; padding: 18px; background: #fbf7ed; border: 1px solid #ecd7a9; border-radius: 16px; }
.hybrid-login-admin { margin-top: 18px; }
.hybrid-login-divider { display: flex; align-items: center; gap: 12px; margin: 4px 0 14px; color: var(--muted); font-size: .72rem; font-weight: 800; letter-spacing: .04em; text-transform: uppercase; }
.hybrid-login-divider::before, .hybrid-login-divider::after { content: ""; flex: 1; height: 1px; background: var(--line); }
.hybrid-login-admin > p { margin: 9px 0 0; color: var(--muted); font-size: .75rem; line-height: 1.45; text-align: center; }
.credentials-heading { display: flex; gap: 12px; align-items: center; margin-bottom: 16px; }
.credentials-heading .portal-icon.small { width: 42px; height: 42px; flex: 0 0 auto; color: #8a5a0c; background: var(--gold-100); }
.credentials-heading strong { color: var(--teal-900); }
.credentials-heading p { margin: 1px 0 0; color: var(--muted); font-size: .76rem; line-height: 1.4; }
.staff-directory-header { display: flex; align-items: end; justify-content: space-between; gap: 16px; }
.staff-directory-header h2 { margin: 0; color: var(--teal-900); }
.staff-count { padding: 7px 10px; color: var(--teal-800); background: var(--teal-100); border-radius: 999px; font-size: .72rem; font-weight: 800; white-space: nowrap; }
.staff-directory-intro { margin: 8px 0 20px; color: var(--muted); font-size: .84rem; }
.staff-directory { display: grid; gap: 12px; max-height: 920px; overflow: auto; padding-right: 3px; }
.staff-directory-card { display: grid; grid-template-columns: 64px 1fr; gap: 15px; align-items: center; padding: 16px; background: var(--surface-2); border: 1px solid var(--line); border-radius: 15px; }
.staff-directory-avatar { display: grid; width: 64px; height: 64px; place-items: center; overflow: hidden; color: white; background: var(--teal-800); border-radius: 17px; font-size: 1.45rem; font-weight: 900; }
.staff-directory-avatar img { width: 100%; height: 100%; object-fit: cover; }
.staff-directory-heading { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
.staff-directory-heading h3 { margin: 0; color: var(--teal-900); font-size: .98rem; }
.staff-identity-line { margin: 4px 0 2px; color: var(--teal-800); font-size: .86rem; font-weight: 750; }
.staff-role-badge { padding: 4px 8px; color: #79510f; background: var(--gold-100); border-radius: 999px; font-size: .65rem; font-weight: 820; }
.staff-username { margin: 2px 0 5px; color: var(--teal-700); font-size: .78rem; font-weight: 760; }
.staff-meta { display: grid; gap: 2px; color: var(--muted); font-size: .72rem; line-height: 1.4; }
@media (max-width: 1020px) { .staff-management-grid { grid-template-columns: 1fr; } }
@media (max-width: 760px) {
  .staff-page-heading { align-items: flex-start; flex-direction: column; }
  .staff-photo-field { grid-template-columns: 88px 1fr; }
  .staff-photo-preview-wrap { width: 88px; height: 88px; }
  .staff-photo-actions{display:grid;grid-template-columns:1fr 1fr}.staff-photo-actions .button{width:100%}
  .facility-check-grid { grid-template-columns: 1fr; }
  .staff-directory-header { align-items: flex-start; flex-direction: column; }
}

/* Time-off request and administration workflow */
.portal-card-timeoff { border-color: #a8cbd0; background: linear-gradient(145deg, #ffffff, #edf8f8); }
.portal-card-timeoff .portal-icon { color: var(--teal-900); background: var(--teal-100); }
.pending-count-badge { display: inline-grid; min-width: 23px; height: 23px; margin-left: 6px; padding: 0 7px; place-items: center; color: white; background: #a33b3b; border-radius: 999px; font-size: .68rem; vertical-align: 2px; }
.pending-count-badge[hidden] { display: none !important; }
.timeoff-heading { align-items: center; }
.timeoff-request-grid { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(340px, .75fr); gap: 22px; align-items: start; }
.pdf-form-panel, .timeoff-submit-panel, .request-queue-panel, .request-detail-panel, .timeoff-calendar-panel { padding: 30px; }
.pdf-instructions, .routing-box { margin: 20px 0; padding: 16px 18px; color: #355159; background: var(--teal-50); border: 1px solid #c7dfe2; border-radius: 14px; }
.pdf-instructions strong, .routing-box strong { color: var(--teal-900); }
.pdf-instructions p, .routing-box p { margin: 4px 0 0; font-size: .83rem; line-height: 1.5; }
.timeoff-pdf-frame { width: 100%; height: 720px; background: #eef1f2; border: 1px solid var(--line); border-radius: 14px; }
.pdf-form-actions { display: flex; align-items: center; justify-content: space-between; gap: 14px; margin-top: 16px; }
.timeoff-submit-panel { position: sticky; top: 96px; }
.submission-confirmation { margin-top: 18px; padding: 17px; color: #1d5f43; background: #edf8f1; border: 1px solid #b9ddc6; border-radius: 14px; }
.submission-confirmation strong { display: block; font-size: 1rem; }
.submission-confirmation p { margin: 3px 0 5px; }
.submission-confirmation span { font-size: .75rem; font-weight: 800; letter-spacing: .04em; }

.timeoff-summary { display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px; margin-bottom: 22px; }
.timeoff-summary article { display: flex; align-items: center; justify-content: space-between; gap: 18px; padding: 18px 20px; background: white; border: 1px solid var(--line); border-radius: 15px; box-shadow: var(--shadow-sm); }
.timeoff-summary span { color: var(--muted); font-size: .78rem; font-weight: 750; }
.timeoff-summary strong { color: var(--teal-900); font-size: 1.65rem; }
.timeoff-admin-grid { display: grid; grid-template-columns: minmax(300px, .72fr) minmax(0, 1.28fr); gap: 22px; align-items: start; }
.request-queue-panel { position: sticky; top: 96px; }
.request-queue-heading { display: flex; align-items: end; justify-content: space-between; gap: 14px; margin-bottom: 18px; }
.request-queue-heading h2, .request-detail-heading h2, .calendar-toolbar h2 { margin: 0; color: var(--teal-900); }
.request-queue-heading select { width: auto; min-width: 142px; padding: 9px 10px; font-size: .76rem; }
.timeoff-request-list { display: grid; gap: 10px; max-height: 760px; overflow: auto; padding-right: 2px; }
.timeoff-queue-card { display: grid; gap: 5px; width: 100%; padding: 15px; text-align: left; color: var(--ink); background: var(--surface-2); border: 1px solid var(--line); border-radius: 13px; cursor: pointer; transition: border-color .2s, box-shadow .2s, transform .2s; }
.timeoff-queue-card:hover { transform: translateY(-1px); border-color: #a9c7cd; box-shadow: 0 8px 18px rgba(5,54,63,.08); }
.timeoff-queue-card.selected { background: var(--teal-50); border-color: var(--teal-600); box-shadow: 0 0 0 3px rgba(19,112,128,.09); }
.timeoff-queue-card-top { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.timeoff-queue-card-top strong { color: var(--teal-900); font-size: .9rem; }
.queue-facility { color: var(--teal-700); font-size: .74rem; font-weight: 760; }
.queue-dates { color: #3c5158; font-size: .78rem; font-weight: 700; }
.timeoff-queue-card small { color: var(--muted); font-size: .67rem; }
.request-status { display: inline-flex; align-items: center; justify-content: center; padding: 5px 9px; border-radius: 999px; font-size: .65rem; font-weight: 850; white-space: nowrap; }
.status-pending { color: #76540f; background: #fff1c9; }
.status-approved { color: #175d3c; background: #dff4e8; }
.status-denied { color: #8a3131; background: #f9e2e2; }
.empty-queue, .empty-request-detail { padding: 48px 22px; text-align: center; color: var(--muted); }
.empty-queue strong, .empty-request-detail h2 { color: var(--teal-900); }
.empty-queue p, .empty-request-detail p { margin: 5px auto 0; max-width: 440px; }
.portal-icon.large { width: 62px; height: 62px; margin: 0 auto 15px; }
.portal-icon.large svg { width: 28px; height: 28px; }
.request-detail-heading { display: flex; align-items: center; justify-content: space-between; gap: 18px; margin-bottom: 16px; }
.request-meta-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 10px; margin-bottom: 18px; }
.request-meta-grid div { padding: 11px 12px; background: var(--surface-2); border: 1px solid var(--line); border-radius: 11px; }
.request-meta-grid span { display: block; margin-bottom: 3px; color: var(--muted); font-size: .65rem; font-weight: 750; text-transform: uppercase; letter-spacing: .045em; }
.request-meta-grid strong { display: block; color: var(--teal-900); font-size: .78rem; line-height: 1.35; }
.submitted-form-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 11px 13px; color: var(--teal-900); background: var(--teal-50); border: 1px solid var(--line); border-bottom: 0; border-radius: 13px 13px 0 0; }
.submitted-pdf-frame { width: 100%; height: 630px; background: #eef1f2; border: 1px solid var(--line); border-radius: 0 0 13px 13px; }
.review-box { margin-top: 18px; padding: 18px; background: #fbf7ed; border: 1px solid #ecd7a9; border-radius: 14px; }
.review-actions { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.button-success { color: white; background: #24734b; border: 1px solid #24734b; }
.button-success:hover { background: #1c5d3c; }
.button-danger { color: white; background: #a44343; border: 1px solid #a44343; }
.button-danger:hover { background: #883535; }
.review-history { margin: 12px 0 0; color: var(--muted); font-size: .75rem; }

.timeoff-calendar-panel { margin-top: 22px; }
.calendar-toolbar { display: flex; align-items: end; justify-content: space-between; gap: 18px; }
.calendar-navigation { display: flex; gap: 8px; }
.calendar-month-label { margin: 20px 0 12px; color: var(--teal-900); font-size: 1.25rem; }
.timeoff-calendar { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); border-top: 1px solid var(--line); border-left: 1px solid var(--line); border-radius: 12px; overflow: hidden; }
.calendar-weekday { padding: 10px 7px; color: white; background: var(--teal-900); border-right: 1px solid rgba(255,255,255,.16); text-align: center; font-size: .7rem; font-weight: 850; text-transform: uppercase; letter-spacing: .05em; }
.calendar-day { min-height: 128px; padding: 8px; background: white; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.calendar-day.outside-month { background: #f6f8f8; }
.calendar-day.today { box-shadow: inset 0 0 0 2px var(--gold-500); }
.calendar-day-number { display: inline-grid; width: 25px; height: 25px; place-items: center; color: #506268; font-size: .72rem; font-weight: 800; }
.calendar-day.outside-month .calendar-day-number { color: #a2adb1; }
.calendar-event { display: grid; gap: 1px; margin-top: 5px; padding: 6px 7px; color: #164f54; background: #e0f2f1; border-left: 3px solid var(--teal-700); border-radius: 7px; line-height: 1.25; }
.calendar-event strong { overflow: hidden; font-size: .67rem; text-overflow: ellipsis; white-space: nowrap; }
.calendar-event span { overflow: hidden; color: #477277; font-size: .58rem; text-overflow: ellipsis; white-space: nowrap; }
.calendar-help { margin: 11px 0 0; color: var(--muted); font-size: .73rem; }

@media (max-width: 1100px) {
  .timeoff-request-grid, .timeoff-admin-grid { grid-template-columns: 1fr; }
  .timeoff-submit-panel, .request-queue-panel { position: static; }
  .request-meta-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 760px) {
  .timeoff-summary { grid-template-columns: repeat(2, 1fr); }
  .pdf-form-actions, .calendar-toolbar, .request-queue-heading { align-items: flex-start; flex-direction: column; }
  .timeoff-pdf-frame, .submitted-pdf-frame { height: 520px; }
  .request-meta-grid { grid-template-columns: 1fr; }
  .review-actions { grid-template-columns: 1fr; }
  .timeoff-calendar { min-width: 760px; }
  .timeoff-calendar-panel { overflow-x: auto; }
}


/* Trip authorization and facility-submitted forms */
.status-declined { color: #8a3131; background: #f9e2e2; }
.status-revision-needed { color: #76540f; background: #fff1c9; }
.review-actions-three { grid-template-columns: repeat(3, 1fr); }
.trip-calendar-event { background: #fff2cf; border-left-color: #c99522; color: #6e5017; }
.trip-calendar-event span { color: #7b6538; }

.submitted-summary { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; margin-bottom: 22px; }
.submitted-summary article { display: flex; align-items: center; justify-content: space-between; gap: 18px; padding: 18px 20px; background: white; border: 1px solid var(--line); border-radius: 15px; box-shadow: var(--shadow-sm); }
.submitted-summary span { color: var(--muted); font-size: .78rem; font-weight: 750; }
.submitted-summary strong { color: var(--teal-900); font-size: 1.65rem; }
.submitted-forms-panel { padding: 30px; }
.facility-folders { display: grid; gap: 14px; }
.facility-folder { overflow: hidden; background: var(--surface-2); border: 1px solid var(--line); border-radius: 15px; }
.facility-folder summary { display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 12px; padding: 16px 18px; cursor: pointer; color: var(--teal-900); background: var(--teal-50); list-style: none; }
.facility-folder summary::-webkit-details-marker { display: none; }
.facility-folder summary strong { font-size: .95rem; }
.facility-folder summary > span:last-child { color: var(--muted); font-size: .72rem; font-weight: 750; }
.folder-icon { display: inline-grid; width: 30px; height: 25px; place-items: center; color: #8a651d; background: #f6d77d; border-radius: 5px; font-size: .8rem; }
.facility-folder-list { display: grid; gap: 1px; background: var(--line); border-top: 1px solid var(--line); }
.submitted-form-row { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 14px 18px; background: white; }
.submitted-form-row strong { color: var(--teal-900); font-size: .85rem; }
.submitted-form-row p { margin: 3px 0 0; color: var(--muted); font-size: .72rem; }
.submitted-form-viewer { margin-top: 22px; padding: 30px; }
.submitted-form-viewer .submitted-form-toolbar { border-bottom: 1px solid var(--line); border-radius: 13px 13px 0 0; }
.submitted-form-viewer .submitted-form-toolbar p { margin: 4px 0 0; color: var(--muted); font-size: .72rem; }
.submitted-pdf-frame-large { height: 760px; }

@media (max-width: 760px) {
  .review-actions-three { grid-template-columns: 1fr; }
  .submitted-summary { grid-template-columns: 1fr; }
  .submitted-form-row { align-items: flex-start; flex-direction: column; }
  .submitted-pdf-frame-large { height: 560px; }
}

/* Web forms that mirror the official PDF layouts */
.web-form-page .dashboard-main{padding-bottom:70px}.official-web-form{max-width:1060px;margin:0 auto;padding:28px;background:#fff;border:1px solid #cfdadd;border-radius:20px;box-shadow:0 18px 48px rgba(5,54,63,.1)}.form-document-header{display:grid;grid-template-columns:210px 1fr 210px;align-items:center;gap:22px;padding:18px 12px 20px;border-bottom:3px solid var(--teal-800)}.form-document-header.compact{grid-template-columns:185px 1fr 250px}.form-document-header img{width:185px;max-height:92px;object-fit:contain}.form-document-header>div:nth-child(2){text-align:center}.form-document-header h2{margin:0;color:#0a4650;font-family:Georgia,"Times New Roman",serif;font-size:clamp(1.75rem,3vw,2.6rem);line-height:1.06;letter-spacing:.02em}.form-document-header strong{color:var(--gold-600);font-size:.93rem}.form-office-copy{display:grid;color:#34474d;text-align:right;font-size:.72rem;line-height:1.45}.form-office-copy b{color:#0a4650;font-size:.79rem}.form-section-bar,.numbered-section{margin:22px 0 14px;padding:9px 14px;color:#fff;background:#0b5f69;border-radius:7px;font-size:1rem;letter-spacing:.02em}.numbered-section{display:flex;align-items:center;gap:12px;padding:0 14px 0 0;overflow:hidden}.numbered-section span{display:grid;align-self:stretch;min-width:54px;place-items:center;padding:9px 14px;background:var(--gold-500);font-size:1.05rem}.official-form-grid{display:grid;gap:10px;margin-bottom:10px}.official-form-grid.two-col{grid-template-columns:repeat(2,minmax(0,1fr))}.official-form-grid.three-col{grid-template-columns:repeat(3,minmax(0,1fr))}.official-form-grid.four-col{grid-template-columns:repeat(4,minmax(0,1fr))}.official-form-grid.signature-grid{grid-template-columns:minmax(0,2fr) minmax(170px,.9fr);margin-top:16px}.official-form-grid label,.official-block-label,.portal-submit-footer label,.resident-name-fields label{display:grid;gap:6px;color:#0a4650;font-size:.72rem;font-weight:850;letter-spacing:.025em;text-transform:uppercase}.official-form-grid input,.official-form-grid select,.official-form-grid textarea,.official-block-label input,.official-block-label textarea,.portal-submit-footer textarea,.resident-name-fields input,.concern-observation input{width:100%;min-height:42px;padding:9px 10px;color:#263a40;background:#fff;border:1px solid #9fb5ba;border-radius:4px;outline:none;text-transform:none;letter-spacing:0;font-weight:500}.official-form-grid textarea,.official-block-label textarea,.portal-submit-footer textarea{min-height:76px;resize:vertical}.official-form-grid input:focus,.official-form-grid select:focus,.official-form-grid textarea:focus,.official-block-label input:focus,.official-block-label textarea:focus,.portal-submit-footer textarea:focus,.resident-name-fields input:focus,.concern-observation input:focus{border-color:var(--teal-700);box-shadow:0 0 0 3px rgba(19,112,128,.12)}.official-form-grid input[readonly]{background:#f3f6f7;color:#53666c}.official-block-label{margin:10px 0}.notice-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin:16px 0 8px}.form-notice{min-height:110px;padding:14px;border:2px solid;border-radius:9px}.form-notice strong{display:block;color:#0a4650;font-size:.76rem;letter-spacing:.04em}.form-notice p{margin:7px 0 0;font-size:.73rem;line-height:1.45}.form-notice.gold{background:#fff6e3;border-color:#e4a025}.form-notice.teal{background:#e9f4f5;border-color:#0b6671}.form-notice.submission-note{min-height:0;margin:14px 0}.choice-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px 18px;margin:8px 0 18px}.choice-grid label{display:flex;align-items:center;gap:8px;color:#243d44;font-size:.74rem;font-weight:800;text-transform:uppercase}.choice-grid input{width:17px;height:17px;accent-color:var(--teal-800)}.admin-locked-section,.locked-decision{padding:14px;color:#566970;background:#f1f5f6;border:1px dashed #9aadb2;border-radius:8px;font-size:.73rem}.admin-locked-section{display:grid;gap:5px;margin-bottom:12px}.locked-decision{display:grid;place-content:center;min-height:66px;text-align:center}.locked-decision strong{color:#0a4650;text-transform:uppercase;font-size:.7rem}.portal-submit-footer{display:grid;gap:12px;margin-top:24px;padding:20px;background:#f7fafb;border:1px solid var(--line);border-radius:14px}.portal-submit-footer .button{justify-self:end;min-width:300px}.portal-pdf-confirmation{max-width:1060px;margin:18px auto 0}.portal-pdf-confirmation .button{margin-top:10px}.trip-warning,.resignation-certification,.appointment-instructions{margin:18px 0;padding:11px 14px;color:#fff;background:var(--gold-500);border-radius:5px;text-align:center;font-size:.82rem;font-weight:800}.resignation-certification{color:#0a4650;background:#e9f4f5;border:1px solid #7aa8ae;font-family:Georgia,"Times New Roman",serif;font-size:1rem}.appointment-instructions{display:grid;grid-template-columns:145px 1fr;align-items:center;gap:15px;color:#243d44;background:#fff8e9;border:1px solid #dea22c;text-align:left;font-weight:500}.appointment-instructions b{align-self:stretch;display:grid;place-items:center;margin:-11px 0 -11px -14px;padding:11px 14px;color:#fff;background:var(--gold-500)}.resident-name-fields{display:grid;grid-template-columns:1fr 1fr;gap:8px}.appointment-concern-header,.appointment-concern-row{display:grid;grid-template-columns:68px 2fr 3fr;align-items:stretch}.appointment-concern-header{color:#fff;background:#094954;font-size:.69rem;font-weight:850;text-align:center}.appointment-concern-header span{padding:9px 8px;border-right:1px solid rgba(255,255,255,.55)}.appointment-concern-row{min-height:44px;border:1px solid #bac9cc;border-top:0}.appointment-concern-row>*{min-width:0;border-right:1px solid #bac9cc}.appointment-concern-row>*:last-child{border-right:0}.concern-check{display:grid;place-items:center}.concern-check input{width:18px;height:18px;accent-color:var(--teal-800)}.concern-name{display:grid;align-content:center;padding:5px 10px}.concern-name strong{color:#253b42;font-size:.78rem}.concern-name small{color:#6c7e84;font-size:.63rem}.concern-observation{display:grid;align-items:center;padding:4px 8px}.concern-observation input{min-height:32px;border:0;border-bottom:1px solid #a3b5ba;border-radius:0}.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}@media(max-width:920px){.form-document-header,.form-document-header.compact{grid-template-columns:130px 1fr}.form-office-copy{grid-column:1/-1;text-align:center}.form-document-header img{width:125px}.official-form-grid.four-col{grid-template-columns:repeat(2,minmax(0,1fr))}.choice-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:680px){.official-web-form{padding:15px;border-radius:12px}.form-document-header,.form-document-header.compact{grid-template-columns:1fr;text-align:center}.form-document-header img{margin:0 auto}.form-office-copy{text-align:center}.official-form-grid.two-col,.official-form-grid.three-col,.official-form-grid.four-col,.official-form-grid.signature-grid,.notice-grid,.resident-name-fields{grid-template-columns:1fr}.choice-grid{grid-template-columns:1fr}.appointment-instructions{grid-template-columns:1fr}.appointment-instructions b{margin:-11px -14px 0}.appointment-concern-header{display:none}.appointment-concern-row{grid-template-columns:46px 1fr}.appointment-concern-row .concern-observation{grid-column:1/-1;border-top:1px solid #bac9cc;border-right:0}.portal-submit-footer .button{justify-self:stretch;min-width:0;width:100%}}


/* Training Library */
.training-video-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.25rem}.training-media-card{overflow:hidden}.training-media-card video{display:block;width:100%;aspect-ratio:16/9;background:#08171b;border-radius:14px;margin:.75rem 0 1rem;box-shadow:0 8px 24px rgba(8,35,43,.12)}.training-media-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem}.training-media-heading h3{margin:.1rem 0 0;font-size:1.35rem}.training-type-badge{display:inline-flex;align-items:center;justify-content:center;padding:.35rem .55rem;border-radius:999px;background:#e7f2f3;color:#0b5663;font-size:.72rem;font-weight:800;letter-spacing:.08em}.training-workbook-actions{display:flex;flex-wrap:wrap;gap:.55rem;margin:.9rem 0 .65rem}.training-workbook-actions .button{margin:0}.training-meetings-section{margin-top:2rem}.emergency-safety-training-section{padding-top:.25rem}.emergency-safety-training-section>.dashboard-section-heading{padding:1rem 1.15rem;border:1px solid rgba(11,86,99,.15);border-left:5px solid #c89b35;border-radius:16px;background:linear-gradient(135deg,#f7fbfb,#fffaf0)}.emergency-safety-training-section>.dashboard-section-heading p:last-child{margin:.35rem 0 0;color:var(--muted)}.emergency-safety-card{border-top:4px solid #0b5663}.emergency-safety-card .training-media-heading .eyebrow{color:#9b6c16}.training-note-panel{margin-top:1.5rem}.training-media-card .button{margin-top:.25rem}@media(max-width:800px){.training-video-grid{grid-template-columns:1fr}.training-media-card video{border-radius:10px}.emergency-safety-training-section>.dashboard-section-heading{align-items:flex-start;flex-direction:column}}@media(max-width:520px){.training-workbook-actions .button{width:100%}}

/* Web-native training media */
.training-inline-status{display:inline-flex;align-items:center;gap:.45rem;margin-top:.25rem;padding:.55rem .75rem;border-radius:10px;background:#eaf5f4;color:#0b5663;font-weight:750;font-size:.88rem}.training-presentation-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.25rem}.training-presentation-card{padding:0;overflow:hidden}.training-slide-preview{position:relative;display:block;background:#08171b;aspect-ratio:16/9;overflow:hidden}.training-slide-preview img{width:100%;height:100%;object-fit:contain;display:block;background:#08171b}.training-play-overlay{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);display:grid;place-items:center;width:58px;height:58px;border-radius:50%;background:rgba(11,86,99,.92);color:white;font-size:1.35rem;padding-left:.15rem;box-shadow:0 8px 24px rgba(0,0,0,.25)}.training-slide-preview:hover .training-play-overlay{transform:translate(-50%,-50%) scale(1.06)}.training-presentation-copy{padding:1.1rem 1.2rem 1.25rem}.training-presentation-copy p{margin:.65rem 0 1rem}
.presentation-main{padding-top:2rem;padding-bottom:3rem}.presentation-title-row{display:flex;justify-content:space-between;gap:1.25rem;align-items:flex-end;margin-bottom:1rem}.presentation-title-row h1{margin:.15rem 0 .25rem}.presentation-subtitle{margin:0;color:var(--muted,#617277)}.presentation-counter{flex:0 0 auto;padding:.55rem .8rem;border-radius:999px;background:#e7f2f3;color:#0b5663;font-weight:800}.presentation-stage-panel{background:#0a171b;border-radius:18px;overflow:hidden;box-shadow:0 14px 38px rgba(5,30,36,.22)}.presentation-stage{position:relative;display:flex;align-items:center;justify-content:center;aspect-ratio:16/9;background:#071216;overflow:hidden}.presentation-stage img{display:block;width:100%;height:100%;object-fit:contain;transition:opacity .12s ease}.presentation-stage img.is-loading{opacity:.32}.presentation-loading{position:absolute;inset:auto;z-index:2;color:#d9e7e9;background:rgba(8,30,35,.78);padding:.55rem .8rem;border-radius:10px}.presentation-toolbar{display:flex;align-items:center;gap:.65rem;flex-wrap:wrap;padding:.85rem 1rem;background:#10282f}.presentation-toolbar .button:disabled{opacity:.45;cursor:not-allowed}.presentation-speed-label{display:flex;align-items:center;gap:.45rem;color:#e7f4f5;font-size:.84rem;font-weight:700}.presentation-speed-label select{border:1px solid rgba(255,255,255,.22);border-radius:8px;background:#f7fbfb;color:#173b43;padding:.4rem .5rem}.presentation-progress{height:5px;background:#1d3a41}.presentation-progress span{display:block;height:100%;width:0;background:#d8a83e;transition:width .18s ease}.presentation-help{margin-top:1rem}.presentation-stage-panel:fullscreen{display:flex;flex-direction:column;width:100vw;height:100vh;border-radius:0}.presentation-stage-panel:fullscreen .presentation-stage{flex:1;aspect-ratio:auto}.presentation-stage-panel:fullscreen .presentation-toolbar{flex:0 0 auto}.presentation-stage-panel:fullscreen .presentation-progress{flex:0 0 auto}
@media(max-width:800px){.training-presentation-grid{grid-template-columns:1fr}.presentation-title-row{align-items:flex-start}.presentation-toolbar{gap:.5rem}.presentation-toolbar .button{flex:1 1 auto}.presentation-speed-label{width:100%;justify-content:center}}

/* Administrative master calendar */
.admin-calendar-main{padding-bottom:70px}.admin-calendar-panel{margin-top:8px;padding:28px;background:#fff;border:1px solid var(--line);border-radius:18px;box-shadow:0 12px 34px rgba(8,50,58,.08)}.admin-calendar-toolbar{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:18px}.admin-calendar-toolbar h2{margin:.1rem 0 0;color:var(--teal-900);font-size:clamp(1.8rem,3vw,2.5rem)}.calendar-load-status{margin:.4rem 0 0;color:var(--muted);font-size:.78rem}.admin-calendar-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}.calendar-legend{display:flex;flex-wrap:wrap;gap:7px;margin:0 0 14px}.calendar-legend span{padding:5px 8px;border-radius:999px;font-size:.68rem;font-weight:800;border-left:4px solid transparent;background:#eef4f5;color:#32565c}.calendar-legend .legend-timeoff{border-color:#177e89;background:#e3f3f4}.calendar-legend .legend-trip{border-color:#c28a14;background:#fff4d8}.calendar-legend .legend-resignation{border-color:#934b64;background:#f9e9ef}.calendar-legend .legend-appointment{border-color:#476fa5;background:#eaf0f8}.calendar-legend .legend-activity{border-color:#3c8558;background:#e8f5ec}.calendar-legend .legend-outing{border-color:#986828;background:#f8efe2}.calendar-legend .legend-payday{border-color:#72509a;background:#f1eaf8}.calendar-legend .legend-reminder{border-color:#65717a;background:#edf0f2}.admin-calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));border-top:1px solid #b7c7ca;border-left:1px solid #b7c7ca;border-radius:12px;overflow:hidden;background:#fff}.admin-calendar-weekday{padding:10px 5px;color:#fff;background:var(--teal-900);border-right:1px solid rgba(255,255,255,.2);text-align:center;font-size:.7rem;font-weight:850;letter-spacing:.055em;text-transform:uppercase}.admin-calendar-day{min-width:0;min-height:150px;padding:7px;background:#fff;border-right:1px solid #c7d3d5;border-bottom:1px solid #c7d3d5;overflow:hidden}.admin-calendar-day.outside-month{background:#f4f6f6}.admin-calendar-day.today{box-shadow:inset 0 0 0 2px var(--gold-500)}.admin-calendar-date-number{display:grid;place-items:center;width:26px;height:26px;margin-bottom:4px;color:#4b6066;border-radius:50%;font-size:.73rem;font-weight:850}.admin-calendar-day.today .admin-calendar-date-number{color:#fff;background:var(--gold-500)}.admin-calendar-day.outside-month .admin-calendar-date-number{color:#a1abad}.admin-calendar-event{display:grid;gap:1px;margin:4px 0;padding:5px 6px;border-left:3px solid #6a7c82;border-radius:6px;background:#eef2f3;color:#29474d;line-height:1.18;overflow:hidden}.admin-calendar-event strong{font-size:.65rem;white-space:normal;overflow-wrap:anywhere}.admin-calendar-event span{font-size:.55rem;color:#506970;white-space:normal;overflow-wrap:anywhere}.admin-calendar-event.type-time-off{border-color:#177e89;background:#e3f3f4}.admin-calendar-event.type-trip{border-color:#c28a14;background:#fff4d8}.admin-calendar-event.type-resignation{border-color:#934b64;background:#f9e9ef}.admin-calendar-event.type-resident-appointment{border-color:#476fa5;background:#eaf0f8}.admin-calendar-event.type-activity{border-color:#3c8558;background:#e8f5ec}.admin-calendar-event.type-outing{border-color:#986828;background:#f8efe2}.admin-calendar-event.type-payday{border-color:#72509a;background:#f1eaf8}.admin-calendar-event.type-reminder{border-color:#65717a;background:#edf0f2}.calendar-admin-workspace{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:22px;margin-top:22px}.calendar-entry-form select,.calendar-entry-form input,.calendar-entry-form textarea{width:100%;min-height:42px;padding:9px 10px;color:#263a40;background:#fff;border:1px solid #9fb5ba;border-radius:6px;font:inherit}.calendar-entry-form textarea{min-height:92px;resize:vertical}.calendar-appointment-fields{margin-top:12px;padding:14px;background:#eef6f7;border:1px solid #c8dcdf;border-radius:10px}.calendar-form-footer{display:flex;justify-content:space-between;align-items:center;gap:14px;margin-top:15px}.calendar-form-footer .form-status{margin:0;min-height:1.3em}.calendar-month-list{display:grid;gap:9px;max-height:650px;overflow:auto;padding-right:4px}.calendar-list-row{display:grid;grid-template-columns:110px 1fr auto;align-items:center;gap:12px;padding:11px 12px;border:1px solid var(--line);border-radius:10px;background:#fbfcfc}.calendar-list-row time{color:var(--teal-800);font-size:.74rem;font-weight:850}.calendar-list-row strong{color:#263e44}.calendar-list-row p{margin:3px 0 0;color:var(--muted);font-size:.72rem;line-height:1.35}.calendar-delete-button{align-self:center}.calendar-source-note{margin-top:22px}.calendar-source-note h2{margin:.2rem 0 .5rem;color:var(--teal-900)}.calendar-print-header,.calendar-print-footer{display:none}
@media(max-width:1000px){.calendar-admin-workspace{grid-template-columns:1fr}.admin-calendar-toolbar{align-items:flex-start;flex-direction:column}.admin-calendar-actions{justify-content:flex-start}.admin-calendar-panel{overflow-x:auto}.admin-calendar-grid{min-width:920px}.calendar-legend{min-width:720px}}
@media(max-width:680px){.admin-calendar-panel{padding:16px}.admin-calendar-actions .button{flex:1 1 140px}.calendar-list-row{grid-template-columns:1fr}.calendar-delete-button{justify-self:start}.calendar-form-footer{align-items:stretch;flex-direction:column}.calendar-form-footer .button{width:100%}}
@media print{
  @page{size:landscape;margin:.35in}
  html,body{background:#fff!important;color:#111!important}
  .calendar-screen-only,.dashboard-header,.dashboard-welcome,.calendar-admin-workspace,.calendar-source-note,.toast{display:none!important}
  .admin-calendar-main,.shell{width:100%!important;max-width:none!important;margin:0!important;padding:0!important}
  .admin-calendar-panel{margin:0!important;padding:0!important;border:0!important;border-radius:0!important;box-shadow:none!important;overflow:visible!important}
  .calendar-print-header{display:flex!important;align-items:flex-end;justify-content:space-between;gap:20px;margin:0 0 10px;padding-bottom:8px;border-bottom:2px solid #214e56}
  .calendar-print-brand{display:flex;align-items:center;gap:10px}.calendar-print-brand img{width:48px;height:48px;object-fit:contain}.calendar-print-brand div{display:grid;gap:2px}.calendar-print-brand strong{font-size:12pt;color:#173f47}.calendar-print-brand span{font-size:8pt;color:#555}.calendar-print-header h1{margin:0;color:#173f47;font-size:18pt}
  .calendar-legend{margin:0 0 7px;gap:4px}.calendar-legend span{padding:2px 5px;font-size:5.8pt;border-radius:4px;-webkit-print-color-adjust:exact;print-color-adjust:exact}
  .admin-calendar-grid{width:100%!important;min-width:0!important;border-radius:0;overflow:visible;grid-template-columns:repeat(7,1fr)}.admin-calendar-weekday{padding:4px 2px;font-size:6.5pt;-webkit-print-color-adjust:exact;print-color-adjust:exact}.admin-calendar-day{min-height:1.16in;height:1.16in;padding:3px;overflow:hidden;break-inside:avoid;-webkit-print-color-adjust:exact;print-color-adjust:exact}.admin-calendar-date-number{width:18px;height:18px;margin-bottom:1px;font-size:6.5pt}.admin-calendar-event{margin:2px 0;padding:2px 3px;border-left-width:2px;border-radius:2px;-webkit-print-color-adjust:exact;print-color-adjust:exact}.admin-calendar-event strong{font-size:5.5pt;line-height:1.08}.admin-calendar-event span{font-size:4.7pt;line-height:1.05}.admin-calendar-day.outside-month{background:#f3f3f3!important}.calendar-print-footer{display:block!important;margin:6px 0 0;color:#555;font-size:5.5pt;text-align:right}
}

/* Shared portal v2: role calendar, messaging, training tracking */
.field-optional{color:var(--muted);font-size:.68rem;font-weight:600;text-transform:none}.facility-fieldset>select{width:100%;min-height:44px;padding:10px;border:1px solid #9fb5ba;border-radius:7px;background:#fff;color:#263a40}.all-facilities-check{margin:8px 0 12px;padding:10px 12px;border:1px solid #c4d7da;border-radius:10px;background:#eef6f7}.calendar-facility-fieldset{margin:16px 0}.calendar-legend .legend-birthday{border-color:#b55b82;background:#faeaf1}.admin-calendar-event.type-staff-birthday,.admin-calendar-event.type-resident-birthday{border-color:#b55b82;background:#faeaf1}.dashboard-columns-three{grid-template-columns:repeat(3,minmax(0,1fr))}.dashboard-empty-item{padding:8px 0}.urgent-dashboard-message{padding:8px;border-radius:10px;background:#fff5e1}.training-progress-line{margin:.7rem 0;color:var(--muted);font-size:.78rem}.training-presentation-copy .button+.button{margin-left:.45rem}.presentation-complete-panel{margin-top:1rem;border-left:5px solid var(--gold-500)}

.message-layout{display:grid;grid-template-columns:minmax(300px,.8fr) minmax(0,1.4fr);gap:22px}.message-columns{display:grid;gap:22px}.priority-fieldset{display:flex;gap:20px;margin:10px 0;padding:12px 14px;border:1px solid var(--line);border-radius:10px}.message-list{display:grid;gap:12px}.message-card{padding:15px;border:1px solid var(--line);border-left:5px solid #819096;border-radius:12px;background:#fff}.message-card.unread{background:#f1f8f8}.message-card.priority-urgent{border-left-color:#c78113;background:#fff8e8}.message-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:15px}.message-card-head>div{display:flex;align-items:center;gap:9px;flex-wrap:wrap}.message-card-head time{color:var(--muted);font-size:.7rem}.message-priority{padding:3px 7px;border-radius:999px;background:#edf2f3;color:#496067;font-size:.62rem;font-weight:850;text-transform:uppercase}.priority-urgent .message-priority{background:#f6d996;color:#6a4809}.message-meta{margin:5px 0;color:var(--muted);font-size:.72rem}.message-card>p:last-of-type{white-space:pre-wrap;line-height:1.5}.message-card .button{margin-top:8px}

.quiz-shell{max-width:980px}.training-quiz-form{display:grid;gap:22px;padding:30px}.quiz-question{margin:0;padding:21px 22px 18px;border:1px solid #cbdadd;border-radius:15px;background:linear-gradient(180deg,#fff 0%,#f8fbfb 100%);box-shadow:0 5px 16px rgba(15,77,87,.055)}.quiz-question legend{max-width:calc(100% - 12px);padding:0 7px;color:var(--teal-900);font-size:1rem;font-weight:850;line-height:1.45}.quiz-choice{position:relative;display:grid;grid-template-columns:24px minmax(0,1fr);align-items:start;column-gap:13px;margin:11px 0;padding:13px 15px;border:1px solid #d3e0e2;border-radius:11px;background:#fff;color:#263f45;cursor:pointer;transition:border-color .16s ease,background-color .16s ease,box-shadow .16s ease}.quiz-choice:hover{border-color:#7fa8ae;background:#f4f9f9;box-shadow:0 3px 10px rgba(15,77,87,.07)}.quiz-choice:has(input:checked){border-color:var(--teal-700);background:#edf7f7;box-shadow:0 0 0 1px rgba(19,111,121,.12)}.quiz-choice:has(input:focus-visible){outline:3px solid rgba(32,139,151,.3);outline-offset:2px}.quiz-choice input{position:absolute;width:1px;height:1px;margin:0;opacity:0;pointer-events:none}.quiz-choice-mark{display:grid;place-content:center;width:22px;height:22px;margin:0;border:2px solid #78979c;border-radius:6px;background:#fff}.quiz-choice-mark::before{content:'✓';color:#fff;font-size:.88rem;font-weight:950;line-height:1;transform:scale(0);transition:transform .12s ease}.quiz-choice input:checked+.quiz-choice-mark{border-color:var(--teal-800);background:var(--teal-800)}.quiz-choice input:checked+.quiz-choice-mark::before{transform:scale(1)}.quiz-choice-text{display:block;min-width:0;padding-top:1px;font-weight:650;line-height:1.45}.quiz-result{margin:18px 0;padding:22px;border-radius:14px;border:1px solid}.quiz-result.passed{background:#e8f5ec;border-color:#7eb58d}.quiz-result.retry{background:#fff3da;border-color:#d9a33b}.quiz-result strong{display:block;color:var(--teal-900);font-size:1.25rem}.quiz-result p{margin:.45rem 0 1rem}

.results-table-panel{padding:0;overflow:hidden}.table-scroll{overflow:auto}.results-table{width:100%;border-collapse:collapse;min-width:980px}.results-table th,.results-table td{padding:11px 12px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top;font-size:.76rem}.results-table th{position:sticky;top:0;background:var(--teal-900);color:#fff;font-size:.68rem;text-transform:uppercase;letter-spacing:.04em}.results-table tbody tr:nth-child(even){background:#f8fafa}

.facility-timeoff-list{display:grid;gap:10px}.facility-timeoff-row{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:15px;border:1px solid var(--line);border-radius:12px;background:#fff}.facility-timeoff-row strong{color:var(--teal-900)}.facility-timeoff-row p{margin:4px 0 0;color:var(--muted);font-size:.74rem}.facility-timeoff-decision{display:grid;justify-items:end;gap:5px;min-width:180px}.facility-timeoff-decision small{color:var(--muted);font-size:.68rem;text-align:right}

.calendar-print-header>img{display:none}.calendar-print-header>div{display:none}
@media(max-width:1050px){.dashboard-columns-three{grid-template-columns:1fr 1fr}.message-layout{grid-template-columns:1fr}}
@media(max-width:720px){.dashboard-columns-three{grid-template-columns:1fr}.facility-timeoff-row{align-items:flex-start;flex-direction:column}.facility-timeoff-decision{justify-items:start}.message-card-head{flex-direction:column}.training-presentation-copy .button+.button{margin:.45rem 0 0}}
@media print{
  .role-calendar-body .calendar-print-header{display:flex!important;align-items:center;gap:12px;margin:0 0 8px;padding-bottom:7px;border-bottom:2px solid #214e56}.role-calendar-body .calendar-print-header>img{display:block!important;width:48px;height:48px;object-fit:contain}.role-calendar-body .calendar-print-header>div{display:block!important}.role-calendar-body .calendar-print-header strong{font-size:10pt;color:#173f47}.role-calendar-body .calendar-print-header h1{margin:2px 0 0;font-size:18pt;color:#173f47}.role-calendar-body .dashboard-main{padding:0!important}.role-calendar-body .admin-calendar-panel{display:block!important}
}


/* Training results facility selector + Home V status */
.training-location-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin:1.25rem 0 1.5rem}
.training-location-card{display:flex;flex-direction:column;min-height:245px;padding:1.25rem;border:1px solid var(--line,#d9e0e2);border-radius:18px;background:#fff;color:inherit;text-decoration:none;box-shadow:0 10px 30px rgba(8,48,57,.07);transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}
.training-location-card:hover,.training-location-card:focus-visible{transform:translateY(-2px);border-color:#0b6977;box-shadow:0 14px 34px rgba(8,48,57,.12)}
.training-location-card.coming-soon{border-style:dashed;background:linear-gradient(180deg,#fff,#f7faf9)}
.training-location-card-top{display:flex;align-items:center;justify-content:space-between;gap:.7rem;margin-bottom:1rem}
.training-location-icon{display:inline-flex;align-items:center;justify-content:center;min-width:58px;height:34px;padding:0 .6rem;border-radius:999px;background:#e8f2f3;color:#0b5663;font-size:.72rem;font-weight:800;letter-spacing:.08em}
.coming-soon-badge{display:inline-flex;padding:.35rem .65rem;border-radius:999px;background:#f3e8c9;color:#6d5114;font-size:.73rem;font-weight:800}
.training-location-card h2{margin:.1rem 0 .45rem;font-size:1.22rem}
.training-location-card p{margin:0;color:#5d6a6e;line-height:1.48}
.training-location-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:.45rem;margin:1rem 0}
.training-location-stats span{padding:.55rem .45rem;border-radius:10px;background:#f4f7f7;text-align:center;font-size:.76rem;color:#536064}
.training-location-stats strong{display:block;font-size:1.05rem;color:#153d45}
.training-location-open{margin-top:auto;color:#0b5663;font-weight:800}
.training-results-help{margin-top:1.1rem}
.training-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.9rem;margin:1rem 0 1.4rem}
.training-summary-grid .metric-card{padding:1rem 1.1rem;border:1px solid #dce4e5;border-radius:15px;background:#fff}
.training-summary-grid .metric-card span{display:block;color:#617075;font-size:.83rem;margin-bottom:.25rem}
.training-summary-grid .metric-card strong{display:block;font-size:1.65rem;color:#0b5663}
.facility-training-staff{display:grid;gap:1rem}
.staff-training-result-card{background:#fff;border:1px solid #dce4e5;border-radius:18px;overflow:hidden;box-shadow:0 8px 24px rgba(8,48,57,.06)}
.staff-training-card-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;padding:1.05rem 1.2rem;border-bottom:1px solid #e5ebec;background:#f9fbfb}
.staff-training-card-heading h2{margin:0 0 .25rem;font-size:1.12rem}
.staff-training-card-heading p{margin:0;color:#647277;font-size:.86rem}
.staff-training-table{margin:0}
.staff-training-table td:first-child{min-width:220px}.staff-training-table td:first-child small{display:block;color:#77858a;margin-top:.2rem}
.status-neutral{background:#eef2f3!important;color:#4e5c60!important}
.training-results-back{margin:1.3rem 0 2rem}
.facility-check small{display:block;font-size:.72rem;color:#6d777a;margin-top:.15rem}
.coming-soon-home{border-style:dashed!important}.coming-soon-home strong{color:#8a6517}
@media(max-width:900px){.training-location-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.training-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.training-location-grid{grid-template-columns:1fr}.training-summary-grid{grid-template-columns:1fr 1fr}.staff-training-card-heading{flex-direction:column}.training-location-card{min-height:210px}}


/* Office-only attendance, call-out and leave records */
.portal-card-attendance{border-color:#c8b98d;background:linear-gradient(145deg,#fff,#fbf7ec)}.portal-card-attendance .portal-icon{background:#f7edd3;color:#725417}
.attendance-office-layout{display:grid;grid-template-columns:minmax(330px,.72fr) minmax(0,1.28fr);gap:22px;align-items:start}.attendance-entry-panel,.attendance-directory-panel{padding:28px}.attendance-entry-panel{position:sticky;top:96px}.attendance-help{margin:.25rem 0 1rem;color:var(--muted);font-size:.8rem;line-height:1.5}.attendance-entry-form{display:grid;gap:12px}.attendance-entry-form textarea{resize:vertical}
.attendance-location-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.attendance-location-card{display:flex;flex-direction:column;min-height:190px;padding:18px;text-align:left;border:1px solid var(--line);border-radius:15px;background:#fff;cursor:pointer;box-shadow:var(--shadow-sm);transition:transform .18s,border-color .18s,box-shadow .18s}.attendance-location-card:hover{transform:translateY(-2px);border-color:#80a8ae;box-shadow:0 12px 25px rgba(8,48,57,.10)}.attendance-location-label{align-self:flex-start;padding:4px 8px;border-radius:999px;background:var(--teal-50);color:var(--teal-800);font-size:.62rem;font-weight:850;text-transform:uppercase;letter-spacing:.05em}.attendance-location-card>strong{margin:.7rem 0 .2rem;color:var(--teal-900);font-size:1rem}.attendance-location-card>small{color:#8a6517;font-size:.7rem}.attendance-location-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:5px;margin:1rem 0}.attendance-location-metrics span{padding:7px 5px;text-align:center;background:#f5f8f8;border-radius:8px;color:var(--muted);font-size:.66rem}.attendance-location-metrics b{display:block;color:var(--teal-900);font-size:.92rem}.attendance-location-open{margin-top:auto;color:var(--teal-800);font-size:.75rem;font-weight:850}.attendance-staff-toolbar{display:flex;align-items:center;gap:18px;margin-bottom:18px}.attendance-staff-toolbar h2{margin:0}.attendance-staff-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.attendance-staff-card{display:flex;flex-direction:column;padding:17px;border:1px solid var(--line);border-radius:14px;background:#fff;color:inherit;text-decoration:none;transition:transform .18s,border-color .18s}.attendance-staff-card:hover{transform:translateY(-2px);border-color:#80a8ae}.attendance-staff-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.attendance-staff-head strong{color:var(--teal-900)}.attendance-staff-head p{margin:4px 0 0;color:var(--muted);font-size:.74rem}.attendance-staff-metrics{display:grid;gap:5px;margin:14px 0}.attendance-staff-metrics span{font-size:.72rem;color:#53676d}.attendance-staff-metrics b{color:var(--teal-900)}
.attendance-record-shell{max-width:1500px}.attendance-record-actions{display:flex;align-items:end;justify-content:space-between;gap:14px;margin-bottom:18px}.attendance-record-actions label{max-width:220px;margin-left:auto}.attendance-record-document{background:#fff;border:1px solid #c9d4d6;border-radius:18px;box-shadow:var(--shadow-md);overflow:hidden}.attendance-document-header{display:flex;align-items:center;gap:18px;padding:22px 28px;border-bottom:4px solid var(--teal-900);background:linear-gradient(90deg,#f9fcfc,#eef7f7)}.attendance-document-header img{width:74px;height:74px;object-fit:contain}.attendance-document-header p{margin:0;color:var(--teal-800);font-size:.72rem;font-weight:850;letter-spacing:.07em}.attendance-document-header h1{margin:.25rem 0;color:var(--teal-950);font-size:1.45rem}.attendance-document-header span{color:#65777c;font-size:.75rem}.attendance-document-identity{display:grid;grid-template-columns:2fr 1.2fr .8fr .8fr;border-bottom:1px solid #cbd6d8}.attendance-document-identity>div{padding:14px 18px;border-right:1px solid #d7e0e2}.attendance-document-identity>div:last-child{border-right:0}.attendance-document-identity span{display:block;color:#65777c;font-size:.62rem;font-weight:800;text-transform:uppercase;letter-spacing:.05em}.attendance-document-identity strong{display:block;margin-top:3px;color:var(--teal-900);font-size:.86rem}.attendance-document-identity small{display:block;margin-top:2px;color:#65777c;font-size:.69rem}.attendance-section-bar{margin:0;padding:9px 18px;color:#fff;background:var(--teal-900);font-size:.75rem;letter-spacing:.08em}.attendance-summary-grid{display:grid;grid-template-columns:repeat(8,1fr);gap:0;border-bottom:1px solid #cbd6d8}.attendance-summary-grid>div{padding:12px 9px;text-align:center;border-right:1px solid #d7e0e2}.attendance-summary-grid>div:last-child{border-right:0}.attendance-summary-grid span{display:block;min-height:2.4em;color:#65777c;font-size:.6rem;font-weight:750;line-height:1.2}.attendance-summary-grid strong{display:block;margin-top:4px;color:var(--teal-900);font-size:1.18rem}.attendance-record-table-scroll{overflow:auto}.attendance-record-table{width:100%;min-width:1250px;border-collapse:collapse}.attendance-record-table th,.attendance-record-table td{padding:9px 10px;border-right:1px solid #dde4e5;border-bottom:1px solid #dde4e5;text-align:left;vertical-align:top;font-size:.68rem;line-height:1.35}.attendance-record-table th{color:#fff;background:#52747a;font-size:.6rem;text-transform:uppercase;letter-spacing:.04em}.attendance-record-table td small{color:var(--muted)}.attendance-record-table tbody tr:nth-child(even){background:#fafcfc}.attendance-review-grid{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:12px;padding:16px 18px}.attendance-review-notes{display:block;padding:0 18px 18px}.attendance-ack-copy{margin:14px 18px 0;color:#53656a;font-size:.72rem;line-height:1.45}.attendance-document-footer{display:flex;justify-content:space-between;gap:20px;padding:12px 18px;color:#65777c;background:#f4f7f7;border-top:1px solid #d3dddf;font-size:.6rem}.status-recorded{color:#315b64;background:#e2eff1}
@media(max-width:1100px){.attendance-office-layout{grid-template-columns:1fr}.attendance-entry-panel{position:static}.attendance-summary-grid{grid-template-columns:repeat(4,1fr)}.attendance-document-identity{grid-template-columns:1fr 1fr}.attendance-document-identity>div:nth-child(2){border-right:0}.attendance-document-identity>div:nth-child(-n+2){border-bottom:1px solid #d7e0e2}}
@media(max-width:720px){.attendance-location-grid,.attendance-staff-grid{grid-template-columns:1fr}.attendance-record-actions{align-items:stretch;flex-direction:column}.attendance-record-actions label{max-width:none;margin-left:0}.attendance-summary-grid{grid-template-columns:repeat(2,1fr)}.attendance-document-header{align-items:flex-start}.attendance-document-identity{grid-template-columns:1fr}.attendance-document-identity>div{border-right:0;border-bottom:1px solid #d7e0e2}.attendance-review-grid{grid-template-columns:1fr}.attendance-document-footer{flex-direction:column}.attendance-staff-toolbar{align-items:flex-start;flex-direction:column}}
@media print{.attendance-record-body{background:#fff!important}.attendance-record-body .no-print,.attendance-record-body .dashboard-header{display:none!important}.attendance-record-body .dashboard-main{max-width:none!important;padding:0!important;margin:0!important}.attendance-record-document{border:0!important;border-radius:0!important;box-shadow:none!important}.attendance-document-header{padding:10px 12px;border-bottom-width:3px;-webkit-print-color-adjust:exact;print-color-adjust:exact}.attendance-document-header img{width:48px;height:48px}.attendance-document-header p{font-size:6.5pt}.attendance-document-header h1{font-size:13pt}.attendance-document-header span{font-size:6.5pt}.attendance-document-identity{grid-template-columns:2fr 1.2fr .8fr .8fr}.attendance-document-identity>div{padding:7px 8px}.attendance-document-identity span{font-size:5.5pt}.attendance-document-identity strong{font-size:7.2pt}.attendance-document-identity small{font-size:5.6pt}.attendance-section-bar{padding:5px 8px;font-size:6.5pt;-webkit-print-color-adjust:exact;print-color-adjust:exact}.attendance-summary-grid{grid-template-columns:repeat(8,1fr)}.attendance-summary-grid>div{padding:6px 3px}.attendance-summary-grid span{min-height:2.2em;font-size:5pt}.attendance-summary-grid strong{font-size:9pt}.attendance-record-table-scroll{overflow:visible}.attendance-record-table{min-width:0;table-layout:fixed}.attendance-record-table th,.attendance-record-table td{padding:4px 4px;font-size:5.1pt;word-break:break-word}.attendance-record-table th{font-size:4.8pt;-webkit-print-color-adjust:exact;print-color-adjust:exact}.attendance-record-table th:nth-child(1){width:9%}.attendance-record-table th:nth-child(2){width:14%}.attendance-record-table th:nth-child(3){width:6%}.attendance-record-table th:nth-child(4){width:7%}.attendance-record-table th:nth-child(5){width:10%}.attendance-record-table th:nth-child(6){width:10%}.attendance-record-table th:nth-child(7){width:9%}.attendance-record-table th:nth-child(8){width:11%}.attendance-record-table th:nth-child(9){width:24%}.attendance-review-grid{padding:8px 10px;gap:7px}.attendance-review-grid label,.attendance-review-notes{font-size:5.5pt}.attendance-review-grid input,.attendance-review-notes textarea{padding:5px;font-size:6.5pt;border:1px solid #777}.attendance-review-notes{padding:0 10px 8px}.attendance-ack-copy{margin:7px 10px 0;font-size:5.4pt}.attendance-document-footer{padding:6px 8px;font-size:5pt;-webkit-print-color-adjust:exact;print-color-adjust:exact}@page{size:landscape;margin:.35in}}


/* Mobile-first staff portal + bilingual controls */
html{-webkit-text-size-adjust:100%}body{overflow-wrap:anywhere}button,.button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}.portal-language-toggle{min-width:48px;font-weight:900}.table-scroll,.results-table-wrap,.submitted-form-table-wrap,.attendance-table-wrap{max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}iframe,video,embed,object{max-width:100%}
@media(max-width:900px){.dashboard-header{position:sticky;top:0;z-index:1200}.dashboard-main{padding-top:26px;padding-bottom:calc(52px + env(safe-area-inset-bottom))}.dashboard-columns,.dashboard-columns-three,.message-layout,.timeoff-request-grid,.timeoff-admin-grid,.calendar-admin-workspace,.staff-management-grid,.attendance-layout,.attendance-record-layout,.training-results-layout{grid-template-columns:1fr!important}.timeoff-submit-panel,.request-queue-panel{position:static!important}.timeoff-summary,.request-meta-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.pdf-form-panel,.timeoff-submit-panel,.request-queue-panel,.request-detail-panel,.timeoff-calendar-panel,.staff-form-panel,.staff-directory-panel,.dashboard-panel{padding:22px}.timeoff-pdf-frame,.submitted-pdf-frame{height:60vh!important;min-height:430px}}
@media(max-width:700px){:root{--radius:16px;--radius-lg:22px}.shell{width:min(calc(100% - 20px),var(--shell))}body{font-size:15px;line-height:1.55}input,select,textarea{min-height:46px;font-size:16px!important}input[type=checkbox],input[type=radio]{min-height:0}textarea{min-height:94px}.button,button{min-height:44px}.button{padding:10px 14px}.dashboard-nav{width:100%;min-height:0;padding:9px 10px;flex-wrap:wrap;gap:10px}.dashboard-header .brand{min-width:0;flex:1 1 150px;gap:8px}.dashboard-header .brand img{width:48px;height:42px}.dashboard-header .brand-copy{display:grid!important;min-width:0}.dashboard-header .brand-copy strong{font-size:.78rem;white-space:normal}.dashboard-header .brand-copy small{display:none}.dashboard-user{width:100%;display:grid!important;grid-template-columns:38px minmax(0,1fr) auto auto;gap:8px;align-items:center}.dashboard-user>div{display:grid!important;min-width:0;line-height:1.18}.dashboard-user>div strong,.dashboard-user>div small{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dashboard-user>div strong{font-size:.82rem}.dashboard-user>div small{font-size:.66rem}.user-avatar{width:36px!important;height:36px!important}.dashboard-user .button{width:auto;min-width:44px;padding:7px 9px;font-size:.72rem}.dashboard-welcome{margin-bottom:26px;gap:12px}.dashboard-welcome h1,.staff-page-heading h1{font-size:clamp(2rem,10vw,2.7rem)}.portal-grid{gap:11px}.portal-card{grid-template-columns:42px minmax(0,1fr) 18px;min-height:0;gap:11px;padding:16px 14px;border-radius:15px}.portal-icon{width:42px;height:42px;border-radius:12px;font-size:1.35rem}.portal-card h3{font-size:.94rem}.portal-card p{font-size:.77rem;line-height:1.42}.dashboard-panel{padding:17px;border-radius:15px}.staff-photo-field{grid-template-columns:72px minmax(0,1fr);gap:12px;padding:12px}.staff-photo-preview-wrap{width:72px;height:72px}.facility-fieldset{padding:13px}.facility-check-grid{grid-template-columns:1fr!important}.facility-check{min-height:46px}.staff-directory-card{grid-template-columns:48px minmax(0,1fr);padding:12px;gap:10px}.staff-directory-avatar{width:48px;height:48px}.official-web-form{padding:12px;border-radius:12px}.form-document-header,.form-document-header.compact{gap:10px;padding:10px 4px 14px}.form-document-header h2{font-size:1.55rem}.official-form-grid.two-col,.official-form-grid.three-col,.official-form-grid.four-col,.official-form-grid.signature-grid,.notice-grid,.resident-name-fields{grid-template-columns:1fr!important}.choice-grid{grid-template-columns:1fr!important;gap:8px}.choice-grid label{min-height:44px;padding:8px;background:var(--surface-2);border-radius:8px}.portal-submit-footer{padding:14px}.portal-submit-footer .button{width:100%;min-width:0}.appointment-concern-row{grid-template-columns:42px minmax(0,1fr)}.appointment-concern-row .concern-observation{grid-column:1/-1}.timeoff-pdf-frame,.submitted-pdf-frame{height:56vh!important;min-height:360px}.pdf-form-actions,.request-detail-heading,.request-queue-heading,.submitted-form-toolbar{align-items:stretch;flex-direction:column}.pdf-form-actions .button{width:100%}.request-meta-grid,.timeoff-summary{grid-template-columns:1fr 1fr;gap:8px}.message-card{padding:14px!important}.message-card-head{align-items:flex-start!important;flex-direction:column;gap:5px!important}#message-people[multiple]{min-height:160px}.admin-calendar-panel{padding:10px!important;overflow:visible!important}.admin-calendar-grid{min-width:0!important;width:100%;grid-template-columns:repeat(7,minmax(0,1fr))!important;gap:2px!important}.admin-calendar-weekday{padding:5px 1px!important;font-size:.55rem!important}.admin-calendar-day{min-height:72px!important;padding:3px!important}.admin-calendar-date-number{font-size:.65rem!important}.admin-calendar-event{margin-top:2px!important;padding:2px 3px!important}.admin-calendar-event strong{display:block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.52rem!important}.admin-calendar-event span{display:none!important}.calendar-legend{min-width:0!important;flex-wrap:wrap}.calendar-list-row{grid-template-columns:1fr!important;padding:12px!important}.admin-calendar-actions{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px!important;width:100%}.admin-calendar-actions .button{width:100%}.training-video-grid,.training-presentation-grid,.training-location-grid,.facility-training-staff,.attendance-location-grid,.attendance-staff-grid{grid-template-columns:1fr!important}.training-media-heading,.presentation-title-row,.staff-training-card-heading{flex-direction:column;align-items:flex-start!important}.presentation-toolbar{position:sticky;bottom:0;z-index:20;padding:8px;background:rgba(255,255,255,.96);border-top:1px solid var(--line)}.presentation-toolbar .button{flex:1 1 42%}.training-quiz-form{padding:14px}.quiz-choice{min-height:48px}.results-table{min-width:620px}.attendance-form-actions{align-items:stretch!important;flex-direction:column}.attendance-form-actions .button{width:100%}.toast{left:10px;right:10px;bottom:calc(10px + env(safe-area-inset-bottom));max-width:none}.modal-panel{width:min(calc(100vw - 20px),560px);max-height:calc(100vh - 24px);overflow-y:auto;padding:22px 16px}}
@media(max-width:430px){.dashboard-user{grid-template-columns:34px minmax(0,1fr) 44px 44px}.dashboard-user .button{padding-inline:6px}.request-meta-grid,.timeoff-summary{grid-template-columns:1fr}}



/* Administrative staff editing + employment status management */
.staff-form-mode-badge{display:inline-flex;align-items:center;padding:6px 10px;border-radius:999px;background:#eaf0f8;color:#355e8a;font-size:.68rem;font-weight:850;letter-spacing:.04em;text-transform:uppercase}.staff-form-actions{display:flex;flex-wrap:wrap;gap:9px;margin-top:4px}.staff-form-actions .button{flex:1 1 180px}.staff-status-legend{display:flex;flex-wrap:wrap;gap:7px;margin:10px 0 14px}.employment-status{display:inline-flex;align-items:center;justify-content:center;padding:5px 9px;border-radius:999px;font-size:.65rem;font-weight:850;white-space:nowrap}.status-active{color:#175d3c;background:#dff4e8}.status-suspended{color:#76540f;background:#fff1c9}.status-terminated{color:#8a3131;background:#f9e2e2}.staff-directory-card.staff-status-suspended{border-left:4px solid #d09a28}.staff-directory-card.staff-status-terminated{border-left:4px solid #a84d4d;background:#fbf7f7}.staff-card-actions{display:flex;flex-wrap:wrap;gap:7px;margin-top:11px}.staff-card-actions .button{min-height:36px}.button-warning{color:#6d4b09;background:#fff1c9;border:1px solid #e1c475}.button-danger{color:#fff;background:#9d3e3e;border:1px solid #8a3131}.button-success{color:#fff;background:#2f7651;border:1px solid #286645}.button[disabled]{opacity:.45;cursor:not-allowed}.staff-status-history{margin-top:10px;padding-top:9px;border-top:1px solid var(--line);font-size:.7rem}.staff-status-history summary{cursor:pointer;color:var(--teal-800);font-weight:800}.staff-status-history ul{display:grid;gap:7px;margin:8px 0 0;padding-left:18px}.staff-status-history li{color:#425a60}.staff-status-history small{display:block;color:var(--muted);margin-top:2px}.staff-status-panel{width:min(94vw,620px)}.staff-status-form{display:grid;gap:13px;margin-top:18px}.staff-status-form label{display:grid;gap:5px;color:#334f55;font-size:.76rem;font-weight:780}.staff-status-form input,.staff-status-form select,.staff-status-form textarea{width:100%;padding:10px 11px;border:1px solid #a5b8bc;border-radius:8px;background:#fff;font:inherit}.staff-status-warning{padding:11px 12px;border-left:4px solid #c28a14;border-radius:8px;background:#fff7df;color:#694d16;font-size:.75rem;line-height:1.45}
@media(max-width:700px){.staff-card-actions{display:grid;grid-template-columns:1fr 1fr}.staff-card-actions .button{width:100%;min-width:0}.staff-card-actions .button:first-child{grid-column:1/-1}.staff-form-actions{display:grid;grid-template-columns:1fr}.staff-status-panel{width:min(calc(100vw - 16px),620px);padding:22px 14px}.staff-status-legend{margin-bottom:10px}}

/* Resident / consumer privacy management */
.resident-management-grid{display:grid;grid-template-columns:minmax(300px,.85fr) minmax(0,1.35fr);gap:1.25rem;align-items:start}
.resident-directory{display:grid;gap:.9rem}
.resident-directory-card{border:1px solid rgba(11,86,99,.16);border-radius:16px;padding:1rem;background:#fff;box-shadow:0 10px 28px rgba(15,51,58,.06)}
.resident-directory-heading{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:.8rem}
.resident-directory-heading>div{display:flex;align-items:center;gap:.75rem;min-width:0}
.resident-directory-heading h3{margin:0;overflow-wrap:anywhere}
.resident-initial-badge{display:inline-grid;place-items:center;min-width:48px;height:48px;border-radius:14px;background:rgba(11,86,99,.1);color:#0b5663;font-weight:800;letter-spacing:.06em}
.resident-private-details{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem;margin:0}
.resident-private-details div{padding:.7rem;border-radius:12px;background:#f7faf9}
.resident-private-details dt{font-size:.75rem;text-transform:uppercase;letter-spacing:.06em;color:#65767a;margin-bottom:.2rem}
.resident-private-details dd{margin:0;font-weight:650;overflow-wrap:anywhere}
.resident-picker-fieldset{border:1px solid rgba(11,86,99,.18);border-radius:14px;padding:.9rem 1rem;margin:0}
.resident-picker-fieldset legend{font-weight:700;padding:0 .35rem}.resident-picker-fieldset legend span{font-weight:500;color:#667}
.resident-picker-grid{display:flex;flex-wrap:wrap;gap:.55rem;margin:.25rem 0 .45rem}
.resident-picker-option{display:flex;align-items:center;gap:.45rem;border:1px solid rgba(11,86,99,.18);border-radius:999px;padding:.55rem .8rem;background:#fff;cursor:pointer}
.resident-picker-option:has(input:checked){background:rgba(11,86,99,.1);border-color:#0b5663}
.resident-picker-option input{width:18px;height:18px;margin:0}
.resident-picker-option span{font-weight:750;letter-spacing:.05em}
#appointment-resident-select,#calendar-resident-select{min-height:46px}
@media (max-width:780px){.resident-management-grid{grid-template-columns:1fr}.resident-private-details{grid-template-columns:1fr}.resident-directory-heading{align-items:flex-start}.resident-picker-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.resident-picker-option{border-radius:12px;justify-content:center;min-height:48px}}


/* Calendar event icons */
.calendar-legend span{display:inline-flex;align-items:center;gap:5px}.calendar-legend span b{font-size:.9em;line-height:1;font-weight:400}.admin-calendar-event strong{display:flex;align-items:flex-start;gap:4px}.calendar-event-icon{flex:0 0 auto;line-height:1.05}.calendar-event-title{min-width:0}.calendar-list-title{display:flex!important;align-items:center;gap:7px}.calendar-list-title .calendar-event-icon{font-size:1rem}.dashboard-event-icon{display:inline-grid;place-items:center;flex:0 0 auto;width:30px;height:30px;margin-top:1px;border:1px solid #c8d7da;border-radius:9px;background:#f3f7f7;font-size:1rem;line-height:1}.dashboard-event-icon.type-staff-birthday,.dashboard-event-icon.type-resident-birthday{background:#faeaf1;border-color:#e3b5ca}.dashboard-event-icon.type-resident-appointment{background:#eaf0f8;border-color:#b8c8df}.dashboard-event-icon.type-activity{background:#e8f5ec;border-color:#b7d9c2}.dashboard-event-icon.type-outing,.dashboard-event-icon.type-trip{background:#f8efe2;border-color:#dec6a5}.dashboard-event-icon.type-payday{background:#f1eaf8;border-color:#cbb8de}.dashboard-event-icon.type-reminder{background:#edf0f2;border-color:#ccd4d8}.dashboard-event-icon.type-time-off{background:#e3f3f4;border-color:#add4d7}.dashboard-event-icon.type-staff-absence,.dashboard-event-icon.type-resignation{background:#f9e9ef;border-color:#dfb8c6}
@media(max-width:700px){.admin-calendar-event strong{gap:2px}.admin-calendar-event .calendar-event-icon{font-size:.62rem}.admin-calendar-event .calendar-event-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dashboard-event-icon{width:32px;height:32px;font-size:1.05rem}.calendar-legend span{gap:4px}}
@media print{.calendar-event-icon,.calendar-legend span b{font-family:"Segoe UI Emoji","Apple Color Emoji",sans-serif}.admin-calendar-event .calendar-event-icon{font-size:5.5pt}.calendar-list-title .calendar-event-icon{font-size:8pt}}


/* Facility data collection + aggression log */
.staff-credentials-box .staff-password-row { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:16px; align-items:start; }
.aggression-entry-shell,.data-collection-shell,.aggression-report-shell{max-width:1180px;margin-inline:auto;}
.behavior-guidance{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin:18px 0 24px;}
.behavior-guidance-card{padding:18px;background:#f5fafb;border:1px solid var(--line);border-radius:16px;}
.behavior-guidance-card h3{margin:0 0 8px;color:var(--teal-900);font-size:1rem;}
.behavior-guidance-card p,.behavior-guidance-card ul{margin:0;color:var(--muted);font-size:.9rem;}
.behavior-guidance-card ul{padding-left:18px;}
.aggression-form-section{margin-top:18px;padding-top:18px;border-top:1px solid var(--line);}
.aggression-form-section h2{margin:0 0 14px;color:var(--teal-900);font-size:1.12rem;}
.aggression-outcome-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;}
.aggression-outcome-option{display:flex;align-items:center;gap:8px;padding:12px;background:#f8fbfb;border:1px solid var(--line);border-radius:12px;}
.aggression-outcome-option input{width:auto;margin:0;}
.facility-folder-tabs{display:flex;gap:10px;overflow-x:auto;padding:4px 2px 12px;scrollbar-width:thin;}
.facility-folder-tab{flex:0 0 auto;padding:11px 15px;border:1px solid #b8cdd1;background:white;color:var(--teal-900);border-radius:999px;font-weight:800;cursor:pointer;}
.facility-folder-tab.active{color:white;background:var(--teal-800);border-color:var(--teal-800);}
.collection-category-tabs{display:flex;gap:10px;flex-wrap:wrap;margin:20px 0;}
.collection-category-tab{padding:10px 14px;border:1px solid var(--line);border-radius:12px;background:#f6fafa;color:var(--teal-900);font-weight:800;cursor:pointer;}
.collection-category-tab.active{background:#e6f2f4;border-color:#8db8bf;}
.collection-summary-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:16px 0 24px;}
.collection-stat{padding:16px;background:#f8fbfb;border:1px solid var(--line);border-radius:14px;}
.collection-stat strong{display:block;color:var(--teal-900);font-size:1.6rem;}
.collection-stat span{color:var(--muted);font-size:.82rem;}
.resident-log-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;}
.resident-log-card{padding:20px;border:1px solid var(--line);border-radius:18px;background:white;box-shadow:var(--shadow-sm);}
.resident-log-card h3{margin:0;color:var(--teal-900);}
.resident-log-card .resident-log-id{margin:3px 0 14px;color:var(--muted);font-size:.86rem;}
.resident-log-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:14px;}
.resident-log-metrics span{padding:9px;background:#f4f8f9;border-radius:10px;font-size:.78rem;color:var(--muted);}
.resident-log-metrics strong{display:block;color:var(--teal-900);font-size:1rem;}
.collection-table-wrap{overflow:auto;border:1px solid var(--line);border-radius:14px;}
.collection-table{width:100%;border-collapse:collapse;min-width:780px;}
.collection-table th,.collection-table td{padding:11px 12px;text-align:left;border-bottom:1px solid var(--line);vertical-align:top;font-size:.84rem;}
.collection-table th{position:sticky;top:0;background:#edf5f6;color:var(--teal-900);font-size:.75rem;text-transform:uppercase;letter-spacing:.04em;}
.collection-table tr:last-child td{border-bottom:0;}
.collection-empty{padding:28px;text-align:center;background:#f8fbfb;border:1px dashed #b8cdd1;border-radius:16px;color:var(--muted);}
.appointment-collection-group{margin:0 0 22px;}
.appointment-collection-group h3{margin:0 0 10px;color:var(--teal-900);}
.collection-pdf-link{white-space:nowrap;}
.daily-notes-placeholder{padding:34px;text-align:center;background:#f8fbfb;border:1px dashed #9cbcc2;border-radius:18px;}
.aggression-report-meta{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:18px 0;}
.aggression-report-meta div{padding:12px;background:#f6fafa;border-radius:12px;}
.aggression-report-meta dt{color:var(--muted);font-size:.72rem;text-transform:uppercase;letter-spacing:.05em;}
.aggression-report-meta dd{margin:3px 0 0;color:var(--teal-900);font-weight:800;}
.aggression-review-bar{display:flex;gap:12px;align-items:end;justify-content:space-between;flex-wrap:wrap;margin:18px 0;}
.aggression-review-fields{display:grid;grid-template-columns:220px 180px;gap:12px;}
.aggression-print-header{display:none;}
@media(max-width:860px){
  .behavior-guidance,.resident-log-grid{grid-template-columns:1fr;}
  .collection-summary-grid{grid-template-columns:repeat(2,1fr);}
  .aggression-report-meta{grid-template-columns:repeat(2,1fr);}
}
@media(max-width:700px){
  .staff-credentials-box .staff-password-row{grid-template-columns:1fr;gap:0;}
  .aggression-outcome-grid{grid-template-columns:1fr;}
  .collection-summary-grid,.aggression-report-meta,.aggression-review-fields{grid-template-columns:1fr;}
  .facility-folder-tab{padding:10px 13px;}
}
@media print{
  body.aggression-report-body .dashboard-header,body.aggression-report-body .calendar-screen-only,body.aggression-report-body .aggression-review-actions,body.aggression-report-body .button{display:none!important;}
  body.aggression-report-body{background:white;}
  body.aggression-report-body .dashboard-main{padding:0;}
  body.aggression-report-body .dashboard-panel{box-shadow:none;border:0;padding:0;}
  body.aggression-report-body .aggression-print-header{display:flex;align-items:center;gap:16px;border-bottom:2px solid #0b5663;padding-bottom:12px;margin-bottom:14px;}
  body.aggression-report-body .aggression-print-header img{width:72px;}
  body.aggression-report-body .collection-table-wrap{overflow:visible;border:0;}
  body.aggression-report-body .collection-table{min-width:0;font-size:8pt;}
  body.aggression-report-body .collection-table th,body.aggression-report-body .collection-table td{padding:5px 6px;font-size:8pt;}
}

/* Disciplinary action + paperwork workflow */
.discipline-shell,.discipline-log-shell,.paperwork-shell,.paperwork-inbox-shell{max-width:1180px;margin-inline:auto}.discipline-warning{margin:0 0 20px;padding:16px 18px;border-left:5px solid var(--gold-500);border-radius:12px;background:#fff7df;color:#5f4b1c}.discipline-warning strong{display:block;color:var(--teal-900);font-size:.9rem}.discipline-warning p{margin:5px 0 0;font-size:.82rem;line-height:1.5}.discipline-form{display:grid;gap:24px}.discipline-section{display:grid;gap:13px;padding-bottom:23px;border-bottom:1px solid var(--line)}.discipline-section:last-of-type{border-bottom:0}.discipline-section h2{margin:-6px 0 0;color:var(--teal-900);font-size:1.3rem}.discipline-form label,.paperwork-form label,.paperwork-multiple-field{display:grid;gap:6px;color:#27484f;font-size:.76rem;font-weight:800}.discipline-form input,.discipline-form select,.discipline-form textarea,.paperwork-form input,.paperwork-form select,.paperwork-form textarea,.filter-grid input,.filter-grid select{width:100%;padding:10px 11px;border:1px solid #a5b8bc;border-radius:8px;background:#fff;font:inherit;color:#263a40}.discipline-form textarea,.paperwork-form textarea{resize:vertical}.discipline-form input[readonly]{background:#f3f6f7;color:#53666c}.form-grid{display:grid;gap:13px}.form-grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.form-grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.discipline-occurrence{padding:11px 13px;border:1px solid #b8ced2;border-radius:9px;background:#f0f7f8;color:#36575e;font-size:.77rem}.discipline-occurrence strong{color:var(--teal-900)}.discipline-signature-note{padding:14px 16px;border:1px dashed #7d9fa5;border-radius:10px;background:#f7fbfb}.discipline-signature-note strong{color:var(--teal-900)}.discipline-signature-note p{margin:4px 0 0;color:var(--muted);font-size:.78rem}.discipline-edit-banner{padding:12px 14px;margin-bottom:16px;border:1px solid #dab45d;border-radius:9px;background:#fff5d9;color:#664d17;font-weight:750}.discipline-list{display:grid;gap:12px}.discipline-card{padding:15px 16px;border:1px solid var(--line);border-radius:13px;background:#fbfdfd}.discipline-card-top{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.discipline-card-top strong{display:block;color:var(--teal-900)}.discipline-card-top span:not(.discipline-status){display:block;margin-top:2px;color:var(--muted);font-size:.72rem}.discipline-card p{margin:8px 0 0;font-size:.77rem}.discipline-count-line{color:#8a6519;font-weight:800}.discipline-review-note{padding:9px 11px;border-radius:8px;background:#f2f5f6}.discipline-actions,.discipline-review-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.discipline-status{display:inline-flex;align-items:center;padding:5px 9px;border-radius:999px;font-size:.66rem;font-weight:850;white-space:nowrap}.status-pending-approval{color:#76540f;background:#fff1c9}.status-needs-revision{color:#8a3131;background:#f9e2e2}.status-approved-ready-for-hand-delivery{color:#205b3d;background:#e4f4e9}.status-signed-copy-received{color:#174f68;background:#e0f0f8}.discipline-summary{grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:18px}.filter-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:16px}.filter-grid label{display:grid;gap:5px;color:#35575e;font-size:.72rem;font-weight:800}.collection-table tbody tr[data-discipline-id]{cursor:pointer}.collection-table tbody tr[data-discipline-id]:hover{background:#f3f8f8}.collection-table td small{display:block;margin-top:3px;color:var(--muted);font-size:.65rem}.discipline-detail-meta{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin:14px 0 16px}.discipline-detail-meta>div{padding:10px 11px;border-radius:9px;background:#f4f8f8}.discipline-detail-meta span{display:block;color:var(--muted);font-size:.65rem;text-transform:uppercase;letter-spacing:.04em}.discipline-detail-meta strong{display:block;margin-top:3px;color:var(--teal-900);font-size:.78rem}.discipline-pdf-preview{margin-top:16px;border:1px solid var(--line);border-radius:12px;overflow:hidden;background:#eef3f4}.discipline-pdf-preview iframe{display:block;width:100%;height:720px;border:0}.paperwork-multiple-field{padding:10px 12px;border:1px solid var(--line);border-radius:9px}.paperwork-multiple-field legend{padding:0 4px;color:#27484f;font-weight:850}.paperwork-multiple-field label{display:flex;align-items:center;gap:7px;font-weight:650}.paperwork-multiple-field input{width:auto;min-height:0}.paperwork-source-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:18px 0 10px}.paperwork-source-card{display:grid;gap:4px;justify-items:center;min-height:135px;padding:18px 12px;border:1px solid #b7c9cc;border-radius:14px;background:#f8fbfb;color:#24494f;text-align:center;cursor:pointer}.paperwork-source-card:hover{border-color:var(--teal-600);background:#eef8f8}.paperwork-source-card span{font-size:2rem}.paperwork-source-card strong{font-size:.9rem}.paperwork-source-card small{color:var(--muted);font-size:.7rem;line-height:1.35}.paperwork-files{display:grid;gap:8px;margin:12px 0}.paperwork-empty-files{padding:16px;border:1px dashed #a9bec2;border-radius:10px;color:var(--muted);text-align:center}.paperwork-file-row{display:grid;grid-template-columns:44px minmax(0,1fr) auto;align-items:center;gap:10px;padding:10px 11px;border:1px solid var(--line);border-radius:10px;background:#fff}.paperwork-file-icon{display:grid;width:42px;height:42px;place-items:center;border-radius:9px;background:var(--teal-100);color:var(--teal-900);font-size:.65rem;font-weight:900}.paperwork-file-row strong,.paperwork-file-row small{display:block}.paperwork-file-row strong{color:var(--teal-900);font-size:.77rem;overflow-wrap:anywhere}.paperwork-file-row small{margin-top:2px;color:var(--muted);font-size:.65rem}.paperwork-recent-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 0;border-bottom:1px solid var(--line)}.paperwork-recent-row:last-child{border-bottom:0}.paperwork-recent-row strong,.paperwork-recent-row span,.paperwork-recent-row small{display:block}.paperwork-recent-row strong{color:var(--teal-900)}.paperwork-recent-row span,.paperwork-recent-row small{color:var(--muted);font-size:.7rem}.camera-modal{position:fixed;inset:0;z-index:1000;display:grid;place-items:center;padding:16px;background:rgba(2,25,30,.78)}.camera-modal[hidden]{display:none}.camera-panel{width:min(760px,96vw);padding:18px;border-radius:16px;background:#fff}.camera-panel video{display:block;width:100%;max-height:65vh;object-fit:contain;background:#111;border-radius:12px}.paperwork-inbox-layout{display:grid;grid-template-columns:minmax(340px,.85fr) minmax(0,1.15fr);gap:18px}.paperwork-inbox-list{display:grid;gap:9px;max-height:760px;overflow:auto}.paperwork-inbox-card{display:grid;grid-template-columns:1fr 1fr auto;gap:12px;width:100%;padding:12px;text-align:left;border:1px solid var(--line);border-radius:11px;background:#fff;cursor:pointer}.paperwork-inbox-card.selected{border-color:#4f8e99;box-shadow:0 0 0 2px rgba(43,119,132,.12)}.paperwork-inbox-card strong,.paperwork-inbox-card span,.paperwork-inbox-card small{display:block}.paperwork-inbox-card strong{color:var(--teal-900)}.paperwork-inbox-card span,.paperwork-inbox-card small{color:var(--muted);font-size:.68rem}.paperwork-notes-box{margin:14px 0;padding:12px;border-radius:9px;background:#f7f9fa}.paperwork-notes-box strong{color:var(--teal-900)}.paperwork-notes-box p{margin:5px 0 0;white-space:pre-wrap;font-size:.78rem}.paperwork-detail-files{display:grid;gap:8px}.paperwork-file-open{display:grid;grid-template-columns:44px 1fr;align-items:center;gap:10px;padding:10px;border:1px solid var(--line);border-radius:10px;color:inherit;text-decoration:none}.paperwork-file-open>span{display:grid;width:40px;height:40px;place-items:center;border-radius:8px;background:var(--teal-100);color:var(--teal-900);font-size:.65rem;font-weight:900}.paperwork-file-open strong,.paperwork-file-open small{display:block}.paperwork-file-open strong{color:var(--teal-900);overflow-wrap:anywhere}.paperwork-file-open small{color:var(--muted);font-size:.65rem}
@media(max-width:900px){.form-grid-3,.discipline-detail-meta,.discipline-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.paperwork-inbox-layout{grid-template-columns:1fr}.paperwork-inbox-list{max-height:none}.discipline-pdf-preview iframe{height:600px}}
@media(max-width:700px){.form-grid-2,.form-grid-3,.filter-grid,.discipline-detail-meta,.discipline-summary,.paperwork-source-grid{grid-template-columns:1fr}.discipline-card-top,.paperwork-recent-row{align-items:flex-start;flex-direction:column}.discipline-actions .button,.discipline-review-actions .button{width:100%}.paperwork-source-card{min-height:105px}.paperwork-file-row{grid-template-columns:38px minmax(0,1fr)}.paperwork-file-row .button{grid-column:1/-1;width:100%}.paperwork-inbox-card{grid-template-columns:1fr}.discipline-pdf-preview iframe{height:62vh;min-height:420px}}

/* Facility Data Collection v2: fixed facility grid, resident drill-downs, live behavior dashboard */
.facility-folder-tabs.facility-folder-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px;overflow:visible;padding:4px 0 12px}.facility-folder-grid .facility-folder-tab{display:grid;place-items:center;min-width:0;min-height:62px;padding:9px 8px;border-radius:12px;text-align:center;line-height:1.15;white-space:normal}.facility-folder-grid .facility-folder-tab small{display:block;margin-top:3px;font-size:.62rem;font-weight:700;opacity:.82}.collection-drilldown-heading{display:flex;align-items:end;justify-content:space-between;gap:16px;margin:20px 0 12px}.collection-drilldown-heading h3{margin:0;color:var(--teal-900)}.collection-drilldown-heading p{margin:4px 0 0;color:var(--muted);font-size:.84rem}.resident-log-card-link{position:relative;display:block;color:inherit;text-decoration:none;transition:transform .15s ease,border-color .15s ease,box-shadow .15s ease}.resident-log-card-link:hover{transform:translateY(-2px);border-color:#7baab2;box-shadow:0 10px 24px rgba(11,86,99,.1)}.resident-card-arrow{position:absolute;right:16px;top:14px;color:var(--teal-700);font-size:1.2rem;font-weight:900}.behavior-dashboard{margin:18px 0 22px;padding:18px;border:1px solid var(--line);border-radius:16px;background:#fbfdfd}.behavior-dashboard-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}.behavior-dashboard-heading h3,.behavior-dashboard-panels h4{margin:0;color:var(--teal-900)}.behavior-dashboard-stats{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}.behavior-dashboard-panels{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:14px}.behavior-dashboard-panels>section{padding:14px;border:1px solid var(--line);border-radius:12px;background:#fff}.behavior-month-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:6px;margin-top:10px}.behavior-time-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin-top:10px}.behavior-month-grid div,.behavior-time-grid div{display:grid;gap:2px;padding:8px;border-radius:8px;background:#f2f7f8;text-align:center}.behavior-month-grid span,.behavior-time-grid span{color:var(--muted);font-size:.64rem}.behavior-month-grid strong,.behavior-time-grid strong{color:var(--teal-900);font-size:1rem}.aggression-history-filters,.appointment-record-filters{display:grid;grid-template-columns:2fr 1fr .75fr .9fr;gap:12px;margin:16px 0}.aggression-history-filters label,.appointment-record-filters label{display:grid;gap:5px;color:#35575e;font-size:.72rem;font-weight:800}.aggression-history-filters select,.appointment-record-filters select{width:100%;padding:10px 11px;border:1px solid #a5b8bc;border-radius:8px;background:#fff;font:inherit;color:#263a40}.aggression-history-print-header{display:none}.behavior-log-heading{margin-top:20px}.behavior-history-table{min-width:1100px}.appointment-record-shell{max-width:1240px;margin-inline:auto}.appointment-record-filters{grid-template-columns:180px 210px;max-width:420px}.appointment-record-layout{display:grid;grid-template-columns:minmax(280px,.72fr) minmax(0,1.28fr);gap:18px;align-items:start}.appointment-record-list{display:grid;gap:9px}.appointment-record-item{display:grid;grid-template-columns:105px minmax(0,1fr) auto;align-items:center;gap:10px;width:100%;padding:12px;border:1px solid var(--line);border-radius:11px;background:#fff;color:inherit;text-align:left;cursor:pointer}.appointment-record-item:hover,.appointment-record-item.selected{border-color:#4f8e99;background:#f3f9fa;box-shadow:0 0 0 2px rgba(43,119,132,.08)}.appointment-record-item strong,.appointment-record-item small,.appointment-record-date{display:block}.appointment-record-item strong{color:var(--teal-900)}.appointment-record-item small{margin-top:2px;color:var(--muted);font-size:.68rem}.appointment-record-date{color:#27484f;font-size:.74rem;font-weight:800}.appointment-record-viewer{padding:16px;border:1px solid var(--line);border-radius:14px;background:#fbfdfd}.appointment-record-preview,.appointment-record-viewer iframe{display:block;width:100%;height:720px;margin-top:12px;border:1px solid var(--line);border-radius:10px;background:#edf2f3}.appointment-record-meta{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin:10px 0 14px}.appointment-record-meta div{padding:10px 11px;border-radius:9px;background:#f4f8f8}.appointment-record-meta dt{color:var(--muted);font-size:.65rem;text-transform:uppercase;letter-spacing:.04em}.appointment-record-meta dd{margin:3px 0 0;color:var(--teal-900);font-size:.8rem;white-space:pre-wrap}.aggression-report-body .aggression-review-fields{grid-template-columns:130px 170px minmax(180px,1fr)}
@media(max-width:1050px){.facility-folder-tabs.facility-folder-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.behavior-dashboard-stats{grid-template-columns:repeat(3,minmax(0,1fr))}.appointment-record-layout{grid-template-columns:1fr}.appointment-record-viewer iframe{height:620px}}
@media(max-width:760px){.facility-folder-tabs.facility-folder-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.behavior-dashboard-stats,.behavior-dashboard-panels,.aggression-history-filters,.appointment-record-filters,.appointment-record-meta{grid-template-columns:1fr}.behavior-month-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.behavior-time-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.appointment-record-item{grid-template-columns:86px minmax(0,1fr)}.appointment-record-item .portal-arrow{display:none}.appointment-record-viewer iframe{height:62vh;min-height:420px}.aggression-report-body .aggression-review-fields{grid-template-columns:1fr}}
@media print{
  body.printing-aggression-history .dashboard-header,body.printing-aggression-history .staff-page-heading,body.printing-aggression-history .behavior-guidance,body.printing-aggression-history #aggression-entry-form,body.printing-aggression-history .aggression-history-panel>.panel-heading,body.printing-aggression-history .aggression-history-filters,body.printing-aggression-history .toast{display:none!important}
  body.printing-aggression-history{background:#fff}body.printing-aggression-history .dashboard-main{padding:0}body.printing-aggression-history .aggression-history-panel{display:block!important;box-shadow:none;border:0;padding:0}body.printing-aggression-history .aggression-history-print-header{display:flex;align-items:center;gap:14px;border-bottom:2px solid #0b5663;padding-bottom:10px;margin-bottom:12px}body.printing-aggression-history .aggression-history-print-header img{width:64px}body.printing-aggression-history .behavior-dashboard{border:1px solid #999;background:#fff;padding:10px}body.printing-aggression-history .collection-table-wrap{overflow:visible;border:0}body.printing-aggression-history .collection-table{min-width:0;font-size:7.5pt}body.printing-aggression-history .collection-table th,body.printing-aggression-history .collection-table td{padding:4px 5px;font-size:7.5pt}
  body.aggression-report-body .behavior-dashboard{border:1px solid #999;background:#fff;padding:10px}body.aggression-report-body .behavior-dashboard-stats{grid-template-columns:repeat(5,1fr)}body.aggression-report-body .behavior-dashboard-panels{grid-template-columns:1fr 1fr}body.aggression-report-body .behavior-month-grid{grid-template-columns:repeat(6,1fr)}body.aggression-report-body .behavior-time-grid{grid-template-columns:repeat(3,1fr)}body.aggression-report-body .aggression-review-bar{display:none!important}
}


/* Aggression Tracking Dashboard print: landscape, one dashboard page */
@media print {
  @page { size: letter landscape; margin: .28in; }

  body.aggression-report-body .aggression-print-header,
  body.printing-aggression-history .aggression-history-print-header {
    padding-bottom: 6px !important;
    margin-bottom: 7px !important;
    gap: 10px !important;
  }
  body.aggression-report-body .aggression-print-header img,
  body.printing-aggression-history .aggression-history-print-header img {
    width: 46px !important;
    height: auto !important;
  }
  body.aggression-report-body .aggression-print-header h1,
  body.printing-aggression-history .aggression-history-print-header h2 {
    margin: 1px 0 0 !important;
    font-size: 12pt !important;
    line-height: 1.05 !important;
  }
  body.aggression-report-body .aggression-print-header strong,
  body.printing-aggression-history .aggression-history-print-header strong,
  body.printing-aggression-history .aggression-history-print-header p {
    font-size: 6.5pt !important;
    line-height: 1.15 !important;
    margin: 0 !important;
  }

  body.aggression-report-body .aggression-report-meta {
    grid-template-columns: repeat(4, 1fr) !important;
    gap: 4px !important;
    margin: 6px 0 !important;
  }
  body.aggression-report-body .aggression-report-meta div {
    padding: 4px 6px !important;
    border-radius: 5px !important;
  }
  body.aggression-report-body .aggression-report-meta dt {
    font-size: 5.5pt !important;
  }
  body.aggression-report-body .aggression-report-meta dd {
    margin-top: 1px !important;
    font-size: 7pt !important;
    line-height: 1.15 !important;
  }

  body.aggression-report-body .behavior-dashboard,
  body.printing-aggression-history .behavior-dashboard {
    margin: 5px 0 0 !important;
    padding: 7px !important;
    border-radius: 7px !important;
    break-inside: avoid-page !important;
    page-break-inside: avoid !important;
    break-after: page !important;
    page-break-after: always !important;
    -webkit-print-color-adjust: exact;
    print-color-adjust: exact;
  }
  body.aggression-report-body .behavior-dashboard-heading,
  body.printing-aggression-history .behavior-dashboard-heading {
    margin-bottom: 5px !important;
    gap: 7px !important;
  }
  body.aggression-report-body .behavior-dashboard-heading .eyebrow,
  body.printing-aggression-history .behavior-dashboard-heading .eyebrow {
    margin: 0 !important;
    font-size: 5.5pt !important;
  }
  body.aggression-report-body .behavior-dashboard-heading h3,
  body.printing-aggression-history .behavior-dashboard-heading h3 {
    font-size: 10pt !important;
    line-height: 1.05 !important;
  }
  body.aggression-report-body .behavior-dashboard-heading .portal-badge,
  body.printing-aggression-history .behavior-dashboard-heading .portal-badge {
    padding: 3px 6px !important;
    font-size: 5.8pt !important;
  }
  body.aggression-report-body .behavior-dashboard-stats,
  body.printing-aggression-history .behavior-dashboard-stats {
    grid-template-columns: repeat(5, 1fr) !important;
    gap: 5px !important;
  }
  body.aggression-report-body .behavior-dashboard .collection-stat,
  body.printing-aggression-history .behavior-dashboard .collection-stat {
    padding: 5px 4px !important;
    border-radius: 6px !important;
  }
  body.aggression-report-body .behavior-dashboard .collection-stat strong,
  body.printing-aggression-history .behavior-dashboard .collection-stat strong {
    font-size: 12pt !important;
    line-height: 1 !important;
  }
  body.aggression-report-body .behavior-dashboard .collection-stat span,
  body.printing-aggression-history .behavior-dashboard .collection-stat span {
    font-size: 5.8pt !important;
    line-height: 1.1 !important;
  }
  body.aggression-report-body .behavior-dashboard-panels,
  body.printing-aggression-history .behavior-dashboard-panels {
    grid-template-columns: 1fr 1fr !important;
    gap: 6px !important;
    margin-top: 6px !important;
  }
  body.aggression-report-body .behavior-dashboard-panels > section,
  body.printing-aggression-history .behavior-dashboard-panels > section {
    padding: 6px !important;
    border-radius: 6px !important;
  }
  body.aggression-report-body .behavior-dashboard-panels h4,
  body.printing-aggression-history .behavior-dashboard-panels h4 {
    font-size: 7pt !important;
    line-height: 1.05 !important;
  }
  body.aggression-report-body .behavior-month-grid,
  body.printing-aggression-history .behavior-month-grid {
    grid-template-columns: repeat(6, 1fr) !important;
    gap: 3px !important;
    margin-top: 4px !important;
  }
  body.aggression-report-body .behavior-time-grid,
  body.printing-aggression-history .behavior-time-grid {
    grid-template-columns: repeat(3, 1fr) !important;
    gap: 3px !important;
    margin-top: 4px !important;
  }
  body.aggression-report-body .behavior-month-grid div,
  body.aggression-report-body .behavior-time-grid div,
  body.printing-aggression-history .behavior-month-grid div,
  body.printing-aggression-history .behavior-time-grid div {
    padding: 3px 2px !important;
    border-radius: 4px !important;
  }
  body.aggression-report-body .behavior-month-grid span,
  body.aggression-report-body .behavior-time-grid span,
  body.printing-aggression-history .behavior-month-grid span,
  body.printing-aggression-history .behavior-time-grid span {
    font-size: 5.2pt !important;
    line-height: 1.05 !important;
  }
  body.aggression-report-body .behavior-month-grid strong,
  body.aggression-report-body .behavior-time-grid strong,
  body.printing-aggression-history .behavior-month-grid strong,
  body.printing-aggression-history .behavior-time-grid strong {
    font-size: 7.5pt !important;
    line-height: 1 !important;
  }

  /* The detailed Behavior Tracking Log begins on the next printed page. */
  body.aggression-report-body .behavior-log-heading,
  body.printing-aggression-history .behavior-log-heading {
    break-before: page !important;
    page-break-before: always !important;
    margin-top: 0 !important;
  }
}

/* =========================================================
   Facility Grocery List + shopping history
   ========================================================= */
.staff-special-role-toggle{display:grid;gap:.45rem}.staff-special-role-toggle>.facility-check{margin:0}.staff-special-role-toggle .facility-check span{display:block}.staff-special-role-toggle .facility-check small{display:block;margin-top:.2rem;color:var(--muted,#5f6f73);font-weight:400;line-height:1.35}.staff-duty-badge{display:inline-flex;align-items:center;gap:.25rem;margin-left:.4rem;padding:.15rem .45rem;border-radius:999px;background:#eef7f2;color:#205f43;font-size:.72rem;font-weight:800;vertical-align:middle}
.grocery-shell{padding-bottom:3rem}.grocery-heading{align-items:flex-start}.grocery-facility-panel .panel-heading{align-items:center}.grocery-toolbar{display:grid;grid-template-columns:minmax(240px,1fr) minmax(260px,.8fr);gap:1rem;align-items:end}.grocery-toolbar label{display:grid;gap:.4rem;font-weight:700}.grocery-status-card{display:flex;justify-content:space-between;gap:1rem;align-items:center;border:1px solid #d8e6e7;background:#f7fbfb;border-radius:14px;padding:.8rem 1rem}.grocery-status-card strong{color:#0b5663}.grocery-status-card span{font-size:.88rem;color:#607377;text-align:right}.grocery-main-grid{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(340px,.92fr);gap:1.25rem;margin:1.25rem 0}.grocery-add-form{display:grid;gap:1rem}.grocery-role-badge{display:inline-flex;align-items:center;padding:.3rem .65rem;border-radius:999px;background:#eef4f5;color:#315a60;font-size:.78rem;font-weight:800}.grocery-current-panel{margin-top:1.25rem}.grocery-current-list{display:grid;gap:1rem}.grocery-category{border:1px solid #dce7e9;border-radius:16px;overflow:hidden;background:#fff}.grocery-category-heading{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.7rem 1rem;background:#f2f8f8;border-bottom:1px solid #dce7e9}.grocery-category-heading h3{margin:0;color:#0b5663;font-size:1rem}.grocery-category-heading span{font-size:.78rem;font-weight:800;color:#6a777a}.grocery-item-table{display:grid}.grocery-item-row{display:grid;grid-template-columns:28px minmax(0,1fr) auto;gap:.75rem;align-items:center;padding:.75rem 1rem;border-bottom:1px solid #edf1f2}.grocery-item-row:last-child{border-bottom:0}.grocery-item-in-trip{background:#fbfdfb}.grocery-item-check-placeholder{font-size:1.1rem;text-align:center}.grocery-item-copy{display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:1rem;row-gap:.12rem;align-items:baseline}.grocery-item-copy>strong{font-size:.96rem;color:#173f45}.grocery-item-copy>span{font-weight:800;color:#0b5663;white-space:nowrap}.grocery-item-copy>small{grid-column:1/-1;color:#6a777a;line-height:1.35}.grocery-trip-summary{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:1rem;align-items:center;padding:.9rem 1rem;border:1px solid #cfe2d9;border-radius:14px;background:#f3faf6;margin-bottom:1rem}.grocery-trip-summary>div{display:grid;gap:.2rem}.grocery-trip-summary>div:last-child{text-align:center}.grocery-trip-summary strong{color:#205f43}.grocery-trip-summary span{color:#61706c;font-size:.82rem}.grocery-shopping-checklist{display:grid;gap:.55rem;max-height:520px;overflow:auto;padding-right:.2rem}.grocery-shop-row{display:grid;grid-template-columns:30px minmax(0,1fr);gap:.7rem;align-items:center;padding:.7rem .8rem;border:1px solid #dde7e8;border-radius:12px;background:#fff;cursor:pointer}.grocery-shop-row input{width:22px;height:22px;accent-color:#0b5663}.grocery-shop-row>span{display:grid;gap:.12rem}.grocery-shop-row small{color:#6a777a}.grocery-shop-row.checked{background:#eef8f2;border-color:#bddbc9}.grocery-shop-row.checked strong{text-decoration:line-through;color:#4d6c5c}.grocery-close-box,.grocery-start-box{display:grid;gap:1rem}.grocery-close-box{margin-top:1rem;padding-top:1rem;border-top:1px solid #e3eaeb}.grocery-close-box p,.grocery-start-box p{margin:0;color:#607377;line-height:1.45}.grocery-history-link{margin-top:1.25rem}.grocery-active-history-banner{display:flex;justify-content:space-between;gap:1rem;align-items:center;margin:1rem 0;padding:.75rem 1rem;border-radius:12px;background:#f3faf6;border:1px solid #cfe2d9;color:#205f43}.grocery-tracking-table{width:100%;border-collapse:collapse;min-width:760px}.grocery-tracking-table th,.grocery-tracking-table td{padding:.65rem .7rem;border-bottom:1px solid #e2eaeb;text-align:left;vertical-align:top}.grocery-tracking-table th{background:#f2f8f8;color:#164f58;font-size:.78rem;text-transform:uppercase;letter-spacing:.035em}.grocery-trip-history{display:grid;gap:.7rem}.grocery-history-trip{border:1px solid #dce7e9;border-radius:14px;background:#fff;overflow:hidden}.grocery-history-trip summary{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:1rem;align-items:center;padding:.8rem 1rem;cursor:pointer;list-style:none}.grocery-history-trip summary::-webkit-details-marker{display:none}.grocery-history-trip summary>span:first-child{display:grid;gap:.15rem}.grocery-history-trip summary small{color:#6c7a7d}.grocery-history-trip summary>span:last-child{font-size:.82rem;font-weight:800;color:#0b5663}.grocery-history-details{display:grid;grid-template-columns:1fr 1fr;gap:1rem;padding:0 1rem 1rem;border-top:1px solid #edf1f2}.grocery-history-details h4{margin:1rem 0 .4rem;color:#0b5663}.grocery-history-details ul{margin:.3rem 0 0;padding-left:1.1rem}.grocery-history-details li{margin:.25rem 0}.data-collection-admin-body .collection-category-tab[data-collection-category="grocery"]::before{content:"🛒 ";}

@media(max-width:900px){.grocery-main-grid,.grocery-toolbar{grid-template-columns:1fr}.grocery-status-card{align-items:flex-start}.grocery-history-details{grid-template-columns:1fr}.grocery-shopping-checklist{max-height:none}.grocery-trip-summary{grid-template-columns:1fr}.grocery-trip-summary>div:last-child{text-align:left}}
@media(max-width:600px){.grocery-item-row{grid-template-columns:24px minmax(0,1fr)}.grocery-item-row>.button{grid-column:2;justify-self:start}.grocery-item-copy{grid-template-columns:1fr}.grocery-item-copy>span,.grocery-item-copy>small{grid-column:1}.grocery-status-card{display:grid}.grocery-status-card span{text-align:left}.grocery-history-trip summary{grid-template-columns:1fr}.grocery-add-form .form-row{grid-template-columns:1fr}.grocery-facility-panel .panel-heading{align-items:flex-start;gap:.75rem;flex-direction:column}}

@media print{
  body.printing-grocery-list{background:#fff!important}
  body.printing-grocery-list .dashboard-header,body.printing-grocery-list .grocery-heading,body.printing-grocery-list .grocery-facility-panel,body.printing-grocery-list .grocery-main-grid,body.printing-grocery-list .grocery-history-link,body.printing-grocery-list #grocery-print-current,body.printing-grocery-list .toast{display:none!important}
  body.printing-grocery-list .dashboard-main{max-width:none!important;margin:0!important;padding:0!important}
  body.printing-grocery-list .grocery-current-panel{box-shadow:none!important;border:0!important;margin:0!important;padding:0!important}
  body.printing-grocery-list .grocery-current-panel::before{content:"TIGERTAIL ADULT RESIDENTIAL HOMES & WAULS SMALL FAMILY HOME\A FACILITY GROCERY SHOPPING LIST";white-space:pre;display:block;text-align:center;font-weight:900;font-size:14pt;line-height:1.3;margin-bottom:10px;color:#111}
  body.printing-grocery-list .grocery-category{break-inside:avoid-page;border-color:#999;border-radius:0;margin-bottom:8px}
  body.printing-grocery-list .grocery-category-heading{background:#eee!important;border-color:#999!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}
  body.printing-grocery-list .grocery-item-row{padding:5px 7px;border-color:#bbb;grid-template-columns:20px 1fr}
  body.printing-grocery-list .grocery-item-row>.button{display:none!important}
  body.printing-grocery-list .grocery-item-check-placeholder{font-size:9pt}
  body.printing-grocery-list .grocery-item-copy>strong{font-size:9pt;color:#111}.grocery-item-copy>span{font-size:9pt;color:#111}.grocery-item-copy>small{font-size:7pt;color:#444}
}

/* Grocery request checklist, multi-store shopping, fund balance, and print documents */
.grocery-request-panel,.grocery-shopping-panel,.grocery-current-panel{margin-top:1.25rem}.grocery-request-panel>.panel-heading,.grocery-shopping-panel>.panel-heading{align-items:flex-start}.grocery-request-panel .panel-heading p:last-child,.grocery-shopping-panel .panel-heading p:last-child{max-width:760px;margin:.3rem 0 0;color:#607377;line-height:1.45}.grocery-step-badge{display:inline-flex;align-items:center;padding:.4rem .7rem;border-radius:999px;background:#e8f4f4;color:#0b5663;font-size:.75rem;font-weight:900;white-space:nowrap}.grocery-checklist-form{display:grid;gap:1.25rem}.grocery-checklist-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.85rem;align-items:start}.grocery-checklist-category{overflow:hidden;border:1px solid #ccdcde;border-radius:13px;background:#fff}.grocery-checklist-category summary{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.78rem .9rem;background:#f1f7f7;color:#174b53;font-weight:900;cursor:pointer;list-style:none}.grocery-checklist-category summary::-webkit-details-marker{display:none}.grocery-checklist-category summary::before{content:'+';display:grid;width:22px;height:22px;place-items:center;border-radius:50%;background:#d8e9ea;color:#0b5663;font-size:.9rem}.grocery-checklist-category[open] summary::before{content:'−';background:#0b5663;color:#fff}.grocery-checklist-category summary span{flex:1}.grocery-checklist-category summary small{color:#668085;font-size:.66rem}.grocery-checklist-items{display:grid;padding:.35rem .65rem .6rem}.grocery-catalog-row{display:grid;grid-template-columns:24px minmax(0,1fr) minmax(105px,.44fr);gap:.65rem;align-items:center;min-height:45px;padding:.38rem .25rem;border-bottom:1px solid #edf2f2;cursor:pointer}.grocery-catalog-row:last-child{border-bottom:0}.grocery-catalog-row>input[type=checkbox]{width:20px;height:20px;accent-color:#0b6975}.grocery-catalog-row>span{color:#29484e;font-size:.78rem;font-weight:700;line-height:1.25}.grocery-catalog-row>input[type=text]{width:100%;min-height:34px;padding:.42rem .5rem;border:1px solid #b9cbce;border-radius:7px;font:inherit;font-size:.72rem}.grocery-catalog-row>input[type=text]:disabled{border-color:#e1e8e9;background:#f4f6f6;color:#899699}.grocery-catalog-row:has(input[type=checkbox]:checked){margin:0 -.25rem;padding-left:.5rem;padding-right:.5rem;border-radius:8px;background:#edf8f2}.grocery-custom-items{padding:1rem;border:1px solid #d2e0e2;border-radius:14px;background:#f8fbfb}.grocery-section-title{display:flex;align-items:end;justify-content:space-between;gap:1rem;margin-bottom:.75rem}.grocery-section-title h3{margin:.1rem 0 0;color:#0b5663}.grocery-section-title>span{color:#718185;font-size:.72rem;font-weight:800}.grocery-custom-grid{display:grid;gap:.5rem}.grocery-custom-row{display:grid;grid-template-columns:26px minmax(150px,1.3fr) minmax(110px,.65fr) minmax(150px,.8fr);gap:.55rem;align-items:center}.grocery-custom-row>span{display:grid;width:24px;height:24px;place-items:center;border-radius:50%;background:#dfecee;color:#0b5663;font-size:.68rem;font-weight:900}.grocery-custom-row input,.grocery-custom-row select{width:100%;min-height:39px;padding:.5rem .58rem;border:1px solid #b7c9cc;border-radius:8px;background:#fff;font:inherit;font-size:.74rem}.grocery-form-footer{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding-top:1rem;border-top:1px solid #dfe8e9}.grocery-form-footer p{display:grid;gap:.18rem;margin:0}.grocery-form-footer strong{color:#0b5663}.grocery-form-footer span{color:#687b7f;font-size:.72rem}.grocery-row-actions{display:flex;gap:.45rem;flex-wrap:wrap;justify-content:flex-end}.grocery-item-edit-row{align-items:start}.grocery-item-edit-fields{display:grid;grid-template-columns:minmax(170px,1.1fr) minmax(125px,.6fr) minmax(160px,.75fr) minmax(170px,1fr);gap:.55rem}.grocery-item-edit-fields label{display:grid;gap:.25rem;color:#4c6469;font-size:.64rem;font-weight:800}.grocery-item-edit-fields input,.grocery-item-edit-fields select{width:100%;min-height:38px;padding:.45rem .55rem;border:1px solid #9fb8bd;border-radius:7px;background:#fff;font:inherit;font-size:.73rem}.grocery-fund-card{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1rem;padding:1rem 1.1rem;border-radius:15px;background:linear-gradient(135deg,#0b5966,#073f49);color:#fff;box-shadow:0 10px 24px rgba(7,63,73,.16)}.grocery-fund-card>div{display:grid;gap:.15rem}.grocery-fund-card span{color:#c9e3e6;font-size:.66rem;font-weight:850;letter-spacing:.05em;text-transform:uppercase}.grocery-fund-card strong{font-size:1.75rem;line-height:1.1}.grocery-fund-card small{color:#d9e9eb;font-size:.68rem}.grocery-fund-card.overdrawn{background:linear-gradient(135deg,#9a433a,#6b2724)}.grocery-inline-form,.grocery-store-start-form,.grocery-receipt-form{display:grid;gap:.85rem;margin-bottom:1rem;padding:1rem;border:1px solid #c9dcdf;border-radius:13px;background:#f6fafb}.grocery-inline-form{grid-template-columns:minmax(130px,.5fr) minmax(210px,1fr) auto;align-items:end}.grocery-inline-form label,.grocery-store-start-form label,.grocery-receipt-form label{display:grid;gap:.35rem;color:#3d575d;font-size:.7rem;font-weight:850}.grocery-inline-form input,.grocery-store-start-form input,.grocery-receipt-form input{width:100%;min-height:42px;padding:.55rem .65rem;border:1px solid #a9c0c4;border-radius:8px;background:#fff;font:inherit}.grocery-inline-form>div,.grocery-store-start-form>div:last-child,.grocery-receipt-form>div:last-child{display:flex;gap:.55rem;flex-wrap:wrap}.grocery-shopping-methods{display:grid;grid-template-columns:1fr 1fr;gap:.85rem}.grocery-shopping-methods article{display:grid;grid-template-columns:42px minmax(0,1fr);gap:.35rem .75rem;align-items:start;padding:1rem;border:1px solid #d1dfe1;border-radius:14px;background:#fff}.grocery-shopping-methods article>span{grid-row:1/3;display:grid;width:42px;height:42px;place-items:center;border-radius:11px;background:#e7f2f3;color:#0b5663;font-size:1.2rem;font-weight:900}.grocery-shopping-methods h3{margin:0;color:#174b53;font-size:.94rem}.grocery-shopping-methods p{margin:.25rem 0 0;font-size:.72rem!important}.grocery-shopping-methods .button{grid-column:1/-1;margin-top:.35rem}.grocery-store-banner{display:grid;grid-template-columns:1fr auto;gap:1rem;margin-bottom:.8rem;padding:.8rem .9rem;border:1px solid #c9dbd1;border-radius:12px;background:#f3faf6}.grocery-store-banner>div{display:grid;gap:.1rem}.grocery-store-banner>div:last-child{text-align:right}.grocery-store-banner span{color:#61736a;font-size:.62rem;font-weight:850;text-transform:uppercase}.grocery-store-banner strong{color:#205f43}.grocery-store-banner small{color:#6a7771;font-size:.68rem}.grocery-next-store{display:grid;gap:.5rem;padding:1rem;border:1px solid #c8dadd;border-radius:14px;background:#f7fbfb}.grocery-next-store h3,.grocery-receipt-form h3,.grocery-store-start-form h3{margin:.1rem 0;color:#0b5663}.grocery-next-store>p{margin:0;color:#5c7176;line-height:1.45}.grocery-next-store>div{display:flex;gap:.6rem;flex-wrap:wrap;margin-top:.3rem}.grocery-print-document{display:none}

@media(max-width:1000px){.grocery-checklist-grid,.grocery-shopping-methods{grid-template-columns:1fr}.grocery-item-edit-fields{grid-template-columns:1fr 1fr}.grocery-inline-form{grid-template-columns:1fr 1fr}.grocery-inline-form>div{grid-column:1/-1}.grocery-item-row{align-items:start}}
@media(max-width:680px){.grocery-form-footer,.grocery-section-title,.grocery-fund-card{align-items:stretch;flex-direction:column}.grocery-form-footer .button,.grocery-fund-card .button{width:100%}.grocery-custom-row{grid-template-columns:24px minmax(0,1fr)}.grocery-custom-row input,.grocery-custom-row select{grid-column:2}.grocery-item-edit-fields,.grocery-inline-form,.grocery-store-banner{grid-template-columns:1fr}.grocery-item-edit-fields{grid-column:2}.grocery-row-actions{grid-column:2;justify-content:flex-start}.grocery-store-banner>div:last-child{text-align:left}.grocery-catalog-row{grid-template-columns:24px minmax(0,1fr)}.grocery-catalog-row>input[type=text]{grid-column:2}.grocery-shopping-methods article{grid-template-columns:36px minmax(0,1fr)}.grocery-shopping-methods article>span{width:36px;height:36px}}

@media print{
  body.printing-grocery-current,body.printing-grocery-shopping{background:#fff!important;color:#111!important}
  body.printing-grocery-current>*:not(#grocery-current-print),body.printing-grocery-shopping>*:not(#grocery-shopping-print){display:none!important}
  body.printing-grocery-current #grocery-current-print,body.printing-grocery-shopping #grocery-shopping-print{display:block!important;width:100%;margin:0;padding:0;font-family:Arial,"Helvetica Neue",sans-serif;color:#111}
  .grocery-print-header{display:flex;align-items:center;gap:12px;padding:0 0 8px;border-bottom:3px solid #0b5663;-webkit-print-color-adjust:exact;print-color-adjust:exact}.grocery-print-header img{width:52px;height:52px;object-fit:contain}.grocery-print-header p,.grocery-print-header h1,.grocery-print-header span{margin:0}.grocery-print-header p{color:#0b5663;font-size:7pt;font-weight:850;letter-spacing:.045em;text-transform:uppercase}.grocery-print-header h1{margin:2px 0;color:#123e46;font-family:Georgia,serif;font-size:16pt}.grocery-print-header span{color:#555;font-size:7pt}.grocery-print-meta{display:grid;grid-template-columns:1.5fr .7fr 1fr;border:1px solid #8ba1a5;border-top:0}.grocery-print-meta>div{padding:6px 8px;border-right:1px solid #a7b7ba}.grocery-print-meta>div:last-child{border-right:0}.grocery-print-meta span,.grocery-print-meta strong{display:block}.grocery-print-meta span{color:#4b5f63;font-size:5.5pt;font-weight:850;letter-spacing:.04em;text-transform:uppercase}.grocery-print-meta strong{margin-top:2px;font-size:7.5pt}.grocery-print-grid{columns:2;column-gap:10px;margin-top:9px}.grocery-print-category{break-inside:avoid-column;margin:0 0 8px;border:1px solid #899a9d}.grocery-print-category h2{margin:0;padding:5px 7px;background:#0b5663!important;color:#fff!important;font-size:7pt;letter-spacing:.035em;text-transform:uppercase;-webkit-print-color-adjust:exact;print-color-adjust:exact}.grocery-print-row{display:grid;grid-template-columns:14px minmax(0,1fr) auto;gap:5px;align-items:center;min-height:28px;padding:3px 5px;border-top:1px solid #b6c0c2}.grocery-print-row:first-of-type{border-top:0}.print-checkbox{display:block;width:10px;height:10px;border:1.2px solid #222}.grocery-print-row>div{display:grid;gap:1px}.grocery-print-row strong{font-size:6.6pt;line-height:1.15}.grocery-print-row small{color:#444;font-size:5.6pt;line-height:1.15}.grocery-print-row>span:last-child{font-size:5.8pt;white-space:nowrap}.grocery-print-row.current>span:last-child{padding-left:5px;border-left:1px solid #a8b3b5}.store-write-line{display:block;min-width:78px;padding-bottom:2px;border-bottom:1px solid #333}.grocery-receipt-ledger{break-inside:avoid;margin-top:10px;border:1px solid #7d8e91}.grocery-receipt-ledger h2{margin:0;padding:6px 8px;background:#e3eeee!important;color:#123e46;font-size:8pt;text-transform:uppercase;-webkit-print-color-adjust:exact;print-color-adjust:exact}.grocery-receipt-ledger>div{display:grid;grid-template-columns:18px 1.3fr 1fr;gap:8px;padding:6px 8px;border-top:1px solid #aab7b9;font-size:7pt}.grocery-receipt-ledger .grocery-ledger-total{grid-template-columns:1fr 1fr;text-align:center}.grocery-print-footer{display:grid;grid-template-columns:1fr .6fr;gap:26px;margin-top:20px;padding-top:5px;border-top:1px solid #333;font-size:7pt}@page{size:portrait;margin:.38in}
}

/* GPS Time Clock */
.time-clock-main{padding-bottom:72px}.time-clock-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin:8px 0 22px}.time-clock-heading h1{margin:.1rem 0 .35rem;color:var(--teal-900);font-size:clamp(2rem,4vw,3.15rem)}.time-clock-heading p:last-child{margin:0;color:var(--muted)}.time-live-clock{display:grid;min-width:190px;padding:14px 18px;border:1px solid #c8dadd;border-radius:14px;background:#fff;box-shadow:0 8px 24px rgba(8,50,58,.07);text-align:right}.time-live-clock strong{color:var(--teal-900);font-size:1.8rem;line-height:1}.time-live-clock span{margin-top:5px;color:var(--muted);font-size:.72rem;font-weight:700}.time-clock-tabs{display:flex;gap:7px;overflow:auto;margin-bottom:20px;padding:6px;border:1px solid #cbdadc;border-radius:14px;background:#edf4f5}.time-clock-tab{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:43px;padding:9px 15px;border:0;border-radius:10px;background:transparent;color:#436068;font:inherit;font-size:.78rem;font-weight:850;white-space:nowrap;cursor:pointer}.time-clock-tab.active{color:#fff;background:var(--teal-800);box-shadow:0 5px 13px rgba(11,86,99,.2)}.time-tab-panel[hidden]{display:none!important}.time-punch-layout{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(300px,.7fr);gap:22px}.time-punch-panel{padding:28px}.time-status-banner{display:flex;align-items:center;gap:12px;margin-bottom:22px;padding:13px 15px;border:1px solid #bfd3d6;border-radius:12px;background:#f0f7f7}.time-status-dot{width:13px;height:13px;border-radius:50%;background:#8b999c;box-shadow:0 0 0 5px rgba(130,148,152,.14)}.time-status-banner.is-working .time-status-dot{background:#269260;box-shadow:0 0 0 5px rgba(38,146,96,.14)}.time-status-banner.is-meal .time-status-dot{background:#c18118;box-shadow:0 0 0 5px rgba(193,129,24,.15)}.time-status-banner.is-rest .time-status-dot{background:#477aa7;box-shadow:0 0 0 5px rgba(71,122,167,.15)}.time-status-banner div{display:grid}.time-status-banner small{color:var(--muted);font-size:.63rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.time-status-banner strong{color:var(--teal-900);font-size:1.08rem}.time-facility-label{display:grid;gap:7px;margin-bottom:15px;color:#385158;font-size:.76rem;font-weight:800}.time-facility-label select,.time-filter-panel select,.time-dialog select,.time-dialog input,.time-dialog textarea{width:100%;min-height:44px;padding:10px 11px;border:1px solid #9fb5ba;border-radius:8px;background:#fff;color:#263a40;font:inherit}.time-location-permission{display:flex;gap:12px;margin-bottom:18px;padding:12px 14px;border:1px solid #ead6a9;border-radius:11px;background:#fff8e9}.time-location-permission>span{font-size:1.25rem}.time-location-permission strong{display:block;color:#654a12}.time-location-permission p{margin:3px 0 0;color:#725f36;font-size:.72rem;line-height:1.4}.time-primary-punch{display:grid;place-items:center;width:100%;min-height:190px;padding:24px;border:0;border-radius:22px;background:linear-gradient(145deg,#0b6672,#084854);color:#fff;box-shadow:0 17px 35px rgba(5,63,73,.24);cursor:pointer;transition:transform .15s ease,box-shadow .15s ease}.time-primary-punch:hover{transform:translateY(-2px);box-shadow:0 20px 40px rgba(5,63,73,.29)}.time-primary-punch:disabled{opacity:.62;cursor:wait;transform:none}.time-primary-punch>span{display:grid;place-items:center;width:48px;height:48px;border-radius:50%;background:rgba(255,255,255,.14);font-size:1.1rem}.time-primary-punch strong{font-size:2rem}.time-primary-punch small{color:#dceef0;font-size:.76rem}.time-primary-punch.clock-out{background:linear-gradient(145deg,#ad473b,#782c28)}.time-primary-punch.end-meal{background:linear-gradient(145deg,#a56c0c,#704609)}.time-primary-punch.end-rest{background:linear-gradient(145deg,#416f98,#294e70)}.time-secondary-actions{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:15px}.time-action{display:grid;grid-template-columns:36px 1fr;gap:2px 10px;align-items:center;padding:13px 14px;border:1px solid #c9d9dc;border-radius:12px;background:#fff;color:#29464d;text-align:left;cursor:pointer}.time-action>span{grid-row:1/3;display:grid;place-items:center;width:34px;height:34px;border-radius:9px;background:#edf5f5}.time-action strong{font-size:.8rem}.time-action small{color:var(--muted);font-size:.65rem}.time-shift-summary{padding:25px}.time-summary-list{display:grid;margin:0}.time-summary-list>div{display:flex;justify-content:space-between;gap:15px;padding:11px 0;border-bottom:1px solid var(--line)}.time-summary-list dt{color:var(--muted);font-size:.72rem}.time-summary-list dd{margin:0;color:var(--teal-900);font-size:.78rem;font-weight:850;text-align:right}.time-pay-period-card{display:grid;gap:4px;margin-top:18px;padding:15px;border-radius:12px;background:var(--teal-900);color:#fff}.time-pay-period-card span{color:#b9d8dc;font-size:.62rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.time-pay-period-card strong{font-size:.88rem}.time-pay-period-card small{color:#e5f1f2}.time-compliance-note{margin-top:15px;padding:13px 14px;border-left:4px solid var(--gold-500);border-radius:0 9px 9px 0;background:#fff8e8}.time-compliance-note strong{color:#6e4e0c;font-size:.78rem}.time-compliance-note p{margin:4px 0 0;color:#665b43;font-size:.7rem;line-height:1.45}.time-log-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin:4px 0 18px}.time-log-heading h2{margin:.1rem 0 .25rem;color:var(--teal-900);font-size:1.9rem}.time-log-heading p:last-child{margin:0;color:var(--muted)}.time-admin-actions{display:flex;gap:8px}.time-metric-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin-bottom:16px}.time-metric{padding:15px 16px;border:1px solid #cadadd;border-radius:12px;background:#fff}.time-metric span{display:block;color:var(--muted);font-size:.65rem;font-weight:800;text-transform:uppercase}.time-metric strong{display:block;margin-top:5px;color:var(--teal-900);font-size:1.45rem}.time-metric.overtime strong{color:#9a6510}.time-metric.doubletime strong{color:#a43b34}.time-log-table-wrap{padding:0;overflow:hidden}.time-log-table{width:100%;min-width:950px;border-collapse:collapse}.time-log-table th,.time-log-table td{padding:11px 12px;border-bottom:1px solid var(--line);vertical-align:top;text-align:left;font-size:.72rem}.time-log-table th{position:sticky;top:0;background:var(--teal-900);color:#fff;font-size:.64rem;letter-spacing:.045em;text-transform:uppercase}.time-log-table tbody tr:nth-child(even){background:#f8fafa}.time-log-table strong{color:#263f45}.time-log-table small{display:block;margin-top:3px;color:var(--muted);line-height:1.35}.time-log-note{max-width:260px;white-space:pre-wrap}.time-filter-panel{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:15px;padding:16px}.time-filter-panel label,.time-dialog label{display:grid;gap:6px;color:#385158;font-size:.7rem;font-weight:800}.time-admin-grid{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(320px,.7fr);gap:17px}.time-admin-table{min-width:1050px}.time-map-panel{align-self:start;position:sticky;top:15px;padding:19px}.time-map-empty{display:grid;place-items:center;min-height:330px;padding:25px;border:2px dashed #c8d8db;border-radius:13px;background:#f7fafa;text-align:center}.time-map-empty span{font-size:2.4rem}.time-map-empty strong{margin-top:9px;color:var(--teal-900)}.time-map-empty p{max-width:280px;margin:5px 0;color:var(--muted);font-size:.73rem;line-height:1.45}.time-map-address{display:grid;gap:4px;margin-bottom:10px}.time-map-address strong{color:var(--teal-900);line-height:1.35}.time-map-address span{color:var(--muted);font-size:.68rem}.time-map-panel iframe{display:block;width:100%;height:360px;border:1px solid #b9cdd0;border-radius:12px;background:#eef3f4}.time-map-panel .text-link{display:inline-block;margin-top:10px}.punch-location-button,.punch-edit-button{margin:2px 3px 2px 0}.gps-accuracy-good{color:#23784f}.gps-accuracy-review{color:#9a6510}.punch-exception-badge{display:inline-flex;margin-top:5px;padding:3px 6px;border-radius:999px;background:#fff0cf;color:#79500a;font-size:.6rem;font-weight:850}.meal-exception-list{display:grid;gap:13px}.meal-exception-card{padding:18px;border:1px solid #dbc58f;border-left:5px solid #c3881c;border-radius:13px;background:#fffaf0}.meal-exception-card.resolved{border-color:#b9d5c4;border-left-color:#39835b;background:#f3faf5}.meal-exception-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.meal-exception-head h3{margin:0;color:var(--teal-900)}.meal-exception-head p{margin:4px 0 0;color:var(--muted);font-size:.72rem}.meal-exception-status{padding:4px 8px;border-radius:999px;background:#f6d99b;color:#6f4b09;font-size:.62rem;font-weight:850;text-transform:uppercase}.meal-exception-card.resolved .meal-exception-status{background:#d7eddf;color:#246742}.meal-exception-details{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:14px 0}.meal-exception-details div{padding:10px;border-radius:9px;background:rgba(255,255,255,.75)}.meal-exception-details span{display:block;color:var(--muted);font-size:.61rem;font-weight:800;text-transform:uppercase}.meal-exception-details strong{display:block;margin-top:3px;color:#374e54;font-size:.75rem}.meal-exception-actions{display:flex;gap:8px;flex-wrap:wrap}.time-dialog{width:min(680px,calc(100% - 24px));border:0;padding:0;background:transparent}.time-dialog::backdrop{background:rgba(5,26,31,.68)}.time-dialog-panel{width:100%;max-height:90vh;overflow:auto}.time-dialog form{display:grid;gap:13px}.time-question{display:flex;flex-wrap:wrap;gap:9px;margin:0;padding:13px;border:1px solid #cadadd;border-radius:11px}.time-question legend{padding:0 5px;color:var(--teal-900);font-size:.78rem;font-weight:850}.time-question label{display:flex;grid-auto-flow:column;align-items:center;gap:7px;padding:9px 11px;border:1px solid #cfdddf;border-radius:9px;background:#fff;cursor:pointer}.time-question input{width:18px;height:18px;min-height:0;accent-color:var(--teal-800)}.time-question p{width:100%;margin:3px 0 0;color:var(--muted);font-size:.68rem}.time-admin-table td:last-child{white-space:nowrap}
@media(max-width:1050px){.time-punch-layout,.time-admin-grid{grid-template-columns:1fr}.time-map-panel{position:static}.time-metric-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.time-filter-panel{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:680px){.time-clock-heading,.time-log-heading{align-items:stretch;flex-direction:column}.time-live-clock{text-align:left}.time-clock-tabs{border-radius:11px}.time-clock-tab{padding:9px 12px}.time-punch-panel,.time-shift-summary{padding:17px}.time-primary-punch{min-height:165px}.time-secondary-actions,.time-filter-panel,.meal-exception-details{grid-template-columns:1fr}.time-metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.time-admin-actions{display:grid;grid-template-columns:1fr 1fr}.time-admin-actions .button{width:100%}.time-map-panel iframe{height:300px}}
@media print{body.time-clock-body{background:#fff!important}.time-clock-body .dashboard-header,.time-clock-body .time-clock-heading,.time-clock-body .time-clock-tabs,.time-clock-body .time-filter-panel,.time-clock-body .time-admin-actions,.time-clock-body .time-map-panel,.time-clock-body .button,.time-clock-body .toast{display:none!important}.time-clock-body .time-tab-panel{display:none!important}.time-clock-body .time-tab-panel.active{display:block!important}.time-clock-body .time-clock-main,.time-clock-body .shell{max-width:none!important;width:100%!important;margin:0!important;padding:0!important}.time-clock-body .time-metric-grid{grid-template-columns:repeat(5,1fr)}.time-clock-body .time-log-table{min-width:0;font-size:8pt}.time-clock-body .time-log-table th,.time-clock-body .time-log-table td{padding:5px}.time-clock-body .time-admin-grid{display:block}.time-clock-body .dashboard-panel{border:0;box-shadow:none}}
.staff-payroll-settings,.staff-meal-agreement{margin-top:4px}.staff-payroll-settings .form-row{margin:0}.meal-agreement-grid{display:grid;gap:9px}.meal-agreement-grid .facility-check{align-items:flex-start;padding:11px 12px;border:1px solid #cadadd;border-radius:10px;background:#f9fbfb}.meal-agreement-grid .facility-check input{margin-top:2px}.meal-agreement-grid .facility-check strong{display:block;color:var(--teal-900);font-size:.74rem}.meal-agreement-grid .facility-check small{display:block;margin-top:3px;color:var(--muted);font-size:.66rem;line-height:1.4}.meal-agreement-grid .meal-no-waiver{border-color:#e4c6c2;background:#fff6f5}.meal-agreement-grid .meal-no-waiver strong{color:#9f3f36}
.calendar-legend .legend-pay-period{border-color:#2a7c77;background:#e4f3f1}.admin-calendar-event.type-pay-period{border-color:#2a7c77;background:#e4f3f1}
.admin-calendar-event.type-grocery-money{border-color:#aa7414;background:#fff3cf}.dashboard-event-icon.type-grocery-money{background:#fff0c2;color:#73500f}

/* Time Clock role visibility, administrative record browser, and pay-period timesheet */
.time-metric-grid.employee-hours-only{grid-template-columns:repeat(2,minmax(0,260px))}.time-employee-table{min-width:1000px}.time-admin-browser{display:grid;gap:13px;margin-bottom:15px;padding:18px}.time-browser-heading{display:flex;align-items:center;justify-content:space-between;gap:16px}.time-browser-heading>div{display:flex;align-items:center;gap:9px}.time-browser-heading>div>span{display:grid;width:27px;height:27px;place-items:center;border-radius:50%;background:var(--teal-900);color:#fff;font-size:.68rem;font-weight:900}.time-browser-heading strong{color:var(--teal-900);font-size:.9rem}.time-browser-heading small{color:var(--muted);font-size:.7rem}.time-employee-heading{padding-top:12px;border-top:1px solid var(--line)}.time-facility-tabs{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px}.time-facility-tab,.time-employee-tab{font:inherit;cursor:pointer;transition:border-color .15s ease,background .15s ease,box-shadow .15s ease,transform .15s ease}.time-facility-tab{display:grid;gap:3px;min-height:62px;padding:10px 8px;border:1px solid #bfd0d3;border-radius:11px;background:#f7fafa;color:#38575e;text-align:center}.time-facility-tab:hover,.time-facility-tab.active{border-color:var(--teal-700);background:#e8f4f4;box-shadow:0 0 0 2px rgba(11,86,99,.09)}.time-facility-tab.active{color:#fff;background:var(--teal-800)}.time-facility-tab span{font-size:.72rem;font-weight:850;line-height:1.2}.time-facility-tab small{font-size:.61rem;opacity:.83}.time-employee-groups{display:grid;grid-template-columns:1fr 1fr;gap:13px}.time-employee-group{overflow:hidden;border:1px solid #d0dfe1;border-radius:12px;background:#fbfdfd}.time-employee-group-title{display:flex;align-items:center;justify-content:space-between;padding:9px 12px;background:#eaf3f4}.time-employee-group-title span{color:var(--teal-900);font-size:.73rem;font-weight:900;text-transform:uppercase;letter-spacing:.04em}.time-employee-group-title small{color:var(--muted);font-size:.62rem}.time-employee-tabs{display:flex;flex-wrap:wrap;gap:8px;padding:11px}.time-employee-tabs>p{margin:2px;color:var(--muted);font-size:.7rem}.time-employee-tab{display:grid;gap:2px;min-width:150px;padding:9px 11px;border:1px solid #cadadd;border-radius:9px;background:#fff;color:#385158;text-align:left}.time-employee-tab:hover,.time-employee-tab.active{border-color:var(--teal-700);background:#edf7f7;box-shadow:0 0 0 2px rgba(11,86,99,.08);transform:translateY(-1px)}.time-employee-tab.active{color:#fff;background:var(--teal-800)}.time-employee-tab span{font-size:.72rem;font-weight:850}.time-employee-tab small{font-size:.61rem;opacity:.8}.time-period-filter-panel{grid-template-columns:minmax(220px,.7fr) minmax(300px,1fr);align-items:end}.time-period-filter-panel label>strong{display:flex;align-items:center;min-height:44px;padding:10px 11px;border:1px solid #c7d7da;border-radius:8px;background:#f4f8f8;color:var(--teal-900);font-size:.78rem}.admin-timesheet-preview{margin-bottom:17px;padding:0;overflow:hidden}.admin-timesheet-preview .panel-heading{padding:17px 18px;margin:0}.admin-timesheet-preview .panel-heading p:last-child{margin:.25rem 0 0;color:var(--muted);font-size:.72rem}.time-sheet-table{min-width:1420px}.time-sheet-table th,.time-sheet-table td{padding:9px 8px}.professional-timesheet{display:none}
@media(max-width:1120px){.time-facility-tabs{grid-template-columns:repeat(4,minmax(0,1fr))}.time-employee-groups{grid-template-columns:1fr}}
@media(max-width:680px){.time-metric-grid.employee-hours-only,.time-period-filter-panel{grid-template-columns:1fr}.time-facility-tabs{grid-template-columns:repeat(2,minmax(0,1fr))}.time-browser-heading{align-items:flex-start;flex-direction:column}.time-employee-tab{width:100%}}

@media print{
  body.printing-professional-timesheet{background:#fff!important;color:#111!important}
  body.printing-professional-timesheet>*:not(.professional-timesheet){display:none!important}
  body.printing-professional-timesheet .professional-timesheet{display:block!important;width:100%;margin:0;padding:0;font-family:Arial,"Helvetica Neue",sans-serif;color:#111}
  .timesheet-print-header{display:flex;align-items:center;gap:12px;padding:0 0 8px;border-bottom:3px solid #0b5663;-webkit-print-color-adjust:exact;print-color-adjust:exact}.timesheet-print-header img{width:54px;height:54px;object-fit:contain}.timesheet-print-header p,.timesheet-print-header h1,.timesheet-print-header span{margin:0}.timesheet-print-header p{color:#0b5663;font-size:7pt;font-weight:800;text-transform:uppercase;letter-spacing:.055em}.timesheet-print-header h1{margin:2px 0;font-family:Georgia,serif;font-size:16pt;color:#123e46}.timesheet-print-header span{font-size:7pt;color:#555}.timesheet-print-meta{display:grid;grid-template-columns:1.35fr 1.2fr 1.25fr .85fr 1.3fr .8fr;border:1px solid #8ca4a8;border-top:0}.timesheet-print-meta>div{min-width:0;padding:6px 7px;border-right:1px solid #aabbbd}.timesheet-print-meta>div:last-child{border-right:0}.timesheet-print-meta span,.timesheet-print-meta strong{display:block}.timesheet-print-meta span{font-size:5.4pt;font-weight:800;color:#4b5f63;text-transform:uppercase;letter-spacing:.04em}.timesheet-print-meta strong{margin-top:2px;font-size:7.2pt;overflow-wrap:anywhere}.timesheet-print-table{width:100%;margin-top:8px;border-collapse:collapse;table-layout:fixed}.timesheet-print-table th,.timesheet-print-table td{padding:4px 3px;border:1px solid #8a9698;font-size:6.2pt;vertical-align:top;text-align:left;line-height:1.25;word-break:break-word}.timesheet-print-table thead th{background:#0b5663!important;color:#fff!important;font-size:5.7pt;text-transform:uppercase;letter-spacing:.025em;-webkit-print-color-adjust:exact;print-color-adjust:exact}.timesheet-print-table tbody tr:nth-child(even){background:#f2f6f6!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}.timesheet-print-table tfoot th{background:#e4eeee!important;color:#123e46;font-size:6.5pt;-webkit-print-color-adjust:exact;print-color-adjust:exact}.timesheet-print-table th:nth-child(1){width:7%}.timesheet-print-table th:nth-child(2){width:11%}.timesheet-print-table th:nth-child(3),.timesheet-print-table th:nth-child(4),.timesheet-print-table th:nth-child(5),.timesheet-print-table th:nth-child(7){width:7%}.timesheet-print-table th:nth-child(6){width:10%}.timesheet-note-cell{white-space:normal}.timesheet-print-notes{min-height:34px;margin-top:7px;padding:6px 8px;border:1px solid #a1adaf}.timesheet-print-notes strong{display:block;color:#123e46;font-size:6.2pt;text-transform:uppercase}.timesheet-print-notes p{margin:3px 0 0;font-size:6.2pt;line-height:1.35}.timesheet-certification{margin-top:8px}.timesheet-certification p{margin:0;font-size:5.8pt;line-height:1.3}.timesheet-certification>div{display:grid;grid-template-columns:1fr 1fr;gap:28px;margin-top:18px}.timesheet-certification span{padding-top:4px;border-top:1px solid #333;font-size:6pt;color:#333}@page{size:landscape;margin:.35in}
}

/* Grocery facility/status alignment */
.grocery-facility-selector select,.grocery-status-card{box-sizing:border-box;min-height:49px}
.grocery-status-card{height:49px;align-self:end;padding:.55rem 1rem;border-color:#becdd1;border-radius:11px}
.grocery-status-card span{font-size:.82rem}
@media(max-width:900px){.grocery-status-card{height:auto;min-height:49px;align-items:center}}

/* Professional portrait Grocery Shopping worksheet */
@media print{
  body.printing-grocery-shopping #grocery-shopping-print{page:grocery-shopping-page}
  body.printing-grocery-shopping .grocery-print-header{padding-bottom:7px;border-bottom:3px solid #075664}
  body.printing-grocery-shopping .grocery-print-header img{width:50px;height:50px}
  body.printing-grocery-shopping .grocery-print-header h1{font-size:17pt;letter-spacing:.01em}
  body.printing-grocery-shopping .grocery-print-meta-balance{grid-template-columns:1.15fr .68fr 1.15fr .82fr}
  body.printing-grocery-shopping .grocery-print-instructions{display:flex;align-items:center;gap:10px;margin:7px 0 8px;padding:5px 7px;border-top:1px solid #a9bec2;border-bottom:1px solid #a9bec2;color:#53686c;font-family:Georgia,serif;font-size:6.4pt;font-style:italic}
  body.printing-grocery-shopping .grocery-print-instructions strong{color:#0b5663;font-family:Arial,"Helvetica Neue",sans-serif;font-size:5.8pt;font-style:normal;letter-spacing:.04em;text-transform:uppercase;white-space:nowrap}
  body.printing-grocery-shopping .grocery-print-grid{margin-top:0;column-gap:12px}
  body.printing-grocery-shopping .grocery-print-category{border:0;margin-bottom:8px}
  body.printing-grocery-shopping .grocery-print-category h2{padding:3px 1px;background:#fff!important;color:#075664!important;border-bottom:1.5px solid #075664;font-size:7.3pt;letter-spacing:.02em}
  body.printing-grocery-shopping .grocery-print-column-headings{display:grid;grid-template-columns:14px minmax(0,1fr) 78px;gap:5px;padding:3px 5px;background:#dcebed!important;border:1px solid #afc4c8;border-top:0;color:#174b53;font-size:5.2pt;font-weight:850;letter-spacing:.035em;text-transform:uppercase;-webkit-print-color-adjust:exact;print-color-adjust:exact}
  body.printing-grocery-shopping .grocery-print-column-headings span:last-child{text-align:center}
  body.printing-grocery-shopping .grocery-print-row{min-height:27px;border:1px solid #bdcbcd;border-top:0;padding:3px 5px}
  body.printing-grocery-shopping .grocery-print-row strong{color:#243f45;font-family:Georgia,serif;font-size:6.5pt;font-weight:700}
  body.printing-grocery-shopping .grocery-print-row small{font-size:5.3pt}
  body.printing-grocery-shopping .grocery-print-row small b{color:#075664;font-size:4.9pt;letter-spacing:.025em}
  body.printing-grocery-shopping .store-write-line{min-width:78px;height:12px;border-bottom:1px solid #4d5b5e}
  body.printing-grocery-shopping .grocery-receipt-ledger{margin-top:11px;border-color:#81999d}
  body.printing-grocery-shopping .grocery-ledger-heading{display:flex;grid-template-columns:none;align-items:center;justify-content:space-between;gap:12px;padding:5px 7px;background:#dcebed!important;border-top:0;-webkit-print-color-adjust:exact;print-color-adjust:exact}
  body.printing-grocery-shopping .grocery-ledger-heading p,body.printing-grocery-shopping .grocery-ledger-heading h2{margin:0;padding:0;background:transparent!important}
  body.printing-grocery-shopping .grocery-ledger-heading p{color:#547074;font-size:4.8pt;font-weight:850;letter-spacing:.05em;text-transform:uppercase}
  body.printing-grocery-shopping .grocery-ledger-heading h2{margin-top:1px;color:#123e46;font-size:8pt}
  body.printing-grocery-shopping .grocery-ledger-heading>span{color:#53686c;font-family:Georgia,serif;font-size:5.5pt;font-style:italic}
  body.printing-grocery-shopping .grocery-ledger-row{min-height:23px;padding:5px 7px}
  body.printing-grocery-shopping .grocery-ledger-total{padding:6px 8px;background:#f1f6f6!important;color:#123e46;-webkit-print-color-adjust:exact;print-color-adjust:exact}
  body.printing-grocery-shopping .grocery-print-approval{display:grid;grid-template-columns:1.35fr .65fr;gap:28px;margin-top:18px}
  body.printing-grocery-shopping .grocery-print-approval>div{display:grid;gap:16px}
  body.printing-grocery-shopping .grocery-print-approval span{color:#4f6367;font-size:5.4pt;font-weight:800;letter-spacing:.035em;text-transform:uppercase}
  body.printing-grocery-shopping .grocery-print-approval strong{display:block;border-bottom:1px solid #27383b}
  body.printing-grocery-shopping .grocery-print-document-footer{margin-top:8px;padding-top:5px;border-top:1px solid #b5c3c5;color:#647477;font-family:Georgia,serif;font-size:5pt;text-align:center}
}
@page grocery-shopping-page{size:8.5in 11in;margin:.42in}

/* Vehicle portal, interactive fuel gauges, and professional monthly logs */
.portal-card-vehicles .portal-icon{background:linear-gradient(145deg,#e5f2f3,#c6dfe2);color:#075664}
.vehicle-main{padding-bottom:55px}.vehicle-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin:2rem 0 1.3rem}.vehicle-heading h1{margin:.12rem 0 .35rem;color:var(--teal-900);font-size:2.45rem}.vehicle-heading p:last-child{max-width:720px;margin:0;color:var(--muted);line-height:1.55}.vehicle-month-badge{display:grid;gap:3px;min-width:190px;padding:13px 16px;border-radius:13px;background:var(--teal-900);color:#fff;text-align:right;box-shadow:0 9px 20px rgba(4,55,65,.15)}.vehicle-month-badge span{color:#b9d9dd;font-size:.62rem;font-weight:850;letter-spacing:.07em;text-transform:uppercase}.vehicle-month-badge strong{font-size:1rem}.vehicle-selector-panel{padding:18px}.vehicle-selector-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:14px}.vehicle-selector-heading h2{margin:.1rem 0 0;color:var(--teal-900)}.vehicle-selector-heading>p{max-width:460px;margin:0;color:var(--muted);font-size:.73rem;line-height:1.45;text-align:right}.vehicle-tabs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.vehicle-tab{position:relative;display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:10px;min-height:82px;padding:12px;border:1px solid #bfd0d3;border-radius:12px;background:#f8fbfb;color:#38565d;font:inherit;text-align:left;cursor:pointer;transition:background .15s ease,border-color .15s ease,box-shadow .15s ease,transform .15s ease}.vehicle-tab:hover{border-color:var(--teal-700);background:#edf7f7;transform:translateY(-1px)}.vehicle-tab.active{border-color:var(--teal-800);background:var(--teal-800);color:#fff;box-shadow:0 8px 20px rgba(5,71,82,.2)}.vehicle-tab-icon{display:grid;width:40px;height:40px;place-items:center;border-radius:10px;background:#e1edef;font-size:1.35rem}.vehicle-tab.active .vehicle-tab-icon{background:rgba(255,255,255,.16)}.vehicle-tab strong,.vehicle-tab small{display:block}.vehicle-tab strong{font-size:.82rem}.vehicle-tab small{margin-top:4px;font-size:.61rem;line-height:1.3;opacity:.78}.vehicle-tab b{position:absolute;right:8px;top:7px;padding:3px 6px;border-radius:999px;background:#f7c85e;color:#604100;font-size:.52rem;text-transform:uppercase;letter-spacing:.03em}.vehicle-action-bar{display:grid;grid-template-columns:minmax(180px,1fr) minmax(220px,.72fr) minmax(220px,.72fr);align-items:stretch;gap:12px;margin:17px 0 5px}.vehicle-action-bar>div{display:grid;align-content:center;padding:12px 16px;border-left:4px solid var(--gold-500);border-radius:0 11px 11px 0;background:#fff8e9}.vehicle-action-bar>div strong{color:var(--teal-900);font-size:1rem}.vehicle-action-button{display:flex!important;align-items:center;justify-content:flex-start!important;gap:11px;min-height:66px;padding:11px 15px!important;text-align:left!important}.vehicle-action-button>span:first-child{display:grid;width:36px;height:36px;place-items:center;border-radius:9px;background:rgba(255,255,255,.18);font-size:1.2rem}.vehicle-action-button strong,.vehicle-action-button small{display:block}.vehicle-action-button strong{font-size:.78rem}.vehicle-action-button small{margin-top:2px;font-size:.62rem;font-weight:600;opacity:.82}.vehicle-action-button.has-open-trip{border-color:#d39723!important;background:#b87508!important;color:#fff!important}.vehicle-summary-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:11px;margin:17px 0}.vehicle-summary-card{min-width:0;padding:14px 15px;border:1px solid #c8d8da;border-top:4px solid #2c7d88;border-radius:12px;background:#fff;box-shadow:0 5px 14px rgba(23,61,69,.05)}.vehicle-summary-card.alert{border-color:#deb0a9;border-top-color:#b8483e;background:#fff8f7}.vehicle-summary-card span,.vehicle-summary-card strong,.vehicle-summary-card small{display:block}.vehicle-summary-card span{color:var(--muted);font-size:.58rem;font-weight:850;letter-spacing:.045em;text-transform:uppercase}.vehicle-summary-card strong{margin-top:7px;color:var(--teal-900);font-size:1.12rem;line-height:1.2;overflow-wrap:anywhere}.vehicle-summary-card small{margin-top:5px;color:var(--muted);font-size:.61rem;line-height:1.35}.vehicle-record-tabs{display:flex;gap:5px;margin-top:20px;padding:5px;border:1px solid #c2d3d6;border-radius:12px;background:#eaf2f3;overflow-x:auto}.vehicle-record-tab{min-height:42px;padding:9px 15px;border:0;border-radius:8px;background:transparent;color:#436067;font:inherit;font-size:.7rem;font-weight:850;white-space:nowrap;cursor:pointer}.vehicle-record-tab:hover,.vehicle-record-tab.active{background:#fff;color:var(--teal-900);box-shadow:0 3px 10px rgba(17,62,71,.1)}.vehicle-record-panel{margin-top:13px}.vehicle-log-card,.vehicle-history-card,.vehicle-settings-card{padding:0;overflow:hidden}.vehicle-log-header{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;padding:18px 20px;border-bottom:1px solid var(--line);background:linear-gradient(120deg,#fff,#f3f8f8)}.vehicle-log-header h2{margin:.1rem 0 .25rem;color:var(--teal-900);font-size:1.5rem}.vehicle-log-header p:last-child{margin:0;color:var(--muted);font-size:.72rem}.vehicle-log-count{padding:5px 9px;border-radius:999px;background:#e2eeee;color:var(--teal-900);font-size:.64rem;font-weight:850;white-space:nowrap}.vehicle-log-table{width:100%;min-width:1430px;border-collapse:collapse}.vehicle-fuel-table{min-width:1080px}.vehicle-log-table th,.vehicle-log-table td{padding:9px 10px;border-right:1px solid #d4e0e2;border-bottom:1px solid #d4e0e2;vertical-align:middle;text-align:left;font-size:.68rem}.vehicle-log-table th{background:var(--teal-900);color:#fff;font-size:.59rem;letter-spacing:.035em;text-transform:uppercase}.vehicle-log-table tbody tr:nth-child(even){background:#f5f9f9}.vehicle-log-table tbody tr.vehicle-open-row{background:#fff8e7}.vehicle-log-table strong{color:var(--teal-900)}.vehicle-open-badge,.mileage-gap-badge{display:inline-flex;margin-top:4px;padding:2px 5px;border-radius:999px;font-size:.52rem;font-weight:850}.vehicle-open-badge{background:#f4ca6c;color:#664505}.mileage-gap-badge{background:#f8d6d2;color:#8b3028}.vehicle-notes-cell{max-width:260px;white-space:pre-wrap}.vehicle-empty-cell{height:105px;color:var(--muted);text-align:center!important}.fuel-level-chip{display:grid;grid-template-columns:70px auto;align-items:center;gap:4px;min-width:120px}.fuel-level-chip svg{display:block;width:70px;height:38px}.fuel-level-chip strong{font-size:.58rem;white-space:nowrap}.gauge-arc{fill:none;stroke:#0a4651;stroke-width:2}.gauge-tick{stroke:#0a4651;stroke-width:1.5}.interactive-fuel-gauge text,.fuel-level-chip text{fill:#163f47;font:700 13px Arial}.interactive-fuel-gauge circle,.fuel-level-chip circle{fill:#163f47}.gauge-pointer{stroke:#e99a16;stroke-width:4;stroke-linecap:round}.vehicle-history-list{display:grid;gap:10px;padding:18px}.vehicle-history-row{display:grid;grid-template-columns:minmax(230px,1fr) auto auto;align-items:center;gap:18px;padding:14px 15px;border:1px solid #cadadd;border-radius:11px;background:#fbfdfd}.vehicle-history-date{display:grid;grid-template-columns:auto 1fr;align-items:center;column-gap:9px}.vehicle-history-date>span{grid-row:1/3;display:grid;width:42px;height:42px;place-items:center;border-radius:9px;background:var(--teal-900);color:#fff;font-size:.62rem;font-weight:900}.vehicle-history-date strong{color:var(--teal-900)}.vehicle-history-date small{color:var(--muted);font-size:.61rem}.vehicle-history-counts{display:flex;gap:7px}.vehicle-history-counts span{padding:5px 7px;border-radius:7px;background:#eaf2f3;color:#486168;font-size:.6rem;font-weight:750}.vehicle-history-actions{display:flex;gap:7px}.vehicle-history-actions .button{white-space:nowrap}.vehicle-history-empty{display:grid;place-items:center;min-height:220px;text-align:center}.vehicle-history-empty span{font-size:2.5rem}.vehicle-history-empty strong{margin-top:8px;color:var(--teal-900)}.vehicle-history-empty p{max-width:440px;margin:5px 0;color:var(--muted);font-size:.72rem}.vehicle-settings-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px;padding:20px}.vehicle-settings-form label{display:grid;gap:6px;color:#3d565d;font-size:.68rem;font-weight:850}.vehicle-settings-form .staff-form-actions{grid-column:1/-1}.vehicle-dialog{width:min(760px,calc(100% - 22px));border:0;padding:0;background:transparent}.vehicle-dialog::backdrop{background:rgba(4,29,34,.7)}.vehicle-dialog-panel{width:100%;max-height:92vh;overflow:auto}.vehicle-dialog-panel>h2{margin:.15rem 0 .35rem;color:var(--teal-900)}.vehicle-dialog-panel>p:not(.eyebrow){margin-top:0;color:var(--muted);line-height:1.45}.vehicle-dialog form{display:grid;gap:13px}.vehicle-dialog label{display:grid;gap:6px;color:#385158;font-size:.69rem;font-weight:850}.vehicle-form-grid,.vehicle-gauge-pair{display:grid;grid-template-columns:1fr 1fr;gap:12px}.vehicle-gauge-field,.vehicle-condition-field{margin:0;padding:13px;border:1px solid #c5d6d9;border-radius:11px;background:#f8fbfb}.vehicle-gauge-field legend,.vehicle-condition-field legend{padding:0 6px;color:var(--teal-900);font-size:.72rem;font-weight:900}.interactive-fuel-gauge{position:relative;display:grid;place-items:center;max-width:360px;min-height:128px;margin:0 auto;padding:3px 18px 0;border:2px solid transparent;border-radius:10px;cursor:crosshair;touch-action:none;user-select:none}.interactive-fuel-gauge:focus{outline:0;border-color:var(--gold-500);box-shadow:0 0 0 3px rgba(229,153,28,.2)}.interactive-fuel-gauge svg{width:100%;height:112px}.gauge-touch-hint{position:absolute;bottom:3px;color:#75888b;font-size:.55rem;font-weight:750}.vehicle-gauge-field output{display:block;margin-top:-2px;color:var(--teal-900);font-size:.73rem;font-weight:900;text-align:center}.vehicle-gauge-field>small{display:block;margin-top:3px;color:var(--muted);font-size:.59rem;text-align:center}.vehicle-condition-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin-bottom:9px}.vehicle-condition-options label{display:flex;align-items:center;gap:6px;padding:8px 9px;border:1px solid #cfdddf;border-radius:8px;background:#fff;cursor:pointer}.vehicle-condition-options input{width:17px;height:17px;min-height:0;accent-color:var(--teal-800)}.vehicle-choice-panel{max-width:650px}.vehicle-open-trip-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin:15px 0}.vehicle-open-trip-summary>div{padding:10px 11px;border-radius:9px;background:#edf5f5}.vehicle-open-trip-summary .wide{grid-column:1/-1}.vehicle-open-trip-summary span,.vehicle-open-trip-summary strong{display:block}.vehicle-open-trip-summary span{color:var(--muted);font-size:.57rem;font-weight:850;text-transform:uppercase}.vehicle-open-trip-summary strong{margin-top:3px;color:var(--teal-900);font-size:.74rem}.vehicle-choice-panel>#vehicle-open-trip-question{color:var(--teal-900);font-weight:850}.vehicle-page-status{min-height:1.2em}
.vehicle-log-meta{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:1px;padding:1px;background:#aec1c4}.vehicle-fuel-meta{grid-template-columns:repeat(8,minmax(0,1fr))}.vehicle-log-meta>div{min-width:0;padding:8px 9px;background:#edf5f5}.vehicle-log-meta span,.vehicle-log-meta strong{display:block}.vehicle-log-meta span{color:#4a646a;font-size:.52rem;font-weight:850;letter-spacing:.035em;text-transform:uppercase}.vehicle-log-meta strong{margin-top:3px;color:var(--teal-900);font-size:.66rem;overflow-wrap:anywhere}
@media(max-width:1180px){.vehicle-summary-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.vehicle-history-row{grid-template-columns:1fr auto}.vehicle-history-actions{grid-column:1/-1}.vehicle-tabs{grid-template-columns:repeat(2,minmax(0,1fr))}.vehicle-log-meta,.vehicle-fuel-meta{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:780px){.vehicle-heading,.vehicle-selector-heading,.vehicle-log-header{align-items:stretch;flex-direction:column}.vehicle-month-badge{text-align:left}.vehicle-selector-heading>p{text-align:left}.vehicle-action-bar{grid-template-columns:1fr 1fr}.vehicle-action-bar>div{grid-column:1/-1}.vehicle-history-row{grid-template-columns:1fr}.vehicle-history-actions{display:grid;grid-template-columns:1fr 1fr}.vehicle-history-counts{flex-wrap:wrap}.vehicle-settings-form,.vehicle-form-grid,.vehicle-gauge-pair{grid-template-columns:1fr}.vehicle-settings-form .staff-form-actions{grid-column:auto}.vehicle-condition-options{grid-template-columns:1fr 1fr}.vehicle-log-meta,.vehicle-fuel-meta{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:520px){.vehicle-heading h1{font-size:2rem}.vehicle-tabs,.vehicle-summary-grid,.vehicle-action-bar{grid-template-columns:1fr}.vehicle-action-bar>div{grid-column:auto}.vehicle-summary-grid{grid-template-columns:1fr 1fr}.vehicle-history-actions,.vehicle-condition-options{grid-template-columns:1fr}.vehicle-tab{min-height:70px}.interactive-fuel-gauge{min-height:110px;padding-inline:4px}.interactive-fuel-gauge svg{height:95px}}

/* Staff camera capture and Behavior Tracking monthly archive refinements */
.aggression-history-print-meta{display:none}.aggression-archive-panel{margin-top:22px;padding-top:18px;border-top:1px solid var(--line)}.aggression-archive-list{display:grid;gap:9px}.aggression-archive-row{display:grid;grid-template-columns:42px minmax(0,1fr) auto;align-items:center;gap:11px;padding:11px 12px;border:1px solid var(--line);border-radius:11px;background:#fbfdfd;color:inherit;text-decoration:none}.aggression-archive-row:hover{border-color:#4f8e99;background:#f2f8f8}.aggression-archive-icon{display:grid;width:40px;height:40px;place-items:center;border-radius:8px;background:var(--teal-900);color:#fff;font-size:.62rem;font-weight:900}.aggression-archive-row strong,.aggression-archive-row small{display:block}.aggression-archive-row strong{color:var(--teal-900)}.aggression-archive-row small{margin-top:2px;color:var(--muted);font-size:.68rem}.aggression-archive-row b{color:var(--teal-800);font-size:.72rem}
@media(max-width:620px){.aggression-archive-row{grid-template-columns:38px minmax(0,1fr)}.aggression-archive-row b{grid-column:2}.aggression-archive-icon{width:36px;height:36px}}
@media print{
  body.printing-aggression-history .aggression-entry-panel{display:none!important}
  body.printing-aggression-history .aggression-history-print-meta{display:grid!important;grid-template-columns:.7fr 1.5fr 1fr;margin:0 0 6px;border:1px solid #9cb1b5}
  body.printing-aggression-history .aggression-history-print-meta>div{padding:4px 6px;border-right:1px solid #9cb1b5}
  body.printing-aggression-history .aggression-history-print-meta>div:last-child{border-right:0}
  body.printing-aggression-history .aggression-history-print-meta dt{color:#526a6f;font-size:5.3pt;font-weight:800;text-transform:uppercase}
  body.printing-aggression-history .aggression-history-print-meta dd{margin:1px 0 0;color:#123e46;font-size:7pt;font-weight:800}
  body.aggression-report-body .behavior-dashboard,body.printing-aggression-history .behavior-dashboard{break-after:auto!important;page-break-after:auto!important}
  body.aggression-report-body .behavior-log-heading,body.printing-aggression-history .behavior-log-heading{break-before:auto!important;page-break-before:auto!important;break-after:avoid-page!important;page-break-after:avoid!important;margin-top:6px!important}
  body.aggression-report-body .behavior-history-table thead,body.printing-aggression-history .behavior-history-table thead{display:table-header-group!important}
  body.aggression-report-body .behavior-history-table tr,body.printing-aggression-history .behavior-history-table tr{break-inside:avoid-page!important;page-break-inside:avoid!important}
}

/* Administrative emergency drill reports */
.drill-type-tabs{display:grid;grid-template-columns:1fr 1fr;gap:14px;max-width:1060px;margin:0 auto 18px}.drill-type-tab{display:grid;grid-template-columns:48px minmax(0,1fr);align-items:center;column-gap:12px;min-height:82px;padding:14px 17px;color:#38545b;background:#f8fbfb;border:1px solid #bfd0d3;border-radius:14px;text-align:left;box-shadow:0 7px 18px rgba(8,65,75,.05);transition:transform .16s ease,border-color .16s ease,background .16s ease,box-shadow .16s ease}.drill-type-tab:hover{transform:translateY(-2px);border-color:var(--teal-700)}.drill-type-tab>span{grid-row:1/3;display:grid;width:48px;height:48px;place-items:center;background:#e5f0f1;border-radius:12px;font-size:1.55rem}.drill-type-tab strong,.drill-type-tab small{display:block}.drill-type-tab strong{color:var(--teal-900);font-size:.94rem}.drill-type-tab small{color:var(--muted);font-size:.68rem}.drill-type-tab.active{color:#fff;background:linear-gradient(135deg,var(--teal-800),var(--teal-950));border-color:transparent;box-shadow:0 12px 28px rgba(5,64,74,.2)}.drill-type-tab.active>span{background:rgba(255,255,255,.14)}.drill-type-tab.active strong{color:#fff}.drill-type-tab.active small{color:#c7dcdf}.drill-section-help{margin:-5px 0 11px;color:var(--muted);font-size:.75rem}.drill-participant-scroll{border:1px solid #9fb7bb;border-radius:7px;overflow:auto}.drill-participant-table{width:100%;min-width:850px;border-collapse:collapse}.drill-participant-table th,.drill-participant-table td{border-right:1px solid #b4c6ca;border-bottom:1px solid #b4c6ca}.drill-participant-table tr:last-child th,.drill-participant-table tr:last-child td{border-bottom:0}.drill-participant-table th:last-child,.drill-participant-table td:last-child{border-right:0}.drill-participant-table thead th{padding:9px 8px;color:#fff;background:#0a5360;font-family:Georgia,"Times New Roman",serif;font-size:.68rem;letter-spacing:.025em;text-align:center}.drill-participant-table thead th:nth-child(1){width:48px}.drill-participant-table thead th:nth-child(2){width:150px}.drill-participant-table thead th:nth-child(3){width:245px}.drill-participant-table tbody th{width:48px;color:#0a4650;background:#eef5f6;font-family:Georgia,"Times New Roman",serif;font-size:.78rem;text-align:center}.drill-participant-table td{padding:4px;background:#fff}.drill-participant-table tbody tr:nth-child(even) td{background:#f7fafb}.drill-participant-table select,.drill-participant-table input{width:100%;min-height:36px;padding:7px 8px;color:#263a40;background:transparent;border:1px solid transparent;border-radius:5px;font-size:.75rem}.drill-participant-table select:focus,.drill-participant-table input:focus{background:#fff;border-color:var(--teal-700);box-shadow:0 0 0 3px rgba(19,112,128,.11);outline:0}.drill-signature-notice{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:11px;margin:13px 0 0;padding:12px 14px;color:#4b5f65;background:#eef5f6;border:1px dashed #86a8ae;border-radius:8px;font-size:.72rem}.drill-signature-notice strong{color:var(--teal-900);text-transform:uppercase;letter-spacing:.035em}.drill-confirmation-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}.drill-history-panel{max-width:1060px;margin:24px auto 0}.drill-history-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:22px;padding-bottom:16px;border-bottom:1px solid var(--line)}.drill-history-heading h2{margin:0;color:var(--teal-900)}.drill-history-heading p:last-child{margin:4px 0 0;color:var(--muted);font-size:.75rem}.drill-history-filters{display:grid;grid-template-columns:1fr 1.35fr;gap:9px;min-width:440px}.drill-history-filters label{display:grid;gap:5px;margin:0;color:#38545b;font-size:.65rem;font-weight:850;text-transform:uppercase}.drill-history-filters select{min-height:40px;padding:8px 9px;border:1px solid #a9bdc1;border-radius:8px;background:#fff;color:#273e44}.drill-history-list{display:grid;gap:10px;margin-top:16px}.drill-history-row{display:grid;grid-template-columns:46px minmax(0,1fr) auto;align-items:center;gap:13px;padding:13px 14px;border:1px solid #c8d8db;border-left:5px solid var(--teal-700);border-radius:11px;background:#fbfdfd}.drill-history-icon{display:grid;width:44px;height:44px;place-items:center;border-radius:10px;background:#e5f0f1;font-size:1.35rem}.drill-history-copy strong,.drill-history-copy span,.drill-history-copy small{display:block}.drill-history-copy strong{color:var(--teal-900)}.drill-history-copy span{margin-top:2px;color:#40585f;font-size:.75rem;font-weight:720}.drill-history-copy small{margin-top:3px;color:var(--muted);font-size:.65rem}.drill-history-actions{display:flex;gap:7px}.drill-history-actions .button{min-height:38px;padding:8px 12px;white-space:nowrap}.drill-history-empty{display:grid;min-height:120px;place-items:center;padding:22px;color:var(--muted);background:#f7fafb;border:2px dashed #c7d6d9;border-radius:11px;text-align:center}.drill-pdf-unavailable{color:#9a3d36;font-size:.68rem;font-weight:800}
@media(max-width:820px){.drill-history-heading{align-items:stretch;flex-direction:column}.drill-history-filters{width:100%;min-width:0}.drill-history-row{grid-template-columns:44px minmax(0,1fr)}.drill-history-actions{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr}.drill-history-actions .button{width:100%}}
@media(max-width:680px){.drill-type-tabs{grid-template-columns:1fr}.drill-participant-scroll{border:0;overflow:visible}.drill-participant-table{min-width:0}.drill-participant-table thead{display:none}.drill-participant-table,.drill-participant-table tbody,.drill-participant-table tr,.drill-participant-table th,.drill-participant-table td{display:block}.drill-participant-table tr{position:relative;margin-bottom:10px;padding:11px 10px 5px 48px;border:1px solid #b5c8cc;border-radius:10px;background:#f8fbfb}.drill-participant-table tbody th{position:absolute;left:8px;top:9px;display:grid;width:30px;height:30px;place-items:center;border:0;border-radius:50%;background:var(--teal-800);color:#fff}.drill-participant-table td{position:relative;padding:20px 0 4px;border:0!important;background:transparent!important}.drill-participant-table td::before{content:attr(data-label);position:absolute;left:1px;top:3px;color:#496269;font-size:.58rem;font-weight:850;letter-spacing:.035em;text-transform:uppercase}.drill-participant-table select,.drill-participant-table input{min-height:44px;background:#fff;border-color:#b8c9cc}.drill-signature-notice{grid-template-columns:1fr}.drill-history-filters,.drill-history-actions{grid-template-columns:1fr}.drill-history-row{grid-template-columns:40px minmax(0,1fr);padding:12px 10px}.drill-history-icon{width:38px;height:38px}}

/* Employee Handbook requirement, viewer, acknowledgment, and administrative log */
.handbook-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin:8px 0 22px}.handbook-heading h1{margin:.12rem 0 .38rem;color:var(--teal-900);font-size:clamp(2rem,4vw,3.15rem)}.handbook-heading p:last-child{max-width:760px;margin:0;color:var(--muted);line-height:1.55}.handbook-status-badge,.handbook-card-status{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;font-weight:900;letter-spacing:.04em;text-transform:uppercase;white-space:nowrap}.handbook-status-badge{min-height:38px;padding:8px 13px;font-size:.67rem}.handbook-status-badge.required,.handbook-card-status.required{color:#744b08;background:#ffe5ad;border:1px solid #e1b75e}.handbook-status-badge.reference,.handbook-card-status.reference{color:#246344;background:#dff1e6;border:1px solid #a8d0b8}.handbook-card-status{margin-left:6px;padding:3px 7px;font-size:.52rem;vertical-align:middle}.portal-card.handbook-required-card{border-color:#d9af56;background:linear-gradient(135deg,#fffdf7,#fff8e8);box-shadow:0 10px 25px rgba(124,83,12,.09)}.portal-card.handbook-required-card .portal-icon{background:#f2c66a;color:#503605}.portal-card.handbook-reference-card .portal-icon{background:#dbeee3;color:#236046}.handbook-requirement-panel{display:grid;grid-template-columns:52px minmax(0,1fr) auto;align-items:center;gap:17px;margin-bottom:18px;padding:19px 21px;border:1px solid #e2bd70;border-left:6px solid var(--gold-500);background:linear-gradient(110deg,#fffaf0,#fff)}.handbook-requirement-panel.complete{border-color:#a8d1b8;border-left-color:#3e8d62;background:linear-gradient(110deg,#f1faf4,#fff)}.handbook-requirement-icon{display:grid;width:48px;height:48px;place-items:center;border-radius:50%;background:#e59a1c;color:#fff;font-size:1.5rem;font-weight:950;box-shadow:0 0 0 6px rgba(229,154,28,.13)}.handbook-requirement-panel.complete .handbook-requirement-icon{background:#3e8d62;box-shadow:0 0 0 6px rgba(62,141,98,.13)}.handbook-requirement-panel.complete .handbook-requirement-icon::before{content:'✓'}.handbook-requirement-panel.complete .handbook-requirement-icon{font-size:0}.handbook-requirement-panel.complete .handbook-requirement-icon::before{font-size:1.3rem}.handbook-requirement-panel h2{margin:.1rem 0 .28rem;color:var(--teal-900);font-size:1.35rem}.handbook-requirement-panel p:last-child{margin:0;color:#596b70;font-size:.78rem;line-height:1.5}.handbook-requirement-panel.complete>a{display:none}.handbook-viewer-panel{padding:0;overflow:hidden}.handbook-viewer-toolbar{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;padding:19px 21px;border-bottom:1px solid #c8d9dc;background:linear-gradient(115deg,#f5f9f9,#fff)}.handbook-viewer-toolbar h2{margin:.08rem 0 .22rem;color:var(--teal-900);font-size:1.45rem}.handbook-viewer-toolbar p:last-child{margin:0;color:var(--muted);font-size:.72rem}.handbook-viewer-actions{display:flex;gap:8px;flex-wrap:wrap}.handbook-pdf-frame-wrap{padding:15px;background:#dce7e9}.handbook-pdf-frame-wrap iframe{display:block;width:100%;height:min(76vh,920px);min-height:620px;border:1px solid #9fb5b9;border-radius:8px;background:#fff;box-shadow:0 12px 28px rgba(12,54,63,.13)}.handbook-pdf-fallback{margin:9px 0 0;color:#52676c;font-size:.68rem;text-align:center}.handbook-acknowledgment-panel{margin-top:20px;padding:25px}.handbook-acknowledgment-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;padding-bottom:14px;border-bottom:3px solid var(--gold-500)}.handbook-acknowledgment-heading h2{margin:.08rem 0 0;color:var(--teal-900);font-size:1.8rem}.handbook-step-chip{padding:5px 9px;border-radius:999px;background:var(--teal-900);color:#fff;font-size:.61rem;font-weight:900;text-transform:uppercase}.handbook-acknowledgment-copy{margin:18px 0;padding:18px 20px;border-radius:12px;background:#eaf3f4;color:#30464c;line-height:1.65}.handbook-form{display:grid;gap:16px}.handbook-form label>span:first-child{display:block;margin-bottom:6px;color:#344f56;font-size:.7rem;font-weight:850;text-transform:uppercase}.handbook-form input:not([type=checkbox]){width:100%;min-height:46px;padding:10px 12px;border:1px solid #9fb6ba;border-radius:8px;background:#fff;color:#263d43;font:inherit}.handbook-form input[readonly]{background:#f1f5f6;color:#51666b}.handbook-form small{display:block;margin-top:5px;color:var(--muted);font-size:.62rem;line-height:1.4}.handbook-confirmation-row{display:grid;grid-template-columns:24px minmax(0,1fr);align-items:start;gap:11px;margin-top:2px;padding:15px 16px;border:1px solid #d6b66f;border-radius:10px;background:#fff9eb;cursor:pointer}.handbook-confirmation-row input{width:20px;height:20px;margin:1px 0 0;accent-color:var(--teal-800)}.handbook-confirmation-row span{color:#3d4e52;font-size:.77rem;line-height:1.5;text-transform:none!important}.handbook-submit-row{display:flex;align-items:center;justify-content:space-between;gap:18px;padding-top:15px;border-top:1px solid #d5e0e2}.handbook-submit-row strong{display:block;color:var(--teal-900)}.handbook-submit-row p{margin:3px 0 0;color:var(--muted);font-size:.69rem}.handbook-form-status{min-height:1.2em}.handbook-form-status.error{color:#a23b34}.handbook-complete-card{display:grid;grid-template-columns:48px minmax(0,1fr) auto;align-items:center;gap:16px;margin-top:18px;padding:18px 19px;border:1px solid #add2bb;border-radius:13px;background:#f0faf4}.handbook-complete-card>span{display:grid;width:46px;height:46px;place-items:center;border-radius:50%;background:#3e8d62;color:#fff;font-size:1.35rem;font-weight:900}.handbook-complete-card h3{margin:0;color:#246344}.handbook-complete-card p{margin:4px 0 0;color:#4e6858;font-size:.73rem;line-height:1.45}.handbook-admin-panel{padding:0;overflow:hidden}.handbook-admin-toolbar{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;padding:20px 22px;border-bottom:1px solid var(--line);background:#f5f9f9}.handbook-admin-toolbar h2{margin:.08rem 0 0;color:var(--teal-900)}.handbook-admin-toolbar label{display:grid;gap:5px;min-width:280px;color:#3f5a60;font-size:.65rem;font-weight:850;text-transform:uppercase}.handbook-admin-toolbar select{min-height:42px;padding:8px 10px;border:1px solid #9fb6ba;border-radius:8px;background:#fff;color:#263d43}.handbook-admin-summary{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:#c1d2d5}.handbook-admin-summary>div{padding:14px 19px;background:#edf4f5}.handbook-admin-summary span,.handbook-admin-summary strong{display:block}.handbook-admin-summary span{color:#5a6f74;font-size:.59rem;font-weight:850;text-transform:uppercase}.handbook-admin-summary strong{margin-top:3px;color:var(--teal-900);font-size:1.05rem}.handbook-admin-list{display:grid;gap:9px;padding:18px}.handbook-admin-row{display:grid;grid-template-columns:48px minmax(0,1fr) auto;align-items:center;gap:14px;padding:14px 15px;border:1px solid #cadadd;border-radius:11px;background:#fbfdfd}.handbook-admin-pdf-icon{display:grid;width:46px;height:46px;place-items:center;border-radius:9px;background:var(--teal-900);color:#fff;font-size:.61rem;font-weight:950}.handbook-admin-row strong,.handbook-admin-row span,.handbook-admin-row small{display:block}.handbook-admin-row strong{color:var(--teal-900)}.handbook-admin-row span{margin-top:2px;color:#40585f;font-size:.73rem}.handbook-admin-row small{margin-top:3px;color:var(--muted);font-size:.63rem}.handbook-admin-actions{display:flex;gap:7px}
@media(max-width:820px){.handbook-heading,.handbook-viewer-toolbar,.handbook-admin-toolbar{align-items:stretch;flex-direction:column}.handbook-requirement-panel{grid-template-columns:48px minmax(0,1fr)}.handbook-requirement-panel>a{grid-column:1/-1;width:100%}.handbook-viewer-actions{display:grid;grid-template-columns:1fr 1fr}.handbook-viewer-actions .button{width:100%}.handbook-pdf-frame-wrap iframe{min-height:540px}.handbook-admin-toolbar label{min-width:0}.handbook-admin-row{grid-template-columns:46px minmax(0,1fr)}.handbook-admin-actions{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr}.handbook-admin-actions .button{width:100%}.handbook-complete-card{grid-template-columns:46px minmax(0,1fr)}.handbook-complete-card .button{grid-column:1/-1;width:100%}}
@media(max-width:560px){.handbook-requirement-panel,.handbook-acknowledgment-panel{padding:16px}.handbook-viewer-toolbar{padding:16px}.handbook-viewer-actions,.handbook-admin-summary,.handbook-admin-actions{grid-template-columns:1fr}.handbook-pdf-frame-wrap{padding:8px}.handbook-pdf-frame-wrap iframe{height:68vh;min-height:440px}.handbook-submit-row{align-items:stretch;flex-direction:column}.handbook-submit-row .button{width:100%}.handbook-acknowledgment-heading{align-items:flex-start;flex-direction:column}.handbook-admin-row{grid-template-columns:40px minmax(0,1fr)}.handbook-admin-pdf-icon{width:40px;height:40px}}
/* Employee shift task assignment workflow */
.shift-assignment-form{display:grid;gap:1rem}.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:1rem}.form-grid label{display:grid;gap:.4rem;font-weight:700}.form-grid input,.form-grid select,.form-grid textarea,.shift-task-row input,.shift-task-row select,.shift-card-actions input{width:100%;padding:.7rem;border:1px solid #b9c9cc;border-radius:.55rem;background:#fff}.full-width{grid-column:1/-1}.shift-template-tools,.shift-assignment-head,.shift-card-actions{display:flex;gap:.75rem;align-items:center;justify-content:space-between;flex-wrap:wrap}.shift-template{max-height:36rem;overflow:auto;border:1px solid #d8e1e3;border-radius:.7rem;padding:.8rem}.shift-template fieldset{border:0;border-top:1px solid #d8e1e3;margin:.5rem 0;padding:.8rem 0}.shift-template fieldset:first-child{border-top:0}.shift-template legend{font-weight:800;color:#0b5663}.shift-template label{display:flex;gap:.55rem;align-items:flex-start;padding:.45rem}.shift-template input{margin-top:.25rem}.shift-assignment-list{display:grid;gap:1rem}.shift-assignment-card{border:1px solid #d8e1e3;border-left:5px solid #0b7888;border-radius:.75rem;padding:1rem}.shift-assignment-card.overdue{border-left-color:#b42318;background:#fff7f6}.shift-assignment-head h3{margin:0}.shift-assignment-head p,.shift-task-row p{margin:.25rem 0}.status-pill{background:#e4f3f5;border-radius:999px;padding:.3rem .65rem;font-weight:800}.shift-task-row{display:grid;grid-template-columns:minmax(280px,2fr) minmax(110px,.5fr) minmax(90px,.4fr) minmax(180px,1fr);gap:.65rem;align-items:center;border-top:1px solid #e4e9ea;padding:.75rem 0}.shift-card-actions{margin-top:1rem}.shift-instructions{background:#f3f8f9;padding:.7rem;border-radius:.5rem}.reviewed-line{color:#39745a;font-weight:700}.shift-policy-note{margin-top:1rem}.form-status.error{color:#b42318}@media(max-width:760px){.shift-task-row{grid-template-columns:1fr}.shift-card-actions>*{width:100%}}

/* Professional shift-task and time-correction workflow */
.shift-tasks-body .dashboard-main{max-width:1180px}.shift-tasks-body .dashboard-panel{padding:clamp(18px,2.4vw,28px)}.shift-assignment-form{gap:20px}.shift-assignment-form .form-grid{gap:14px 18px;padding:18px;border:1px solid #cadadd;border-radius:14px;background:#f7fafb}.shift-assignment-form .form-grid label{color:#38545b;font-size:.68rem;letter-spacing:.035em;text-transform:uppercase}.shift-assignment-form input,.shift-assignment-form select,.shift-assignment-form textarea{min-height:44px;font-size:.78rem;text-transform:none}.shift-template-tools{padding:13px 15px;border-radius:10px;background:#eaf3f4;color:var(--teal-900)}.shift-template{padding:0;border-radius:12px;background:#fff}.shift-template fieldset{margin:0;padding:15px 18px}.shift-template legend{padding:0 8px;font-family:Georgia,serif;font-size:1rem}.shift-template label{padding:7px 9px;border-radius:7px;color:#40585f;line-height:1.45}.shift-template label:hover{background:#f0f6f7}.shift-template input[type=checkbox]{width:18px;height:18px;accent-color:var(--teal-800)}.shift-assignment-list{gap:14px}.shift-assignment-card{padding:0;border:1px solid #c6d7da;border-left:0;border-radius:14px;background:#fff;overflow:hidden;box-shadow:0 8px 22px rgba(10,65,75,.07)}.shift-assignment-card.overdue{border:1px solid #d9a6a1}.shift-assignment-head{padding:17px 19px;border-left:6px solid var(--teal-700);background:linear-gradient(110deg,#f2f8f9,#fff)}.shift-assignment-card.overdue .shift-assignment-head{border-left-color:#b42318;background:#fff6f5}.shift-assignment-head h3{color:var(--teal-900);font-family:Georgia,serif;font-size:1.15rem}.shift-assignment-head p{color:#60757a;font-size:.69rem}.shift-assignment-card>details{padding:0 19px 15px}.shift-assignment-card summary{padding:13px 0;color:var(--teal-800);font-size:.72rem;font-weight:850;cursor:pointer}.shift-task-row{grid-template-columns:minmax(260px,2fr) minmax(125px,.55fr) 95px minmax(180px,1fr);gap:10px;padding:12px 0}.shift-task-row>div strong{display:inline-flex;padding:3px 7px;border-radius:999px;background:#e9f2f3;color:#275a63;font-size:.58rem;text-transform:uppercase}.shift-task-row p{color:#32494f;line-height:1.45}.shift-task-row input,.shift-task-row select{min-height:42px;font-size:.72rem}.shift-instructions{margin:14px 19px 0;padding:12px 14px;border-left:4px solid #d3a84b;background:#fff8e9;color:#58491f}.shift-card-actions{margin:0;padding:15px 19px;border-top:1px solid #dce6e8;background:#f8fbfb}.status-pill{background:#dceff1;color:#155e6a;font-size:.62rem;text-transform:uppercase}.reviewed-line{margin:0;padding:0 19px 15px}.time-forgot-punch{width:100%;margin-top:12px;gap:8px}.missed-punch-review-panel{margin:18px 0}.missed-punch-request-list{display:grid;gap:10px}.missed-punch-request{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:16px;padding:14px 16px;border:1px solid #c4d6d9;border-left:5px solid #d39a22;border-radius:11px;background:#fffdf7}.missed-punch-request.resolved{border-left-color:#599478;background:#f6faf8}.missed-punch-request h3,.missed-punch-request p{margin:0}.missed-punch-request p{margin-top:5px;color:#4e656b;font-size:.72rem;line-height:1.45}.missed-punch-request small{display:block;margin-top:7px;color:#657a7f}.missed-punch-request-head{display:flex;align-items:center;gap:9px}.missed-punch-request-head h3{color:var(--teal-900)}.missed-punch-request-head span{padding:3px 7px;border-radius:999px;background:#fff0c9;color:#79530b;font-size:.58rem;font-weight:900;text-transform:uppercase}.missed-punch-actions{display:flex;gap:7px;flex-wrap:wrap}.task-clockout-dialog .time-dialog-panel{width:min(860px,calc(100vw - 24px));max-width:860px}.task-clockout-list{display:grid;gap:15px;max-height:58vh;overflow:auto;padding-right:5px}.task-clockout-assignment{border:1px solid #bfd1d4;border-radius:12px;overflow:hidden}.task-clockout-assignment>header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 15px;background:#eaf3f4;color:var(--teal-900)}.task-clockout-assignment>header span{font-size:.68rem}.task-clockout-item{display:grid;gap:10px;padding:15px;border-top:1px solid #d8e3e5}.task-clockout-item h3{margin:0;color:#2f474d;font-size:.92rem;line-height:1.45}.task-clockout-item label{display:grid;gap:5px;color:#466067;font-size:.67rem;font-weight:850;text-transform:uppercase}.task-clockout-item select,.task-clockout-item input,.task-clockout-item textarea{width:100%;min-height:42px;padding:9px 10px;border:1px solid #a9bec2;border-radius:8px;background:#fff;font:inherit;text-transform:none}.task-clockout-item [data-incomplete-fields]{display:grid;grid-template-columns:1fr 1fr;gap:10px}.task-clockout-item [data-incomplete-fields][hidden]{display:none}.task-clockout-item [data-incomplete-fields]>label:last-child{grid-column:1/-1}@media(max-width:760px){.shift-task-row{grid-template-columns:1fr}.shift-card-actions>*{width:100%}.missed-punch-request{grid-template-columns:1fr}.missed-punch-actions{display:grid;grid-template-columns:1fr}.task-clockout-item [data-incomplete-fields]{grid-template-columns:1fr}.task-clockout-item [data-incomplete-fields]>label:last-child{grid-column:auto}.task-clockout-assignment>header{align-items:flex-start;flex-direction:column}}
