/* New/changed components use BEM. Legacy classes remain stable for the reviewed screens. */
.appearance__trigger{display:inline-flex;align-items:center;gap:var(--space-2);min-height:36px;border:1px solid var(--border);background:var(--surface);border-radius:var(--radius-sm);padding:6px 10px;font-size:12px;color:var(--text-secondary)}
.appearance__trigger [data-theme-symbol]{font-size:18px;line-height:1}
.appearance__options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-3)}
.appearance__option{border:1px solid var(--border);background:var(--surface);border-radius:var(--radius-md);min-height:110px;padding:var(--space-4);text-align:left;display:flex;flex-direction:column;gap:var(--space-2)}
.appearance__option strong{font-size:15px}.appearance__option span{color:var(--text-secondary);font-size:12px;line-height:1.5}
.appearance__option[aria-pressed=true]{border-color:var(--brand);box-shadow:0 0 0 1px var(--brand);background:var(--brand-soft)}
.appearance__hint{font-size:12px;color:var(--text-secondary);line-height:1.6;margin-top:var(--space-5)}
.timeline__unavailable{position:absolute;inset-block:0;background:repeating-linear-gradient(135deg,transparent 0,transparent 7px,var(--hatch-stripe) 7px,var(--hatch-stripe) 9px),var(--hatch-surface);border-inline:1px dashed var(--hatch-border);color:var(--hatch-text);z-index:0;pointer-events:none;overflow:hidden}
.timeline__unavailable-label{position:sticky;left:230px;display:inline-flex;align-items:center;gap:5px;max-width:calc(100% - 12px);margin:5px 6px;padding:3px 6px;border-radius:var(--radius-sm);background:var(--hatch-surface);font-size:10px;font-weight:600;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}
.timeline__unavailable .icon{width:12px;height:12px}.timeline-trip{z-index:1}.timeline-track{isolation:isolate}.timeline__legend-swatch{display:inline-block;width:20px;height:12px;border:1px dashed var(--hatch-border);background:repeating-linear-gradient(135deg,var(--hatch-surface) 0,var(--hatch-surface) 4px,var(--hatch-stripe) 4px,var(--hatch-stripe) 6px);border-radius:2px;vertical-align:middle}
.btn.primary{color:var(--on-brand)}.btn.dark,.workspace-icon{background:var(--text-strong);color:var(--canvas)}
:root[data-theme=dark] .topbar{background:var(--surface-subtle)}
:root[data-theme=dark] .drawer,:root[data-theme=dark] .modal{box-shadow:0 18px 80px color-mix(in srgb,var(--canvas) 90%,transparent)}
:root[data-theme=dark] input[type=date],:root[data-theme=dark] input[type=time]{color-scheme:dark}
:root[data-theme=dark] .timeline-trip{box-shadow:0 1px 2px var(--canvas)}
:root[data-theme=dark] .btn.primary:hover{color:var(--on-brand)}
.auth{min-height:100vh;display:grid;place-items:center;padding:var(--space-5);background:var(--canvas)}
.auth__card{width:min(430px,100%);padding:32px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-soft)}
.auth__brand{display:flex;align-items:center;gap:12px;margin-bottom:28px}.auth__heading{font-size:26px;margin-bottom:10px}.auth__intro{font-size:13px;line-height:1.6;color:var(--text-secondary);margin-bottom:24px}.auth__field{display:grid;gap:8px;margin:16px 0}.auth__error{color:var(--brand-text);font-size:13px;line-height:1.5}.auth__footer{font-size:11px;line-height:1.6;color:var(--text-muted);margin-top:18px}
@media(max-width:700px){.appearance__trigger{padding:5px 7px;min-width:34px}.appearance__trigger [data-theme-label]{display:none}.appearance__options{grid-template-columns:1fr}.appearance__option{min-height:72px}.timeline__unavailable-label{left:180px;max-width:calc(100% - 12px)}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:0.01ms!important;transition-duration:0.01ms!important}}
.auth { min-height: 100dvh; display: grid; place-items: center; background: var(--canvas); padding: 24px; }
.auth__card { width: min(100%, 410px); background: var(--surface); border: 1px solid var(--line); border-radius: 18px; padding: 32px; display: flex; flex-direction: column; gap: 14px; box-shadow: var(--shadow-soft); }
.auth__card h1 { font-size: 26px; }
.auth__label { font-size: 13px; font-weight: 600; }
.auth__input { min-height: 44px; border: 1px solid var(--line); border-radius: 8px; padding: 10px 12px; color: var(--ink); background: var(--surface); }

.timeline__availability-summary{font-size:9px!important;line-height:1.3;color:var(--hatch-text)!important;max-width:150px;white-space:normal!important}.integration-inbox{border-color:var(--brand-border)}

/* Booking history is deliberately distinct from human notes. */
.booking-update {border:1px solid var(--border);border-inline-start:3px solid var(--brand-base);border-radius:var(--radius-md,10px);background:var(--surface);padding:14px;margin-block:12px;}
.booking-update__body{min-width:0;width:100%;}.booking-update__heading{display:flex;gap:8px;align-items:center;flex-wrap:wrap;}
.booking-update__changes{margin:12px 0;}.booking-update__change{padding:8px 0;border-top:1px solid var(--border);}.booking-update__change dt{font-size:11px;color:var(--text-muted);margin-bottom:5px;}.booking-update__change dd{margin:0;font-size:12px;line-height:1.6;white-space:pre-wrap;overflow-wrap:anywhere;}.booking-update__before{color:var(--text-muted);}
.auth__password{display:flex;gap:8px;align-items:center;}.auth__password .auth__input{min-width:0;flex:1;}.auth__remember{display:flex;gap:10px;align-items:center;font-size:13px;line-height:1.5;margin:18px 0;}.auth__links{display:flex;justify-content:center;margin-top:16px;}.auth__message{font-size:13px;line-height:1.6;}.auth__hint{font-size:12px;line-height:1.6;color:var(--text-muted);}.auth__error{color:var(--text);font-size:13px;line-height:1.6;}
.amendment-review{margin-bottom:16px;}
/* Account forms use one vertical rhythm at desktop and phone sizes. */
.auth__card form{display:flex;flex-direction:column;gap:var(--space-2);min-width:0;}
.auth__label{display:block;margin-top:var(--space-2);color:var(--text-strong);}
.auth__input{display:block;width:100%;min-width:0;box-sizing:border-box;}
.auth__password{width:100%;min-width:0;}
.auth__remember{margin:var(--space-3) 0 var(--space-1);}
.auth__hint{margin:0;}
.auth__error{margin:0;}
.auth__error:empty{display:none;}
.auth__card form>.btn[type=submit]{margin-top:var(--space-2);}
