/* Manrope font license
Copyright 2018 The Manrope Project Authors (https://github.com/googlefonts/manrope)

This Font Software is licensed under the SIL Open Font License, Version 1.1.
This license is copied below, and is also available with a FAQ at:
http://scripts.sil.org/OFL


-----------------------------------------------------------
SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007
-----------------------------------------------------------

PREAMBLE
The goals of the Open Font License (OFL) are to stimulate worldwide
development of collaborative font projects, to support the font creation
efforts of academic and linguistic communities, and to provide a free and
open framework in which fonts may be shared and improved in partnership
with others.

The OFL allows the licensed fonts to be used, studied, modified and
redistributed freely as long as they are not sold by themselves. The
fonts, including any derivative works, can be bundled, embedded, 
redistributed and/or sold with any software provided that any reserved
names are not used by derivative works. The fonts and derivatives,
however, cannot be released under any other type of license. The
requirement for fonts to remain under this license does not apply
to any document created using the fonts or their derivatives.

DEFINITIONS
"Font Software" refers to the set of files released by the Copyright
Holder(s) under this license and clearly marked as such. This may
include source files, build scripts and documentation.

"Reserved Font Name" refers to any names specified as such after the
copyright statement(s).

"Original Version" refers to the collection of Font Software components as
distributed by the Copyright Holder(s).

"Modified Version" refers to any derivative made by adding to, deleting,
or substituting -- in part or in whole -- any of the components of the
Original Version, by changing formats or by porting the Font Software to a
new environment.

"Author" refers to any designer, engineer, programmer, technical
writer or other person who contributed to the Font Software.

PERMISSION & CONDITIONS
Permission is hereby granted, free of charge, to any person obtaining
a copy of the Font Software, to use, study, copy, merge, embed, modify,
redistribute, and sell modified and unmodified copies of the Font
Software, subject to the following conditions:

1) Neither the Font Software nor any of its individual components,
in Original or Modified Versions, may be sold by itself.

2) Original or Modified Versions of the Font Software may be bundled,
redistributed and/or sold with any software, provided that each copy
contains the above copyright notice and this license. These can be
included either as stand-alone text files, human-readable headers or
in the appropriate machine-readable metadata fields within text or
binary files as long as those fields can be easily viewed by the user.

3) No Modified Version of the Font Software may use the Reserved Font
Name(s) unless explicit written permission is granted by the corresponding
Copyright Holder. This restriction only applies to the primary font name as
presented to the users.

4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font
Software shall not be used to promote, endorse or advertise any
Modified Version, except to acknowledge the contribution(s) of the
Copyright Holder(s) and the Author(s) or with their explicit written
permission.

5) The Font Software, modified or unmodified, in part or in whole,
must be distributed entirely under this license, and must not be
distributed under any other license. The requirement for fonts to
remain under this license does not apply to any document created
using the Font Software.

TERMINATION
This license becomes null and void if any of the above conditions are
not met.

DISCLAIMER
THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE
COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL
DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM
OTHER DEALINGS IN THE FONT SOFTWARE.

*/
/* Home presentation only. No selectors affect rosters, forms, reports or dialogs. */
.main-content.home-visual-content{padding:0;min-width:0}
.home-experience{position:relative;isolation:isolate;overflow:hidden;min-height:700px;padding:20px 30px 42px;background:#8eb3cb}
.home-experience .tide-atmosphere{position:absolute;inset:0;z-index:-1;overflow:hidden;background:linear-gradient(125deg,#b0cbdc,#8cb4cc 58%,#5f91b3);pointer-events:none}
.home-experience .home-hero.home-art-hero{position:relative;display:grid;grid-template-columns:minmax(0,36.5fr) minmax(0,63.5fr);grid-template-areas:'greeting art';grid-template-rows:minmax(0,1fr);align-items:start;gap:0;width:100%;max-width:1800px;min-height:610px;margin:0 auto 28px;padding:0;overflow:visible;background:transparent;isolation:auto}
.home-experience .home-greeting-slot{grid-area:greeting;position:relative;min-width:0;width:100%;height:310px;touch-action:pan-y pinch-zoom}
.home-experience .home-greeting-canvas{display:block;width:100%;height:100%;pointer-events:none}
.home-experience .home-greeting-readable{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.home-experience .home-controls{grid-area:controls;position:relative;z-index:2;min-width:0;width:auto;max-width:none;margin:0 28px 20px 28px;align-self:start}
.home-experience .home-controls>h1,.home-experience .home-controls>.home-note,.home-experience .home-controls>.page-heading{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.home-experience .home-buttons,.home-experience .home-controls .floor-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:12px;width:100%;max-width:none;margin:0}
.home-experience .home-nav,.home-experience .home-nav.main,.home-experience .home-controls .floor-card{display:flex;align-items:center;justify-content:center;width:100%;min-width:0;min-height:58px;padding:13px 16px;margin:0;border:1.35px solid #17232b;border-radius:15px;background:rgba(255,255,255,.49);color:#172b3a;box-shadow:0 3px 8px #1025360a;font-size:19px;font-weight:700;line-height:1.35;letter-spacing:-.2px;text-align:center;text-shadow:0 1px 0 #ffffff55;overflow-wrap:anywhere;transition:background .22s ease,box-shadow .22s ease,transform .22s ease}
.home-experience .home-nav:hover,.home-experience .home-controls .floor-card:hover{background:rgba(255,255,255,.65);box-shadow:0 5px 14px #10253612;transform:translateY(-1px)}
.home-experience .home-nav:active,.home-experience .home-controls .floor-card:active{transform:translateY(0)}
.home-experience .home-nav:focus-visible,.home-experience .stat:focus-visible,.home-experience .floor-card:focus-visible{outline:3px solid #165078;outline-offset:4px}
.home-experience .home-controls .floor-card strong{font-size:19px;margin:0;color:inherit}
.home-experience .home-controls .floor-card small{font-size:12px;margin-top:5px;color:#3d5b70}
.home-experience .home-controls .floor-card>.icon,.home-experience .home-controls .floor-card>span>.icon{display:none}
.home-experience .home-art-visual{grid-area:art;position:relative;align-self:start;min-width:0;width:99.2126%;margin-top:20px;padding:0;pointer-events:none;user-select:none;mask-image:linear-gradient(180deg,#000 0%,#000 74%,#000000df 82%,#00000070 91%,#00000018 97%,transparent 100%);-webkit-mask-image:linear-gradient(180deg,#000 0%,#000 74%,#000000df 82%,#00000070 91%,#00000018 97%,transparent 100%)}
.home-experience .home-art-source,.home-experience .home-art-soft,.home-experience .home-art-bottom,.home-experience .home-art-plaques{display:block;width:100%;height:auto;aspect-ratio:1415/1111;max-width:none;border:0;border-radius:0;box-shadow:none;background:transparent;pointer-events:none}
.home-experience .home-art-source{filter:blur(.2px);mask-image:linear-gradient(90deg,transparent 0%,#00000018 3%,#00000080 8%,#000 17%);-webkit-mask-image:linear-gradient(90deg,transparent 0%,#00000018 3%,#00000080 8%,#000 17%)}
.home-experience .home-art-soft{position:absolute;inset:0;filter:blur(6px);opacity:.56;mask-image:linear-gradient(90deg,transparent 0%,#000 7%,#00000066 14%,transparent 23%);-webkit-mask-image:linear-gradient(90deg,transparent 0%,#000 7%,#00000066 14%,transparent 23%)}
.home-experience .home-art-bottom{position:absolute;inset:0;filter:blur(10px);opacity:.5;mask-image:linear-gradient(180deg,transparent 0%,transparent 69%,#00000066 79%,#000 90%,transparent 100%);-webkit-mask-image:linear-gradient(180deg,transparent 0%,transparent 69%,#00000066 79%,#000 90%,transparent 100%)}
.home-experience .home-art-plaques{position:absolute;inset:0;filter:none;clip-path:inset(22.5923% 3.3215% 40.054% 70.8834%)}
.home-experience .summary-grid{position:relative;z-index:1;max-width:1500px;gap:13px;margin:0 auto 18px}
.home-experience .summary-grid .stat{border:1.35px solid #17232b;background:rgba(255,255,255,.78);border-radius:15px;box-shadow:0 3px 9px #10253607;text-align:left;transition:background .22s ease,transform .22s ease}
.home-experience .summary-grid .stat:hover{background:rgba(255,255,255,.9);transform:translateY(-1px)}
.home-experience .summary-grid .stat strong{color:#172b3a}
.home-experience .summary-grid .stat small,.home-experience .summary-grid .stat-open{color:#426077}
@media(min-width:1600px){.home-experience .home-hero.home-art-hero{min-height:710px}.home-experience .home-controls{margin-left:44px;margin-right:36px}.home-experience .home-nav,.home-experience .home-nav.main{min-height:64px;font-size:21px}}
@media(max-width:1100px){.home-experience{padding:16px 20px 32px}.home-experience .home-controls{margin-left:20px;margin-right:18px}.home-experience .home-nav,.home-experience .home-nav.main{font-size:16px;padding:12px 10px}.home-experience .home-hero.home-art-hero{min-height:600px}}
@media(min-width:681px) and (max-width:900px){.home-experience .home-hero.home-art-hero{min-height:570px}.home-experience .home-greeting-slot{height:270px}}
@media(max-width:680px){.home-experience{padding:10px 16px 30px;min-height:600px}.home-experience .home-hero.home-art-hero{display:grid;grid-template-columns:minmax(0,1fr);grid-template-areas:'greeting';grid-template-rows:280px;min-height:0;gap:0;margin:0 0 26px}.home-experience .home-greeting-slot{height:280px}.home-experience .home-art-visual{display:none}.home-experience .summary-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.home-experience .summary-grid .stat{min-height:110px;padding:14px 12px}.home-experience .stat small{white-space:normal;font-size:11px}.home-experience .stat strong{font-size:28px}}
@media(max-width:800px){body.home-visual-active .app-shell{grid-template-rows:auto minmax(0,1fr);align-content:start}body.home-visual-active .sidebar{align-items:center;align-self:start}}
@media(max-width:600px){body.home-visual-active .brand{flex:none}body.home-visual-active .brand strong{font-size:16px;white-space:nowrap}body.home-visual-active .header-tools{min-width:0;justify-content:flex-end;column-gap:6px}body.home-visual-active .header-tools .user-info{max-width:80px}}
@media(prefers-reduced-motion:reduce){.home-experience .home-nav,.home-experience .stat,.home-experience .floor-card{transition:none;transform:none}}

.crew-home-calendar {
  --calendar-ink: var(--crew-calendar-ink, #233845);
  --calendar-muted: var(--crew-calendar-muted, #3b596a);
  --calendar-paper: var(--crew-calendar-paper, rgba(255, 255, 255, .16));
  --calendar-rule: var(--crew-calendar-rule, rgba(35, 56, 69, .19));
  --calendar-mark: var(--crew-calendar-mark, #284553);
  box-sizing: border-box;
  container-type: inline-size;
  width: 100%;
  max-width: 400px;
  padding: 12px 13px 8px;
  color: var(--calendar-ink);
  background: var(--calendar-paper);
  border: 1px solid var(--calendar-rule);
  border-radius: 13px;
  font-family: Manrope, 'Segoe UI', Arial, sans-serif;
  font-variant-numeric: tabular-nums;
  line-height: 1.2;
  -webkit-tap-highlight-color: transparent;
}
.crew-home-calendar *, .crew-home-calendar *::before, .crew-home-calendar *::after { box-sizing: border-box; }
.crew-calendar-head { display: flex; align-items: center; justify-content: space-between; gap: 6px; min-height: 31px; padding: 0 3px 7px; }
.crew-calendar-heading { display: flex; align-items: baseline; gap: 8px; min-width: 0; }
.crew-calendar-title { margin: 0; padding: 0; color: inherit; font-size: 17px; line-height: 1.25; font-weight: 750; letter-spacing: -.4px; }
.crew-calendar-year { color: var(--calendar-muted); font-size: 11px; font-weight: 600; }
.crew-calendar-controls { display: flex; align-items: center; gap: 1px; flex: 0 0 auto; }
.crew-home-calendar button { appearance: none; -webkit-appearance: none; display: inline-flex; align-items: center; justify-content: center; margin: 0; border: 1px solid transparent; color: var(--calendar-ink); background: transparent; border-radius: 8px; font: inherit; cursor: pointer; box-shadow: none; text-shadow: none; }
.crew-home-calendar button:hover { border-color: var(--calendar-rule); background: rgba(255, 255, 255, .17); }
.crew-home-calendar button:focus-visible { outline: 2px solid var(--calendar-ink); outline-offset: 2px; }
.crew-calendar-nav { width: 29px; height: 29px; padding: 6px; }
.crew-calendar-nav svg { display: block; width: 16px; height: 16px; fill: none; stroke: currentColor; stroke-width: 1.65; stroke-linecap: round; stroke-linejoin: round; }
.crew-calendar-grid { width: 100%; table-layout: fixed; border-spacing: 0; border-collapse: collapse; border: 0; color: inherit; background: transparent; }
.crew-calendar-grid th, .crew-calendar-grid td { padding: 0; border: 0; text-align: center; background: transparent; color: inherit; }
.crew-calendar-grid th { height: 22px; color: var(--calendar-muted); font-size: 9px; font-weight: 650; letter-spacing: .45px; text-transform: uppercase; }
.crew-calendar-grid abbr { border: 0; text-decoration: none; cursor: default; }
.crew-calendar-grid tbody td { height: 27px; font-size: 13px; font-weight: 650; }
.crew-calendar-date { position: relative; display: inline-flex; align-items: center; justify-content: center; width: 34px; height: 27px; vertical-align: middle; }
.crew-calendar-day time { position: relative; z-index: 1; display: block; font: inherit; }
.crew-calendar-grid .is-weekend { color: var(--calendar-muted); }
.crew-calendar-day.is-past time { opacity: .74; }
.crew-calendar-strike, .crew-calendar-circle { position: absolute; inset: 50% auto auto 50%; display: block; width: 35px; height: 31.5px; margin: -15.75px 0 0 -17.5px; overflow: visible; pointer-events: none; fill: none; stroke: var(--calendar-mark); stroke-linecap: round; stroke-linejoin: round; }
.crew-calendar-strike { z-index: 2; opacity: .82; }
.crew-calendar-circle { z-index: 0; stroke-width: 1.45; fill: rgba(237, 215, 143, .11); }
.crew-calendar-day.is-today { color: var(--calendar-ink); font-weight: 800; }
.crew-calendar-foot { display: flex; align-items: center; justify-content: space-between; gap: 4px; min-height: 23px; margin-top: 5px; padding: 2px 3px 0; border-top: 1px solid var(--calendar-rule); }
.crew-calendar-note { color: var(--calendar-muted); font-size: 8px; font-weight: 550; letter-spacing: .1px; }
.crew-calendar-time{display:inline-block;margin-left:14px;color:var(--calendar-ink);font-weight:700;font-size:12px;font-variant-numeric:tabular-nums;white-space:nowrap}
.crew-home-calendar .crew-calendar-today { min-height: 23px; padding: 2px 5px; font-size: 9px; font-weight: 700; }
.crew-home-calendar .crew-calendar-today:disabled { opacity: .49; cursor: default; border-color: transparent; background: transparent; }
.crew-calendar-announcement { position: absolute; width: 1px; height: 1px; margin: -1px; padding: 0; clip: rect(0, 0, 0, 0); clip-path: inset(50%); overflow: hidden; white-space: nowrap; border: 0; }
[data-crew-mode="dark"] .crew-home-calendar { --calendar-ink: var(--crew-calendar-ink, #edf5f9); --calendar-muted: var(--crew-calendar-muted, #c3d5df); --calendar-paper: var(--crew-calendar-paper, rgba(17, 34, 47, .32)); --calendar-rule: var(--crew-calendar-rule, rgba(214, 232, 243, .28)); --calendar-mark: var(--crew-calendar-mark, #f1e4bd); }
[data-crew-mode="accessible"] .crew-home-calendar { --calendar-ink: #000; --calendar-muted: #111; --calendar-paper: #fff; --calendar-rule: #000; --calendar-mark: #000; border-radius: 4px; border-width: 2px; }
[data-crew-mode="accessible"] .crew-calendar-grid tbody td { font-size: 15px; }
[data-crew-mode="accessible"] .crew-calendar-grid th { font-size: 11px; }
[data-crew-mode="accessible"] .crew-calendar-note, [data-crew-mode="accessible"] .crew-home-calendar .crew-calendar-today { font-size: 11px; }
[data-crew-mode="accessible"] .crew-calendar-day.is-past time { opacity: 1; }
[data-crew-mode="accessible"] .crew-calendar-circle { fill: none; stroke-width: 2; }
@media (pointer: coarse) {
  .crew-calendar-nav { width: 33px; height: 33px; }
  .crew-home-calendar .crew-calendar-today { min-height: 28px; padding: 4px 7px; }
}
@media (max-width: 360px) {
  .crew-home-calendar { padding-inline: 9px; }
  .crew-calendar-title { font-size: 16px; }
  .crew-calendar-heading { gap: 5px; }
  .crew-calendar-date { max-width: 100%; }
}
@container (max-width: 220px) {
  .crew-calendar-heading { flex-direction: column; align-items: flex-start; gap: 1px; }
  .crew-calendar-title { font-size: 15px; }
  .crew-calendar-year { font-size: 9px; }
  .crew-calendar-head { padding-inline: 0; min-height: 36px; }
  .crew-calendar-nav { width: 25px; height: 29px; padding: 5px; }
  .crew-calendar-date { width: 100%; }
  .crew-calendar-grid tbody td { font-size: 12px; }
  .crew-calendar-strike, .crew-calendar-circle { width: 27px; height: 28px; margin: -14px 0 0 -13.5px; }
  .crew-calendar-note { font-size: 7px; letter-spacing: 0; }
  .crew-calendar-foot { padding-inline: 0; }
}
@media (forced-colors: active) {
  .crew-home-calendar { --calendar-ink: CanvasText; --calendar-muted: CanvasText; --calendar-paper: Canvas; --calendar-rule: CanvasText; --calendar-mark: CanvasText; border: 1px solid CanvasText; }
  .crew-calendar-strike, .crew-calendar-circle { stroke: CanvasText; fill: none; }
}

.home-experience .home-left-column{grid-area:greeting;min-width:0;padding-bottom:20px}
.home-experience .home-calendar{margin:0 clamp(12px,2.8vw,44px) 16px clamp(20px,2.8vw,44px);max-width:370px}
.home-experience .home-clock-slot{position:relative;display:flex;flex-direction:column;align-items:flex-end;width:calc(100% - clamp(20px,2.8vw,44px) - clamp(12px,2.8vw,44px));max-width:370px;margin-left:clamp(20px,2.8vw,44px);min-height:204px;min-width:0;padding:8px 0 12px;touch-action:pan-y}
.home-experience .home-clock-digital{width:136px;max-width:100%;height:48px}
.home-dial{position:relative;width:136px;height:136px;flex:none;border:1.35px solid #263e4c;border-radius:50%;background:radial-gradient(circle at 35% 26%,#ffffff78,#ffffff13 65%);box-shadow:inset 0 0 0 6px #ffffff18,0 6px 20px #183c4b09;color:#243b49;font:600 13px 'Crew Manrope','Segoe UI',sans-serif}
.home-dial-marks{position:absolute;inset:8px;border-radius:50%}
.home-dial-marks i{position:absolute;top:0;left:calc(50% - .7px);width:1.4px;height:5px;border-radius:2px;background:currentColor;transform-origin:.7px 59px;transform:rotate(calc(var(--tick)*30deg));opacity:.6}
.home-dial-12,.home-dial-3,.home-dial-6,.home-dial-9{position:absolute;display:grid;place-items:center;width:22px;height:20px}
.home-dial-12{left:calc(50% - 11px);top:15px}.home-dial-6{left:calc(50% - 11px);bottom:15px}.home-dial-3{right:11px;top:calc(50% - 10px)}.home-dial-9{left:11px;top:calc(50% - 10px)}
.home-dial-hour,.home-dial-minute{position:absolute;left:calc(50% - 1.5px);bottom:50%;width:3px;border-radius:4px;background:currentColor;transform-origin:50% 100%;transition:transform 1s linear}
.home-dial-hour{height:26px;width:4px;left:calc(50% - 2px)}.home-dial-minute{height:37px}.home-dial-pin{position:absolute;top:calc(50% - 3px);left:calc(50% - 3px);width:6px;height:6px;border-radius:50%;background:#b9a35c;box-shadow:0 0 0 2px #293e4c}
.home-experience .home-clock-canvas{display:block;width:100%;height:100%;pointer-events:none}
.home-experience .home-clock-readable{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:pre-line;border:0}
.home-experience .home-hero.home-art-hero{min-height:700px}
.home-experience .crew-home-calendar{font-family:'Crew Manrope','Segoe UI',sans-serif;background:var(--calendar-paper);box-shadow:0 8px 28px #19394d06}
html[data-crew-mode=dark] .home-experience .crew-home-calendar{--calendar-paper:rgba(17,34,47,.88)}
.home-experience .crew-calendar-grid th{font-size:11px;height:26px}
.home-experience .crew-calendar-grid tbody td{height:31px;font-size:14px}
.home-experience .crew-calendar-note{font-size:10px}
.home-experience .crew-calendar-nav{min-height:36px;width:34px}
.home-experience .crew-calendar-today{min-height:32px;font-size:11px}
@media(max-width:1100px){.home-experience .home-calendar{margin-left:20px;margin-right:14px}.home-experience .crew-home-calendar{padding-inline:8px}.home-experience .crew-calendar-heading{flex-direction:column;gap:1px}.home-experience .crew-calendar-title{font-size:15px}.home-experience .crew-calendar-head{flex-wrap:wrap}.home-experience .crew-calendar-grid tbody td{font-size:12px}.home-experience .crew-calendar-date{width:100%}}
@media(max-width:680px){.home-experience .home-hero.home-art-hero{grid-template-rows:auto;grid-template-areas:'greeting' 'art' 'calendar' 'clock';min-height:0}.home-experience .home-left-column{display:contents}.home-experience .home-greeting-slot{grid-area:greeting}.home-experience .home-calendar{grid-area:calendar;max-width:400px;margin:12px 25px 18px}.home-experience .home-clock-slot{grid-area:clock}.home-experience .home-art-visual{display:block;grid-area:art;width:100%;margin:0;mask-image:linear-gradient(90deg,transparent,#000 28px,#000 calc(100% - 28px),transparent),linear-gradient(180deg,transparent,#000 28px,#000 calc(100% - 28px),transparent);mask-composite:intersect;-webkit-mask-image:linear-gradient(90deg,transparent,#000 28px,#000 calc(100% - 28px),transparent),linear-gradient(180deg,transparent,#000 28px,#000 calc(100% - 28px),transparent);-webkit-mask-composite:source-in}.home-experience .home-art-source{mask-image:none;-webkit-mask-image:none;filter:blur(.25px)}.home-experience .home-art-soft,.home-experience .home-art-bottom{display:none}.home-experience .crew-home-calendar{padding:14px 13px}.home-experience .crew-calendar-grid tbody td{height:34px;font-size:15px}.home-experience .crew-calendar-nav{width:44px;min-height:44px}.home-experience .crew-calendar-today{min-height:44px}.home-experience .crew-calendar-heading{flex-direction:row;gap:8px}.home-experience .crew-calendar-title{font-size:17px}}
html[data-crew-mode=dark] .home-experience .tide-flowing-field{filter:brightness(.65) saturate(.82)}
html[data-crew-mode=dark] .home-experience .tide-atmosphere::after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#cde2ed70,#cde2ed40 36%,transparent 67%);pointer-events:none}
html[data-crew-mode=dark] .home-experience{background:#183042}
html[data-crew-mode=dark] .home-dial{color:#e7f0f5;border-color:#a7c4d6;background:radial-gradient(circle at 35% 26%,#698da52e,#11263922 65%)}
html[data-crew-mode=accessible] .home-experience .home-art-visual,html[data-crew-mode=accessible] .home-experience .tide-atmosphere,html[data-crew-mode=accessible] .home-greeting-canvas,html[data-crew-mode=accessible] .home-clock-canvas{display:none}
html[data-crew-mode=accessible] .home-experience{background:#fff;color:#000}
html[data-crew-mode=accessible] .home-experience .home-greeting-slot,html[data-crew-mode=accessible] .home-experience .home-clock-slot{height:auto;min-height:120px;padding:24px}
html[data-crew-mode=accessible] .home-experience .home-greeting-readable,html[data-crew-mode=accessible] .home-experience .home-clock-readable{position:static;display:block;clip-path:none;width:auto;height:auto;white-space:pre-line;overflow:visible;margin:0;font:700 28px/1.55 'Segoe UI',sans-serif;color:#000;letter-spacing:0}
html[data-crew-mode=accessible] .home-experience .home-hero.home-art-hero{grid-template-columns:minmax(0,1fr);grid-template-areas:'greeting';min-height:0}
html[data-crew-mode=accessible] .home-experience .home-calendar{margin-left:24px;max-width:430px}
html[data-crew-mode=accessible] .home-dial{display:none}
html[data-crew-mode=accessible] .home-experience .home-clock-digital{width:100%;height:auto}
html[data-crew-mode=accessible] .home-experience .home-hero.home-art-hero{grid-template-areas:'greeting' 'calendar' 'clock'}
html[data-crew-mode=dark]{--flow-border:#91b0c8;--flow-surface:#182937;--flow-text:#eef6fc;--flow-divider:#476177}
html[data-crew-mode=accessible]{--flow-border:#000;--flow-surface:#fff;--flow-text:#000;--flow-divider:#000}
@media(prefers-reduced-motion:reduce){.home-dial-hour,.home-dial-minute{transition:none}}
@media print{.crew-appearance{display:none!important}}
@media(max-width:680px){.home-experience .home-art-visual{mask-composite:intersect}}
@media(min-width:681px) and (max-width:1100px){.home-experience .home-clock-slot{margin-left:20px;width:calc(100% - 34px)}}
@media(max-width:680px){.home-experience .home-clock-slot{margin-left:25px;width:calc(100% - 50px);max-width:400px}}
@media(max-width:680px){.home-experience .home-hero.home-art-hero{grid-template-areas:'greeting' 'art' 'calendar'}}
html[data-crew-mode=accessible] .home-experience .home-hero.home-art-hero{grid-template-areas:'greeting' 'calendar'}
/* Fade the atmosphere itself, with reserved space below the last card. */
.home-experience{--home-fade-depth:clamp(150px,14vw,230px);padding-bottom:var(--home-fade-depth)}
html[data-crew-mode] .home-experience{background:transparent}
.home-experience .tide-atmosphere{mask-image:linear-gradient(180deg,#000 0%,#000 calc(100% - var(--home-fade-depth)),#000000ed calc(100% - var(--home-fade-depth)*.82),#000000be calc(100% - var(--home-fade-depth)*.62),#00000080 calc(100% - var(--home-fade-depth)*.43),#00000040 calc(100% - var(--home-fade-depth)*.26),#00000012 calc(100% - var(--home-fade-depth)*.12),transparent 100%);-webkit-mask-image:linear-gradient(180deg,#000 0%,#000 calc(100% - var(--home-fade-depth)),#000000ed calc(100% - var(--home-fade-depth)*.82),#000000be calc(100% - var(--home-fade-depth)*.62),#00000080 calc(100% - var(--home-fade-depth)*.43),#00000040 calc(100% - var(--home-fade-depth)*.26),#00000012 calc(100% - var(--home-fade-depth)*.12),transparent 100%)}

/* The normal day palette stays intact. Every override below is visual only. */
:root{--crew-appearance-surface:#fff;--crew-appearance-soft:#edf4fa;--crew-appearance-ink:#19334a;--crew-appearance-line:#cddce7;--crew-home-text:#172d3a;--crew-home-accessible:0}
.crew-appearance{display:flex;align-items:center;gap:5px;flex:none}
.crew-appearance-button{position:relative;display:grid;place-items:center;width:42px;height:42px;min-height:42px;padding:0;border:1px solid transparent;border-radius:12px;background:transparent;color:var(--muted,#61768a);box-shadow:none;transition:background-color .18s,border-color .18s,color .18s;touch-action:manipulation}
.crew-appearance-button .icon{width:21px;height:21px;pointer-events:none}
.crew-appearance-button:hover{color:var(--crew-appearance-ink);background:var(--crew-appearance-soft)}
.crew-appearance-button.is-active{background:var(--crew-appearance-soft);color:var(--crew-appearance-ink);border-color:var(--crew-appearance-line)}
.crew-appearance-button:focus-visible{outline:3px solid #2575b8;outline-offset:3px}
html[data-crew-mode=dark]{color-scheme:dark;--navy:#d5e8f6;--navy-deep:#101d2b;--blue:#9bc9f0;--ink:#e5edf5;--muted:#b2c2d0;--paper:#101923;--line:#354556;--white:#1a2633;--red:#ffacb7;--green:#9cd9b5;--shadow:0 12px 32px #0003;--crew-appearance-surface:#1a2633;--crew-appearance-soft:#293d50;--crew-appearance-ink:#e5edf5;--crew-appearance-line:#526c82;--crew-home-text:#eef6fb;background:var(--paper);color:var(--ink)}
html[data-crew-mode=dark] body{background:var(--paper);color:var(--ink)}
html[data-crew-mode=dark] :is(.app-header,.sidebar,.section-card,.toolbar,.stat,.floor-card,.user-row,.modal,.login-card,.login-panel,.duty-calendar-card,.duty-today-card,.cadet-request-row,.cadet-companions>div,.duty-candidate,.role-view-option,.duty-swap-request,.housing-stat,.housing-own-card,.summary-person,.muster-calendar,.muster-totals-stat,.muster-totals-table-scroll,.muster-totals-roster-scroll){background:#1a2633;color:var(--ink);border-color:var(--line)}
html[data-crew-mode=dark] :is(.primary,.home-nav,.home-nav.main){background:#32658e;color:#fff;box-shadow:0 3px 0 #0b1721;border-color:#5a91bb}
html[data-crew-mode=dark] .primary:hover{background:#417cab}
html[data-crew-mode=dark] .report-state-card>.icon{background:#293d50;color:#d5e8f6;border-color:#526c82}
html[data-crew-mode=dark] .report-state-ban>.icon{background:#453424;color:#f1d29b;border-color:#8a704a}
html[data-crew-mode=dark] .cadet-return-reminder{background:#352d20;color:#f1d29b;border-color:#8a704a}
html[data-crew-mode=dark] .report-sent-preview summary{color:#d5e8f6}
html[data-crew-mode=dark] :is(.secondary,.small-button.secondary,.input,textarea.input,select.control,.date-input,.toolbar-filter select,.cell-select,.cell-date,.cell-time,.housing-account-fields input){background:#15212d;color:#edf4fa;border-color:#53697c}
html[data-crew-mode=dark] :is(input,textarea,select){caret-color:#d8edff;accent-color:#86b8de}
html[data-crew-mode=dark] :is(.input::placeholder,textarea::placeholder){color:#a3b4c4;opacity:1}
html[data-crew-mode=dark] :is(.quiet,.nav-button,.modal-close,.back-link,.search-clear,.login-password-toggle,.info-button,.reset-button,.cadet-name-button,.muster-calendar-close,.muster-calendar-month-button,.muster-calendar-clear,.muster-calendar-cancel){color:#c3d7e7}
html[data-crew-mode=dark] :is(.secondary:hover,.quiet:hover,.nav-button:hover,.modal-close,.personal-profile-button:hover,.role-view-option:hover,.duty-candidate:hover,.duty-calendar-day:hover,.muster-calendar-day:hover:not(:disabled),.login-password-toggle:hover,.login-copy-clean:hover,.summary-reason-filters button,.duty-reset-dates button,.muster-totals-chip){background:#293d50;color:#e9f3fc;border-color:#597792}
html[data-crew-mode=dark] :is(.nav-button.active,.role-view-option.selected,.duty-candidate.selected,.admin-tab.active,.duty-post-tab.active,.interaction-filters button.active,.summary-reason-filters button.active,.muster-totals-chip.is-selected){background:#304c65;color:#fff;border-color:#91bddf}
html[data-crew-mode=dark] :is(.eyebrow,.brand,.stat strong,.floor-card,.empty-state h3,.summary-person-name,.online-total strong,.contact-title,.housing-name strong,.housing-stat>strong,.duty-selection-heading strong,.cadet-empty-message h2){color:#e3effa}
html[data-crew-mode=dark] :is(.sidebar-label,.sidebar-footer,.mobile-label,.where-value,.cadet-profile-heading p,.contact-meta,.contact-parent-source,.educator-info,.duty-person-id,.duty-person-group,.duty-person-floor,.duty-empty,.duty-candidate-body small,.duty-calendar-note,.duty-day-free,.cadet-month-chip,.housing-table .housing-id,.housing-name small,.housing-own-note,.housing-own-contact,.housing-room-note,.housing-floor-preview,.muster-totals-id,.muster-totals-branch,.muster-totals-status,.muster-totals-summary-table tbody th small){color:#b8cbda}
html[data-crew-mode=dark] :is(.avatar,.role-badge,.access-note,.scope-preview,.role-preview-banner,.cadet-avatar,.cadet-pending-note,.request-report-note,.request-decision-date,.leave-ban-card,.muster-window-note,.arrival-preserved-note,.duty-swap-selection-note,.duty-calendar-day,.duty-calendar-day.has-duties,.duty-post-tab,.duty-post-tab span,.duty-board-caption>span,.duty-reset-summary,.duty-reset-dates button,.housing-preview-note,.housing-payment-note,.housing-account-notice,.housing-modal-note,.housing-confirm-copy,.housing-optional,.housing-evicted-note,.muster-calendar-range,.muster-calendar-today,.muster-totals-method,.muster-totals-readonly,.muster-totals-filter-note,.muster-totals-outside,.muster-totals-overall,.muster-totals-completion-notice,.muster-totals-completed-badge,.muster-totals-pending-filter,.login-copy-notice){background:#243747;color:#d2e4f1;border-color:#49647a}
html[data-crew-mode=dark] :is(.duty-calendar-day.is-today,.cadet-duty-layout .duty-calendar-day.is-today:disabled,.muster-calendar-day.is-selected){background:#365f7c;color:#fff;border-color:#a5d6fa}
html[data-crew-mode=dark] .duty-calendar-day.is-today .duty-day-number{background:#c4e6ff;color:#10273a}
html[data-crew-mode=dark] :is(.cadet-duty-layout .duty-calendar-day:disabled,.cell-time:disabled,.roster td input:disabled,.roster .cell-select:disabled){background:#182530;color:#a8b8c5;opacity:.7}
html[data-crew-mode=dark] :is(.roster-wrap,.housing-table-wrap){background:#15212d;scrollbar-color:#526d83 #182530}
html[data-crew-mode=dark] .roster tr{--row-bg:#192735}
html[data-crew-mode=dark] .roster tbody tr:nth-child(even){--row-bg:#213242}
html[data-crew-mode=dark] .roster tr.color-green{--row-bg:#224b3a!important}
html[data-crew-mode=dark] .roster tr.color-red{--row-bg:#5c2c36!important}
html[data-crew-mode=dark] .roster tr.color-yellow{--row-bg:#54451e!important}
html[data-crew-mode=dark] .roster tr.color-purple{--row-bg:#49345d!important}
html[data-crew-mode=dark] .roster tr.color-azure{--row-bg:#23475c!important}
html[data-crew-mode=dark] .roster tr.color-purple-hatch{--row-bg:#342b45!important;--row-pattern:repeating-linear-gradient(135deg,transparent 0 15px,#655175 15px 16px,transparent 16px 32px)}
html[data-crew-mode=dark] .roster td{background-color:var(--row-bg);color:#edf4fa;border-color:#496071}
html[data-crew-mode=dark] .roster th,html[data-crew-mode=dark] :is(.housing-table thead th,.duty-people th,.muster-totals-summary-table thead th,.muster-totals-roster thead th){background:#243e53;color:#edf6ff;border-color:#526b7d}
html[data-crew-mode=dark] .roster td :is(.cell-select,.cell-date,.cell-time){background-color:#10202dd9;color:#edf4fa;border-color:#607a8d}
html[data-crew-mode=dark] .roster .reason-b,html[data-crew-mode=dark] .roster .reason-b select{color:#8edbff!important}
html[data-crew-mode=dark] .roster .reason-o,html[data-crew-mode=dark] .roster .reason-o select{color:#dbb5ff!important}
html[data-crew-mode=dark] .roster .reason-p,html[data-crew-mode=dark] .roster .reason-p select{color:#ffdf8b!important}
html[data-crew-mode=dark] :is(.housing-table tbody td,.muster-totals-summary-table tbody th,.muster-totals-summary-table tbody td,.muster-totals-roster tbody td){background:#1a2937;color:#e5edf5;border-color:#42596c}
html[data-crew-mode=dark] :is(.housing-table tbody tr:nth-child(even) td,.muster-totals-summary-table tbody tr:nth-child(even) td,.muster-totals-roster tbody tr:nth-child(even) td){background:#243747}
html[data-crew-mode=dark] :is(.request-status,.request-status.cancelled,.online-count,.interaction-badge,.cadet-month-chip,.muster-totals-chip>span){background:#34495b;color:#e2edf6}
html[data-crew-mode=dark] :is(.request-status.approved,.reset-button.saved,.reset-button.confirmed,.housing-payment-paid,.housing-stat-paid,.housing-own-card[data-payment=paid],.housing-residency-badge.is-resident,.summary-person.color-green,.housing-table .housing-payment-row[data-payment=paid] td){background:#244d3b;color:#c7f0d8;border-color:#548b6b}
html[data-crew-mode=dark] :is(.request-status.rejected,.danger,.error-message,.leave-ban-card.is-active,.housing-payment-unpaid,.housing-stat-unpaid,.housing-own-card[data-payment=unpaid],.housing-residency-badge.is-evicted,.summary-person.color-red,.housing-table .housing-payment-row[data-payment=unpaid] td,.housing-delete-warning){background:#542e38;color:#ffd5de;border-color:#ad6576}
html[data-crew-mode=dark] :is(.request-status.pending,.summary-person.color-azure,.muster-totals-roster tbody tr.color-azure td){background:#24475f;color:#d0eaff}
html[data-crew-mode=dark] :is(.request-status.pending_peer,.summary-person.color-yellow,.housing-payment-unknown,.muster-window-note.is-locked,.duty-remote-warning,.leave-ban-cancel-notice){background:#52451f;color:#ffedb6;border-color:#a38e53}
html[data-crew-mode=dark] :is(.summary-person.color-purple,.summary-person.color-purple-hatch,.muster-totals-roster tbody tr.color-purple-hatch td){background:#463255;color:#ecd6ff}
html[data-crew-mode=dark] :is(.housing-stat-paid>strong,.housing-own-card[data-payment=paid] h2,.housing-payment-row[data-payment=paid] .housing-name strong){color:#c7f0d8}
html[data-crew-mode=dark] :is(.housing-stat-unpaid>strong,.housing-own-card[data-payment=unpaid] h2,.housing-payment-row[data-payment=unpaid] .housing-name strong){color:#ffd5de}
html[data-crew-mode=dark] :is(.toast,.toast.error){background:#293d50;color:#fff;border:1px solid #60778b}
html[data-crew-mode=dark] :is(.modal,.muster-calendar)::backdrop{background:#050b12aa}
/* Signed and printed forms retain their paper appearance in every mode. */
html[data-crew-mode] :is(.report-paper,.departure-memo,.signature-drawing-area){background:#fff;color:#111;color-scheme:light}
html[data-crew-mode] .report-paper :is(.report-footer small,.signature-placeholder,.report-fixed-date,.report-fixed-date span,.memo-signature-row small){color:#4b5563}
/* Accessible mode is a readable interface, not an inverted image filter. */
html[data-crew-mode=accessible]{color-scheme:light;font-size:18px;--navy:#000;--navy-deep:#000;--blue:#003a80;--ink:#000;--muted:#242424;--paper:#fff;--white:#fff;--line:#444;--red:#8c001b;--green:#005b29;--shadow:none;--crew-appearance-surface:#fff;--crew-appearance-soft:#e8e8e8;--crew-appearance-ink:#000;--crew-appearance-line:#000;--crew-home-text:#000;--crew-home-accessible:1;background:#fff;color:#000;line-height:1.65}
html[data-crew-mode=accessible] body{background:#fff;color:#000}
html[data-crew-mode=accessible] :is(.app-header,.sidebar,.section-card,.toolbar,.stat,.floor-card,.user-row,.modal,.login-card,.login-panel,.duty-calendar-card,.duty-today-card,.cadet-request-row,.cadet-companions>div,.duty-candidate,.role-view-option,.duty-swap-request,.housing-stat,.housing-own-card,.summary-person,.muster-calendar,.muster-totals-stat,.roster-wrap,.muster-totals-table-scroll,.muster-totals-roster-scroll){background:#fff;color:#000;border-color:#444;box-shadow:none}
html[data-crew-mode=accessible] :is(p,small,label,dt,dd,td,th,.nav-button,.primary,.secondary,.quiet,.danger,.input,.field-note,.role-badge,.muted,.readonly-value,.where-value,.sidebar-footer,.search-clear,.back-link,.contact-meta,.role-preview-banner small,.housing-own-note,.housing-own-contact,.housing-name small,.housing-optional,.request-status,.cadet-month-chip,.duty-day-number,.duty-day-count,.duty-day-free,.muster-calendar-day,.muster-calendar-weekdays,.muster-calendar-caption,.muster-totals-stat-label,.muster-totals-chip){font-size:max(1rem,1em)!important;line-height:1.6}
html[data-crew-mode=accessible] :is(.primary,.secondary,.quiet,.danger,.small-button,.nav-button,.crew-appearance-button,.modal-close,.muster-calendar-close,.muster-calendar-month-button,.muster-calendar-day,.muster-calendar-today,.muster-calendar-clear,.muster-calendar-cancel,.summary-reason-filters button,.duty-post-tab,.admin-tab,.reset-button,.info-button,.search-clear,.login-password-toggle,.duty-reset-dates button,.muster-totals-chip){min-height:44px;min-width:44px}
html[data-crew-mode=accessible] :is(input,select,textarea){min-height:46px;font-size:18px!important;line-height:1.5;color:#000;background:#fff;border:2px solid #222}
html[data-crew-mode=accessible] :is(.primary,.home-nav,.home-nav.main){background:#000;color:#fff;border:2px solid #000;box-shadow:none}
html[data-crew-mode=accessible] :is(.secondary,.quiet,.modal-close,.input,.date-input,.cell-date,.cell-select,.cell-time,.toolbar-filter select,.crew-appearance-button){background:#fff;color:#000;border-color:#222}
html[data-crew-mode=accessible] :is(.nav-button,.brand,.stat strong,.floor-card,.sidebar-label,.sidebar-footer,.role-badge,.avatar,.summary-person-name,.housing-name strong,.housing-stat>strong,.online-total strong,.muster-totals-person,.muster-totals-id,.muster-totals-branch,.contact-meta,.where-value,.duty-person-group,.duty-person-floor){color:#000}
html[data-crew-mode=accessible] :is(.secondary:hover,.quiet:hover,.nav-button:hover,.personal-profile-button:hover,.role-view-option:hover,.duty-candidate:hover,.muster-calendar-day:hover:not(:disabled)){background:#e8e8e8;color:#000}
html[data-crew-mode=accessible] :is(.nav-button.active,.role-view-option.selected,.duty-candidate.selected,.crew-appearance-button.is-active,.muster-calendar-day.is-selected){background:#000;color:#fff;border-color:#000}
html[data-crew-mode=accessible] :is(.duty-calendar-day,.duty-calendar-day.has-duties,.cadet-duty-layout .duty-calendar-day:disabled){background:#fff;color:#111;border-color:#777;opacity:1}
html[data-crew-mode=accessible] .duty-calendar-day.is-today{border:3px solid #000;background:#fff}
html[data-crew-mode=accessible] .duty-calendar-day.is-today .duty-day-number{background:#000;color:#fff}
html[data-crew-mode=accessible] .roster td{color:#000;border-color:#777}
html[data-crew-mode=accessible] .roster th,html[data-crew-mode=accessible] :is(.housing-table thead th,.duty-people th,.muster-totals-summary-table thead th,.muster-totals-roster thead th){background:#000;color:#fff;border-color:#fff}
html[data-crew-mode=accessible] :is(.roster td .cell-select,.roster td .cell-date,.roster td .cell-time){background:#fff;color:#000;border:2px solid #222}
html[data-crew-mode=accessible] :is(.request-status,.request-status.pending,.request-status.approved,.request-status.rejected,.request-status.pending_peer,.request-status.cancelled,.role-badge,.cadet-month-chip,.online-count,.interaction-badge,.housing-payment-paid,.housing-payment-unpaid,.housing-payment-unknown,.housing-residency-badge.is-resident,.housing-residency-badge.is-evicted){color:#000;border:1px solid #333}
html[data-crew-mode=accessible] :is(.error-message,.danger,.housing-delete-warning,.leave-ban-card.is-active){background:#fff0f3;color:#790019;border:2px solid #790019}
html[data-crew-mode=accessible] :is(.app-header){height:auto;min-height:92px;flex-wrap:wrap;padding-block:14px;gap:12px}
html[data-crew-mode=accessible] .header-tools{flex-wrap:wrap;gap:12px}
html[data-crew-mode=accessible] .sidebar{position:relative;top:auto;height:auto;min-height:calc(100dvh - 92px)}
html[data-crew-mode=accessible] :is(.app-shell,.main-content,.modal,.section-card,.toolbar,.user-row,.page-heading,.heading-actions,.form-actions){min-width:0}
html[data-crew-mode=accessible] :is(.section-card,.user-row,.toolbar,.form-actions,.page-heading,.heading-actions){flex-wrap:wrap}
html[data-crew-mode=accessible] :is(.field-note,.role-badge,.user-info small,.request-status,.nav-button,.sidebar-footer){overflow-wrap:anywhere}
html[data-crew-mode=accessible] :is(button,a,input,select,textarea,[tabindex]):focus-visible{outline:4px solid #000;outline-offset:4px;box-shadow:0 0 0 6px #fff}
html[data-crew-mode=accessible] .report-paper{font-size:max(18px,1em);color:#000;border-color:#222}
html[data-crew-mode=accessible] .report-paper :is(p,small,dt,dd){font-size:inherit!important}
html[data-crew-mode=accessible] :is(.home-art-picture,.home-art-gradient,.home-art-canvas,.home-art-source,.home-art-soft,.home-art-bottom,.home-art-plaques){animation:none!important;transition:none!important}
html[data-crew-mode=accessible] :is(.primary,.secondary,.quiet,.floor-card,.nav-button,.stat,.crew-appearance-button){transition:none;transform:none}
@media(max-width:600px){.crew-appearance{gap:2px}.crew-appearance-button{width:36px;min-width:36px;height:40px;min-height:40px;border-radius:10px}.crew-appearance-button .icon{width:19px;height:19px}html[data-crew-mode=accessible] .app-shell{grid-template-columns:1fr}html[data-crew-mode=accessible] .sidebar{min-height:0}html[data-crew-mode=accessible] .header-tools{width:100%;justify-content:flex-end}html[data-crew-mode=accessible] .brand strong{font-size:20px}}
@media(prefers-reduced-motion:reduce){.crew-appearance-button{transition:none}}
@media print{html[data-crew-mode],html[data-crew-mode] body{color-scheme:light;background:#fff;color:#000;--ink:#000;--navy:#000;--muted:#333;--paper:#fff;--line:#bbb;--white:#fff}html[data-crew-mode] :is(.report-paper,.departure-memo,.signature-drawing-area){background:#fff!important;color:#000!important;box-shadow:none}html[data-crew-mode] .report-paper *{color:#000}.crew-appearance{display:none!important}}

.muster-flow-bar{display:flex;align-items:center;position:sticky;top:var(--muster-flow-top,12px);z-index:9;width:fit-content;max-width:100%;margin:0 0 18px;pointer-events:none}
.muster-flow-current{display:block;max-width:100%;padding:9px 15px;border:1.35px solid var(--flow-border,#40637e);border-radius:11px;background:var(--flow-surface,rgba(247,251,254,.93));color:var(--flow-text,#18354b);font:inherit;font-size:13px;line-height:1.35;font-weight:600;box-shadow:0 3px 12px #18354b08;overflow-wrap:anywhere}
.muster-flow-footer{display:flex;justify-content:space-between;align-items:stretch;gap:18px;clear:both;width:100%;margin:30px 0 0;padding:24px 0 8px;border-top:1px solid var(--flow-divider,#bed0dd);color:var(--flow-text,#18354b)}
.muster-flow-footer[hidden]{display:none}
.muster-flow-link{display:flex;align-items:center;gap:12px;max-width:48%;min-width:0;padding:8px 3px;border:0;background:transparent;color:inherit;text-align:left;cursor:pointer;font:inherit;transition:opacity .18s ease}
.muster-flow-link:hover{opacity:.72}
.muster-flow-link:disabled{opacity:.5;cursor:wait}
.muster-flow-link:focus-visible{outline:2px solid currentColor;outline-offset:5px;border-radius:5px}
.muster-flow-next{margin-left:auto;text-align:right;flex-direction:row-reverse}
.muster-flow-link small,.muster-flow-link strong{display:block;overflow-wrap:anywhere}
.muster-flow-link small{font-size:11px;line-height:1.4;opacity:.7;font-weight:400}
.muster-flow-link strong{font-size:14px;line-height:1.45;font-weight:600}
.muster-flow-arrow{display:grid;place-items:center;flex:0 0 29px;width:29px;height:29px;border:1px solid var(--flow-divider,#bed0dd);border-radius:50%;font-size:17px;line-height:1}
[data-theme="dark"] .muster-flow-bar,[data-theme="dark"] .muster-flow-footer,.theme-dark .muster-flow-bar,.theme-dark .muster-flow-footer{--flow-border:#91b0c8;--flow-surface:rgba(24,41,55,.96);--flow-text:#eef6fc;--flow-divider:#476177}
[data-accessibility="true"] .muster-flow-current,[data-accessibility="true"] .muster-flow-link,.vision-mode .muster-flow-current,.vision-mode .muster-flow-link{font-size:18px;box-shadow:none}
@media(max-width:680px){.muster-flow-bar{top:var(--muster-flow-top,8px);margin-bottom:15px}.muster-flow-current{padding:8px 12px;font-size:12px}.muster-flow-footer{gap:12px;margin-top:24px;padding-top:20px}.muster-flow-link{gap:8px}.muster-flow-link strong{font-size:12px}.muster-flow-link small{font-size:10px}.muster-flow-arrow{width:25px;height:25px;flex-basis:25px;font-size:15px}}
@media(prefers-reduced-motion:reduce){.muster-flow-link{transition:none}}

:root{--muster-flow-top:calc(var(--crew-header-height,76px) + 8px)}
.muster-flow-bar{padding-top:8px;margin-left:18px}.muster-flow-footer{padding-inline:20px}
.app-header{min-width:0}.header-tools{min-width:0}.crew-appearance-button{width:44px;min-width:44px;min-height:44px}
@media(max-width:800px){.sidebar{top:var(--crew-header-height,66px)}.app-shell{grid-template-rows:auto minmax(0,1fr);align-content:start}.sidebar{align-items:center;align-self:start}}
@media(max-width:680px){.app-header{height:auto;min-height:76px;flex-wrap:wrap;padding-block:8px;gap:5px}.app-header .brand{flex:none}.app-header .header-tools{width:100%;justify-content:space-between;gap:5px}.app-header .user-info{flex:1;min-width:0;max-width:130px}.crew-appearance-button{width:44px;min-width:44px;min-height:44px}.crew-appearance{gap:1px}.app-header .brand strong{white-space:nowrap}.app-header .moscow-clock{display:none}.muster-flow-bar{margin-left:12px}}
html[data-crew-mode=accessible] .muster-flow-current,html[data-crew-mode=accessible] .muster-flow-link{font-size:18px}
html[data-crew-mode=accessible] .home-experience .summary-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}
html[data-crew-mode=accessible] .home-experience .crew-calendar-title{font-size:22px}
.stat-open .icon,.muster-totals-stat-action .icon{width:17px;height:17px;vertical-align:middle;margin-left:4px;transition:transform .24s ease}
.open-list-panel{transform-origin:16px 12px;transition:transform .24s ease}
:is(.stat,.muster-totals-stat):is(:hover,:focus-visible) .open-list-panel{transform:translateX(2px)}
:is(.stat,.muster-totals-stat):active .stat-open .icon{transform:scale(.9)}
@media(prefers-reduced-motion:reduce){.stat-open .icon,.muster-totals-stat-action .icon,.open-list-panel{transition:none;transform:none}}
@media(max-width:800px){.sidebar{flex-wrap:nowrap;overflow-x:auto;overflow-y:hidden;gap:6px}.sidebar .nav-button{flex:0 0 auto;width:max-content;max-width:none;white-space:nowrap}.sidebar .nav-button .icon,.sidebar .interaction-badge,.sidebar .online-count{flex-shrink:0}html[data-crew-mode=accessible] .sidebar{display:flex;flex-direction:row;min-height:0;gap:8px;padding-block:10px}html[data-crew-mode=accessible] .sidebar .nav-button{padding:10px 14px;line-height:1.5;overflow-wrap:normal}}

.muster-flow-bar{display:flex;align-items:center;position:sticky;top:var(--muster-flow-top,12px);z-index:9;width:fit-content;max-width:100%;margin:0 0 18px;pointer-events:none}
.muster-flow-bar{opacity:1;transition:opacity .3s ease}
.muster-flow-bar.is-idle{opacity:0}
.muster-flow-current{display:block;max-width:100%;padding:9px 15px;border:1.35px solid var(--flow-border,#40637e);border-radius:11px;background:var(--flow-surface,rgba(247,251,254,.93));color:var(--flow-text,#18354b);font:inherit;font-size:13px;line-height:1.35;font-weight:600;box-shadow:0 3px 12px #18354b08;overflow-wrap:anywhere}
.muster-flow-footer{display:flex;justify-content:space-between;align-items:stretch;gap:18px;clear:both;width:100%;margin:30px 0 0;padding:24px 0 8px;border-top:1px solid var(--flow-divider,#bed0dd);color:var(--flow-text,#18354b)}
.muster-flow-footer[hidden]{display:none}
.muster-flow-link{display:flex;align-items:center;gap:12px;max-width:48%;min-width:0;padding:8px 3px;border:0;background:transparent;color:inherit;text-align:left;cursor:pointer;font:inherit;transition:opacity .18s ease}
.muster-flow-link:hover{opacity:.72}
.muster-flow-link:disabled{opacity:.5;cursor:wait}
.muster-flow-link:focus-visible{outline:2px solid currentColor;outline-offset:5px;border-radius:5px}
.muster-flow-next{margin-left:auto;text-align:right;flex-direction:row-reverse}
.muster-flow-link small,.muster-flow-link strong{display:block;overflow-wrap:anywhere}
.muster-flow-link small{font-size:11px;line-height:1.4;opacity:.7;font-weight:400}
.muster-flow-link strong{font-size:14px;line-height:1.45;font-weight:600}
.muster-flow-arrow{display:grid;place-items:center;flex:0 0 29px;width:29px;height:29px;border:1px solid var(--flow-divider,#bed0dd);border-radius:50%;font-size:17px;line-height:1}
[data-theme="dark"] .muster-flow-bar,[data-theme="dark"] .muster-flow-footer,.theme-dark .muster-flow-bar,.theme-dark .muster-flow-footer{--flow-border:#91b0c8;--flow-surface:rgba(24,41,55,.96);--flow-text:#eef6fc;--flow-divider:#476177}
[data-accessibility="true"] .muster-flow-current,[data-accessibility="true"] .muster-flow-link,.vision-mode .muster-flow-current,.vision-mode .muster-flow-link{font-size:18px;box-shadow:none}
@media(max-width:680px){.muster-flow-bar{top:var(--muster-flow-top,8px);margin-bottom:15px}.muster-flow-current{padding:8px 12px;font-size:12px}.muster-flow-footer{gap:12px;margin-top:24px;padding-top:20px}.muster-flow-link{gap:8px}.muster-flow-link strong{font-size:12px}.muster-flow-link small{font-size:10px}.muster-flow-arrow{width:25px;height:25px;flex-basis:25px;font-size:15px}}
@media(prefers-reduced-motion:reduce){.muster-flow-link{transition:none}}
@media(prefers-reduced-motion:reduce){.muster-flow-bar{transition:none}}

/* Mobile cards own their fields; native date/time controls may shrink in WebKit. */
@media(max-width:800px){
 .muster-flow-bar{position:relative;top:auto;z-index:auto}
 :is(.form-grid,.report-dates-row,.schedule-fields,.contact-grid)>.field{min-width:0;max-width:100%}
 :is(.field,.report-date-field,.report-time-field,.leave-date-time,.leave-time-control){min-inline-size:0;max-inline-size:100%}
 :is(.field,.leave-date-time,.leave-time-control)>:is(input,select,textarea){box-sizing:border-box;min-inline-size:0;max-inline-size:100%;width:100%}
 input:is([type=date],[type=time]){box-sizing:border-box;display:block;min-inline-size:0;max-inline-size:100%;width:100%;-webkit-appearance:none;appearance:none}
 input:is([type=date],[type=time])::-webkit-date-and-time-value{min-inline-size:0;text-align:left}
 input:is([type=date],[type=time])::-webkit-datetime-edit{min-inline-size:0;padding:0}
}
@media(max-width:600px){
 .roster tr{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:12px;row-gap:12px}
 .roster td{min-inline-size:0;max-inline-size:100%}
 .roster .leave-date-time,.roster .leave-time-control{grid-template-columns:minmax(0,1fr);width:100%;min-inline-size:0}
 .roster td :is(.cell-date,.cell-time,.cell-select){display:block;box-sizing:border-box;width:100%;min-width:0;max-width:100%;font-size:16px;min-height:44px;line-height:1.35}
 .roster td.date-col>.mobile-label{min-height:2.6em}
 .roster .leave-time-control>span{line-height:1.4;min-height:1.4em}
 .roster td :is(.readonly-value,.where-value){min-width:0;max-width:100%;overflow-wrap:anywhere}
 .roster td.reset-col{gap:12px}
 .roster td.reset-col .mobile-label{flex:1;min-width:0}
 .roster td.reset-col .reset-button{flex:none}
 html[data-crew-mode=accessible] .roster td:is(.date-col,.presence-col,.reason-col,.location-col,.late-col){grid-column:1/-1;width:100%}
 html[data-crew-mode=accessible] .roster td.date-col>.mobile-label{min-height:0}
 html[data-crew-mode=accessible] .roster :is(.cell-date,.cell-time,.cell-select){height:auto;min-height:48px}
 html[data-crew-mode=accessible] .report-dates-row{grid-template-columns:minmax(0,1fr)}
 html[data-crew-mode=accessible] :is(.report-date-field,.report-time-field){grid-template-rows:auto minmax(48px,auto)}
}
@media(max-width:374px){
 .roster td.date-col,.roster-educator td.date-col,.roster-personnel td.date-col{grid-column:1/-1;width:100%}
 .roster td.date-col>.mobile-label{min-height:0}
 .report-dates-row{grid-template-columns:minmax(0,1fr)}
}

/* Secondary mobile layouts found by Safari/WebKit form audit. */
@media(max-width:600px){
 .page-heading{flex-wrap:wrap}
 .page-heading>div{min-width:0;max-width:100%}
 .page-heading>.small-button{max-width:100%}
 .users-list,.user-row,.user-row-actions{min-width:0;max-width:100%}
 .user-row-actions{flex-wrap:wrap}
 .user-row-actions button{max-width:100%;min-width:0;white-space:normal}
 .housing-stat{min-width:0}
 .housing-stat>:is(span,strong,small){min-width:0;max-width:100%;overflow-wrap:anywhere}
 html[data-crew-mode=accessible] .housing-stats{grid-template-columns:minmax(0,1fr)}
 html[data-crew-mode=accessible] .housing-stat>span{min-height:0}
}

/* One fixed header grid on every mobile route; role preview gets its own row. */
@media(max-width:680px){
 body .app-header,html[data-crew-mode=accessible] .app-header{display:grid;grid-template-columns:minmax(136px,1fr) 44px 44px 44px;grid-template-rows:minmax(44px,auto) 44px;align-items:center;gap:9px 6px;height:auto;min-height:0;padding:10px 12px 12px}
 body .app-header .header-tools,body.home-visual-active .app-header .header-tools,html[data-crew-mode=accessible] .app-header .header-tools{display:contents;width:auto;min-width:0}
 body .app-header .brand,body.home-visual-active .app-header .brand{grid-column:1/3;grid-row:1;min-width:0;max-width:100%;gap:8px;justify-self:start}
 body .app-header .brand .emblem-logo{width:35px;height:35px;flex:none}
 body .app-header .brand>span{min-width:0}
 body .app-header .brand strong,body.home-visual-active .app-header .brand strong,html[data-crew-mode=accessible] .app-header .brand strong{font-size:16px;line-height:1.35;white-space:nowrap;letter-spacing:-.35px}
 body .app-header .header-tools .user-info,body.home-visual-active .app-header .header-tools .user-info,html[data-crew-mode=accessible] .app-header .header-tools .user-info{grid-column:3/5;grid-row:1;justify-self:stretch;align-self:center;width:100%;min-width:0;max-width:100%;margin:0;padding:0;border:0;text-align:right;background:transparent}
 body .app-header .user-info strong{display:block;max-width:100%;font-size:12px;line-height:1.4;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
 body .app-header .user-info small,html[data-crew-mode=accessible] .app-header .user-info small{display:block;max-width:100%;font-size:11px!important;line-height:1.5;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
 body .app-header .crew-appearance{grid-column:1;grid-row:2;justify-self:start;align-self:center;gap:2px;margin:0;width:136px}
 body .app-header .crew-appearance-button,html[data-crew-mode=accessible] .app-header .crew-appearance-button{width:44px;height:44px;min-width:44px;min-height:44px;flex:0 0 44px;margin:0;padding:0}
 body .app-header .role-switch-button{grid-column:2;grid-row:2}
 body .app-header #logout{grid-column:4;grid-row:2}
 body .app-header :is(.role-switch-button,#logout){width:44px;height:44px;min-width:44px;min-height:44px;max-width:44px;padding:0;margin:0;justify-content:center}
 body .app-header :is(.role-switch-label,.logout-label){display:none!important}
 body .app-header .role-return-header{display:inline-flex;grid-row:3;grid-column:1/-1;justify-self:stretch;min-width:0;min-height:44px;max-width:100%;width:100%;margin:0;padding:8px 12px;gap:9px}
 body .app-header .role-return-header span{display:inline;min-width:0;overflow-wrap:anywhere}
 html[data-crew-mode=accessible] .app-header .user-info strong{font-size:13px!important}
}
@media(min-width:801px){.muster-flow-bar{display:none!important}}

/* Mobile table rows are cards; give the cards the same palette as their cells. */
html[data-crew-mode=dark] :is(.housing-table tbody tr,.duty-people tbody tr,.duty-empty,.cadet-duty-post,.educator-info,.report-approval-reason,.housing-floor-preview,.housing-delete-countdown,.summary-dialog-total,.login-copy-clean,.housing-money-icon){background:#1a2937;color:#e5edf5;border-color:#42596c}
html[data-crew-mode=dark] .housing-table tbody tr:nth-child(even){background:#243747}
html[data-crew-mode=dark] .housing-table tbody .housing-payment-row[data-payment=paid]{background:#244d3b;border-color:#548b6b}
html[data-crew-mode=dark] .housing-table tbody .housing-payment-row[data-payment=unpaid]{background:#542e38;border-color:#ad6576}
html[data-crew-mode=dark] .housing-table :is(td::before,.housing-login-id,.housing-login-id>small,.housing-residence-floor,.housing-muster-floor){color:#b8cbda}
html[data-crew-mode=dark] .duty-candidate.already-assigned:not(.selected){background:#244d3b;color:#c7f0d8;border-color:#548b6b}
html[data-crew-mode=dark] :is(.info-button,.reset-button){background:#15212d;color:#c3d7e7;border-color:#607a8d}
html[data-crew-mode=dark] .info-button:hover{background:#293d50;color:#e9f3fc}
html[data-crew-mode=dark] .reset-button:is(.saved,.confirmed){background:#244d3b;color:#c7f0d8;border-color:#548b6b}
html[data-crew-mode=dark] .home-experience .summary-grid .stat{background:#1a2937e8;color:#e5edf5;border-color:#607a8d}
html[data-crew-mode=dark] .home-experience .summary-grid .stat:hover{background:#243747f2}
html[data-crew-mode=dark] .home-experience .summary-grid .stat strong{color:#e3effa}
html[data-crew-mode=dark] .home-experience .summary-grid .stat :is(small,.stat-open){color:#b8cbda}
html[data-crew-mode=dark] :is(.muster-calendar-close,.muster-calendar-month-button,.muster-calendar-clear,.muster-calendar-day){background:#243747;color:#e5edf5;border-color:#49647a}
html[data-crew-mode=dark] .muster-calendar-day.is-selected{background:#365f7c;color:#fff;border-color:#a5d6fa}
html[data-crew-mode=dark] .muster-calendar-heading h2{color:#e3effa}
html[data-crew-mode=dark] :is(.muster-calendar-caption,.muster-calendar-weekdays){color:#b8cbda}
html[data-crew-mode=dark] .muster-totals-tone-neutral{--totals-color:#d2e4f1;--totals-bg:#34495b;--totals-border:#6b879d}
html[data-crew-mode=dark] .muster-totals-tone-green{--totals-color:#c7f0d8;--totals-bg:#244d3b;--totals-border:#548b6b}
html[data-crew-mode=dark] :is(.muster-totals-tone-red,.muster-totals-tone-rose){--totals-color:#ffd5de;--totals-bg:#542e38;--totals-border:#ad6576}
html[data-crew-mode=dark] .muster-totals-tone-yellow{--totals-color:#ffedb6;--totals-bg:#52451f;--totals-border:#a38e53}
html[data-crew-mode=dark] :is(.muster-totals-tone-purple,.muster-totals-tone-purple-hatch){--totals-color:#ecd6ff;--totals-bg:#463255;--totals-border:#9077a4}
html[data-crew-mode=dark] :is(.muster-totals-tone-blue,.muster-totals-tone-azure){--totals-color:#d0eaff;--totals-bg:#24475f;--totals-border:#6089a6}
html[data-crew-mode=dark] :is(.muster-totals-pending-button,.muster-totals-offline,.muster-totals-completion-icon){background:#52451f;color:#ffedb6;border-color:#a38e53}
html[data-crew-mode=dark] .muster-totals-pending-button:is(:hover,.is-selected){background:#625229;color:#fff2cb;border-color:#c1aa6e}
html[data-crew-mode=dark] .muster-totals-completion-copy :is(h2,p){color:#d2e4f1}
html[data-crew-mode=dark] .muster-totals-completion-notice.is-complete{background:#244d3b;border-color:#548b6b}
html[data-crew-mode=dark] .muster-totals-completion-notice.is-complete :is(h2,p,.muster-totals-completion-icon){color:#c7f0d8}
html[data-crew-mode=dark] .muster-totals-completion-notice.is-complete .muster-totals-completion-icon{background:#1d3e30;border-color:#548b6b}
html[data-crew-mode=dark] .housing-stat>span{color:#b8cbda}
html[data-crew-mode=dark] .muster-totals-roster tbody tr.color-purple-hatch td{background-color:#342b45;background-image:repeating-linear-gradient(135deg,transparent 0 15px,#655175 15px 16px,transparent 16px 32px)}


/* v54 section swipe: pull hint, smooth edges, no browser pull-to-refresh stealing the gesture. */
html,body{overscroll-behavior-y:contain}
.muster-flow-pull{position:fixed;left:50%;bottom:calc(18px + env(safe-area-inset-bottom,0px));z-index:70;display:flex;align-items:center;gap:10px;max-width:min(92vw,520px);padding:10px 16px;border-radius:999px;background:rgba(20,52,81,.94);color:#fff;font:600 14px/1.25 "Crew Manrope",Arial,sans-serif;box-shadow:0 10px 28px rgba(9,25,40,.28);opacity:0;transform:translate(-50%,12px) scale(.96);transition:opacity .18s ease,transform .26s cubic-bezier(.16,1,.3,1),background-color .18s ease;pointer-events:none;white-space:nowrap}
.muster-flow-pull.is-top{top:calc(var(--crew-header-height,64px) + 14px);bottom:auto;transform:translate(-50%,-12px) scale(.96)}
.muster-flow-pull.is-visible{opacity:1;transform:translate(-50%,0) scale(1)}
.muster-flow-pull.is-ready{background:#285c8e}
.muster-flow-pull-arrow{font-size:16px;line-height:1}
.muster-flow-pull-text{overflow:hidden;text-overflow:ellipsis}
.muster-flow-pull-progress{flex:0 0 42px;height:4px;border-radius:2px;background:rgba(255,255,255,.25);overflow:hidden}
.muster-flow-pull-progress i{display:block;height:100%;background:#8fc1ee;transform-origin:left center;transform:scaleX(var(--pull,0));transition:transform .06s linear}
.muster-flow-pull.is-ready .muster-flow-pull-progress i{background:#fff}
html[data-crew-mode=accessible] .muster-flow-pull{font-size:18px;padding:12px 20px}

/* Update 19: high contrast styling stays scoped to the combined muster screen. */
html[data-crew-mode=accessible] .headman-personnel-panel{border:2px solid #000;border-radius:0;background:#fff;color:#000}
html[data-crew-mode=accessible] .headman-personnel-toggle{font-size:20px;color:#000;background:#fff}
html[data-crew-mode=accessible] #headman-personnel-roster{border-top:2px solid #000}
html[data-crew-mode=accessible] .headman-muster-page [data-roster-host] .page-heading h2{font-size:24px}
@media(min-width:1340px){html[data-crew-mode=accessible] .headman-muster-page #headman-floor-roster .roster-wrap{overflow:auto}html[data-crew-mode=accessible] .headman-muster-page #headman-floor-roster .roster th{top:0}}
/* Home picture: the greeting's pixel lens, on hover. */
.home-experience .home-art-lens{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;mask-image:linear-gradient(90deg,transparent 0%,#00000018 3%,#00000080 8%,#000 17%);-webkit-mask-image:linear-gradient(90deg,transparent 0%,#00000018 3%,#00000080 8%,#000 17%)}
@media(max-width:680px){.home-experience .home-art-lens{mask-image:none;-webkit-mask-image:none}}
html[data-crew-mode=accessible] .home-experience .home-art-lens{display:none}

/* Keep the mobile drawing crisp; soften only its sides and lower edge. */
@media(max-width:680px){
 .home-experience .home-art-visual{mask-image:linear-gradient(90deg,transparent 0%,#000 28px,#000 calc(100% - 28px),transparent 100%),linear-gradient(180deg,#000 0%,#000 74%,#000000df 82%,#00000070 91%,#00000018 97%,transparent 100%);-webkit-mask-image:linear-gradient(90deg,transparent 0%,#000 28px,#000 calc(100% - 28px),transparent 100%),linear-gradient(180deg,#000 0%,#000 74%,#000000df 82%,#00000070 91%,#00000018 97%,transparent 100%);mask-composite:intersect;-webkit-mask-composite:source-in}
 .home-experience .home-art-source{filter:none}
 .home-experience .home-art-plaques{display:none}
}
