.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px}.calendar-day{padding:12px;background:white;border:1px solid var(--line,#d9ddd2);border-radius:12px;min-width:0;min-height:110px}.calendar-day h3{font:600 15px/1.3 Arial,sans-serif;margin:0 0 10px}.calendar-job{display:block;color:var(--ink,#183e34);padding:9px 7px;margin:7px 0;background:#edf1e8;border-radius:6px;font-size:13px;overflow-wrap:anywhere;line-height:1.5}.calendar-job.conflict{border-left:4px solid #a74a24;background:#fff1e5}.calendar-job.cancelled{opacity:.65;text-decoration:line-through}.calendar-day.today{outline:2px solid #82956a}.record-meta{overflow-wrap:anywhere}.planning-history{margin:12px 0}.notification-list{margin:12px 0}.notification-item{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:12px 0;border-bottom:1px solid #d9ddd2}.notification-item p{margin:0}.status-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px}.status-card{padding:18px;border:1px solid #d9ddd2;border-radius:12px}.status-card h3{font-size:20px;margin:0 0 10px}.status-warning{border-left:4px solid #ad6334}.status-ok{border-left:4px solid #82956a}@media(max-width:900px){.calendar-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:540px){.calendar-grid{grid-template-columns:1fr}.calendar-day{min-height:0}.notification-item{align-items:flex-start;flex-direction:column}}

@media(max-width:900px){.calendar-spacer{display:none}}

.calendar-job>span,.calendar-job>strong,.calendar-job>small{display:block}.calendar-job>strong{margin:5px 0;hyphens:auto;overflow-wrap:break-word}.calendar-job>small{margin-top:6px;font-size:11px}.calendar-time{font-weight:600}
