/* Approved project/date grid; the 132px project column and date header stay fixed. */
.project-timeline{--timeline-project-width:132px;padding:22px!important;overflow:visible!important;margin-top:0!important;min-width:0;background:#fff}
.project-timeline .timeline-topline{display:flex;justify-content:space-between;gap:20px;align-items:flex-start;margin-bottom:17px}
.project-timeline .timeline-topline .cal-month-label{margin-bottom:4px}
.project-timeline .timeline-topline p{font-size:12px;color:#8a99ab;margin:0}
.project-timeline .timeline-range-tag{font-size:11px;color:#7f91a6;background:#edf2f8;border-radius:6px;padding:5px 8px;white-space:nowrap}
.project-timeline .cal-head{margin-bottom:13px;row-gap:9px}
.project-timeline .cal-legend.timeline-legend{margin:0 0 17px;width:auto;padding:0;gap:16px;font-size:11px}
.project-timeline .cal-head select{margin-left:auto;max-width:100%}
.project-timeline .cal-head .google-calendar-toolbar{margin-left:5px}
.project-timeline .timeline-scroll{width:100%;max-height:720px;overflow:auto;border:1px solid #dfe6ee;border-radius:11px;background:#fff;scrollbar-width:thin;scrollbar-color:#c8d3df transparent;isolation:isolate;overscroll-behavior:contain}
.project-timeline .timeline-project-table{border-collapse:separate;border-spacing:0;width:100%;table-layout:fixed;min-width:calc(var(--timeline-project-width) + var(--timeline-day-count) * 88px);color:#334b63}
.project-timeline .timeline-project-table caption{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
.project-timeline .timeline-project-col{width:var(--timeline-project-width)}
.project-timeline .timeline-date-col{width:auto}
.project-timeline .timeline-project-table th,.project-timeline .timeline-project-table td{border-right:1px solid #e8edf4;border-bottom:1px solid #e5ebf3}
.project-timeline .timeline-project-table tr>*:last-child{border-right:0}
.project-timeline .timeline-project-table tbody tr:last-child>*{border-bottom:0}
.project-timeline .timeline-project-table thead th{position:sticky;top:0;z-index:4;height:68px;background:#f7f9fc;font-weight:400;font-size:12px;color:#8e9cb0;vertical-align:middle;text-align:center}
.project-timeline .timeline-project-table thead th.timeline-project-heading{left:0;z-index:6;text-align:left;padding:0 17px;color:#8598ae;font-size:12px;box-shadow:3px 0 6px #28445b06}
.project-timeline .timeline-date-heading span{display:inline-flex;min-width:27px;height:27px;align-items:center;justify-content:center;font-size:13px;font-weight:500;color:#70859e}
.project-timeline .timeline-date-heading small{display:block;font-size:11px;color:#9ca9ba;font-weight:400;margin-top:2px}
.project-timeline .timeline-date-heading.is-sunday span,.project-timeline .timeline-date-heading.is-sunday small{color:#e5484d}
.project-timeline .timeline-date-heading.is-saturday span,.project-timeline .timeline-date-heading.is-saturday small{color:#397ccf}
.project-timeline .timeline-project-table thead .timeline-date-heading.is-holiday{background:#fff8f7}
.project-timeline .timeline-date-heading.is-holiday span,.project-timeline .timeline-date-heading.is-holiday small{color:#e5484d}
.project-timeline .timeline-holiday-name{display:block;font-size:9px;font-style:normal;line-height:1.5;color:#d6595d;margin:2px 3px 4px;overflow-wrap:anywhere}
.project-timeline .timeline-project-table thead .timeline-date-heading.is-today{background:#fff7e5}
.project-timeline .timeline-date-heading.is-today>span{margin-top:23px;height:22px;background:transparent;color:#313d4b;border-radius:0;font-weight:600}
.project-timeline .timeline-date-heading.is-today>small{margin-top:0}
.project-timeline .timeline-today-label{position:absolute;top:6px;left:50%;transform:translateX(-50%);padding:1px 6px;border-radius:4px;background:#313d4b;color:#fff;font-size:10px;font-weight:600;line-height:1.5;white-space:nowrap}
.project-timeline .timeline-project-table .timeline-project-cell{position:sticky;left:0;z-index:3;background:#fff;vertical-align:middle;padding:14px 12px;text-align:left;font-weight:400;box-shadow:3px 0 7px #28445b05}
.project-timeline .timeline-project-identity{display:flex;align-items:center;gap:8px;border:0;background:transparent;text-align:left;width:100%;padding:6px 0;font:inherit;color:inherit;min-height:40px}
.project-timeline button.timeline-project-identity{cursor:pointer}
.project-timeline .timeline-project-identity strong{min-width:0;font-size:13px;color:#40566d;font-weight:500;line-height:1.55;word-break:keep-all;overflow-wrap:anywhere}
.project-timeline .timeline-project-dot{display:block;flex:none;width:7px;height:7px;border-radius:50%;background:var(--timeline-project-color,#8493a4)}
.project-timeline .timeline-project-lock{display:flex;align-items:center;justify-content:center;flex:none;width:14px;height:16px;color:#806aaa}
.project-timeline .timeline-project-lock .ui-icon{width:14px;height:14px}
.project-timeline button.timeline-project-identity:hover strong{color:#244e7a}
.project-timeline .timeline-date-cell{padding:8px 5px;vertical-align:top;min-width:0;background:#fff;cursor:pointer;outline-offset:-3px}
.project-timeline .timeline-date-cell.is-weekend{background:#f9fafc}
.project-timeline .timeline-date-cell.is-holiday{background:#fff8f7}
.project-timeline .timeline-date-cell.is-today{background:#fffaf0}
.project-timeline .timeline-date-cell:hover{background:#f7f9fc}
.project-timeline .timeline-cell-content{min-height:108px;min-width:0}
.project-timeline .timeline-private-row .timeline-project-cell,.project-timeline .timeline-private-row .timeline-date-cell{background:#fcfbfe}
.project-timeline .timeline-private-row .timeline-date-cell.is-today{background:#fffaf0}
.project-timeline .timeline-personal-toggle{gap:6px}
.project-timeline .timeline-personal-toggle strong{flex:1}
.project-timeline .timeline-personal-chevron{display:flex;align-items:center;flex:none;color:#8795a7}
.project-timeline .timeline-personal-chevron .ui-icon{width:14px;height:14px}
.project-timeline .timeline-personal-toggle:focus-visible{outline:2px solid #7c93af;outline-offset:2px;border-radius:4px}
.project-timeline .timeline-private-row.is-collapsed .timeline-project-cell{padding:4px 12px}
.project-timeline .timeline-private-row.is-collapsed .timeline-personal-toggle{min-height:34px}
.project-timeline .timeline-personal-summary{padding:5px 15px;vertical-align:middle;background:#fcfbfe}
.project-timeline .timeline-personal-summary button{min-height:32px;padding:5px 0;border:0;background:transparent;color:#7d7790;font:inherit;font-size:11px;cursor:pointer}
.project-timeline .timeline-personal-summary button:hover{color:#544477;text-decoration:underline;text-underline-offset:3px}
.project-timeline .timeline-personal-summary button:focus-visible{outline:2px solid #7c93af;outline-offset:2px;border-radius:4px}
.project-timeline .timeline-personal-alert{display:inline-flex;align-items:center;flex:none}
.project-timeline .timeline-personal-alert-dot{width:6px;height:6px;border-radius:50%;background:#df4848;box-shadow:0 0 0 2px #fff}
.project-timeline .timeline-personal-summary-alert{color:#ce4545;font-weight:550}
.project-timeline .timeline-personal-summary-separator{margin:0 9px;color:#c3becb}
.project-timeline .timeline-personal-alert-row>td{padding:0;background:#fcfbfe}
.project-timeline .timeline-personal-alert-row:not(:has(.timeline-personal-alert-details)){display:none}
.timeline-personal-alert-details{padding:12px 16px;border-top:1px solid #eee9f2}
.timeline-personal-alert-title{display:flex;gap:12px;align-items:center;margin-bottom:7px;font-size:11px;color:#8b8296}
.timeline-personal-alert-title strong{font-weight:600;color:#665c73}
.timeline-personal-alert-list{display:flex;flex-direction:column;gap:3px;max-height:144px;overflow:auto}
.timeline-personal-alert-item{display:flex;gap:10px;align-items:center;padding:6px 8px;border:0;border-radius:4px;background:transparent;text-align:left;font:inherit;font-size:12px;color:#7a7189;cursor:pointer}
.timeline-personal-alert-item:hover{background:#f2edf7}
.timeline-personal-alert-item strong{color:#47566b;font-weight:450;overflow-wrap:anywhere}
.timeline-personal-alert-date{font-size:11px;color:#8a8197;flex:none}
.timeline-personal-alert-tag{border-radius:4px;padding:2px 5px;background:#efebf4;color:#7b6c91;font-size:10px;flex:none}
.timeline-personal-alert-tag.is-today{background:#fff0f0;color:#cd4c4c}
.timeline-personal-alert-error{font-size:12px;color:#bd4d40;margin:5px 0 9px}
.timeline-personal-alert-error button{border:0;background:transparent;font:inherit;color:inherit;text-decoration:underline;cursor:pointer}
@media(max-width:680px){.timeline-personal-alert-item{flex-wrap:wrap;gap:5px 8px}.timeline-personal-alert-date{font-size:10px}.timeline-personal-alert-title{align-items:flex-start;gap:6px}.timeline-personal-alert-title span{font-size:10px}}
.project-timeline .cal-evt.cal-shared.cal-simple{margin:3px 0 6px;min-height:34px;padding:7px 6px!important;align-items:flex-start;gap:5px;border-radius:7px}
.project-timeline .cal-simple .cal-event-dot{width:6px;height:6px;margin-top:6px}
.project-timeline .cal-simple .cal-shared-title{font-size:12px;line-height:1.65;white-space:normal;overflow:visible;text-overflow:clip;word-break:break-word}
.project-timeline .cal-baseline{padding:8px 6px;margin:3px 0 6px;border-radius:7px}
.project-timeline .cal-baseline-heading{font-size:10px;line-height:1.5;gap:4px}
.project-timeline .cal-baseline-heading .ui-icon{width:12px;height:12px}
.project-timeline .cal-baseline-heading>span{min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.project-timeline .cal-evt.cal-shared.cal-simple.cal-baseline-event{padding:4px 0!important;margin:0;min-height:0}
.project-timeline .cal-baseline-event .cal-shared-title{font-size:12px;font-weight:600;line-height:1.65}
.project-timeline .cal-baseline-divider{margin:7px 0}
.project-timeline .timeline-footnote{font-size:11px;line-height:1.8;color:#98a6b8;margin:12px 0 0}
.project-timeline[data-timeline-view=week] .timeline-cell-content{min-height:120px}
.project-timeline[data-timeline-view=fortnight] .cal-shared-title{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden;max-height:59.4px}
.project-timeline .timeline-year-note{padding:9px 11px;background:#fff6ec;border-radius:7px;color:#a27a4c;font-size:11px;line-height:1.7;margin:12px 0 0}
.project-timeline .timeline-scroll:focus-visible,.project-timeline .timeline-date-cell:focus-visible{outline:2px solid var(--accent,#3b6fd6)}
@media(max-width:900px){.project-timeline{padding:17px!important}.project-timeline .timeline-project-table .timeline-project-cell{padding:14px 11px}.project-timeline .timeline-project-identity strong{font-size:12px}.project-timeline .timeline-scroll{max-height:680px}.project-timeline .cal-head select{margin-left:0}.project-timeline .cal-legend.timeline-legend{gap:10px;font-size:10px}}
@media(max-width:680px){.project-timeline{padding:14px!important}.project-timeline .timeline-topline{gap:10px}.project-timeline .timeline-topline p,.project-timeline .timeline-range-tag{font-size:10px}.project-timeline .cal-head{gap:6px}.project-timeline .cal-head .google-calendar-toolbar{margin-left:0}.project-timeline .timeline-project-table .timeline-project-cell{padding:13px 9px}.project-timeline .timeline-project-identity{gap:7px}.project-timeline .timeline-project-table thead th.timeline-project-heading{font-size:10px;padding:0 10px}.project-timeline .timeline-project-table thead th{height:59px}.project-timeline .timeline-date-heading span{font-size:12px}.project-timeline .timeline-cell-content{min-height:110px}.project-timeline .timeline-footnote{font-size:10px}.project-timeline .timeline-scroll{max-height:620px}}
@media(max-width:680px){.project-timeline .timeline-date-heading.is-today>span{margin-top:20px;height:20px}.project-timeline .timeline-today-label{top:4px;padding:1px 5px;font-size:9px}}
.project-timeline .cal-evt[draggable=true]{cursor:grab;touch-action:manipulation}
.project-timeline .cal-evt[draggable=true]:active{cursor:grabbing}
.project-timeline .cal-evt.calendar-is-dragging{opacity:.45;outline:1px dashed #6686a6}
.project-timeline .timeline-date-cell.calendar-move-target{background:#eaf2fc!important;box-shadow:inset 0 0 0 2px #5d88b7}
.calendar-move-feedback{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:9px 12px;margin:0 0 12px;border:1px solid #dce5ef;border-radius:6px;background:#f4f7fb;color:#526d88;font-size:12px;line-height:1.6}
.calendar-move-feedback.is-error{background:#fff6f3;color:#b4513d;border-color:#f3dfd7}
.calendar-move-feedback button{flex:none;padding:3px 5px;border:0;background:transparent;font:inherit;font-weight:550;color:inherit;text-decoration:underline;text-underline-offset:3px;cursor:pointer}
.calendar-move-dates{display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin:14px 0 0;font-size:15px;color:#60748a}
.calendar-move-dates strong{color:#244664;font-weight:600}
.calendar-move-dates>span{color:#98a8b8}
.calendar-move-explanation{font-size:13px;line-height:1.8;color:#6f8091;margin:0 0 14px}
.calendar-move-text-choice{display:block;padding:13px 14px;margin:0 0 12px;border:1px solid #dce4ed;border-radius:8px;color:#3b536b;font-size:13px;cursor:pointer}
.calendar-move-text-choice>span:first-child{display:flex;align-items:center;gap:7px;margin-bottom:10px;font-weight:550}
.calendar-move-text-choice input{width:15px;height:15px;accent-color:#365878}
.calendar-move-comparison{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px;cursor:text}
.calendar-move-comparison>span{display:block;padding:9px 11px;border-radius:5px;background:#f6f8fb;min-width:0;white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.8;max-height:180px;overflow:auto}
.calendar-move-comparison>span:last-child{background:#edf4fb;color:#315c80}
.calendar-move-comparison small{display:block;color:#94a3b2;font-size:10px;line-height:1.5;margin-bottom:4px}
@media(max-width:600px){.calendar-move-comparison{grid-template-columns:minmax(0,1fr)}.calendar-move-dates{font-size:13px;gap:8px}}
