/* Automatic system theme. Brand colours remain the source of all UI accents. */
:root{color-scheme:light;--orange:#ff883e;--flag-green:#169b62;--lime:#5fbd00;--page:#f7f9f4;--page-ink:#193b2a;--page-muted:#5c7061;--surface:#ffffff;--surface-alt:#edf3e9;--field:#fafcf8;--ink:#213b2b;--muted:#5d6f61;--line:#d8e3d6;--accent:#146541;--accent-ink:#fffdf5;--link:#146541;--hover:#dceccf;--hover-ink:#163b24;--secondary:#9d5e24;--focus:#8c571f;--shadow:0 8px 28px #183d2810;--green:var(--accent)}
@media(prefers-color-scheme:dark){
 :root{color-scheme:dark;--page:#121412;--page-ink:#f0f3e9;--page-muted:#acb9ac;--surface:#1b231d;--surface-alt:#253128;--field:#151c17;--ink:#f0f3e9;--muted:#b3c0b2;--line:#3c4b3e;--accent:#76c597;--accent-ink:#10291b;--link:#94d4ad;--hover:#345a40;--hover-ink:#f3faed;--secondary:#e3ad7c;--focus:#e3ad7c;--shadow:0 8px 28px #00000035;--green:var(--accent)}
}
html,body{background:var(--page);color:var(--page-ink)}body{background-image:none}
/* Square UI geometry. Only surfaces displaying pictures retain rounded edges. */
body *,body *::before,body *::after{border-radius:0!important}
body .brand-icon{border-radius:12px!important}
body .hero:has(img){border-radius:20px!important;overflow:hidden}
body .media-card,body .media-open{border-radius:10px!important;overflow:hidden}
body .media-card .media-open{border-radius:0!important}
body .program-web-card:has(.program-cover){border-radius:16px!important;overflow:hidden}
body .program-cover-editor .program-cover{border-radius:12px!important}
/* Normal text throughout; headings and buttons may carry weight. */
body *{font-weight:400!important}
body :is(h1,h2,h3,h4,h5,h6,button,.button),body :is(h1,h2,h3,h4,h5,h6,button,.button) *{font-weight:600!important}
body .cover-hero h1,body .cover-hero h1 *{font-weight:400!important}
.masthead{color:var(--page-ink);align-items:center}.brand small,.edition{color:var(--page-muted)}.brand-icon{background:#fff9ed;border-color:transparent}
.header-actions{display:flex;align-items:center;gap:12px}.header-logout{margin:0}.header-logout button{height:46px;white-space:nowrap}
.panel,.login,.empty,.media-card,.trip-index,.upload-disclosure,.stats>div,.user-card,.program-web-card.panel{background:var(--surface);color:var(--ink);border-color:var(--line);box-shadow:var(--shadow)}
.hero:not(.cover-hero){background:var(--surface);color:var(--ink)}.hero:not(.cover-hero) p{color:var(--muted)}
.hero .pill{background:var(--surface);color:var(--ink);border-color:var(--line)}.cover-hero .pill{background:#082d2570;border-color:#fff8;color:#fff;box-shadow:none}
.cover-hero,.cover-hero .eyebrow,.cover-hero h1,.cover-hero h1 em,.cover-hero p{color:#fff}
.section-heading h2,.section-heading p,.section-heading .eyebrow,.gallery-page .section-heading p:not(.eyebrow),.manager-page .section-heading p:not(.eyebrow){color:var(--page-ink)}
.eyebrow{color:var(--muted)}.section-heading .eyebrow{color:var(--page-muted)}
.panel :is(h2,h3,h4),.program-web-card h4,.program-web-day .panel h3,.manager-upload h2{color:var(--ink)}
.muted,.login p,.card-caption>span,.program-description,.stats span,.empty p{color:var(--muted)}
label{color:var(--ink)}.masthead label,.manager-page>.section-heading label,.manager-page main>.section-heading label{color:var(--page-ink)}
input,select,textarea{background:var(--field);color:var(--ink);border-color:var(--line);border-radius:0;box-shadow:none}
input::placeholder,textarea::placeholder{color:var(--muted);opacity:1}
input:focus,select:focus,textarea:focus{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent)}
input[type=checkbox]{accent-color:var(--accent)}input::file-selector-button{background:var(--surface-alt);color:var(--ink);border-radius:0}
button,.button{background:var(--accent);color:var(--accent-ink);border-color:var(--accent);box-shadow:none}
button.secondary,.secondary,.emergency-menu summary{background:var(--surface);color:var(--link);border-color:var(--line)}
.text-button{background:transparent;color:var(--link);border-color:transparent}
.manager-page main>.section-heading .text-button{color:var(--page-ink)}
button.danger{background:#a53d2d;color:white;border-color:#a53d2d}
a{color:inherit}.skip-link{background:var(--surface);color:var(--ink);border:1px solid var(--accent)}
button:not(:disabled):hover,.button:hover,.text-button:hover,.secondary:hover,.emergency-menu summary:hover,.emergency-actions a:hover,.emergency-actions button:hover,.trip-navigation a:hover,.tabs a:hover,.tabs a.active:hover,.trip-navigation a[aria-current=page]:hover,.program-resource-links a:hover,.program-day-jumps a:hover,.trip-index a:hover,.upload-disclosure>summary:hover,.user-card>summary:hover,.optional-links summary:hover{background:var(--hover);color:var(--hover-ink);border-color:var(--hover);box-shadow:none;filter:none}
a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid var(--focus);outline-offset:3px}
body button.media-open{background:var(--surface-alt);color:var(--ink);border:0;padding:0}
body button.media-open:hover{background:var(--surface-alt);box-shadow:inset 0 0 0 3px var(--hover)}
.media-open:hover img{outline:3px solid var(--hover);outline-offset:-3px}
.media-type,.media-initials{background:#06281bcc;color:#fff}.media-type .fa-icon{color:#fff}
.media-favorite{background:#071c18aa;color:white;border:0}.media-favorite[aria-pressed=true]{color:#ffd43b}.media-favorite:hover{background:var(--hover);color:var(--hover-ink)}
.card-caption,.select-item{border-color:var(--line)}.card-caption strong{color:var(--ink)}
.trip-navigation,.tabs{background:var(--surface);border-color:var(--line);box-shadow:var(--shadow);backdrop-filter:none}
.trip-navigation{width:560px;max-width:calc(100% - 32px);padding:8px;gap:8px}
.trip-navigation a{flex:1;text-align:center;font-size:20px;min-height:68px;padding:18px 28px;display:flex;align-items:center;justify-content:center;gap:9px;background:transparent;color:var(--muted)}
.tabs a{color:var(--muted)}.trip-navigation a[aria-current=page],.tabs a.active{background:var(--accent);color:var(--accent-ink);box-shadow:none}
/* Equal control heights, including native selects in Safari. */
.filters{background:var(--surface);color:var(--ink);border-color:var(--line);grid-template-columns:repeat(4,minmax(0,1fr)) minmax(0,1.2fr) auto;align-items:end;gap:14px}
.filters label{position:relative;display:flex;flex-direction:column;gap:8px;font-size:13px;line-height:20px;min-width:0;margin:0}
.filters :is(input,select){display:block;width:100%;height:48px;min-height:48px;max-height:48px;box-sizing:border-box;margin:0;padding:0 12px;font-size:15px;line-height:normal}
.filters select{-webkit-appearance:none;appearance:none;padding-right:35px}
.filters label:has(select)::after{content:"";position:absolute;right:13px;bottom:18px;width:12px;height:12px;background:var(--ink);mask:url('/assets/select-chevron.svg') center/contain no-repeat;-webkit-mask:url('/assets/select-chevron.svg') center/contain no-repeat;pointer-events:none}
.filters>button.secondary{height:48px;min-height:48px;max-height:48px;padding:0 18px;background:var(--accent);color:var(--accent-ink);border-color:var(--accent);align-self:end}
.filters>button.secondary:hover{background:var(--hover);border-color:var(--hover);color:var(--hover-ink)}
.filters .filter-reset{grid-column:1/-1;height:auto;max-height:none;padding:8px 0;background:transparent;color:var(--link)}
.filters .filter-reset:hover{color:var(--hover-ink);background:var(--hover)}
.gallery-page main>#trip-login{width:calc(100% - 48px);max-width:540px;margin:36px auto;padding:36px}
.gallery-page main>.day-group{padding:0 24px;margin:0 auto}
.gallery-page .day-group h2{padding:0;max-width:none;margin:30px 0 16px;color:var(--page-ink)}
.empty{border-color:var(--line)}.empty-icon{background:var(--surface-alt);color:var(--accent)}
.program-day-jumps a{background:var(--surface);color:var(--link);border-color:var(--line)}
.program-timeline-heading h3,.program-timeline-heading>.eyebrow,.program-timeline-time{color:var(--page-ink)}
.program-day-number{background:var(--accent);color:var(--accent-ink);box-shadow:0 0 0 6px var(--page)}
.program-web-day::before{background:var(--page-ink);opacity:.3}.program-timeline-point::before{background:var(--accent);border-color:var(--page);box-shadow:0 0 0 2px var(--accent)}
.program-place,.program-place .fa-icon{color:var(--link)}.program-resource-links a{background:var(--surface-alt);color:var(--link);border-color:var(--line)}
.program-cover-editor,.optional-links,.attachment-row,.toolbar,.user-card[open]>summary{border-color:var(--line)}
.program-day{border-top-color:var(--accent)}.program-point{background:var(--surface-alt);border-color:var(--line);color:var(--ink)}.program-point legend,.optional-links summary{color:var(--link)}
.attachment-row a,.trip-contacts a,#manager-upload-refresh{color:var(--link)}
.trip-index nav{color:var(--ink)}.trip-index a[aria-current=location]{background:var(--surface-alt);color:var(--link);box-shadow:inset 3px 0 var(--accent)}#trip-index-days ol{border-color:var(--line)}#trip-index-days ol a{color:var(--muted)}
.program-day .remove-day,.program-point .remove-point{color:var(--link)}
.index-toggle{background:transparent;color:var(--link)}.save-bar{background:var(--surface);border-color:var(--line);color:var(--ink);backdrop-filter:none}.save-bar span{color:var(--muted)}.save-bar.is-dirty{border-color:var(--accent)}.save-bar.is-dirty span{color:var(--link)}
.upload-disclosure>summary{color:var(--link)}.upload-disclosure>summary>.fa-icon:first-child{background:var(--surface-alt)}.upload-disclosure small{color:var(--muted)}.upload-disclosure .manager-upload{border-color:var(--line)}.manager-upload progress{accent-color:var(--accent)}
.selection-count{color:var(--page-ink)}#trip-editor>.muted,#trip-editor>#program-status{color:var(--page-ink)}
.notice,#manager-media-status:not(:empty){background:var(--surface);color:var(--ink);border-color:var(--accent)}.error{background:var(--surface);color:var(--ink);border-color:#d96b51}.error::before{content:"";display:inline-block;width:4px;height:1em;margin-right:10px;background:#d96b51}
#manager-upload-errors{color:var(--link)}
.emergency-menu summary>.fa-icon:first-child{color:var(--secondary)}.emergency-actions{background:var(--surface);border-color:var(--line)}.emergency-actions a,.emergency-actions button{background:transparent;color:var(--ink)}.emergency-actions small{color:var(--muted)}.emergency-actions .fa-icon{color:var(--accent)}
.emergency-actions a:hover .fa-icon,.emergency-actions button:hover .fa-icon,.emergency-menu summary:hover .fa-icon{color:var(--hover-ink)}
#location-dialog{background:var(--surface);color:var(--ink)}#location-dialog .location-close{background:transparent;color:var(--link)}#location-dialog .location-close:hover{background:var(--hover);color:var(--hover-ink)}
#lightbox{background:#07120e;color:white}#lightbox .close-dialog,#lightbox .lightbox-prev,#lightbox .lightbox-next{background:#173b2e;color:white;border-color:#6f877780}#lightbox button:not(:disabled):hover{background:var(--hover);color:var(--hover-ink)}.lightbox-bottom{background:#07120e}#lightbox-position{color:#bdd0c3}
footer{color:var(--page-ink);border-color:var(--page-muted)}
@media(max-width:1100px){.filters{grid-template-columns:repeat(3,minmax(0,1fr))}.filters>.secondary{grid-column:auto}.filters .filter-reset{grid-column:1/-1}}
@media(max-width:760px){
 .masthead{gap:14px;flex-wrap:wrap}.header-actions{gap:8px;margin-left:auto}.header-logout button{font-size:12px;padding:10px;height:44px}.header-logout button .fa-icon{display:none}.emergency-menu summary{height:44px}
 .trip-navigation{width:560px;max-width:calc(100% - 32px);padding:6px;gap:6px}.trip-navigation a{font-size:18px;min-height:64px;padding:16px 12px}
 .filters{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 12px}.filters :is(input,select){font-size:16px}.filters label{font-size:12px}.filters .filter-reset{grid-column:1/-1}
 .gallery-page main>.day-group{padding:0 16px}.gallery-page .day-group h2{padding:0}.gallery-page main>#trip-login{width:calc(100% - 32px);margin:26px auto;padding:26px}
 .trip-index{background:var(--surface)}.program-timeline-heading [id]{scroll-margin-top:125px}
}
@media(max-width:430px){.masthead{align-items:flex-start}.header-actions{justify-content:flex-end;flex:1 1 100%}.masthead:has(.header-logout){gap:12px}.masthead:not(:has(.header-logout)) .header-actions{flex:0 0 auto}.brand{max-width:190px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{transition:none!important}}
.gallery-page main>.day-group{max-width:1200px}
.toolbar{background:var(--surface);color:var(--ink);border:1px solid var(--line);padding:18px 20px}
.toolbar .selection-count,.toolbar>label{color:var(--ink)}
.program-place,.program-place .fa-icon{color:var(--secondary)}
.gallery-page main>nav.trip-navigation{width:min(560px,calc(100% - 32px));max-width:calc(100% - 32px)}
select{-webkit-appearance:none;appearance:none;padding-right:36px}
label:has(>select){position:relative}
label:has(>select)::after{content:"";position:absolute;right:13px;bottom:18px;width:12px;height:12px;background:var(--ink);mask:url('/assets/select-chevron.svg') center/contain no-repeat;-webkit-mask:url('/assets/select-chevron.svg') center/contain no-repeat;pointer-events:none}

button.media-favorite[aria-pressed=true]:hover{color:#ffd43b}
