/* Shared color tokens keep every page and the management preview in the selected theme. */
:root {
  --primary:#0752a0; --primary-dark:#073568; --primary-soft:#eaf3ff;
  --accent:#0752a0; --accent-soft:#eaf3ff; --accent-line:#bfd7f5;
  --surface:#fff; --page:#f7faff; --studio:#edf2f8;
  --ink:#10274b; --muted:#667b98; --line:#e0e9f4; --gold:#3475b8;
  --red:var(--primary); --red-dark:var(--primary-dark); --red-soft:var(--primary-soft);
  --paper:var(--page); --hero-shade:rgba(3,47,110,.88);
}
:root[data-theme="blue-pink"] {
  --primary:#075ce0; --primary-dark:#073984; --primary-soft:#edf4ff;
  --accent:#d82d85; --accent-soft:#fff0f8; --accent-line:#f7b6d8;
  --page:#fbfaff; --studio:#f0f3fb; --hero-shade:rgba(3,74,181,.84);
  --gold:var(--accent);
}
body{background:var(--studio);color:var(--ink)}
.studio-bar,.intro-divider,.feature-links button{border-color:var(--line)}
.mode-switch{background:#e0e8f3}.mode-switch button{color:var(--muted)}
.mode-switch button.active{background:var(--surface)}
.studio-status,.eyebrow,.intro-copy,.intro-caption,.preview-note,.preview-note small,
.edition-signature small,.feature-links span,.device-caption,.studio-footer,.side-note,
.side-note>span:last-child{color:var(--muted)}
.edition-signature>span{color:var(--primary)}
.intro-divider,.edition-signature i,.vertical-line{background:var(--line)}
.note-dot,.studio-status>span,.device-caption>span{background:var(--accent)}
.intro h1{letter-spacing:2px}
.device{background:var(--surface);box-shadow:0 30px 55px #10274b20,0 4px 12px #10274b12}
.mini-header,.bottom-nav{border-color:var(--line)}
.mini-header strong{color:var(--primary-dark)}
.mini-header>div>span{color:var(--muted)}
.bottom-nav button{color:#7889a2}
.bottom-nav button.active:after{background:var(--accent);width:5px;height:5px}
.hero{height:252px;background:var(--primary-soft)}
.hero-image{filter:none;object-position:center;object-fit:cover}
.hero:after{background:linear-gradient(180deg,rgba(4,32,75,.12),transparent 24%,transparent 37%,var(--hero-shade) 100%)}
.hero-top{color:#fff}.hero-top>span:last-child{border-color:#ffffff65}
.hero-copy{bottom:24px;left:21px;right:35px}
.hero-copy p{color:#e7f1ff;font-size:9px;letter-spacing:1.5px;margin-bottom:8px}
.hero-copy h2{font:650 25px/1.4 var(--font);letter-spacing:.5px;color:#fff}
.hero-copy h2:after{content:"";display:block;width:32px;height:3px;border-radius:3px;background:var(--accent);margin-top:10px}
:root[data-theme="blue"] .hero-copy h2:after{background:#ffffff80}
.hero-bottom{right:15px;bottom:29px;color:#fff}
.overview-strip{border-color:var(--line);padding:16px 0}
.overview-strip span,.overview-strip .pending{color:var(--muted)}
.overview-strip .pending{color:var(--primary);font-size:12px;font-weight:600}
.edition-tabs button{color:var(--muted);position:relative}
.edition-tabs button.active{background:var(--primary);color:#fff;border-radius:6px}
:root[data-theme="blue-pink"] .edition-tabs button.active:after{content:"";height:3px;position:absolute;bottom:0;left:8px;right:8px;border-radius:3px;background:#fa79b9}
.section-heading h3,.subhead{color:var(--primary-dark)}
.section-heading h3 small,.text-button,.home-shortcuts small{color:var(--muted)}
.section-heading h3{font-weight:650;font-size:16px}
.section-heading h3:before{content:"";display:inline-block;width:3px;height:15px;background:var(--accent);border-radius:2px;margin-right:8px;vertical-align:-2px}
.home-shortcuts.photo-shortcuts{margin-top:0;gap:11px}
.photo-shortcuts button{display:block;position:relative;height:149px;padding:0;border-radius:8px;overflow:hidden;border:1px solid var(--line);background:var(--primary-soft);color:#fff}
.shortcut-image{position:absolute;inset:0}
.shortcut-image img{width:100%;height:100%;object-fit:cover;object-position:center}
.photo-shortcuts button:first-child .shortcut-image img{object-position:52% 40%}
.photo-shortcuts button:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,var(--hero-shade),transparent 75%)}
.shortcut-caption{position:absolute;z-index:1;left:12px;bottom:13px;right:26px}
.shortcut-caption b{font-size:14px;font-weight:600;letter-spacing:.5px}
.photo-shortcuts .shortcut-caption small{color:#e8f1ff;font-size:8px;line-height:1.8;margin-top:4px;letter-spacing:0}
.shortcut-arrow{position:absolute;z-index:1;right:9px;bottom:15px;width:23px;height:23px;border-radius:50%;display:grid;place-items:center;background:var(--accent);color:#fff}
.photo-shortcuts .shortcut-arrow .icon{width:13px;height:13px;color:inherit}
.annual-entry{display:flex;align-items:center;gap:9px;margin-top:12px;width:100%;padding:15px 12px;border-radius:7px;background:var(--accent-soft);color:var(--primary-dark);text-align:left;border:1px solid var(--line)}
.annual-entry>.icon:first-child{color:var(--accent);width:18px;height:18px}
.annual-entry b{font-size:11px;letter-spacing:.3px;white-space:nowrap}
.annual-entry small{font-size:8px;color:var(--muted);margin-left:auto;white-space:nowrap}
.annual-entry>.icon:last-child{width:13px;height:13px;color:var(--primary)}
.section-foot{color:var(--muted);padding-top:19px;font-size:8px;letter-spacing:.4px}
.page-head .kicker,.page-head>p:last-child,.data-notice,.stat-grid span,.gallery-end,
.gallery-filters>span,.asset-card>p,.empty-state,.group-album-text p,.role-hint,
.profile-menu .count,.detail-body>.kicker,.detail-body>p,.simple-modal p{color:var(--muted)}
.page-head h2{font-family:var(--font);font-size:23px;font-weight:600;letter-spacing:.4px;line-height:1.5}
.data-notice:before{background:var(--accent)}
.honor-card{background:var(--primary-soft)}
.honor-card .icon{color:var(--primary)}.honor-card p{color:var(--muted)}
.honor-state{background:var(--surface);color:var(--primary)}
.search-box{background:var(--primary-soft)}
.search-box .icon,.search-box input::placeholder{color:var(--muted)}
.filter-chip{border-color:var(--line);color:var(--muted)}
.filter-chip.active{background:var(--accent-soft);border-color:var(--accent-line);color:var(--accent)}
.gallery-filters button{color:var(--muted)}
.gallery-filters button.active,.gallery-filters button.active:after{color:var(--primary)}
.gallery-filters button.active:after{background:var(--accent)}
.locked-picture{background:repeating-linear-gradient(135deg,var(--primary-soft),var(--primary-soft) 1px,var(--page) 1px,var(--page) 14px);color:var(--muted)}
.group-feature{background:var(--primary-soft);border-color:var(--line)}
.group-feature:before{color:#d4e4fb}.group-people{color:var(--primary)}
.group-feature h3{color:var(--primary-dark)}.group-feature p{color:var(--muted)}
.group-album-thumb,.group-album:nth-child(2n) .group-album-thumb{background:var(--primary-soft);color:var(--primary)}
.group-album:nth-child(2n) .group-album-thumb{background:var(--accent-soft);color:var(--accent)}
.group-album>.icon,.group-list .section-heading>span{color:var(--muted)!important}
.profile-head{background:linear-gradient(125deg,var(--primary),var(--primary-dark))}
.profile-row p,.role-badge,.avatar .icon{color:#d8eaff}
.role-options button{color:var(--muted)}
.role-options button.active{background:var(--primary-soft);border-color:var(--accent-line)}
.profile-menu button>.icon:first-child{color:var(--primary)}
.profile-menu button>.icon:last-child{color:var(--muted)}
.permission-note{border-color:var(--accent-line);background:var(--accent-soft);color:var(--muted)}
.wide-button.secondary{background:var(--accent-soft);color:var(--accent)}
.detail-media{background:var(--primary-soft)}.video-placeholder{background:var(--primary-dark);color:#d8eaff}
.modal-layer,.admin-modal{background:#091a36bb}.modal-close{background:#fffffff0}
.toast,.admin-toast{background:#10274bf2}
.theme-block{padding-top:21px}
.theme-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}
.theme-heading h3{margin:0;color:var(--primary-dark)}
.theme-heading>span{font-size:9px;color:var(--muted)}
.theme-options{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.theme-option{display:block;text-align:left;padding:10px;border:1px solid var(--line);border-radius:8px;background:var(--surface)}
.theme-option.active{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}
.theme-sample{display:grid;grid-template-columns:1fr 1fr;gap:5px;height:80px;border-radius:4px;background:#f0f6ff;padding:7px 8px;overflow:hidden}
.theme-sample i{display:block;border-radius:2px}.sample-bar{grid-column:1/-1;height:5px;background:#0752a0;width:47%}
.sample-hero{grid-column:1/-1;height:24px;background:#0752a0}
.sample-card{height:17px;background:#cfdef4}.sample-line{height:4px;background:#0752a0;grid-column:1/-1;width:23%}
.sample-blue-pink{background:#f4f6ff}.sample-blue-pink .sample-bar,.sample-blue-pink .sample-hero{background:#075ce0}
.sample-blue-pink .sample-line{background:#f37fbb}.sample-blue-pink .sample-card{background:#f8d2e7}
.sample-blue-pink .sample-card:nth-of-type(4){background:#cfdef4}
.theme-option-title{display:flex;align-items:center;justify-content:space-between;gap:4px;margin-top:10px}
.theme-option-title b{font-size:11px;font-weight:600;color:var(--primary-dark)}
.theme-check{display:grid;place-items:center;height:15px;width:15px;border:1px solid var(--line);border-radius:50%;flex-shrink:0}
.theme-check .icon{width:10px;height:10px;visibility:hidden;stroke-width:2}
.theme-option.active .theme-check{border-color:var(--accent);background:var(--accent);color:#fff}
.theme-option.active .theme-check .icon{visibility:visible}
.theme-option>small{font-size:8px;color:var(--muted);display:block;margin-top:6px;line-height:1.6}
.theme-current{font-size:9px;color:var(--muted);line-height:1.8;margin:12px 0 0}
.admin-shell,.upload-dialog{background:var(--page);border-color:var(--line)}
.admin-sidebar{background:var(--primary-soft);border-color:var(--line)}
.admin-brand p,.admin-identity,.admin-identity span,.admin-sidebar nav button,.admin-heading .kicker,.admin-heading p,
.admin-stat small,.admin-stat span,.admin-toolbar>span,.admin-foot,.admin-table td,
.upload-dialog>p,.form-field>span,.admin-empty{color:var(--muted)}
.admin-sidebar nav button.active{background:var(--accent-soft);color:var(--accent)}
.admin-identity{border-color:var(--line)}.admin-heading h1{color:var(--primary-dark)}
.admin-banner{background:var(--accent-soft);color:var(--muted)}
.admin-stat{border-color:var(--line)}
.admin-toolbar select,.admin-toolbar input,.form-field input,.form-field select{border-color:var(--line);color:var(--ink)}
.admin-table th{background:var(--primary-soft);color:var(--muted)}
.admin-table td{border-color:var(--line)}.admin-table td:first-child{color:var(--ink)}
.table-tag{background:var(--primary-soft);color:var(--primary)}
.table-tag.red{background:var(--accent-soft);color:var(--accent)}
.permission-table .icon{color:var(--primary)}.permission-table td.denied{color:#acb9cb}
.admin-empty,.upload-zone{border-color:var(--accent-line)}.upload-zone{color:var(--primary)}
.form-error{color:#b81d54}
@media(max-width:500px){.studio-bar{background:var(--studio)}.hero{height:265px}.hero-copy h2{font-size:26px}}
