/* Small functional refinements; calendar reference palette is untouched. */
.voice-toggle-action { display:inline-flex; align-items:center; gap:8px; }
.voice-toggle-action .voice-switch { position:relative; display:block; flex:0 0 30px; width:30px; height:16px; margin:0; padding:0; }
.voice-toggle-action .voice-slider { position:absolute; inset:0; display:block; width:30px; height:16px; margin:0; padding:0; }
.voice-toggle-action .voice-slider::before { top:2px; bottom:auto; left:2px; width:12px; height:12px; }
.voice-toggle-action .voice-toggle:checked + .voice-slider::before,
.voice-toggle-action .voice-toggle.listening + .voice-slider::before { transform:translateX(14px); }
.batch3-toolbar-right { flex-shrink:0; align-items:center; }
.batch3-mic, .batch3-submit { flex-shrink:0; position:relative; align-self:center; }
.batch3-mic > svg, .batch3-submit > svg { display:block; margin:0; }
.batch3-toolbar { flex-wrap:wrap; }
.batch3-toolbar-right { margin-left:auto; }
.batch-input-note { color:#777; font-size:12px; line-height:1.6; margin:4px; }
.batch-image-previews { display:flex; gap:12px; flex-wrap:wrap; padding:0 16px 12px; }
.batch-image-previews figure { position:relative; width:104px; margin:0; }
.batch-image-previews img { width:104px; height:78px; object-fit:cover; border-radius:8px; border:1px solid #ddd; }
.batch-image-previews figcaption { font-size:11px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.batch-image-previews button { position:absolute; right:2px; top:2px; display:grid; place-items:center; width:28px; height:28px; background:white; border:1px solid #ddd; border-radius:50%; }
.report-period-picker { display:flex; flex-wrap:wrap; align-items:center; gap:12px 20px; padding:14px 0 22px; font-size:13px; }
.report-period-picker label { display:flex; align-items:center; gap:10px; }
.report-period-picker input { padding:9px 12px; border:1px solid #d5d5d5; border-radius:8px; background:white; min-width:150px; }
.report-period-picker span { color:#666; }
.month-cell.selected, .month-cell.today.selected { box-shadow:inset 0 0 0 3px #47414e; background-color:#f0eaf6; }
.calendar-toast { gap:16px; padding:10px 12px 10px 18px; border:1px solid #ffffff20; border-radius:16px; box-shadow:0 8px 28px #17151c26; }
.calendar-toast button { display:inline-flex; align-items:center; gap:6px; flex-shrink:0; padding:9px 13px; border-radius:9px; background:#fff; color:#302633; font-size:13px; cursor:pointer; }
.calendar-toast button::before { content:'↶'; font-size:17px; line-height:1; }
.calendar-toast button:hover { background:#f1e8f6; }
.calendar-toast #toastMessage { flex:1; min-width:0; overflow-wrap:anywhere; }
.calendar-toast #undoCalendarAction { margin-left:auto; }
.calendar-toast #undoCalendarAction[hidden] { display:none; }
#calendarToast { left:auto; right:24px; bottom:24px; transform:none; width:340px; min-width:0; max-width:calc(100vw - 32px); border-radius:12px; background:#fff; border:1px solid #e7e2ea; color:#302633; box-shadow:0 8px 28px #17151c18; }
#calendarToast:not([hidden]) { animation:none; }
#calendarToast #undoCalendarAction { background:#f3edf7; color:#6d367e; min-height:40px; }
#calendarToast #undoCalendarAction:hover { background:#e9dff0; }
.schedule3-color-field .event-color-choices { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:8px; width:100%; }
.schedule3-color-field [data-event-color] { display:flex; align-items:center; justify-content:space-between; width:100%; height:44px; padding:0 9px; border:1px solid transparent; border-radius:9px; background:linear-gradient(110deg,color-mix(in srgb,var(--swatch) 9%,white),color-mix(in srgb,var(--swatch) 22%,white)); color:color-mix(in srgb,var(--swatch) 60%,#302633); box-shadow:none; font:500 12px var(--uc-font-text,sans-serif); transform:none; }
.schedule3-color-field [data-event-color]::after { content:'✓'; opacity:0; font-size:14px; }
.schedule3-color-field [data-event-color][aria-pressed="true"] { border-color:var(--swatch); outline:none; transform:none; box-shadow:0 0 0 2px color-mix(in srgb,var(--swatch) 12%,transparent); }
.schedule3-color-field [data-event-color][aria-pressed="true"]::after { opacity:1; }
.schedule3-color-field [data-event-color]:hover { border-color:var(--swatch); transform:none; }
.schedule3-color-field .custom-color { grid-column:1/-1; width:100%; height:36px; border:1px solid #e7e2ea; border-radius:8px; background:#fff; transform:none; }
.schedule3-color-field .custom-color span { font:500 12px var(--uc-font-text,sans-serif); }
.schedule3-color-field .custom-color input { inset:0; width:100%; height:100%; }
.schedule3-color-field [data-event-color]:focus-visible, .schedule3-color-field .custom-color:focus-within { outline:2px solid #75448a; outline-offset:3px; }
@media(max-width:600px) { #calendarToast { right:16px; bottom:20px; } }
.help-guide { max-width:800px; padding:24px; margin:auto; }
.rail-colors { margin-top:12px; border-top:1px solid #eeeaf0; padding-top:10px; }
.rail-colors summary { cursor:pointer; color:#726577; font-size:12px; }
.rail-color-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; margin:12px 0; }
.rail-custom-color { display:flex; justify-content:space-between; align-items:center; gap:8px; font-size:12px; color:#62566a; min-height:40px; }
.rail-custom-color input { width:36px; height:32px; padding:3px; border:1px solid #e7e2ea; border-radius:8px; background:#fff; cursor:pointer; }
.rail-colors button { min-height:36px; padding:7px 10px; border:1px solid #e7e2ea; border-radius:8px; background:white; color:#62566a; font:inherit; font-size:12px; cursor:pointer; }
.rail-colors [data-heatmap-color] { background:linear-gradient(110deg,color-mix(in srgb,var(--swatch) 8%,white),color-mix(in srgb,var(--swatch) 20%,white)); }
.rail-colors [aria-pressed="true"] { border-color:var(--swatch); box-shadow:0 0 0 1px var(--swatch); }
.rail-colors :focus-visible { outline:2px solid #75448a; outline-offset:2px; }
.help-guide h2 { font-size:24px; margin:0 0 28px; }
.help-guide details { border-bottom:1px solid #e1e1e1; padding:20px 0; }
.help-guide summary { cursor:pointer; font-size:16px; font-weight:600; }
.help-guide p { color:#62606a; line-height:1.9; font-size:14px; }
.help-guide a { color:#643a7c; }
@media(max-width:1199px) {
  .sidebar .sidebar-help { display:flex !important; align-items:center; gap:10px; min-height:44px; width:100%; padding:10px 14px; }
  .sidebar .sidebar-help em { display:inline !important; }
}
@media(max-width:600px) { .report-period-picker { align-items:flex-start; flex-direction:column; } .help-guide { padding:18px 8px; } }
