/* V20: mobile-first event-only task timeline; date badge is BELOW the header. */
#tasks-main[hidden]{display:none!important}
body.td-tasks-active #calendar-main,body.td-tasks-active #calendar-tools{display:none!important}
body.td-tasks-active .shell{max-width:920px}
#mode-switch [data-main-mode="calendar"]{max-width:245px!important;width:auto!important;flex:1 1 0!important}
#mode-switch [data-main-mode="tasks"]{flex:1 1 0;max-width:245px}
#tasks-main{padding:0 0 110px;color:#163d34}
.tdt-top{position:sticky;top:0;z-index:18;padding:9px 0 13px;background:rgba(244,247,247,.97);backdrop-filter:blur(10px)}
.tdt-top h2{font-size:clamp(23px,5.4vw,31px);line-height:1.15;margin:3px 2px 4px;font-weight:745;letter-spacing:-.03em}
.tdt-top p{font-size:13px;margin:0 2px 12px;color:#668179}
.tdt-views{display:grid;grid-template-columns:1fr 1fr;background:#e8f1ed;border:1px solid #d6e8df;border-radius:16px;padding:4px;gap:4px}
.tdt-views button{min-height:45px;border:0;border-radius:12px;background:transparent;color:#446b5d;font-weight:635;font-size:14px}
.tdt-views button.active{background:#078765;color:#fff;box-shadow:0 3px 9px #154b3f18}
.tdt-period{display:flex;align-items:center;justify-content:space-between;margin:12px 2px 6px;gap:7px}
.tdt-period-label{font-size:12px;color:#648478}
.tdt-today{min-height:32px;border:1px solid #b8e1d2;background:#fff;color:#087958;border-radius:11px;padding:4px 10px;font-size:12px;font-weight:660}
.tdt-strip{display:flex;gap:7px;overflow-x:auto;scrollbar-width:none;scroll-snap-type:x proximity;white-space:nowrap;padding:2px 0 7px}
.tdt-strip::-webkit-scrollbar{display:none}
.tdt-strip button{flex:none;scroll-snap-align:center;border-radius:12px;padding:9px 13px;min-height:43px;border:1px solid #d6e8df;background:#fff;color:#537169;font-size:13px;font-weight:620}
.tdt-strip button.active{background:#e1f5eb;border-color:#0d9873;color:#006e51}
.tdt-list{display:flex;flex-direction:column;gap:11px;padding-top:5px}
.tdt-day{display:grid;grid-template-columns:minmax(101px,115px) minmax(0,1fr);gap:11px;align-items:start;border:1px solid #dce9e4;background:#fff;padding:12px 11px;border-radius:20px;box-shadow:0 2px 12px #17463708;scroll-margin-top:210px}
.tdt-date-col{position:sticky;top:217px}
.tdt-date{background:linear-gradient(150deg,#eff9f2,#dff4e9);border:1px solid #cae7d6;border-radius:17px;min-height:136px;padding:13px 5px;display:flex;align-items:center;justify-content:center;flex-direction:column;text-align:center;color:#236949}
.tdt-date span{font-size:13px;font-weight:600}
.tdt-date strong{font-size:42px;line-height:1.08;font-weight:730;letter-spacing:-.025em;font-variant-numeric:tabular-nums;margin:2px 0 6px;color:#07583d}
.tdt-date small{font-size:12px;white-space:nowrap;background:#ffffffbb;border-radius:99px;padding:3px 7px;font-weight:600}
.tdt-date b{font-size:11px;font-weight:700;color:#fff;background:#078765;border-radius:99px;padding:4px 9px;margin-top:6px}
.tdt-date.is-today{border:2px solid #13a274;background:#def8e9}
.tdt-items{display:flex;flex-direction:column;gap:8px;min-width:0}
.tdt-event{border:1px solid #e1eae8;background:#fff;border-radius:13px;overflow:hidden}
.tdt-event-button{display:grid;grid-template-columns:30px minmax(0,1fr) 15px;align-items:center;gap:8px;width:100%;border:0;background:#fff;text-align:left;min-height:89px;padding:10px 8px;color:#143d31}
.tdt-event-button img{display:block;width:30px;height:30px;object-fit:contain}
.tdt-event-copy{min-width:0;display:flex;flex-direction:column;gap:3px}
.tdt-event-copy strong{font-size:clamp(13px,3.4vw,16px);line-height:1.25;font-weight:675;overflow-wrap:anywhere}
.tdt-event-copy span,.tdt-event-copy small{font-size:clamp(11px,2.9vw,13px);line-height:1.3;color:#678178}
.tdt-event-copy small{color:#477165}
.tdt-event .tdt-chevron{width:15px;height:15px;transition:transform .15s}
.tdt-event-button[aria-expanded="true"] .tdt-chevron{transform:rotate(90deg)}
.tdt-event-detail{border-top:1px solid #d9e8e0;padding:10px 9px 13px;font-size:12px;line-height:1.5;color:#476c61;background:#fafdfb}
/* V20.0.1: No accent bars beside events. Keep the neutral card border
   and approved colored category icons; layout and interactions unchanged. */
.tdt-event.type-medicine,
.tdt-event.type-feed,
.tdt-event.type-sell,
.tdt-event.type-clean,
.tdt-event.type-breed{border-left:1px solid #e1eae8}
.tdt-footnote{margin:19px 5px 0;color:#758c82;font-size:12px;line-height:1.6}
.tdt-empty{margin:18px 0;padding:25px 18px;border:1px solid #d6e8dc;border-radius:18px;background:#fff;text-align:center;color:#648477;font-size:14px}
@media(max-width:360px){.tdt-day{grid-template-columns:91px minmax(0,1fr);gap:7px;padding:9px 7px}.tdt-date{min-height:125px;padding:9px 3px}.tdt-date strong{font-size:36px}.tdt-date span{font-size:11px}.tdt-event-button{grid-template-columns:25px minmax(0,1fr) 11px;gap:5px;padding:8px 6px}.tdt-event-button img{width:25px;height:25px}.tdt-strip button{font-size:12px;padding:7px 9px}}
@media(min-width:700px){.tdt-day{grid-template-columns:135px minmax(0,1fr);padding:16px;gap:15px}.tdt-date{min-height:138px}.tdt-event-button{min-height:78px}.tdt-event-copy strong{font-size:17px}}
@media(prefers-reduced-motion:reduce){.tdt-event .tdt-chevron{transition:none}}
