/* UI 147: component-scoped, theme-token based fixes, mobile and desktop. */
.timer-digit.premium-flip-digit {
  position:absolute; inset:0; width:100%; height:100%; display:flex;
  align-items:center; justify-content:center; line-height:1; font-variant-numeric:tabular-nums;
  -webkit-text-fill-color:currentColor; background:none; color:#f3f7fc;
}
html[data-theme="light"] .timer-digit.premium-flip-digit { color:#152938; }
.premium-flip-tile:has(.timer-digit)::after { display:none; }
.timer-audio-notice { color:var(--td-muted); font:400 13px/1.45 system-ui; text-align:center; max-width:42em; margin:14px auto; }
#timerDismissAlarm { display:block; margin:12px auto; padding:12px 22px; border:1px solid #dc4052; border-radius:12px; background:#b51f37; color:white; font-weight:700; }
#timerDismissAlarm[hidden] { display:none; }
.unknown-origin-mark { fill:#e33248!important; stroke:#fff!important; stroke-width:2px!important; font-size:17px!important; }
.unknown-origin-badge,.unknown-origin-note { color:#c82237!important; border-color:#d72e43!important; background:#fff0f2!important; }
.total-unknown { color:#d32640!important; }
/* Tint only the question mark, not the inherited white icon background. */
.total-unknown .daily-total-icon { background:transparent; filter:invert(25%) sepia(85%) saturate(2550%) hue-rotate(331deg); }
html[data-theme="dark"] :is(.unknown-origin-badge,.unknown-origin-note) { color:#ffabb7!important; background:#361c26!important; }
.cumulative-rest-rules tr.is-active-rule td { color:#7842b5!important; font-weight:800!important; background:#eee3fb; }
html[data-theme="dark"] .cumulative-rest-rules tr.is-active-rule td { color:#debcff!important; background:#352347; }
.td-duration-dialog {
  box-sizing:border-box; width:min(430px,calc(100vw - 28px)); padding:22px; border:1px solid var(--td-border);
  border-radius:20px; background:var(--td-surface-raised,#fff); color:var(--td-ink,#152938);
}
.td-duration-dialog::backdrop { background:#08132299; }
.td-duration-dialog output { display:block; text-align:center; font:750 38px/1.5 system-ui; font-variant-numeric:tabular-nums; }
.td-duration-picker { display:grid; grid-template-columns:minmax(0,1fr) 18px minmax(0,1fr); gap:12px; align-items:center; margin:18px 0 10px; }
.td-duration-picker > b { padding-top:24px; text-align:center; font:700 28px/1 system-ui; }
.td-duration-unit { min-width:0; display:grid; gap:6px; text-align:center; }
.td-duration-label { font:650 14px/1.4 system-ui; color:var(--td-muted,#526c7c); }
.td-duration-unit input[type="hidden"] { display:none!important; }
:is(.td-duration-dialog,.schedule-duration-dialog) .td-duration-arrow {
  display:flex; align-items:center; justify-content:center; width:100%; height:44px; min-height:44px;
  padding:0; border:1px solid var(--td-border,#bed1df); border-radius:12px;
  background:var(--td-surface-raised,#fff); color:var(--td-ink,#173448);
  font:700 26px/1 system-ui; box-shadow:none; cursor:pointer; touch-action:manipulation;
}
:is(.td-duration-dialog,.schedule-duration-dialog) .td-duration-arrow:disabled { opacity:.3; cursor:default; }
.td-duration-window { position:relative; overflow:hidden; border-radius:14px; border:1px solid var(--td-border,#bed1df); }
.td-duration-window::after {
  content:""; position:absolute; top:44px; left:0; right:0; height:44px; box-sizing:border-box;
  border-block:1px solid #189dcc80; background:#168fb514; pointer-events:none;
}
.td-duration-scroll {
  box-sizing:border-box; height:132px; padding-block:44px; overflow-y:auto; overflow-x:hidden;
  scroll-snap-type:y mandatory; scroll-behavior:auto; overscroll-behavior:contain;
  scrollbar-width:none; touch-action:pan-y; -webkit-overflow-scrolling:touch;
  color:var(--td-muted,#526c7c); background:var(--td-surface-raised,#fff);
}
.td-duration-scroll::-webkit-scrollbar { display:none; }
.td-duration-number {
  box-sizing:border-box; height:44px; min-height:44px; display:grid; place-items:center;
  scroll-snap-align:center; font:500 22px/1 system-ui; font-variant-numeric:tabular-nums;
  cursor:pointer; user-select:none; -webkit-user-select:none;
}
.td-duration-number.is-selected { color:var(--td-ink,#173448); font-size:30px; font-weight:750; }
.td-duration-scroll:focus-visible { outline:3px solid #159ccb; outline-offset:-3px; border-radius:12px; }
.td-duration-arrow:focus-visible { outline:3px solid #159ccb; outline-offset:2px; }
.td-duration-hint { text-align:center; font:400 13px/1.5 system-ui; color:var(--td-muted,#526c7c); }
.td-duration-dialog footer { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.td-duration-dialog button { min-height:46px; border-radius:12px; }
.schedule-duration-dialog form {
  background:var(--td-surface-raised,#fff); color:var(--td-ink,#173448);
}
.schedule-duration-dialog :is(h2,.schedule-duration-close) { color:var(--td-ink,#173448); }
.schedule-duration-dialog :is(#scheduleDurationActivity,.schedule-duration-hint) { color:var(--td-muted,#526c7c); }
.schedule-duration-dialog .schedule-duration-close {
  background:var(--td-surface-raised,#fff); border-color:var(--td-border,#bed1df);
}
:is(.td-duration-dialog,.schedule-duration-dialog) footer button {
  box-sizing:border-box; min-width:0; min-height:46px; padding:12px;
  border:1px solid var(--td-border,#bed1df); border-radius:12px;
  background:var(--td-surface-raised,#fff); color:var(--td-ink,#173448);
  font:650 16px/1.25 system-ui; cursor:pointer;
}
:is(.td-duration-dialog,.schedule-duration-dialog) footer button[type="submit"] {
  background:#087fac; border-color:#087fac; color:#fff;
}
:is(.td-duration-dialog,.schedule-duration-dialog) footer button:disabled { opacity:.55; cursor:wait; }
@media (max-height:540px) {
  :is(.td-duration-dialog,.schedule-duration-dialog) { max-height:calc(100dvh - 20px); overflow-y:auto; }
}
html[data-theme="dark"] :is(
  .fuel-consumption-section,.fuel-consumption-toggle,.fuel-consumption-panel,
  .fuel-calculation-summary article,.transport-task-action,.transport-planner-actions,
  #timeOrganizationSection,#timeOrganizationPanel,#unifiedTimeOrganizationHeader,#timeOrganizationToggle,
  .documentation-shell,.documentation-tour-form,.documentation-tour,.documentation-document,
  .documentation-capture-row,.documentation-preview,.td-duration-dialog,.schedule-duration-dialog,
  .matlab-hero,#statusHero,.unified-driver-summary,.header-download-info
) { background:var(--td-surface-raised,#14232e)!important; color:var(--td-ink,#e5eef5)!important; border-color:var(--td-border,#345061)!important; }
html[data-theme="dark"] :is(.fuel-consumption-section,.transport-task-action,[data-panel="documentation"],#statusHero,.unified-driver-summary,.header-download-info) :is(h1,h2,h3,strong,label,th,td,output) { color:var(--td-ink,#e5eef5)!important; }
html[data-theme="dark"] :is(.fuel-consumption-section,.transport-task-action,[data-panel="documentation"],#statusHero,.unified-driver-summary) :is(p,small,label>span) { color:var(--td-muted,#aec1d0)!important; }
html[data-theme="dark"] :is(.fuel-consumption-section,[data-panel="documentation"],.td-duration-dialog,.schedule-duration-dialog) :is(input:not([type="range"]),select,textarea) {
  background:#0e1c26!important; color:#e5eef5!important; border-color:#3c596b!important; color-scheme:dark;
}
html[data-theme="dark"] [data-panel="documentation"] :is(button,.documentation-camera-button) { background:#183c51; color:#d5f1ff; border-color:#40718c; }
html[data-theme="dark"] #statusHero :is(.status-meta,.header-control-mode,.header-reference-time) { color:#e5eef5!important; }
html[data-theme="dark"] #compactDownloadInfo strong,
html[data-theme="dark"] #headerAnalysisSummary strong { color:var(--td-ink)!important; }
html[data-theme="dark"] #compactDownloadInfo > span:first-child { color:var(--td-muted)!important; }
html[data-theme="dark"] .header-rest-to-now-symbol img { filter:invert(1); }
html[data-theme="dark"] :is(#headerManualTime,.header-rest-to-now-symbol b) { color:#8bddff!important; }
.paid-leave-form label[hidden] { display:none!important; }
.transport-route-time-adjuster button[data-route-duration-edit] { width:100%; min-width:0; min-height:40px; font-size:16px; }
html[data-theme="dark"] .transport-route-time-adjuster output { color:var(--td-ink)!important; }
html[data-theme="dark"] :is(#fuelConsumptionSection,#timeOrganizationSection) button:not(#buildTransportTask),
html[data-theme="dark"] [data-panel="documentation"] button:not(.primary-action),
html[data-theme="dark"] .documentation-preview button {
  background:#1e4358!important; color:#edf5fb!important; border-color:#507c94!important;
}
html[data-theme="dark"] .documentation-tour time { color:var(--td-muted)!important; }
html[data-theme="dark"] #buildTransportTask { background:#087fac!important; color:white!important; border-color:#239fc9!important; }
#premiumCountdownCard :is(.premium-time-settings label,.premium-sound-row label>span,#customSoundName) { color:var(--td-muted); }
#premiumCountdownCard :is(.premium-time-settings input,.premium-sound-row select,.custom-sound-button) {
  box-sizing:border-box; min-height:44px; border:1px solid var(--td-border);
  background:var(--td-surface-raised); color:var(--td-ink); border-radius:10px; font:600 14px/1.4 system-ui;
}
html[data-theme="dark"] #timeOrganizationSection :is(h2,h3,strong,span,label) { color:var(--td-ink)!important; }
html[data-theme="dark"] #timeOrganizationSection .organized-schedule-table :is(thead,th) {
  background:#163449!important; color:#edf5fb!important; border-color:#3c596b!important;
}
html[data-theme="dark"] #transportItinerary > .schedule-edit-feedback {
  background:#163c36!important; color:#c0f1dd!important; border-color:#437f70!important;
}
html[data-theme="dark"] #transportItinerary > .schedule-edit-feedback.is-limit {
  background:#48361c!important; color:#ffe0a3!important; border-color:#876936!important;
}
