:root{--ink:#182230;--muted:#667085;--line:#e4e7ec;--surface:#fff;--canvas:#f7f8fa;--brand:#155eef;--brand-dark:#004eeb;--danger:#b42318;--focus:#84adff;font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;color:var(--ink);background:var(--canvas)}*{box-sizing:border-box}body{margin:0}.skip-link{position:absolute;left:-999px}.skip-link:focus{left:1rem;top:1rem;background:#fff;padding:.75rem;z-index:9}.site-header{height:68px;background:#101828;color:#fff;display:flex;align-items:center;justify-content:space-between;padding:0 max(1rem,calc((100vw - 1240px)/2));box-shadow:0 1px 4px #0002}.brand{font-weight:800;color:#fff;text-decoration:none;letter-spacing:-.02em}.site-header nav{display:flex;align-items:center;gap:1rem;font-size:.9rem}.site-header form{margin:0}.link-button{color:#d1e0ff;background:none;border:0;text-decoration:underline;cursor:pointer}.shell{max-width:1240px;margin:auto;padding:2rem 1rem 4rem}.page-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1.5rem}.page-heading h1,.auth-card h1{font-size:clamp(1.8rem,4vw,2.6rem);letter-spacing:-.04em;margin:.15rem 0}.eyebrow{text-transform:uppercase;letter-spacing:.1em;font-weight:800;color:var(--brand);font-size:.75rem;margin:0}.muted,small{color:var(--muted)}.button{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:.65rem 1rem;border:1px solid #d0d5dd;border-radius:9px;background:#fff;color:var(--ink);font-weight:700;text-decoration:none;cursor:pointer}.button:focus,input:focus,select:focus,textarea:focus,a:focus,button:focus{outline:3px solid var(--focus);outline-offset:2px}.button-primary{background:var(--brand);border-color:var(--brand);color:#fff}.button-primary:hover{background:var(--brand-dark)}.button-danger{background:#fff5f4;border-color:#fda29b;color:var(--danger)}.button-quiet{background:transparent}.filters{display:grid;grid-template-columns:2fr repeat(4,1fr);gap:.75rem;padding:1rem;background:#fff;border:1px solid var(--line);border-radius:14px;margin-bottom:1.25rem;box-shadow:0 1px 2px #1018280a}.filters label,.task-form label,.stack label{display:flex;flex-direction:column;gap:.35rem;font-size:.82rem;font-weight:700}.filters input,.filters select,.task-form input,.task-form select,.task-form textarea,.stack input{width:100%;min-height:42px;border:1px solid #d0d5dd;border-radius:8px;padding:.6rem .7rem;background:#fff;color:var(--ink);font:inherit}.filters .check{flex-direction:row;align-items:center}.filters .check input{width:auto}.filter-actions{display:flex;gap:.5rem;align-items:end}.table-wrap{overflow:auto;background:#fff;border:1px solid var(--line);border-radius:14px}table{width:100%;border-collapse:collapse;min-width:980px}th,td{text-align:left;padding:.8rem;border-bottom:1px solid var(--line);vertical-align:top;font-size:.88rem}th{background:#f9fafb;font-size:.75rem;text-transform:uppercase;letter-spacing:.04em}th a{color:var(--ink);text-decoration:none}tr:last-child td{border-bottom:0}.task-link{font-weight:750;color:var(--ink);text-decoration:none}.task-link:hover{text-decoration:underline}td small{display:block;margin-top:.3rem;max-width:350px}.badge{display:inline-block;border-radius:999px;padding:.25rem .55rem;font-size:.75rem;font-weight:750;color:var(--badge);background:color-mix(in srgb,var(--badge) 10%,white);border:1px solid color-mix(in srgb,var(--badge) 25%,white);white-space:nowrap}.overdue{color:var(--danger);font-weight:800}.is-archived{opacity:.65}.icon-link{color:var(--brand);font-weight:700}.task-cards{display:none}.pagination{display:flex;gap:1rem;justify-content:center;align-items:center;margin-top:1.25rem}.task-form{display:grid;grid-template-columns:1fr 1fr;gap:1rem;background:#fff;border:1px solid var(--line);border-radius:14px;padding:1.25rem}.task-form textarea{resize:vertical}.span-2{grid-column:span 2}.form-actions{display:flex;gap:.75rem}.field-error{color:var(--danger);font-weight:700}.danger-zone,.empty-state{margin-top:1.5rem;padding:1.25rem;background:#fff;border:1px solid var(--line);border-radius:14px}.danger-zone h2{margin-top:0;font-size:1rem}.notice{padding:.85rem 1rem;border-radius:10px;margin-bottom:1rem;border:1px solid}.notice-success{background:#ecfdf3;border-color:#abefc6}.notice-error{background:#fef3f2;border-color:#fecdca}.notice-warning{background:#fffaeb;border-color:#fedf89}.auth-card{width:min(440px,100%);margin:8vh auto;background:#fff;padding:2rem;border:1px solid var(--line);border-radius:18px;box-shadow:0 18px 50px #10182814}.stack{display:grid;gap:1rem;margin-top:1.5rem}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(max-width:900px){.filters{grid-template-columns:repeat(2,1fr)}.search,.filter-actions{grid-column:span 2}}
@media(max-width:680px){.site-header{height:60px}.site-header nav span{display:none}.shell{padding:1.25rem .8rem 3rem}.page-heading{align-items:center}.filters{grid-template-columns:1fr}.search,.filter-actions{grid-column:auto}.filter-actions{position:sticky;bottom:0;background:#fff;padding-top:.5rem}.table-wrap{display:none}.task-cards{display:grid;gap:.75rem}.task-card{display:block;background:#fff;border:1px solid var(--line);border-radius:14px;padding:1rem;text-decoration:none;color:var(--ink);min-height:150px}.task-card h2{font-size:1.05rem;margin:.8rem 0;line-height:1.35}.card-meta{display:flex;gap:.45rem;flex-wrap:wrap;color:var(--muted);font-size:.78rem;font-weight:700}.card-meta span{background:#f2f4f7;border-radius:6px;padding:.25rem .4rem}.card-date{font-size:.8rem;font-weight:800;margin:.8rem 0 0}.task-form{grid-template-columns:1fr;padding:1rem}.span-2{grid-column:auto}.form-actions{position:sticky;bottom:0;background:#fff;padding:.75rem 0}.form-actions .button{flex:1}.page-heading .button{white-space:nowrap}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}

/* Dense planner list: colors come from the database through --badge. */
.category-tinted-row{background-color:#fff;box-shadow:inset 4px 0 0 var(--category-color,transparent)}
.task-table .category-tinted-row:hover,.mobile-task-card.category-tinted-row:hover{background-color:#f9fafb}
.category-tinted-row:focus-within{position:relative;z-index:1;outline:3px solid var(--focus);outline-offset:-3px}
.category-tinted-row.is-selected{outline:2px solid #667085;outline-offset:-2px}
.category-tinted-row.row-overdue{border-block-color:#fda29b}
.category-tinted-row.is-archived{filter:saturate(.58);opacity:.64}
@supports(background-color:color-mix(in srgb,#000 7%,white)){
  .category-tinted-row{background-color:color-mix(in srgb,var(--category-color,transparent) 7%,white)}
  .task-table .category-tinted-row:hover,.mobile-task-card.category-tinted-row:hover{background-color:color-mix(in srgb,var(--category-color,transparent) 11%,white)}
  .category-tinted-row.is-selected{background-color:color-mix(in srgb,var(--category-color,transparent) 7%,#eef2f6)}
}
.compact-heading{margin-bottom:.75rem;align-items:center}.compact-heading h1{font-size:clamp(1.55rem,3vw,2.15rem)}.button-small{min-height:34px;padding:.38rem .7rem;border-radius:7px;font-size:.8rem}.filter-panel{background:#fff;border:1px solid var(--line);border-radius:10px;margin-bottom:.65rem}.filter-panel summary{display:flex;justify-content:space-between;align-items:center;min-height:38px;padding:.45rem .7rem;cursor:pointer;font-weight:750;font-size:.82rem}.filter-count{color:var(--muted);font-weight:650}.filter-panel .filters{border:0;border-top:1px solid var(--line);border-radius:0;box-shadow:none;margin:0;padding:.7rem}.results-toolbar{display:flex;justify-content:space-between;align-items:center;gap:.75rem;min-height:42px;padding:.35rem .1rem .55rem;font-size:.78rem}.result-summary strong{font-size:1rem}.active-filter-label,.sort-summary{color:var(--muted)}.toolbar-controls,.page-size-form,.page-size-form label{display:flex;align-items:center;gap:.55rem}.page-size-form select{height:30px;border:1px solid #d0d5dd;border-radius:6px;background:#fff;padding:0 .35rem}.clear-link{color:var(--brand);font-weight:750}.task-table th{position:sticky;top:0;z-index:2;background:#f2f4f7;box-shadow:inset 0 -1px 0 var(--line)}.task-table th,.task-table td{padding:.38rem .5rem;font-size:.78rem;line-height:1.2}.task-table td small{margin-top:.15rem;white-space:nowrap;max-width:360px;overflow:hidden;text-overflow:ellipsis}.task-table .task-link{display:block;max-width:440px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.task-table .badge{font-size:.67rem;padding:.13rem .38rem}.category-label,.mobile-category,.detail-category{color:var(--ink);font-weight:800;border-left:4px solid var(--badge);padding-left:.38rem}.badge{color:var(--ink);background:color-mix(in srgb,var(--badge) 18%,white);border-color:color-mix(in srgb,var(--badge) 52%,#98a2b3)}.priority-badge{font-weight:850;box-shadow:inset 3px 0 0 var(--badge)}.status-badge{border-radius:5px}.recurrence-inline,.mini-recurrence{color:#6941c6;font-weight:750}.compact-task-list{display:none}.detail-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem}.back-link{color:var(--brand);font-weight:750;text-decoration:none}.task-detail{background:#fff;border:1px solid var(--line);border-radius:12px;padding:1.2rem}.task-detail h1{font-size:clamp(1.4rem,4vw,2.1rem);line-height:1.2;margin:.65rem 0}.detail-category{display:inline-block;margin:0;font-size:.78rem}.detail-badges{display:flex;gap:.4rem;flex-wrap:wrap}.recurrence-badge{--badge:#9b8afb}.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:.65rem;margin:1.2rem 0 0}.detail-grid div{background:#f9fafb;padding:.65rem;border-radius:7px}.detail-grid dt{color:var(--muted);font-size:.7rem;text-transform:uppercase;font-weight:800}.detail-grid dd{margin:.2rem 0 0}.detail-wide{grid-column:span 2}
@media(min-width:681px){.filter-panel:not([open]) .filters{display:none}.table-wrap{max-height:calc(100vh - 220px)}}
@media(max-width:680px){.compact-heading{margin-bottom:.5rem}.compact-heading .eyebrow{display:none}.compact-heading h1{font-size:1.35rem}.filter-panel{margin-bottom:.35rem}.filter-panel summary{min-height:34px;padding:.35rem .6rem}.filter-panel:not([open]) .filters{display:none}.filter-panel .filters{max-height:62vh;overflow:auto}.results-toolbar{position:sticky;top:0;z-index:3;background:var(--canvas);min-height:38px;padding:.25rem 0;border-bottom:1px solid var(--line)}.toolbar-controls{gap:.35rem}.sort-summary{display:none}.active-filter-label{display:block;font-size:.68rem}.page-size-form label{font-size:0}.page-size-form label:before{content:'Rows';font-size:.72rem}.clear-link{font-size:.72rem}.compact-task-list{display:block;background:#fff;border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin:0 -.8rem}.compact-task-row{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:'category category' 'title title' 'meta meta';gap:2px 8px;min-height:62px;padding:5px 12px 6px;color:var(--ink);text-decoration:none;border-bottom:1px solid var(--line);background:#fff}.compact-task-row:last-child{border-bottom:0}.compact-task-row:active{background:#f2f4f7}.compact-task-row.row-overdue{box-shadow:inset 3px 0 0 var(--danger)}.mobile-category{grid-area:category;font-size:.66rem;line-height:1.15;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;border-left-width:3px;padding-left:.3rem}.mobile-task-title{grid-area:title;font-size:.88rem;font-weight:760;line-height:1.18;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;max-height:2.36em}.mobile-meta{grid-area:meta;display:flex;align-items:center;gap:4px;min-width:0;font-size:.62rem;line-height:1.1}.mobile-meta .badge{padding:1px 4px;font-size:.59rem;white-space:nowrap}.mini-recurrence{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:92px}.mobile-date{margin-left:auto;color:var(--muted);white-space:nowrap}.mobile-date.overdue{color:var(--danger)}.pagination{margin-top:.65rem;font-size:.75rem}.task-detail{border-radius:0;margin:0 -.8rem;padding:1rem .8rem}.detail-grid{grid-template-columns:1fr}.detail-wide{grid-column:auto}}

/* Compatible tinted badges: solid workbook color plus a white readability veil. */
.badge{color:var(--ink);background-color:var(--badge);background-image:linear-gradient(rgba(255,255,255,.76),rgba(255,255,255,.76));border-color:var(--badge)}

/* Planner controls and lookup identity */
.heading-actions{display:flex;gap:.4rem;flex-wrap:wrap;justify-content:flex-end}.period-bar{background:#fff;border:1px solid var(--line);border-radius:9px;margin-bottom:.45rem;padding:.35rem .5rem}.period-form{display:flex;align-items:center;gap:.4rem;flex-wrap:wrap}.period-form select{height:30px;border:1px solid #d0d5dd;border-radius:6px;background:#fff}.period-nav{font-size:.74rem;font-weight:750;color:var(--brand);padding:.25rem .35rem;text-decoration:none}.period-label{font-size:.78rem;margin-left:.25rem}.sort-panel{background:#fff;border:1px solid var(--line);border-radius:9px;margin-bottom:.55rem}.sort-panel>summary{cursor:pointer;padding:.35rem .55rem;font-size:.76rem;font-weight:800}.sort-panel>summary span{color:var(--muted);font-weight:650}.sort-form{padding:.55rem;border-top:1px solid var(--line)}.sort-help{font-size:.73rem;color:var(--muted);margin:0 0 .4rem}.sort-row{display:grid;grid-template-columns:24px minmax(130px,1fr) minmax(110px,.6fr);gap:.4rem;align-items:center;margin:.3rem 0;max-width:550px}.sort-row select{height:31px;border:1px solid #d0d5dd;border-radius:6px;background:#fff}.sort-actions{display:flex;gap:.4rem;margin-top:.45rem}.sort-indicator{display:inline-flex;align-items:center;gap:2px;margin-left:3px;color:var(--brand)}.sort-indicator b{display:inline-grid;place-items:center;min-width:15px;height:15px;border-radius:50%;background:var(--brand);color:#fff;font-size:.59rem}.category-badge{display:inline-block;max-width:190px;padding:.18rem .42rem;border:1px solid var(--badge);border-left-width:5px;border-radius:5px;background-color:var(--badge);background-image:linear-gradient(rgba(255,255,255,.78),rgba(255,255,255,.78));color:var(--ink);font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.frequency-badge{font-weight:750;border-radius:4px}.lookup-section{margin:1rem 0}.lookup-section h2{font-size:1rem}.lookup-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:.4rem}.lookup-color-form{display:grid;grid-template-columns:12px 1fr auto;gap:.5rem;align-items:center;padding:.4rem;background:#fff;border:1px solid var(--line);border-radius:7px}.lookup-color-form label{display:flex;justify-content:space-between;align-items:center;gap:.5rem;font-size:.78rem;font-weight:750}.lookup-color-form input[type=color]{width:34px;height:27px;border:0;padding:0;background:none}.lookup-swatch{width:10px;height:30px;border-radius:3px;background:var(--badge)}

@media(max-width:680px){.period-bar{margin-left:-.2rem;margin-right:-.2rem}.period-form{gap:.2rem}.period-nav{padding:.22rem}.period-label{width:100%;margin-left:0}.sort-panel{display:none}.frequency-badge{max-width:90px;overflow:hidden;text-overflow:ellipsis}.heading-actions .button:first-child{display:none}}

/* Data operations */
.data-menu{position:relative}.data-menu summary{list-style:none;cursor:pointer}.data-menu summary::-webkit-details-marker{display:none}.data-menu-popover{position:absolute;right:0;top:40px;z-index:8;display:grid;min-width:210px;padding:.45rem;background:#fff;border:1px solid var(--line);border-radius:9px;box-shadow:0 12px 30px #10182826}.data-menu-popover strong{padding:.35rem .5rem;font-size:.7rem;text-transform:uppercase;color:var(--muted)}.data-menu-popover a{padding:.48rem .5rem;border-radius:5px;color:var(--ink);font-size:.8rem;font-weight:700;text-decoration:none}.data-menu-popover a:hover{background:#f2f4f7}.upload-panel,.export-options,.readiness-panel,.confirm-import{background:#fff;border:1px solid var(--line);border-radius:12px;padding:1rem}.drop-zone{display:grid;place-items:center;text-align:center;min-height:190px;padding:1.2rem;border:2px dashed #84adff;border-radius:10px;background:#f5f8ff;cursor:pointer}.drop-zone span{color:var(--muted);font-size:.8rem;margin:.4rem}.drop-zone:focus-visible{outline:3px solid var(--focus);outline-offset:3px}.drop-zone.is-drag-active{border-style:solid;border-color:var(--brand);background:#eaf2ff;box-shadow:inset 0 0 0 2px #fff,0 0 0 3px #84adff}.drop-zone.is-drag-active:before{content:"⇩";display:grid;place-items:center;width:32px;height:32px;border:2px solid currentColor;border-radius:50%;color:var(--brand);font-size:1.25rem;font-weight:900}.upload-status{display:block;min-height:1.2em;font-weight:750;color:var(--ink)!important}.upload-status.is-error{color:var(--danger)!important}.upload-picker{display:flex;align-items:center;gap:.5rem;margin:.65rem 0}.import-summary{display:grid;grid-template-columns:repeat(6,1fr);gap:.5rem;margin-bottom:.65rem}.import-summary div{background:#fff;border:1px solid var(--line);border-radius:8px;padding:.6rem}.import-summary span{display:block;color:var(--muted);font-size:.67rem;text-transform:uppercase;font-weight:800}.import-summary strong{display:block;margin-top:.15rem}.detected-headers{font-size:.78rem}.preview-table-wrap{max-height:52vh;overflow:auto;border:1px solid var(--line);border-radius:9px;background:#fff}.preview-table{min-width:1050px}.preview-table th{position:sticky;top:0;z-index:2}.preview-table th,.preview-table td{padding:.35rem .45rem;font-size:.73rem}.classification{display:inline-block;padding:.12rem .35rem;border-radius:4px;font-weight:800}.classification-valid{background:#d1fadf;color:#05603a}.classification-warning{background:#fef0c7;color:#93370d}.classification-error{background:#fee4e2;color:#b42318}.classification-duplicate{background:#eaecf0;color:#344054}.confirm-import{margin-top:.65rem}.confirm-import p{font-size:.78rem;color:var(--muted)}.export-options fieldset,.readiness-panel fieldset{border:0;padding:0;margin:0 0 1rem}.export-options legend,.readiness-panel legend{font-weight:850;margin-bottom:.5rem}.export-options fieldset label,.readiness-panel fieldset label{display:flex;align-items:flex-start;gap:.65rem;padding:.7rem;border:1px solid var(--line);border-radius:8px;margin:.4rem 0;cursor:pointer}.export-options small,.readiness-panel small{display:block;margin-top:.2rem}.migration-danger{border-color:#fda29b}.clear-confirm{display:flex;align-items:end;gap:.6rem}.clear-confirm label{display:grid;gap:.3rem;font-size:.8rem;font-weight:750}.clear-confirm input{height:38px;border:1px solid #d0d5dd;border-radius:7px;padding:.4rem .55rem;min-width:260px}
@media(max-width:680px){.heading-actions{gap:.25rem}.data-menu-popover{position:fixed;top:61px;right:.6rem;left:.6rem}.import-summary{grid-template-columns:repeat(3,1fr)}.clear-confirm{display:grid}.clear-confirm input{min-width:0;width:100%}.drop-zone{min-height:150px}.export-options,.readiness-panel{padding:.7rem}}

/* Top-level task classification. Kept separate from workbook-driven lookup colors. */
.major-category-badge{display:inline-block;padding:.13rem .38rem;border:1px solid;border-radius:4px;font-size:.67rem;font-weight:850;white-space:nowrap}
.major-P{color:#175cd3;background:#eff8ff;border-color:#84caff}

/* Local wall-clock task datetimes. */
.datetime-inputs{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.75fr);gap:.4rem}
.cell-time{display:block;color:var(--muted);font-size:.68rem;line-height:1.05}
@media(max-width:680px){.datetime-inputs{grid-template-columns:1fr 1fr}.mobile-date{font-variant-numeric:tabular-nums}}

/* Compact bookmarked date views. */
.quick-views{display:flex;gap:.32rem;flex-wrap:wrap;max-width:100%}
.quick-view-group{display:inline-flex;gap:.22rem;min-width:0}
.quick-view-group-neutral{--quick-border:#d0d5dd;--quick-background:#fff;--quick-hover:#f7f8fa}
.quick-view-group-day{--quick-border:#9DEBE2;--quick-background:#EDFDFA;--quick-hover:#eff6ff}
.quick-view-group-week{--quick-border:#B8D1FC;--quick-background:#F2F6FE;--quick-hover:#eaf0ff}
.quick-view-group-month{--quick-border:#D8BEFA;--quick-background:#F7F1FE;--quick-hover:#f3edfc}
.quick-view-button{display:inline-flex;align-items:center;justify-content:center;min-height:28px;padding:.22rem .48rem;border:1px solid var(--quick-border,#d0d5dd);border-radius:6px;background:var(--quick-background,#fff);color:var(--ink);font-size:.72rem;font-weight:750;line-height:1.15;text-decoration:none}
.quick-view-button:hover{border-color:#84adff;background:var(--quick-hover,#f5f8ff)}
.quick-view-button.is-active{border-color:var(--brand);background:var(--brand);color:#fff}
.quick-view-help{color:var(--muted);font-size:.66rem;white-space:nowrap}
@media(max-width:680px){.quick-views{width:100%;order:2}.period-label{order:3}.quick-view-help{order:4;width:100%;white-space:normal}}

/* Complete compact pagination. Disabled controls are non-interactive text. */
.pagination{gap:.4rem;flex-wrap:wrap}
.pagination-disabled{color:#98a2b3;background:#f2f4f7;border-color:#e4e7ec;cursor:not-allowed;pointer-events:none}
.pagination-status{padding:0 .35rem;white-space:nowrap}
@media(max-width:680px){.pagination{gap:.25rem}.pagination .button{min-height:32px;padding:.32rem .48rem;font-size:.7rem}.pagination-status{padding:0 .1rem}}

/* Optional browser-provided voice dictation. */
.field-label-row{display:flex;align-items:center;gap:.3rem;min-height:28px}
.voice-button{margin-left:auto;width:30px;height:28px;border:1px solid #d0d5dd;border-radius:6px;background:#fff;color:var(--ink);cursor:pointer;font-size:.9rem;line-height:1}
.voice-button:disabled{color:#98a2b3;background:#f2f4f7;cursor:not-allowed}
.voice-button.is-listening{border-color:var(--danger);box-shadow:0 0 0 2px #fee4e2}
.voice-button.is-listening::after{content:' Stop';font-size:.62rem;font-weight:800}
.voice-button.is-listening{width:auto;padding:0 .4rem}
.voice-options{display:flex;align-items:center;gap:.55rem;flex-wrap:wrap;padding:.45rem .55rem;border:1px solid var(--line);border-radius:8px;background:#f9fafb}
.voice-options label{display:flex;flex-direction:row;align-items:center;gap:.35rem}
.voice-options select{width:auto;min-height:30px;padding:.2rem .35rem}
.voice-options p,.voice-status{margin:0;color:var(--muted);font-size:.7rem;font-weight:600}
.voice-status{margin-left:auto}
@media(max-width:680px){.voice-options{align-items:flex-start}.voice-status{width:100%;margin-left:0}}

/* Safe render-time links inside task text. */
.linkified-text{white-space:pre-wrap;overflow-wrap:anywhere}
.task-text-link{color:#175cd3;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:2px}
.task-text-link:hover{text-decoration-thickness:2px;color:#004eeb}
.task-text-link:focus-visible,.copy-path-button:focus-visible,.task-open-link:focus-visible,.mobile-open-link:focus-visible{outline:3px solid var(--focus);outline-offset:2px}
.local-path{display:inline-flex;align-items:baseline;gap:.25rem;max-width:100%}
.copy-path-button{min-height:22px;padding:.08rem .3rem;border:1px solid #98a2b3;border-radius:4px;background:#fff;color:var(--ink);font-size:.62rem;font-weight:750;cursor:pointer}
.task-open-link,.mobile-open-link{display:inline-block;color:var(--brand);font-size:.68rem;font-weight:750;text-decoration:underline}
.task-open-link{margin-top:.18rem}
.mobile-open-link{margin-left:.25rem}
.task-table .linkified-text,.task-table td small.linkified-text{white-space:pre-wrap}
.row-actions{display:flex;align-items:center;gap:.45rem;white-space:nowrap}.trash-link,.danger-link{color:var(--danger);font-weight:800;text-decoration:none}.trash-link{display:inline-grid;place-items:center;width:28px;height:28px;border:1px solid #fda29b;border-radius:6px;background:#fff5f4}.trash-link:hover,.danger-link:hover{text-decoration:underline}.trash-link:focus-visible,.danger-link:focus-visible{outline:3px solid var(--focus);outline-offset:2px}.delete-dialog .schedule-form{display:grid;gap:.8rem}.delete-link-consent{display:flex;align-items:flex-start;gap:.55rem;font-weight:750}.delete-link-consent input{margin-top:.2rem}.duplicate-toolbar{display:flex;align-items:center;gap:.55rem;flex-wrap:wrap;margin-bottom:.75rem}.duplicate-filters{display:flex;gap:.35rem;flex-wrap:wrap}.duplicate-filters .is-active{background:var(--brand);border-color:var(--brand);color:#fff}.duplicate-groups{display:grid;gap:.8rem}.duplicate-group{background:#fff;border:1px solid var(--line);border-left:4px solid #f79009;border-radius:10px;padding:.75rem}.duplicate-group.duplicate-exact{border-left-color:var(--danger)}.duplicate-group-heading{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start}.duplicate-group-heading h2{font-size:1rem;margin:.15rem 0}.duplicate-type{font-size:.68rem;font-weight:850;text-transform:uppercase;color:var(--muted)}.duplicate-differences{font-size:.75rem;margin:.45rem 0}.duplicate-table{min-width:1080px}.duplicate-table th,.duplicate-table td{padding:.4rem .5rem;font-size:.75rem}.duplicate-table td small{display:block;margin-top:.2rem}.duplicate-table .row-actions{align-items:flex-start;flex-direction:column;gap:.25rem}
@media(prefers-color-scheme:dark){.task-text-link{color:#84adff}.task-text-link:hover{color:#b2ccff}}
.major-C{color:#344054;background:#f2f4f7;border-color:#98a2b3}
.mobile-major{display:inline;margin-right:.28rem}
@media(max-width:680px){.compact-task-row{grid-template-areas:'category category' 'title title' 'meta meta'}.mobile-major{position:absolute;margin:5px 0 0 12px}.mobile-category{padding-left:5.25rem}}

/* Configurable planner multi-level sorting. */
.sort-row{grid-template-columns:24px minmax(130px,1fr) minmax(110px,.6fr) auto;max-width:720px}
.sort-row-actions{display:flex;gap:.2rem}
.sort-order-button{display:inline-grid;place-items:center;width:28px;height:28px;padding:0;border:1px solid #d0d5dd;border-radius:5px;background:#fff;color:var(--ink);font-weight:850;cursor:pointer}
.sort-order-button:disabled{opacity:.35;cursor:not-allowed}
.sort-indicator{font-size:0}.sort-indicator:before{font-size:.72rem}.sort-indicator.is-ascending:before{content:'↑'}.sort-indicator.is-descending:before{content:'↓'}
.js .sort-row.is-unused:not(.is-next-unused){display:none}
.sort-row[hidden]{display:none!important}
@media(max-width:680px){.sort-panel{display:block}.sort-row{grid-template-columns:20px minmax(0,1fr) minmax(96px,.65fr);max-width:none}.sort-row-actions{grid-column:2/4}.sort-actions{flex-wrap:wrap}}

/* Managed task options */
.option-tabs{position:sticky;top:0;z-index:4;display:flex;gap:.35rem;margin:.7rem 0;padding:.35rem;background:var(--canvas)}.option-tabs a{padding:.38rem .6rem;border:1px solid var(--line);border-radius:6px;background:#fff;color:var(--ink);font-size:.78rem;font-weight:800;text-decoration:none}.option-section{scroll-margin-top:48px;margin:1rem 0;padding:.7rem;background:#fff;border:1px solid var(--line);border-radius:10px}.option-heading{display:flex;align-items:center;justify-content:space-between}.option-heading h2{margin:.15rem 0 .6rem;font-size:1rem}.option-heading span,.option-help{color:var(--muted);font-size:.72rem}.option-table-wrap{overflow:auto}.option-table{min-width:900px}.option-table th,.option-table td{padding:.34rem .42rem;font-size:.75rem;vertical-align:middle}.option-table code{font-size:.7rem}.option-actions{display:flex;align-items:center;gap:.3rem;min-width:265px}.option-actions form{margin:0}.option-actions details{position:relative}.option-actions summary{list-style:none}.option-popover{position:absolute;right:0;z-index:6;display:grid;gap:.45rem;width:250px;padding:.65rem;background:#fff;border:1px solid var(--line);border-radius:8px;box-shadow:0 12px 30px #10182826}.option-popover label,.option-add-form label{display:grid;gap:.2rem;font-size:.72rem;font-weight:750}.option-popover input,.option-add-form input,.option-add-form select,.delete-option-form input{height:32px;border:1px solid #d0d5dd;border-radius:6px;padding:.3rem .45rem}.option-add-row td{background:#f9fafb}.option-add-form{display:flex;align-items:end;gap:.6rem;padding:.65rem 0;flex-wrap:wrap}.system-tag,.state-tag{display:inline-block;margin-left:.3rem;padding:.1rem .28rem;border-radius:4px;font-size:.62rem;font-weight:850}.system-tag{background:#eef4ff;color:#3538cd}.state-active{background:#dcfae6;color:#067647}.state-inactive{background:#f2f4f7;color:#475467}.is-inactive{opacity:.72}.delete-option-form{display:flex;gap:.25rem}.delete-option-form input{width:84px;font-size:.65rem}
@media(max-width:680px){.option-tabs{overflow:auto;margin-left:-.8rem;margin-right:-.8rem}.option-section{margin-left:-.8rem;margin-right:-.8rem;border-radius:0}.option-popover{position:fixed;left:.6rem;right:.6rem;top:90px;width:auto}.option-add-form{display:grid}.option-actions{min-width:250px}}

/* Dense notes and comments previews. Full text remains available via expansion/detail. */
.compact-text-block{max-width:440px;margin-top:.12rem;font-size:.68rem;line-height:1.18}
.compact-text-block.task-notes,.compact-text-block.next-action-notes{color:var(--muted)}
.compact-text-block.next-actions{color:#6941c6;font-weight:700}
.collapsible-text{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;max-height:2.36em}
.collapsible-text.is-expanded{display:block;max-height:none;-webkit-line-clamp:unset}
.text-toggle{min-height:20px;margin:.08rem 0 0;padding:0;border:0;background:transparent;color:var(--brand);font-size:.62rem;font-weight:750;text-decoration:underline;cursor:pointer}
.mobile-text-preview{display:none}
.import-rule{font-size:.76rem}
.import-report-actions{justify-content:flex-end;margin:.35rem 0 .55rem}.import-rejections{margin:.7rem 0}.import-rejections h2{margin:0 0 .2rem;font-size:1rem}.import-rejections p{margin:.2rem 0 .45rem;font-size:.78rem;color:var(--muted)}.classification-blank{background:#f2f4f7;color:#475467}
.import-text-preview{min-width:1900px}
.preview-preserve{min-width:190px;max-width:300px;white-space:pre-wrap;overflow-wrap:anywhere}
@media(max-width:680px){
  .compact-task-row{grid-template-areas:'category category' 'title title' 'preview preview' 'meta meta'}
  .mobile-text-preview{grid-area:preview;display:block;min-width:0}
  .mobile-text-preview:empty{display:none}
  .mobile-text-preview .compact-text-block{max-width:none;font-size:.62rem}
  .mobile-text-preview .collapsible-text{-webkit-line-clamp:1;max-height:1.18em}
  .mobile-text-preview .collapsible-text.is-expanded{max-height:none;-webkit-line-clamp:unset}
}

/* Reusable routine creation and KN schedule preview. */
.schedule-dialog{width:min(560px,calc(100vw - 1.5rem));padding:0;border:0;border-radius:12px;box-shadow:0 24px 70px #10182855}
.schedule-dialog::backdrop{background:#10182880}
.schedule-form{display:grid;gap:.7rem;padding:1rem}
.schedule-form label{display:grid;gap:.28rem;font-size:.78rem;font-weight:800}
.schedule-form input,.schedule-form select{min-height:38px;width:100%;padding:.45rem .55rem;border:1px solid #d0d5dd;border-radius:7px;background:#fff;color:var(--ink)}
.dialog-heading{display:flex;align-items:flex-start;justify-content:space-between}.dialog-heading h2{margin:.1rem 0;font-size:1.35rem}.dialog-close{width:32px;height:32px;border:0;border-radius:6px;background:#f2f4f7;font-size:1.3rem;cursor:pointer}
.schedule-help{margin:.15rem 0;color:var(--muted);font-size:.76rem;line-height:1.45}
.dialog-actions,.schedule-confirm-actions{display:flex;gap:.5rem;align-items:center}.field-error{color:var(--danger)}
.schedule-preview-meta{color:var(--muted);font-weight:750}.schedule-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:.5rem;margin-bottom:.65rem}.schedule-summary div{padding:.55rem;background:#fff;border:1px solid var(--line);border-radius:8px}.schedule-summary span{display:block;color:var(--muted);font-size:.65rem;text-transform:uppercase;font-weight:800}.schedule-summary strong{font-size:.82rem}
.schedule-preview-table{max-height:62vh}.schedule-preview-table table{min-width:1180px}.schedule-preview-table td{vertical-align:top}.schedule-preview-table .cell-time{display:block}.schedule-dependency,.schedule-source-title{display:block;max-width:330px;margin-top:.2rem;white-space:normal}.schedule-dependency{color:#6941c6}.schedule-source-title{color:var(--muted)}.schedule-conflict td{background:#fff7ed}.schedule-confirm-actions{margin-top:.7rem}.schedule-confirm-actions form{margin:0}
@media(max-width:680px){.schedule-summary{grid-template-columns:1fr 1fr}.schedule-dialog{width:calc(100vw - .7rem)}.schedule-form{padding:.8rem}.schedule-confirm-actions{align-items:stretch;flex-direction:column}.schedule-confirm-actions form,.schedule-confirm-actions button{width:100%}}

/* Transactional Data task-list editor. */
.data-source-tabs{display:flex;gap:.35rem;overflow:auto;margin:.5rem 0;padding:.35rem;background:#eef2f6;border-radius:8px}.data-source-tabs a{flex:0 0 auto;padding:.42rem .6rem;border:1px solid var(--line);border-radius:6px;background:#fff;color:var(--ink);font-size:.74rem;font-weight:800;text-decoration:none}.data-source-tabs a.is-active{border-color:var(--brand);box-shadow:inset 0 -3px 0 var(--brand)}.data-source-tabs small{font-size:.62rem;color:var(--muted)}
.data-editor-toolbar{display:flex;align-items:center;justify-content:space-between;gap:.5rem;min-height:48px;padding:.45rem .55rem;background:#fff;border:1px solid var(--line);border-radius:8px}.data-editor-actions,.row-actions,.order-controls,.order-controls form{display:flex;align-items:center;gap:.3rem}.data-editor-actions form,.row-actions form,.order-controls form{margin:0}.draft-state,.saved-state{display:inline-block;margin-left:.45rem;padding:.14rem .35rem;border-radius:4px;font-size:.66rem;font-weight:850}.draft-state{background:#fef0c7;color:#93370d}.saved-state{background:#dcfae6;color:#067647}
.data-task-table-wrap{margin-top:.5rem;max-height:56vh}.data-task-table{min-width:1180px}.data-task-table th,.data-task-table td{padding:.36rem .42rem;font-size:.73rem;vertical-align:top}.data-task-table td>small,.data-task-table td strong+small{display:block;margin-top:.18rem;color:var(--muted);max-width:270px;white-space:normal}.order-controls button{width:27px;height:27px;border:1px solid #d0d5dd;border-radius:5px;background:#fff;cursor:pointer}.order-controls button:disabled{opacity:.35}.milestone-badge{display:inline-block;margin-left:.35rem;padding:.1rem .3rem;border-radius:999px;background:#f4ebff;color:#6941c6;font-size:.61rem;font-weight:850}
.data-task-form select[multiple]{min-height:120px}.data-timeline{margin-top:.7rem;padding:.45rem .55rem;background:#fff;border:1px solid var(--line);border-radius:8px}.data-timeline summary{font-weight:850;cursor:pointer}.timeline-scale{display:flex;justify-content:space-between;margin:.5rem 0 .2rem 230px;color:var(--muted);font-size:.65rem}.timeline-row{display:grid;grid-template-columns:220px minmax(400px,1fr);gap:10px;align-items:center;min-height:31px;font-size:.68rem}.timeline-row>span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.timeline-track{display:grid;grid-template-columns:minmax(220px,1fr) auto;gap:.4rem;align-items:center}.timeline-track progress{width:100%;height:12px;accent-color:var(--brand)}.timeline-track small{white-space:nowrap}
.template-timing-fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.65rem;border:1px solid var(--line);border-radius:7px;padding:.65rem;margin:0}.template-timing-fields legend{font-weight:800;padding:0 .3rem}
@media(max-width:680px){.data-editor-toolbar{align-items:stretch;flex-direction:column}.data-editor-actions{width:100%;flex-wrap:wrap}.data-task-table-wrap{max-height:65vh}.timeline-scale{margin-left:130px}.timeline-row{grid-template-columns:120px minmax(360px,1fr)}.data-timeline{overflow:auto}}
@media(max-width:700px){.template-timing-fields{grid-template-columns:1fr}}

/* Persistent selected-task and saved-schedule Gantt. */
.bulk-delete-button:disabled{background:#fff;border-color:#d0d5dd;color:#98a2b3;cursor:not-allowed}.bulk-delete-task-summary{max-height:150px;overflow:auto;margin:.1rem 0;padding:.45rem .45rem .45rem 1.65rem;border:1px solid var(--line);border-radius:7px;font-size:.76rem}.bulk-delete-task-summary li{padding:.12rem 0}.bulk-delete-task-summary small{display:inline;color:var(--muted)}.bulk-delete-dialog .notice{margin:0}.bulk-delete-dialog .notice ul{max-height:120px;overflow:auto;margin:.4rem 0;padding-left:1.2rem}.bulk-delete-dialog .dialog-actions{justify-content:flex-end}
.gantt-selection-toolbar{display:flex;align-items:center;gap:.4rem;flex-wrap:wrap;padding:.4rem .5rem;margin-bottom:.5rem;background:#fff;border:1px solid var(--line);border-radius:9px;font-size:.75rem}.gantt-selection-toolbar strong{margin-right:.2rem}.gantt-selection-toolbar small{margin-left:auto}.selection-limit-status{color:var(--danger);font-weight:700;min-height:1em}.selection-cell{width:34px;min-width:34px;text-align:center}.selection-cell input,.mobile-select input{width:17px;height:17px;accent-color:var(--brand)}.mobile-select{display:none}.selection-save{display:none}.selection-unavailable .selection-save{display:inline-flex}
.filter-field{display:flex;flex-direction:column;gap:.35rem;min-width:0;font-size:.82rem;font-weight:700}.filter-field-label{line-height:normal}.category-multiselect{position:relative;min-width:190px}.category-multiselect>summary{display:flex;justify-content:space-between;gap:.45rem;align-items:center;width:100%;height:42px;min-height:42px;padding:.6rem .7rem;border:1px solid #d0d5dd;border-radius:8px;background:#fff;cursor:pointer;font:inherit;line-height:normal;list-style:none}.category-multiselect>summary::-webkit-details-marker{display:none}.category-multiselect>summary:after{content:'▾';flex:0 0 auto;color:var(--muted)}.category-multiselect[open]>summary:after{content:'▴'}.category-selection-summary{display:block;min-width:0;max-width:100%;color:var(--muted);font-weight:650;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.category-multiselect-popover{position:absolute;top:calc(100% + 4px);left:0;z-index:20;width:min(340px,calc(100vw - 2rem));padding:.55rem;background:#fff;border:1px solid var(--line);border-radius:8px;box-shadow:var(--shadow)}.category-search{display:block;font-size:.7rem;font-weight:800}.category-search input{width:100%;height:32px;margin-top:.2rem}.category-filter-actions{display:flex;gap:.35rem;margin:.45rem 0}.category-option-list{max-height:240px;overflow:auto;border-block:1px solid var(--line);padding:.25rem 0}.category-option{display:flex;align-items:center;gap:.4rem;min-height:30px;padding:.25rem .35rem;border-radius:4px;font-size:.76rem;cursor:pointer}.category-option:hover{background:#f2f4f7}.category-option input{width:16px;height:16px;accent-color:var(--brand)}.category-option em{color:#93370d;font-size:.66rem;font-weight:800}.category-selection-status{margin:.35rem 0 0;color:var(--muted);font-size:.68rem}.category-option[hidden]{display:none}
.gantt-controls{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap;padding:.5rem .65rem;margin-bottom:.6rem;background:#fff;border:1px solid var(--line);border-radius:9px}.gantt-control-form{display:flex;gap:.6rem}.gantt-control-form label{display:flex;align-items:center;gap:.3rem;font-size:.75rem;font-weight:800}.gantt-control-form select{height:31px;border:1px solid #d0d5dd;border-radius:6px;background:#fff}.gantt-scale{font-size:.72rem;color:var(--muted)}.gantt-warnings{margin-bottom:.6rem;padding:.65rem .8rem;border:1px solid #fedf89;border-radius:9px;background:#fffaeb}.gantt-warnings h2{font-size:.9rem;margin:0 0 .3rem}.gantt-warnings ul{display:flex;gap:.35rem 1rem;flex-wrap:wrap;margin:0;padding-left:1.1rem;font-size:.72rem}.gantt-warnings a{color:#93370d;font-weight:750}
.gantt-chart{max-height:72vh;overflow:auto;border:1px solid var(--line);border-radius:10px;background:#fff}.gantt-canvas{min-width:calc(260px + var(--gantt-width));width:calc(260px + var(--gantt-width))}.gantt-row{display:grid;grid-template-columns:260px var(--gantt-width);min-height:58px;border-bottom:1px solid var(--line)}.gantt-header-row{position:sticky;top:0;z-index:6;min-height:52px;background:#f9fafb}.gantt-task-label{position:sticky;left:0;z-index:4;padding:.42rem .55rem;background:#fff;border-right:1px solid var(--line);overflow:hidden}.gantt-header-row .gantt-task-label{z-index:8;background:#f2f4f7}.gantt-task-label>a{display:block;color:var(--ink);font-size:.78rem;font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.gantt-task-label small{display:block;margin-top:.15rem;font-size:.64rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.gantt-row-warning{display:block;margin-top:.15rem;color:#93370d;font-size:.62rem;font-weight:800}.gantt-row.has-warning .gantt-task-label{box-shadow:inset 3px 0 0 #f79009}.gantt-track{position:relative;min-width:var(--gantt-width);background:#fff}.gantt-axis{background:#f2f4f7}.gantt-weekend{position:absolute;top:0;bottom:0;background:#f2f4f7}.gantt-tick,.gantt-grid-line{position:absolute;top:0;bottom:0;border-left:1px solid #d0d5dd}.gantt-tick b{position:absolute;top:4px;left:4px;font-size:.61rem;white-space:nowrap;color:var(--muted)}.gantt-tick.is-month-boundary,.gantt-grid-line.is-month-boundary{border-left:2px solid #98a2b3}.gantt-today,.gantt-today-line{position:absolute;top:0;bottom:0;border-left:2px solid var(--danger);z-index:3}.gantt-today b{position:absolute;top:28px;left:3px;color:var(--danger);font-size:.61rem}
.gantt-bar{--badge:#6172f3;position:absolute;top:19px;height:20px;min-width:6px;border:1px solid color-mix(in srgb,var(--badge) 70%,#344054);border-radius:5px;background:color-mix(in srgb,var(--badge) 68%,white);box-shadow:0 1px 2px #10182833;z-index:2}.gantt-bar:hover,.gantt-bar:focus-visible{filter:brightness(.92);outline:3px solid var(--focus);outline-offset:2px}.gantt-bar.is-milestone{width:14px!important;min-width:14px;transform:rotate(45deg);border-radius:2px}.gantt-bar.is-overdue{box-shadow:inset 0 0 0 2px var(--danger),0 1px 2px #10182833}.gantt-bar.is-completed{background:repeating-linear-gradient(135deg,color-mix(in srgb,var(--badge) 62%,white) 0 6px,#fff 6px 9px);border-style:double}.gantt-no-bar{position:absolute;top:19px;left:8px;color:#93370d;font-size:.7rem;font-weight:800}.gantt-legend{display:flex;gap:1rem;flex-wrap:wrap;font-size:.7rem;color:var(--muted)}.gantt-legend span{display:flex;align-items:center;gap:.25rem}.gantt-legend i{display:inline-block;width:18px;height:8px;border-radius:3px;background:#8098f9}.gantt-legend .legend-overdue{box-shadow:inset 0 0 0 2px var(--danger)}.gantt-legend .legend-complete{background:repeating-linear-gradient(135deg,#8098f9 0 4px,#fff 4px 6px)}
@media(max-width:680px){.gantt-selection-toolbar{position:sticky;top:38px;z-index:3;margin-left:-.2rem;margin-right:-.2rem}.gantt-selection-toolbar small{display:none}.mobile-select{display:block;grid-area:select;align-self:center}.compact-task-row:has(.mobile-select){grid-template-columns:24px minmax(0,1fr) auto;grid-template-areas:'select category category' 'select title title' 'select meta meta'}.gantt-page-heading{align-items:flex-start}.gantt-canvas{min-width:calc(190px + var(--gantt-width));width:calc(190px + var(--gantt-width))}.gantt-row{grid-template-columns:190px var(--gantt-width)}.gantt-task-label{padding:.35rem}.gantt-control-form{flex-wrap:wrap}}
@media print{.site-header,.gantt-controls,.gantt-page-heading .heading-actions,.gantt-warnings{display:none!important}.shell{max-width:none;padding:0}.gantt-chart{max-height:none;overflow:visible;border:0}.gantt-canvas{min-width:100%;width:100%}.gantt-row{grid-template-columns:240px minmax(700px,1fr);break-inside:avoid}.gantt-track{min-width:700px}.gantt-task-label{position:static}.gantt-page-heading{display:block}.gantt-page-heading h1{font-size:18pt}}

.page-heading-actions{display:flex;align-items:center;justify-content:flex-end;gap:.5rem;flex-wrap:wrap}
@media(max-width:680px){.page-heading-actions{max-width:100%;justify-content:flex-end}.page-heading-actions .button{min-height:40px;padding:.5rem .65rem}}
.bulk-start-dialog{width:min(540px,calc(100vw - 2rem))}.bulk-start-dialog label{display:grid;gap:.4rem;font-weight:800}.bulk-start-preview{max-width:600px;padding:1.25rem;background:#fff;border:1px solid var(--line);border-radius:14px}.bulk-start-preview h2{margin-top:0}.bulk-start-preview dl{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}.bulk-start-preview dl div{padding:.75rem;background:#f9fafb;border-radius:8px}.bulk-start-preview dt{color:var(--muted);font-size:.75rem;font-weight:800}.bulk-start-preview dd{margin:.2rem 0 0;font-size:1.1rem;font-weight:850}
.gantt-selection-toolbar{min-height:58px}.gantt-selection-toolbar>#bulk-start-help{min-width:220px;min-height:1em}.gantt-selection-toolbar>.selection-limit-status{min-height:1em}

/* Deliberate planner card layout below the desktop-table breakpoint. */
.mobile-planner-cards,.sort-summary-mobile{display:none}
@media(max-width:767px){
  html,body{max-width:100%;overflow-x:hidden}
  .shell{width:100%;min-width:0;padding:1rem .6rem 2.5rem}
  .compact-heading{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.45rem;margin-bottom:.5rem}
  .compact-heading h1{font-size:1.35rem}
  .compact-heading .eyebrow{display:none}
  .heading-actions{gap:.3rem;min-width:0}
  .heading-actions [data-open-schedule="kn"]{display:none}
  .heading-actions .button,.heading-actions .data-menu>summary{min-height:36px;padding:.38rem .55rem;font-size:.74rem}

  .filter-panel{margin-bottom:.4rem}
  .filter-panel:not([open]) .filters{display:none}
  .filter-panel .filters{grid-template-columns:minmax(0,1fr);max-height:70vh;overflow:auto;padding:.65rem}
  .filters .search,.filters .filter-actions{grid-column:auto}
  .filter-actions{position:sticky;bottom:0;display:grid;grid-template-columns:1fr 1fr;background:#fff;padding-top:.5rem}
  .filter-actions .button{width:100%}
  .category-multiselect,.category-multiselect>summary{min-width:0;width:100%}
  .category-multiselect-popover{position:fixed;inset:auto .6rem 1rem;width:auto;max-height:70vh;overflow:auto}

  .period-bar{margin:0 0 .4rem;padding:.4rem}
  .period-form{display:grid;grid-template-columns:minmax(0,1fr);gap:.35rem}
  .period-form>label,.period-form select{width:100%}
  .quick-views{display:grid;grid-template-columns:minmax(0,1fr);gap:.3rem;width:100%;order:initial;overflow:hidden}
  .quick-view-group{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.3rem;width:100%}
  .quick-view-group-neutral{grid-template-columns:minmax(0,1fr)}
  .quick-view-button{min-width:0;min-height:38px;height:100%;padding:.3rem .25rem;text-align:center;white-space:normal;overflow-wrap:anywhere}
  .period-label{order:initial;width:100%;margin:0;font-size:.72rem}

  .results-toolbar{position:static;display:flex;justify-content:space-between;min-width:0;padding:.3rem .05rem .45rem;background:transparent;border:0}
  .result-summary{min-width:0}
  .toolbar-controls{flex:0 0 auto;min-width:0}
  .results-toolbar .sort-summary{display:none}
  .active-filter-label{display:block;font-size:.66rem}
  .page-size-form label{font-size:.72rem}
  .page-size-form label:before{content:none}
  .clear-link{font-size:.7rem}

  .gantt-selection-toolbar{position:static;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.35rem;margin:0 0 .45rem;padding:.5rem}
  .gantt-selection-toolbar>strong{grid-column:1/-1;font-size:.86rem}
  .gantt-selection-toolbar>.button{width:100%;min-width:0;min-height:38px;padding:.35rem .45rem;white-space:normal;text-align:center}
  .gantt-selection-toolbar>small,.selection-limit-status{grid-column:1/-1;margin:0;min-height:0;font-size:.66rem}
  .gantt-selection-toolbar>small{display:block}

  .sort-panel{display:block;margin-bottom:.45rem}
  .sort-panel>summary{display:grid;grid-template-columns:auto minmax(0,1fr);gap:.15rem .5rem;align-items:center;min-width:0;padding:.45rem .55rem}
  .sort-panel-label{color:var(--ink)!important}
  .sort-level-count{display:none}
  .sort-summary-mobile{display:block;grid-column:1/-1;min-width:0;color:var(--muted);font-size:.68rem;font-weight:650;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .sort-row{grid-template-columns:20px minmax(0,1fr) minmax(92px,.62fr);max-width:none}
  .sort-row-actions{grid-column:2/4}
  .sort-actions{display:grid;grid-template-columns:1fr 1fr;gap:.35rem}
  .sort-actions .button{min-width:0;white-space:normal}

  .table-wrap,.compact-task-list{display:none!important}
  .mobile-planner-cards{display:grid;gap:.5rem;min-width:0;margin:0}
  .mobile-task-card{display:grid;grid-template-columns:26px minmax(0,1fr) 34px;grid-template-areas:'select classification jump' 'title title title' 'badges badges badges' 'dates dates dates' 'preview preview preview' 'actions actions actions';gap:.42rem .45rem;min-width:0;padding:.6rem;background-color:#fff;border:1px solid var(--line);border-radius:6px;color:var(--ink)}
  .mobile-task-card:not(:has(.mobile-select)){grid-template-columns:minmax(0,1fr) 34px;grid-template-areas:'classification jump' 'title title' 'badges badges' 'dates dates' 'preview preview' 'actions actions'}
  .mobile-task-card.row-overdue{border-block-color:#fda29b}
  .mobile-task-card.is-selected{border-color:#667085;box-shadow:inset 4px 0 0 var(--category-color,transparent),0 0 0 1px #667085}
  @supports(background-color:color-mix(in srgb,#000 7%,white)){
    .mobile-task-card.category-tinted-row{background-color:color-mix(in srgb,var(--category-color,transparent) 7%,white)}
    .mobile-task-card.category-tinted-row:hover{background-color:color-mix(in srgb,var(--category-color,transparent) 11%,white)}
    .mobile-task-card.category-tinted-row.is-selected{background-color:color-mix(in srgb,var(--category-color,transparent) 7%,#eef2f6)}
  }
  .mobile-select{display:grid;grid-area:select;place-items:start center;padding-top:.1rem}
  .mobile-select input{width:21px;height:21px;margin:0}
  .mobile-card-classification{grid-area:classification;display:flex;align-items:center;gap:.3rem;min-width:0;overflow:hidden}
  .mobile-card-classification .major-category-badge{flex:0 0 auto}
  .mobile-card-classification .category-badge{min-width:0;max-width:100%;padding:.15rem .36rem;font-size:.67rem}
  .mobile-card-action-jump{grid-area:jump;display:grid;place-items:center;width:34px;height:34px;border:1px solid #d0d5dd;border-radius:6px;color:var(--ink);font-weight:900;line-height:1;text-decoration:none}
  .mobile-task-title{grid-area:title;min-width:0;max-height:3.6em;margin:0;font-size:.94rem;font-weight:800;line-height:1.2;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden;overflow-wrap:anywhere;word-break:break-word}
  .mobile-task-title *,.mobile-card-preview *{max-width:100%;overflow-wrap:anywhere;word-break:break-word}
  .mobile-card-badges{grid-area:badges;display:flex;align-items:center;gap:.3rem;min-width:0;flex-wrap:wrap}
  .mobile-card-badges .badge{max-width:100%;padding:.14rem .4rem;font-size:.65rem;overflow:hidden;text-overflow:ellipsis}
  .mobile-card-dates{grid-area:dates;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.4rem;min-width:0}
  .mobile-date-block{display:grid;grid-template-columns:1fr auto;gap:.08rem .3rem;min-width:0;padding:.38rem .45rem;background:#f9fafb;border:1px solid var(--line);border-radius:5px;font-variant-numeric:tabular-nums}
  .mobile-date-block>strong{font-size:.61rem;text-transform:uppercase;letter-spacing:.04em;color:var(--muted)}
  .mobile-date-block>em{font-size:.62rem;font-style:normal;font-weight:850;color:var(--danger)}
  .mobile-date-block>span{grid-column:1/-1;min-width:0;font-size:.72rem;font-weight:750;line-height:1.15}
  .mobile-date-block .cell-time{font-size:.67rem;line-height:1.15}
  .mobile-card-preview{grid-area:preview;display:grid;gap:.12rem;min-width:0;padding:.36rem .45rem;border-left:3px solid #98a2b3;background:#f9fafb;font-size:.7rem;line-height:1.25}
  .mobile-card-preview>strong{font-size:.61rem;text-transform:uppercase;letter-spacing:.035em;color:var(--muted)}
  .mobile-card-preview>span{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;max-height:2.5em;overflow:hidden;white-space:pre-wrap}
  .mobile-card-actions{grid-area:actions;display:grid;grid-template-columns:1fr 1fr 1fr;gap:.35rem;min-width:0;padding-top:.1rem;border-top:1px solid var(--line)}
  .mobile-card-actions .button,.mobile-card-actions .trash-link{width:100%;min-width:0;min-height:40px;margin-top:.3rem;padding:.35rem .45rem;font-size:.72rem}
  .mobile-card-actions .trash-link{display:flex;align-items:center;justify-content:center;gap:.3rem}
  .mobile-delete-label{display:inline;font-size:.7rem}

  .pagination{display:grid;grid-template-columns:auto auto minmax(68px,1fr) auto auto;justify-content:center;align-items:center;gap:.2rem;margin-top:.7rem}
  .pagination .button{min-width:46px;min-height:36px;padding:.3rem .42rem;font-size:.68rem}
  .pagination-status{padding:0 .15rem;text-align:center;font-size:.7rem}
}
@media(max-width:600px){
  .compact-heading{grid-template-columns:minmax(0,1fr)}
  .heading-actions{display:grid;grid-template-columns:repeat(3,max-content);justify-content:start}
  .heading-actions .data-menu{width:max-content;min-width:52px}
  .heading-actions .data-menu>summary.button:first-child{display:flex;width:100%}
  .gantt-selection-toolbar>.button{min-height:35px;padding:.28rem .35rem;font-size:.66rem;white-space:nowrap}
}
@media(max-width:340px){
  .mobile-card-dates{grid-template-columns:1fr}
  .pagination .button{min-width:42px;padding:.28rem .32rem;font-size:.64rem}
  .pagination-status{font-size:.64rem}
}
@media(min-width:768px){.mobile-planner-cards{display:none!important}.table-wrap{display:block}}

/* Shared Monday-first calendar. The DOM grid is Monday-to-Sunday; no visual reordering is used. */
.monday-date-field{position:relative;display:grid;grid-template-columns:minmax(0,1fr) 38px;gap:.3rem;width:100%;min-width:0}
.monday-date-field>input{min-width:0}
.monday-date-field>.monday-date-trigger{grid-column:2}.monday-date-error{grid-column:1/-1;margin:0;font-size:.68rem}
.monday-date-trigger{display:grid;place-items:center;min-width:38px;min-height:38px;padding:0;border:1px solid #d0d5dd;border-radius:7px;background:#fff;color:var(--ink);font-size:1.05rem;cursor:pointer}
.monday-date-trigger:hover{background:#f2f4f7}.monday-date-trigger:focus-visible{outline:3px solid var(--focus);outline-offset:2px}
.monday-calendar{position:absolute;top:calc(100% + .35rem);left:0;z-index:60;width:min(318px,calc(100vw - 2rem));padding:.65rem;border:1px solid #b8c2d0;border-radius:9px;background:#fff;box-shadow:0 14px 36px #10182833;color:var(--ink)}
.monday-calendar.opens-up{top:auto;bottom:calc(100% + .35rem)}.monday-calendar.is-viewport-centered{position:fixed;top:50%;left:50%;bottom:auto;transform:translate(-50%,-50%)}
.monday-calendar[hidden]{display:none}
.monday-calendar-toolbar{display:grid;grid-template-columns:34px minmax(0,1fr) 34px;align-items:center;gap:.3rem;margin-bottom:.45rem}.monday-calendar-toolbar strong{text-align:center;font-size:.82rem;text-transform:capitalize}.monday-calendar-toolbar button,.monday-calendar-actions button{min-height:32px;border:1px solid #d0d5dd;border-radius:6px;background:#fff;color:var(--ink);font-weight:750;cursor:pointer}
.monday-calendar-weekdays,.monday-calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:2px}.monday-calendar-weekdays span{padding:.2rem 0;text-align:center;color:var(--muted);font-size:.66rem;font-weight:850}.monday-calendar-grid button{aspect-ratio:1;min-width:0;padding:0;border:1px solid transparent;border-radius:5px;background:transparent;color:var(--ink);font-size:.72rem;font-variant-numeric:tabular-nums;cursor:pointer}.monday-calendar-grid button:hover{border-color:#84adff;background:#eff4ff}.monday-calendar-grid button:focus-visible{position:relative;z-index:1;outline:3px solid var(--focus);outline-offset:0}.monday-calendar-grid .is-outside-month{color:#98a2b3}.monday-calendar-grid .is-selected{border-color:var(--brand);background:var(--brand);color:#fff;font-weight:850}.monday-calendar-grid button[aria-current=date]:not(.is-selected){box-shadow:inset 0 0 0 1px var(--brand);font-weight:850}.monday-calendar-grid button:disabled{opacity:.3;cursor:not-allowed}
.monday-calendar-actions{display:flex;justify-content:flex-end;gap:.3rem;margin-top:.5rem;padding-top:.5rem;border-top:1px solid var(--line)}.monday-calendar-actions button{padding:.25rem .45rem;font-size:.68rem}
@media(max-width:680px){.monday-calendar{position:fixed;top:auto;right:.5rem;bottom:.5rem;left:.5rem;width:auto;max-width:430px;margin:auto;padding:.8rem}.monday-calendar-grid button{min-height:38px;aspect-ratio:auto}.monday-calendar-weekdays span{padding:.3rem 0}.monday-calendar-actions button{min-height:38px;padding:.35rem .6rem}}

@media print{.category-tinted-row{background:#fff!important;box-shadow:inset 3px 0 0 var(--category-color,transparent)}.category-tinted-row.is-selected{outline:1px solid #667085}}

/* Shared accessible colored comboboxes. Colors come only from /assets/colors.css. */
.semantic-color-field{position:relative;display:flex;flex-direction:column;gap:.35rem;min-width:0;font-size:.82rem;font-weight:700}.semantic-color-field-label{display:block;line-height:1.25}.semantic-color-control{--semantic-preview:var(--badge,transparent);position:relative;width:100%;min-width:0}.semantic-color-trigger{display:grid;grid-template-columns:14px minmax(0,1fr) 14px;align-items:center;gap:.45rem;width:100%;min-width:0;min-height:42px;padding:.6rem .7rem;border:1px solid #d0d5dd;border-radius:8px;background:#fff;color:var(--ink);font:inherit;font-weight:400;text-align:left;cursor:pointer}.semantic-color-trigger:focus,.semantic-color-trigger:focus-visible{outline:3px solid var(--focus);outline-offset:2px}.semantic-color-trigger:disabled{cursor:not-allowed;opacity:.6}.semantic-color-swatch,.semantic-color-option-swatch{display:block;width:12px;height:12px;flex:0 0 12px;border:1px solid #667085;border-radius:3px;background:var(--semantic-preview);box-shadow:0 0 0 1px #fff}.semantic-color-selected-label{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.semantic-color-arrow{display:grid;place-items:center;color:var(--muted);font-size:.72rem}.semantic-color-control.is-empty .semantic-color-swatch{visibility:hidden}.semantic-color-control.is-color-missing .semantic-color-swatch,.semantic-color-option.is-color-missing .semantic-color-option-swatch{background:transparent;border-style:dashed}.semantic-color-listbox{position:absolute;top:calc(100% + 4px);left:0;z-index:80;width:100%;max-width:calc(100vw - 2rem);max-height:240px;overflow:auto;padding:4px;border:1px solid #b8c2d0;border-radius:8px;background:#fff;box-shadow:0 14px 34px #1018282e}.semantic-color-control.opens-up .semantic-color-listbox{top:auto;bottom:calc(100% + 4px)}.semantic-color-listbox[hidden]{display:none}.semantic-color-field.is-open{z-index:80}.semantic-color-option{--semantic-preview:var(--badge,transparent);display:grid;grid-template-columns:14px minmax(0,1fr) 18px;align-items:center;gap:.5rem;min-height:34px;padding:.42rem .5rem;border-radius:5px;color:var(--ink);font-size:.8rem;font-weight:500;cursor:pointer}.semantic-color-option:hover,.semantic-color-option.is-active{background:#eff4ff;box-shadow:inset 0 0 0 1px #84adff}.semantic-color-option[aria-selected=true]{font-weight:750}.semantic-color-option-label{min-width:0;overflow-wrap:anywhere}.semantic-color-check{visibility:hidden;text-align:center;color:var(--brand);font-weight:900}.semantic-color-option[aria-selected=true] .semantic-color-check{visibility:visible}.semantic-color-option.is-placeholder .semantic-color-option-swatch{visibility:hidden}.semantic-color-field.has-field-error .semantic-color-trigger{border-color:var(--danger)}.semantic-color-field.has-field-error .field-error{color:var(--danger);font-weight:800}.semantic-color-client-error[hidden]{display:none}
.semantic-color-field-label{line-height:normal}
@media(max-width:680px){.semantic-color-field,.semantic-color-control,.semantic-color-trigger{width:100%;max-width:100%}.semantic-color-listbox{right:0;left:0;width:100%;max-width:100%}.semantic-color-option-label{white-space:normal}}

/* Colored planner filters reuse the shared semantic control and lookup classes. */
.filters .semantic-color-field{align-self:start;width:100%}.filters .semantic-color-trigger{height:42px}.category-selection-summary{display:flex;align-items:center;gap:.3rem;min-width:0;max-width:100%;overflow:hidden;color:var(--muted);font-weight:650;white-space:nowrap}.category-filter-chip{--semantic-preview:var(--badge,transparent);display:inline-flex;align-items:center;gap:.3rem;min-width:0;max-width:calc(100% - 55px);height:24px;padding:.15rem .35rem;border:1px solid #d0d5dd;border-radius:5px;background:#fff;color:var(--ink)}.category-filter-chip>span:last-child{min-width:0;overflow:hidden;text-overflow:ellipsis}.category-filter-chip-swatch,.category-option-swatch{display:block;width:12px;height:12px;flex:0 0 12px;border:1px solid #667085;border-radius:3px;background:var(--badge,transparent);box-shadow:0 0 0 1px #fff}.category-filter-chip.is-color-missing .category-filter-chip-swatch,.category-option.is-color-missing .category-option-swatch{background:transparent;border-style:dashed}.category-filter-more{flex:0 0 auto;color:var(--muted);font-size:.7rem;font-weight:750}.category-option{display:grid;grid-template-columns:16px 12px minmax(0,1fr);align-items:center}.category-option input{width:16px;height:16px;min-height:16px;padding:0}.category-option-label{min-width:0;overflow-wrap:anywhere}.category-option.is-selected{background:#eff4ff;box-shadow:inset 0 0 0 1px #84adff}.category-multiselect-popover{width:min(360px,calc(100vw - 2rem));z-index:80}.filter-panel .filters:has(.semantic-color-field.is-open),.filter-panel .filters:has(.category-multiselect[open]){overflow:visible}
.filters .category-multiselect{min-width:0;width:100%}.filters .category-option{display:grid;grid-template-columns:16px 12px minmax(0,1fr);align-items:center;gap:.4rem}
@media(max-width:680px){.category-multiselect-popover{right:0;left:0;width:100%;max-width:100%}.category-option{min-height:38px}.category-filter-chip{max-width:calc(100% - 52px)}}
