/* Panorama follows the operating system; no stored preference or script is needed. */
:root { color-scheme: light dark; }
@media screen and (prefers-color-scheme: dark) {
  :root {
    --forest: #b9ddf5;
    --dark: #e5edf5;
    --orange: #8fc8ef;
    --paper: #0d1925;
    --light: #142738;
    --soft: #b1c2d2;
    --line: #385168;
    --night-raised: #1d3448;
    --night-action: #a9d7f6;
    --night-action-text: #092135;
    --night-error: #ffb4a6;
    --night-success: #a7dfbe;
    --night-warning: #efd093;
  }
  .site-header { background: #112231; }
  .companion-sidebar,.site-footer,.mobile-nav,.home-principles,
  .card,.overview.reports .card,.form-card,.table-wrap,.maintenance-panel,
  .empty-state,.empty-page,.action-grid a,.settings-grid>*,.management-card,
  .companion-current,.companion-panel,.report-load-toolbar,
  .glamping-hero,.glamping-card,.glamping-prose,.glamping-checklist,
  .glamping-tags a,.glamping-form>section {
    background: var(--light);
    border-color: var(--line);
  }
  .action-grid a:hover,.glamping-topics a,.glamping-topics a:hover,
  .glamping-topics a[aria-current],.upload-box,.caption-field,.visit-preview,
  .existing-image-grid article,.travel-days-editor,.travel-gallery,
  .travel-optional-section,.editor-section,.checklist-editor-section,
  .security-panel,.travel-create-place,.travel-place-data,.image-private-option,
  .review-note,.archive-note,.planning-route-section,.family-planning-section,
  .stage-destination-details,.builder-submit,.knowledge-format-help code {
    background: var(--night-raised);
    border-color: var(--line);
  }
  body :is(input,textarea,select):not([type=checkbox]):not([type=radio]):not([type=hidden]),
  .rating-touch-control {
    color: var(--dark);
    background: var(--paper);
    border-color: #5e7b93;
  }
  input::placeholder,textarea::placeholder { color: #a2b6c7; opacity: 1; }
  input,progress { accent-color: var(--night-action); }
  input::file-selector-button {
    color: var(--dark); background: var(--night-raised);
    border: 1px solid #5e7b93; border-radius: 5px;
  }
  .travel-optional-section [data-place-fields].is-linked input {
    background: var(--night-raised); color: var(--soft);
  }
  .button,.button-primary,.plan-index-hero .button,
  .planning-hero-actions .button,.planning-empty-dark .button,
  .management-tabs a[aria-current="page"],.rating-touch-option input:checked+span {
    background: var(--night-action); border-color: var(--night-action);
    color: var(--night-action-text);
  }
  .button:hover,.button-primary:hover,.plan-index-hero .button:hover,
  .planning-hero-actions .button:hover {
    background: #cce9ff; border-color: #cce9ff; color: var(--night-action-text);
  }
  .button-secondary,.section-heading-actions .button,.travel-editor-submit .button-secondary {
    background: var(--night-raised); border-color: #5e7b93; color: var(--forest);
  }
  .button-secondary:hover,.section-heading-actions .button:hover,.travel-editor-submit .button-secondary:hover {
    background: #2a4860; border-color: var(--forest); color: var(--dark);
  }
  .button-danger { background: #843d36; border-color: #dc887a; color: #fff; }
  .button-danger:hover { background: #a34b42; border-color: var(--night-error); color: #fff; }
  .danger-link,.travel-cover-remove { color: var(--night-error)!important; }
  .existing-image-grid .delete-image,.planning-delete,.glamping-delete,
  .gallery-transfer-error,.gallery-upload-status.is-error,.report-load-toolbar [data-state="error"],
  .character-count-value.is-over-recommended-length,.diary-character-count-value.is-over-recommended-length {
    color: var(--night-error);
  }
  .form-errors { background: #3e272b; border-color: var(--night-error); color: #ffe2dc; }
  .flash-error { border-color: var(--night-error); }
  .flash-success { border-color: var(--night-success); }
  .flash-info { border-color: var(--orange); }
  .status,.status-draft { background: #304357; color: #e2edf7; }
  .status-approved,.status-active,.registration-locked,.storage-status-ok {
    background: #1d4034; color: #c3ebd4; border-color: #71b28c;
  }
  .status-pending,.storage-status-warning,.setup-notice {
    background: #463a23; color: #f6dfaa; border-color: #b49860;
  }
  .status-rejected,.status-blocked { background: #492c30; color: #ffd0c7; }
  .check-ok { color: var(--night-success); }
  .check-warn { color: var(--night-warning); }
  .update-warning,.legal-notice,.stage-fallback { background: var(--night-raised); }
  .prose,.legal-content p,.legal-content address,.travel-route-map>p { color: var(--dark); }
  .admin-page tr { border-color: var(--line); }
  .admin-page td[data-label]::before { color: var(--soft); }
  .rating-display[role="img"] { --rating-color: #a0d6bf; }
  .rating-display.rating--low { --rating-color: #efb0a1; }
  .rating-display.rating--medium { --rating-color: #e5ca8f; }
  .rating-display.rating--unrated { --rating-color: var(--soft); }
  .form-submit,.travel-editor-submit,.plan-editor-footer,.plan-builder-note>span,
  .glamping-hero-photo figcaption { background: #12334c; color: #e5edf5; }
  .form-submit p,.travel-editor-submit p { color: #c6d9e7; }
  .form-back-link { color: var(--forest); }
  .admin-action { background: #12334c!important; color: #e5edf5; }
  .admin-action small { color: #c6d9e7; }
  .skip-link { background: var(--night-action); color: var(--night-action-text); }
  .planning-page { --planning-blue: #8fc8ef; --planning-ice: #1d3448; --planning-night: #112b40; }
  .planning-hero { background: linear-gradient(145deg,#102332,#1a3c55); color: #e5edf5; }
  .planning-meta b,.planning-compass,.planning-check-section { color: #e5edf5; }
  .planning-progress small,.planning-check.is-done label,.planning-check-empty { color: #b1c2d2; }
  .plan-card-number { color: #b9ddf52b; }
  .existing-video-preview,.travel-media-trigger { background: #09131c; }
  /* Keep photographs and map tiles intact; adapt their surrounding controls. */
  .panorama-hero .button { background: #f0f8ff; border-color: #f0f8ff; color: #194a70; }
  .panorama-hero .button:hover { background: #cce9ff; color: #194a70; }
  .planning-map,.travel-route-map,.explorer-map { background: var(--night-raised); }
  .planning-route-number span,.planning-family-pin span { background: #194a70; color: #fff; }
  .leaflet-popup-content-wrapper,.leaflet-popup-tip,.leaflet-bar a,.leaflet-control-layers {
    background: var(--light); color: var(--dark);
  }
  .leaflet-container a { color: var(--forest); }
  .leaflet-bar a { border-color: var(--line); }
  .leaflet-bar a:hover { background: var(--night-raised); }
  .leaflet-bar a.leaflet-disabled { background: var(--paper); color: #879cab; }
  .leaflet-container a.leaflet-popup-close-button { color: var(--soft); }
  .leaflet-container .leaflet-control-attribution { background: #142738ed; color: #b1c2d2; }
  .leaflet-container .leaflet-control-attribution a { color: var(--forest); }
  .leaflet-control-scale-line { background: #142738ed; color: var(--dark); border-color: var(--soft); }
  .map-types input:checked+span { background: var(--night-action); color: var(--night-action-text); }
}
/* Screen preferences must never turn paper or exported PDFs dark. */
@media print { :root { color-scheme: light; } }
