.tl{max-width:100%;min-width:0}.tl h2{margin:0}.tl-heading,.tl-period{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.tl-summary{display:flex;gap:12px;flex-wrap:wrap;margin:12px 0 18px}.tl-summary>div{background:#f7f8fb;border:1px solid #e2e4ec;border-radius:9px;padding:12px 18px;min-width:140px}.tl-summary strong{font-size:25px;color:#0d0f1a;display:block}.tl-summary span{font-size:12px}.tl-filters{display:flex;gap:12px;align-items:end;flex-wrap:wrap;margin:16px 0}.tl-filters label{display:grid;gap:5px;flex:1;min-width:150px}.tl-filters input,.tl-filters select{width:100%;min-width:0}.tl-filters label.tl-check{display:flex;align-items:center;flex:0 1 auto;min-height:40px}.tl-check input{width:auto}.tl-period{margin:16px 0}.tl-period>div{display:flex;gap:6px}.tl-period [aria-pressed=true]{background:#fff0e3;border-color:#ff7700;color:#a84e00}.tl-scroll{overflow:auto;max-height:62vh;border:1px solid #e2e4ec;border-radius:8px;position:relative;isolation:isolate;max-width:100%;--tl-label-width:300px;scrollbar-gutter:stable}.tl-grid{width:calc(var(--tl-label-width) + var(--tl-calendar-width));min-width:100%}.tl-calendar-head,.tl-row{display:grid;grid-template-columns:var(--tl-label-width) var(--tl-calendar-width)}.tl-calendar-head{position:sticky;top:0;z-index:4;background:#f7f8fb;min-height:65px}.tl-label-head{position:sticky;left:0;z-index:5;background:#f7f8fb;padding:14px;border-bottom:1px solid #e2e4ec}.tl-days{display:flex}.tl-day{text-align:center;border-left:1px solid #e2e4ec;border-bottom:1px solid #e2e4ec;padding:6px 0;flex-shrink:0;font-size:12px}.tl-day small{display:block}.tl-weekend{background:#e9ecf3}.tl-day.tl-today{background:#fff0e3;color:#a84e00}.tl-day b{display:block;font-size:10px}.tl-row{min-height:136px;border-bottom:1px solid #e2e4ec}.tl-label{position:sticky;left:0;z-index:2;background:white;padding:10px 12px;overflow-wrap:anywhere;display:flex;flex-direction:column;justify-content:center;gap:4px;border-right:1px solid #e2e4ec;font-size:12px}.tl-label>button,.tl-unscheduled>div>button{display:block;border:0;background:none;padding:0;text-align:left;color:#4d5989;font-weight:700;white-space:normal;overflow-wrap:anywhere}.tl-label small{font-size:10px;color:#737b96}.tl-track{position:relative;background:repeating-linear-gradient(to right,transparent 0,transparent calc(var(--tl-day-width) - 1px),#e2e4ec calc(var(--tl-day-width) - 1px),#e2e4ec var(--tl-day-width));display:flex;align-items:center}.tl-today-line{position:absolute;top:0;bottom:0;border-left:2px solid #ff7700;pointer-events:none;z-index:1}.tl-track .tl-bar{position:absolute;min-height:36px;padding:8px 4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;border-radius:6px;font-size:11px;background:#e8eaf0;color:#3f4759;border:1px solid #aeb6c7}.tl-status{display:inline-block;border-radius:6px;padding:3px 6px;background:#e8eaf0;color:#3f4759;font-size:11px}.tl .tl-running{background:#dfeaff;color:#2448a5;border-color:#819edc}.tl .tl-blocked{background:#fff0c2;color:#805700;border-color:#c9a953}.tl .tl-final{background:#ddf5e8;color:#12623f;border-color:#81b99b}.tl-overdue{color:#b42318;font-size:11px;font-weight:700}.tl-unscheduled{border-top:1px solid #e2e4ec;padding:14px 0;display:flex;align-items:center;justify-content:space-between;gap:15px}.tl-unscheduled p{margin:5px 0;font-size:12px}.tl-empty{padding:15px;position:sticky;left:0;width:calc(100vw - 100px);max-width:100%}.tl-legacy{margin:24px 0}.tl-legacy>summary{cursor:pointer;padding:15px;font-weight:700}.tl-drawer{margin:0 0 0 auto;width:min(560px,100vw);max-width:100vw;height:100dvh;max-height:100dvh;border-radius:0;padding:22px;border:0;overflow-y:auto}.tl-drawer form{display:flex;flex-direction:column;min-height:100%;gap:12px}.tl-drawer label{display:grid;gap:5px;margin:0}.tl-drawer input,.tl-drawer select,.tl-drawer textarea{width:100%;min-width:0;margin:0;font:inherit;padding:10px;border:1px solid #c7cfdf;border-radius:8px}.tl-drawer textarea{min-height:120px;resize:vertical}.tl-date-fields{display:grid;grid-template-columns:1fr 1fr;gap:12px}.tl-editor-actions{position:sticky;bottom:-22px;background:#fff;display:flex;gap:10px;padding:16px 0;margin-top:auto;border-top:1px solid #e2e4ec}.tl-drawer #tlFormMessage{white-space:pre-wrap;overflow-wrap:anywhere}.tl :focus-visible{outline:3px solid #ffb676;outline-offset:2px}.tl-drawer :focus-visible{outline:2px solid #ffb676;outline-offset:-2px}
@media(max-width:700px){.tl{padding:12px}.tl-filters{display:grid;grid-template-columns:1fr}.tl-filters label{min-width:0}.tl-period{align-items:start;flex-direction:column}.tl-period button{padding:9px 7px;font-size:12px}.tl-summary{gap:6px}.tl-summary>div{min-width:0;flex:1;padding:10px}.tl-scroll{--tl-label-width:165px;max-height:58vh}.tl-label{padding:8px;font-size:11px}.tl-label>button{font-size:12px}.tl-unscheduled{align-items:start;flex-direction:column}.tl-drawer{width:100vw;padding:16px}.tl-editor-actions{bottom:-16px}.tl-date-fields{grid-template-columns:1fr}.tl-drawer .tl-heading h2{font-size:22px}}
@media print{.tl-filters,.tl-period,.tl-drawer{display:none!important}.tl-scroll{max-height:none}.tl-grid{width:auto}}

.homologation-banner{background:#fff0c2;color:#604900;border:1px solid #dfbf6d;padding:7px 12px;margin:8px auto 0;border-radius:7px;max-width:1600px;font:600 12px/1.4 Arial,sans-serif;overflow-wrap:anywhere}

/* Manual civil dates are separate from the native calendar's segmented input. */
.tl-date-entry{display:grid;grid-template-columns:minmax(0,1fr) 38px;gap:6px;position:relative;align-items:center}
.tl-date-entry>input[type=text]{min-width:0;width:100%}
.tl-date-entry>button{padding:8px;min-height:38px;font-size:22px;line-height:1}
.tl-native-calendar{position:absolute!important;width:1px!important;height:1px!important;opacity:0;pointer-events:none;padding:0!important;border:0!important}
.tl-native-calendar.tl-calendar-fallback{position:static!important;width:100%!important;height:auto!important;opacity:1;pointer-events:auto;grid-column:1/-1}

.tl-date-alert{padding:10px 12px;border:1px solid #f3b4ae;border-radius:6px;background:#fff0ed;color:#b42318;font-weight:600}
.tl-date-entry>input[aria-invalid=true]{border-color:#b42318}

/* Keep the date focus ring inside the control, clear of labels and help text. */
.tl-date-field{display:grid;gap:8px;min-width:0}
.tl-date-entry>input[type=text]:focus-visible,
.tl-date-entry>button:focus-visible,
.tl-date-entry>.tl-native-calendar.tl-calendar-fallback:focus-visible{
 outline:2px solid #ffb676;
 outline-offset:-2px;
}

/* Shared summary navigation and detailed pending-work sections. */
.tl-summary>.tl-summary-link{display:block;background:#f7f8fb;border:1px solid #e2e4ec;border-radius:9px;padding:12px 18px;min-width:140px;color:#4d5989;text-decoration:none;flex:1}
.tl-summary-link small{display:block;margin-top:6px;font-size:11px;text-decoration:underline}
.tl-summary-link:hover{border-color:#ff7700;background:#fff5ed}
.tl-summary-link:focus-visible{outline:3px solid #ff7700;outline-offset:3px}
.tl-task-section{margin:22px 0;padding:16px;border:1px solid #e2e4ec;border-radius:9px;min-width:0}
.tl-overdue-section{border-top:3px solid #b42318;background:#fffbfa}
.tl-overdue-section h3{color:#b42318}
.tl-task-section h3,#deliveredActivitiesTitle{scroll-margin-top:calc(var(--site-nav-height,62px) + 100px)}
.tl-task-section h3:focus,#deliveredActivitiesTitle:focus{outline:2px solid #ffb676;outline-offset:4px}
.tl-task-table-wrap{max-width:100%;overflow:auto;scrollbar-gutter:stable}
.tl-task-table-wrap table{width:100%;min-width:1050px;border-collapse:collapse;background:white;font-size:12px}
.tl-task-table-wrap th,.tl-task-table-wrap td{padding:10px;text-align:left;vertical-align:top;border-bottom:1px solid #e2e4ec}
.tl-task-table-wrap th{background:#f7f8fb;color:#4d5989}
.tl-task-table-wrap button{border:0;background:none;padding:0;color:#4d5989;font:inherit;font-weight:700;text-align:left;text-decoration:underline;min-width:130px;max-width:260px;white-space:normal;overflow-wrap:anywhere}
.tl-task-description{min-width:190px;max-width:360px;white-space:pre-wrap;overflow-wrap:anywhere}
.tl-task-date{white-space:nowrap}
@media(max-width:700px){.tl-summary>.tl-summary-link{min-width:100px;padding:10px;box-sizing:border-box}.tl-task-section{padding:10px}.tl-summary-link strong{font-size:23px}}
@media(prefers-reduced-motion:reduce){.tl-summary-link{scroll-behavior:auto}}


.tl-date-error{display:block;color:#b42318;font-size:12px;line-height:1.5;overflow-wrap:anywhere}.tl-date-error[hidden]{display:none}.phase-dialog input[aria-invalid=true]{border-color:#b42318}

/* Shared summary colours retain labels and counts as non-colour cues. */
#tlSummary>[data-summary-tone]{background:var(--summary-bg);border-color:var(--summary-border);border-top:4px solid var(--summary-accent);color:var(--summary-text);box-sizing:border-box}
#tlSummary>[data-summary-tone] strong{color:var(--summary-text)}
#tlSummary>[data-summary-tone=backlog]{--summary-bg:#f1f3f5;--summary-border:#cbd1d8;--summary-accent:#64748b;--summary-text:#374151}
#tlSummary>[data-summary-tone=running]{--summary-bg:#eff6ff;--summary-border:#bfdbfe;--summary-accent:#2563eb;--summary-text:#1e40af}
#tlSummary>[data-summary-tone=overdue]{--summary-bg:#fffbeb;--summary-border:#f5dc8c;--summary-accent:#d4a017;--summary-text:#785400}
#tlSummary>[data-summary-tone=completed]{--summary-bg:#edf9f1;--summary-border:#b5dfc3;--summary-accent:#24945b;--summary-text:#166534}
#tlSummary>[data-summary-tone=cancelled]{--summary-bg:#fff1f2;--summary-border:#fecdd3;--summary-accent:#dc3545;--summary-text:#9f1239}
#tlSummary>a[data-summary-tone]:hover{border-color:var(--summary-accent);box-shadow:0 2px 8px #173d7514;text-decoration:none}
