.diary-shell { --diary-completed: color-mix(in srgb, #68a782 20%, var(--mud-palette-surface)); --diary-overdue: color-mix(in srgb, #e6a06d 22%, var(--mud-palette-surface)); --diary-normal: var(--mud-palette-background-gray); --diary-ink: var(--mud-palette-text-primary); letter-spacing: 0; }
.diary-main { min-width: 0; padding: 16px 16px 24px; }
.diary-toolbar { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; padding-bottom: 10px; }
.diary-date-controls { display: flex; align-items: center; gap: 2px; }
.diary-date-controls .mud-input-control { width: 215px; }
.diary-load-status { height: 4px; }
.diary-legend { display: flex; flex-wrap: wrap; gap: 16px; align-items: center; padding: 10px 0; font-size: 13px; }
.diary-legend > span { display: inline-flex; align-items: center; gap: 5px; }
.diary-legend-completed::before, .diary-legend-overdue::before { content: ''; display: inline-block; width: 14px; height: 14px; border: 1px solid currentColor; border-radius: 3px; }
.diary-legend-completed::before { background: var(--diary-completed); }
.diary-legend-overdue::before { background: var(--diary-overdue); }
.diary-job { display: flex; align-items: flex-start; min-width: 0; width: 100%; background: var(--diary-normal); color: var(--diary-ink); border-radius: 4px; border-left: 3px solid #8eaaae; margin-bottom: 3px; }
.diary-job.diary-completed { background: var(--diary-completed); border-left-color: #68a782; }
.diary-job.diary-overdue { background: var(--diary-overdue); border-left-color: #cb8d60; }
.diary-job.diary-exact { outline: 1px solid color-mix(in srgb, var(--mud-palette-primary) 45%, var(--mud-palette-surface)); outline-offset: -1px; }
.diary-exact .diary-appointment-label { font-weight: 600; }
.diary-exact .diary-job-time { display: flex; flex-wrap: wrap; align-items: center; gap: 4px; }
.diary-job-link { display: flex; gap: 8px; align-items: flex-start; padding: 10px; flex: 1; min-width: 0; color: inherit; text-decoration: none; }
.diary-job-link:hover { text-decoration: underline; }
.diary-job-link:focus-visible { outline: 2px solid var(--mud-palette-primary); outline-offset: -2px; }
.diary-job-icons { display: flex; flex-shrink: 0; gap: 4px; padding-top: 2px; }
.diary-job-details { display: flex; flex-direction: column; min-width: 0; gap: 2px; font-size: 14px; }
.diary-job-details > span { overflow-wrap: anywhere; }
.diary-job-vehicle { font-size: 13px; }
.diary-job-time { font-size: 13px; }
.diary-duration { display: inline-block; white-space: nowrap; font-weight: 600; margin-left: 4px; }
.diary-job-meta { font-size: 12px; }
.diary-job-action { flex-shrink: 0; }
.diary-job-action .mud-icon-button { width: 44px; height: 44px; color: inherit; }
.diary-compact .diary-job-link { gap: 4px; padding: 5px 3px; }
.diary-compact .diary-job-icons { flex-direction: column; gap: 2px; }
.diary-compact .diary-job-details { font-size: 12px; gap: 0; }
.diary-compact .diary-job-vehicle { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; font-size: 11px; }
.diary-compact .diary-job-time { font-size: 11px; }
.diary-compact .diary-job-action .mud-icon-button { width: 28px; height: 32px; padding: 4px; }
.diary-agenda-day { border-bottom: 1px solid var(--mud-palette-divider); padding-bottom: 16px; max-width: 1100px; margin: 0 auto 16px; }
.diary-day-heading { font-size: 16px; text-transform: none; margin: 4px 0; }
.diary-group-heading { padding: 10px 0 6px; scroll-margin-top: calc(var(--mud-appbar-height, 64px) + 16px); }
.diary-group-heading:focus-visible { outline: 2px solid var(--mud-palette-primary); outline-offset: 2px; }
.diary-agenda-links { display: flex; flex-wrap: wrap; gap: 4px; }
.diary-agenda-links .mud-button-root { min-height: 44px; }
.diary-flexible { border-block: 1px solid var(--mud-palette-divider); padding: 10px 0; margin-bottom: 12px; }
.diary-flexible-days { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 4px; }
.diary-flexible-days.diary-single-day { grid-template-columns: minmax(0, 1fr); }
.diary-slot-dropzone { min-height: 64px; }
.diary-single-day .diary-slot-dropzone { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 4px; }
.diary-single-day .diary-slot-dropzone > .mud-button-root { grid-column: 1 / -1; justify-self: start; }
.diary-shell .mud-cal-grid > div { letter-spacing: 0; }
.diary-shell .mud-cal-week-template-holder .diary-job { height: 100%; overflow: auto; }
.diary-shell .mud-cal-cell-template { padding: 1px; }
@media (max-width: 599px) {
    .diary-main { padding: 8px 8px 16px; }
    .diary-toolbar { gap: 8px; }
    .diary-toolbar > .mud-typography { font-size: 20px; }
    .diary-date-controls { order: 2; width: 100%; }
    .diary-date-controls .mud-input-control { flex: 1; min-width: 0; width: auto; }
    .diary-toolbar > .mud-button-group { margin-left: auto; }
    .diary-toolbar > .mud-button-root { order: 3; }
    .diary-toolbar .mud-button { min-height: 44px; min-width: 44px; padding-inline: 10px; }
    .diary-legend { font-size: 12px; gap: 9px; }
    .diary-job-icons { flex-direction: column; }
    .diary-job-details { font-size: 14px; }
    .diary-job-link { padding: 10px 6px; gap: 6px; }
    .diary-shell .mud-cal-month-cell-title { padding: 8px 2px; text-align: center; min-height: 44px; }
    .mud-cal-month-view .diary-compact { min-height: 44px; border-left-width: 2px; }
    .mud-cal-month-view .diary-compact .diary-job-details, .mud-cal-month-view .diary-compact .diary-job-action { display: none; }
    .mud-cal-month-view .diary-compact .diary-job-link { min-height: 44px; padding: 4px 1px; justify-content: center; }
    .mud-cal-month-view .diary-compact .diary-job-icons { flex-direction: row; gap: 0; align-items: center; }
    .mud-cal-month-view .diary-compact .mud-icon-root { width: 16px; height: 16px; }
}
