@font-face{font-family:Raleway;src:url('/brand/fonts/Raleway-Regular.ttf') format('truetype');font-weight:400;font-display:swap}
@font-face{font-family:Raleway;src:url('/brand/fonts/Raleway-SemiBold.ttf') format('truetype');font-weight:500 600;font-display:swap}
@font-face{font-family:Raleway;src:url('/brand/fonts/Raleway-Bold.ttf') format('truetype');font-weight:700 900;font-display:swap}
@font-face{font-family:Butler;src:url('/brand/fonts/Butler.woff2') format('woff2');font-weight:400;font-display:swap}
@font-face{font-family:Butler;src:url('/brand/fonts/Butler-Medium.woff2') format('woff2');font-weight:500 900;font-display:swap}
:root{
  --brand-gold:rgb(228 191 128);
  --brand-dark:rgb(23 27 32);
  --brand-navy:rgb(27 51 68);
  --brand-white:rgb(255 255 255);
  --brand-grey:rgb(196 207 218);
  --brand-surface:#202e3a;
  --brand-raised:#293e4e;
  --brand-line:#647580;
  color-scheme:dark;
  font-family:Raleway,Arial,sans-serif;
  color:var(--brand-white);
  background:var(--brand-dark);
}
body{background:linear-gradient(135deg,var(--brand-dark),var(--brand-navy)) fixed;color:var(--brand-white)}
button,input,select,textarea{font-family:Raleway,Arial,sans-serif}
h1,h2,h3{font-family:Butler,Georgia,serif;font-weight:400;line-height:1.2}
:focus-visible{outline-color:var(--brand-gold)!important}
.top{background:var(--brand-dark);border-bottom-color:var(--brand-gold)}
.top-inner{min-height:84px}
.wordmark img{display:block;width:108px;height:auto;object-fit:contain}
.wordmark small{color:var(--brand-gold);font-weight:700;letter-spacing:.12em}
.language select{background:var(--brand-surface);color:var(--brand-white);border-color:var(--brand-line)}
.loading,.welcome,.card,.photo{background:var(--brand-surface);color:var(--brand-white);border-color:var(--brand-line);box-shadow:0 4px 14px #0002}
.loading-logo{display:block;width:170px;height:auto;margin:0 auto 1rem}
.loading p,.welcome p,.page-head p,.section-head p,.arrival p,.muted,.card label:not(.duty-title):not(.checkline):not(.language),.clock-grid small,.duty-group summary span{color:var(--brand-grey)}
.welcome h1,.page-head h1,.card h2{font-family:Butler,Georgia,serif;font-weight:400}
.eyebrow,.arrival .eyebrow{color:var(--brand-gold)}
.arrival{background:linear-gradient(135deg,var(--brand-dark),var(--brand-navy));border-color:var(--brand-gold)}
.clock{border-left-color:var(--brand-gold)}
.clock-grid div{background:var(--brand-raised)}
.clock-grid strong{color:var(--brand-white)}
.button{background:var(--brand-raised);border-color:var(--brand-line);color:var(--brand-white)}
.button.primary{background:var(--brand-gold);border-color:var(--brand-gold);color:var(--brand-dark)}
.button.secondary{background:var(--brand-navy);border-color:var(--brand-gold);color:var(--brand-white)}
.text-button{color:var(--brand-gold)}
.recent a,.choice{background:var(--brand-raised);border-color:var(--brand-line);color:var(--brand-grey)}
.recent a[aria-current=page],.choice.selected{background:var(--brand-navy);border-color:var(--brand-gold);color:var(--brand-gold)}
.progress{background:linear-gradient(to right,var(--brand-gold) var(--value),var(--brand-line) var(--value))}
.duty-group,.duty,.issue,.question{border-color:var(--brand-line)}
.duty-group summary,.duty-title{color:var(--brand-white)}
.duty-group summary:before{color:var(--brand-gold)}
.duty-title input,.checkline input{accent-color:var(--brand-gold)}
.card input:not([type=checkbox]),.card select,.card textarea{background:var(--brand-dark);color:var(--brand-white);border-color:var(--brand-line)}
.card input:disabled,.card textarea:disabled,.card select:disabled{background:var(--brand-raised);color:var(--brand-grey)}
.card input::placeholder,.card textarea::placeholder{color:var(--brand-grey)}
.photo img{background:var(--brand-raised)}
.sticky-actions{background:var(--brand-dark);border-color:var(--brand-line);box-shadow:0 -8px 25px #0004}
.sticky-actions p{color:var(--brand-gold)}
.alert{background:#422c31;color:#ffbbb5;border-left-color:#ffbbb5}
.success{background:#223e39;color:#aae2c5;border-left-color:#aae2c5}
 .clock-actions{display:flex;flex-wrap:wrap;gap:.65rem}
.header-controls{display:flex;align-items:center;gap:.9rem;flex-wrap:wrap;justify-content:flex-end}
.theme-toggle{background:transparent;color:var(--brand-gold);border:1px solid var(--brand-gold);border-radius:.35rem;padding:.45rem .7rem;min-height:40px}
:root[data-theme='light']{--brand-dark:#f5f8f8;--brand-navy:#e4edf0;--brand-white:#1b2d38;--brand-grey:#526773;--brand-surface:#fff;--brand-raised:#eaf1f3;--brand-line:#9daeb7;color-scheme:light}
:root[data-theme='light'] body{background:linear-gradient(135deg,#f5f8f8,#e4edf0) fixed}
:root[data-theme='light'] .top{background:rgb(23 27 32)}
:root[data-theme='light'] .language{color:#fff}
:root[data-theme='light'] .language select{background:#26343e;color:#fff;border-color:#62717b}
:root[data-theme='light'] .eyebrow,:root[data-theme='light'] .text-button,:root[data-theme='light'] .duty-group summary:before{color:#855e2c}
:root[data-theme='light'] .button.primary{color:#171b20}
:root[data-theme='light'] .button.secondary{color:#1b2d38}
:root[data-theme='light'] .arrival{background:#e4edf0}
:root[data-theme='light'] .sticky-actions{background:#fff;box-shadow:0 -8px 25px #22334415}
:root[data-theme='light'] .alert{background:#fff0ee;color:#8a3028}
:root[data-theme='light'] .success{background:#e5f2e8;color:#24513c}
@media(max-width:640px){.top-inner{align-items:flex-start}.header-controls{gap:.4rem}.theme-toggle{font-size:.75rem;padding:.35rem .5rem}.language{gap:.3rem}}
.photo-toolbar{position:sticky;top:0;z-index:8;background:var(--brand-dark);border:1px solid var(--brand-line);border-top:3px solid var(--brand-gold);border-radius:.35rem;padding:.75rem;margin:1rem 0;box-shadow:0 4px 12px #0003}
.photo-toolbar .photo-actions{display:grid;grid-template-columns:1fr 1fr;gap:.65rem}.photo-toolbar small{display:block;margin-top:.5rem;color:var(--brand-grey)}
.photo-preview{display:block;width:100%;padding:0;border:0;background:transparent;color:var(--brand-white);text-align:left}.photo-preview span{display:block;font-size:.875rem;text-decoration:underline;margin-top:.4rem}
.issue-location::placeholder{opacity:.7}.issue-location:focus::placeholder{color:transparent!important}.issue{scroll-margin-top:6rem}
.issue-detail::placeholder{opacity:.7}.issue-detail:focus::placeholder{color:transparent!important}
#additional-comments textarea{min-height:3.5rem}
.preview-dialog{max-width:min(94vw,1100px);max-height:94dvh;padding:1rem;border:1px solid var(--brand-line);border-radius:.4rem;background:var(--brand-surface);color:var(--brand-white)}
.preview-dialog::backdrop{background:#000b}.preview-dialog form{display:flex;justify-content:flex-end;margin-bottom:1rem}.preview-dialog img{display:block;max-width:100%;max-height:75dvh;object-fit:contain;margin:auto}
@media(max-width:640px){.photo-toolbar{padding:.55rem;margin-inline:-.25rem}.photo-toolbar .button{font-size:.875rem;padding:.65rem .5rem}.section-head{flex-wrap:wrap}.preview-dialog{padding:.6rem}}

.duty-group summary input[type=checkbox]{width:1.3rem;height:1.3rem;flex:none;margin:0 .7rem 0 0;accent-color:var(--brand-gold);cursor:pointer}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

.sticky-actions{position:fixed;left:50%;transform:translateX(-50%);bottom:0;width:min(100%,920px);margin:0;padding:.4rem .65rem max(.4rem,env(safe-area-inset-bottom));display:block;z-index:10}
.sticky-actions p{font-size:.8rem;line-height:1.2;margin:0;text-align:center}.sticky-actions p:empty{display:none}
.field-action-group{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.4rem;width:min(100%,320px);margin-inline:auto}
.sticky-actions .button{min-height:24px;padding:.2rem .4rem;font-size:.875rem;line-height:1.2;min-width:0}
@media(max-width:540px){.field-action-group{grid-template-columns:repeat(2,minmax(0,1fr))}.sticky-actions .button{min-height:26px}}

.theme-toggle{display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;min-width:42px;border-radius:50%;border:2px solid var(--brand-gold);background:transparent;color:var(--brand-gold);padding:0;font-size:1.3rem;line-height:1}
.theme-toggle span{display:block;line-height:1}
.group-photo-actions{display:flex;flex-wrap:wrap;gap:.5rem;padding:.7rem 0 1rem;border-top:1px solid var(--brand-line)}
.group-photo-actions .button{font-size:.875rem;padding:.35rem .7rem;min-height:34px}
@media(max-width:640px){.group-photo-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.4rem}.group-photo-actions .button{width:100%;min-width:0;min-height:34px;padding:.35rem .2rem;font-size:.76rem;line-height:1.2;white-space:normal;text-align:center}}
.sticky-actions .button{min-height:34px}
.photo-group{margin:.45rem 0;color:var(--brand-gold);font-weight:600;font-size:.875rem}
.sticky-actions p:not(:empty){margin-bottom:.25rem}
