:root {
  --page-bg:#f2f3f3; --surface:#f8f8f7; --surface-2:#eceeef; --surface-hover:#e6e8e9; --text:#292929;
  --muted:#74777a; --border:#d2d5d6; --border-strong:#bfc3c5; --brown:#74777a; --blue:#7f9eb3;
  --fair:#9ec0eb; --exhibition:#c1d591; --schedule:#f1b8d9; --database:#b8d5da;
  --active:#333333; --completed:#538376; --high:#f1b8d9; --medium:#c1d591; --low:#b8d5da; --none:#b3aaa0;
  --sidebar:228px; --planner-left-width:280px; --radius:6px;
}
*{box-sizing:border-box} html{color-scheme:light} [hidden]{display:none!important} body{margin:0;min-width:320px;background:var(--page-bg);color:var(--text);font:14px/1.5 -apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Microsoft YaHei",sans-serif}
button,input,select,textarea{color:inherit;font:inherit} button,select{cursor:pointer} button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--active);outline-offset:2px}
h1,h2,h3,p{margin-top:0} h1{margin-bottom:5px;font-size:clamp(34px,5vw,56px);font-weight:620;letter-spacing:-.05em;line-height:1} h2{font-size:19px} h3{font-size:15px}
.app-shell{display:grid;grid-template-columns:var(--sidebar) minmax(0,1fr);min-height:100vh}.sidebar{position:sticky;top:0;display:flex;height:100vh;flex-direction:column;padding:22px 15px 15px;border-right:1px solid var(--border);background:var(--surface-2)}
.brand{display:flex;align-items:center;gap:10px;margin-bottom:24px}.brand-mark{display:grid;width:34px;height:34px;place-items:center;border:1px solid var(--text);font-family:Georgia,serif;font-size:18px}.brand strong,.brand span{display:block}.brand strong{font-size:13px}.brand div span{color:var(--muted);font-size:10px;letter-spacing:.08em;text-transform:uppercase}
.button{min-height:36px;padding:7px 12px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);font-weight:650}.button:hover{border-color:var(--border-strong);background:var(--surface-hover)}.button.primary,.button.active{border-color:var(--active);background:var(--active);color:#fff}.button.small{min-height:29px;padding:4px 8px;font-size:11px}.button.danger{color:#81483e}.quick-add{width:100%;margin-bottom:18px}
.main-nav{display:flex;flex-direction:column;gap:3px}.nav-item{display:flex;min-height:42px;align-items:center;justify-content:space-between;padding:8px 10px;border:1px solid transparent;border-radius:var(--radius);background:transparent;color:var(--muted);text-align:left;font-size:15px}.nav-item:hover{border-color:var(--border);color:var(--text)}.nav-item.active{border-color:var(--active);background:var(--active);color:#fff;font-weight:700}.nav-item small{font-size:10px}
.sidebar-secondary{position:relative;margin-top:auto}.secondary-trigger{display:flex;width:100%;align-items:center;justify-content:space-between;padding:9px 10px;border:1px solid transparent;background:transparent;color:var(--muted);text-align:left}.secondary-menu{position:absolute;bottom:42px;left:0;z-index:30;width:100%;padding:6px;border:1px solid var(--border);background:var(--surface)}.secondary-menu button{display:block;width:100%;padding:8px;border:0;background:transparent;text-align:left}.secondary-menu button:hover{background:var(--surface-2)}.secondary-menu hr{border:0;border-top:1px solid var(--border)}.sidebar-footer{display:flex;flex-direction:column;gap:3px;padding:12px 8px 0;border-top:1px solid var(--border);color:var(--muted);font-size:10px}
.main-area{min-width:0}.topbar{position:sticky;top:0;z-index:20;display:flex;min-height:61px;align-items:center;justify-content:space-between;gap:16px;padding:11px clamp(18px,4vw,54px);border-bottom:1px solid var(--border);background:rgba(242,243,243,.96)}.global-search-trigger{display:flex;width:min(480px,48vw);height:38px;align-items:center;justify-content:space-between;padding:0 11px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);color:var(--muted);text-align:left}.topbar-actions{display:flex;align-items:center;gap:10px;color:var(--muted);font-size:12px}.more-mobile{display:none}kbd{padding:2px 6px;border:1px solid var(--border);background:var(--surface-2);font-size:10px}
.page-heading{padding:34px clamp(18px,4vw,54px) 18px}.page-heading.compact{padding-bottom:10px}.page-heading p{margin-bottom:0;color:var(--muted)}.eyebrow{margin-bottom:8px!important;color:var(--brown)!important;font-size:10px;font-weight:750;letter-spacing:.15em;text-transform:uppercase}.view-root{padding:0 clamp(18px,4vw,54px) 48px}.migration-banner,.backup-reminder{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 clamp(18px,4vw,54px) 14px;padding:9px 12px;border:1px solid #9eafb5;background:#e5eef0;font-size:11px}.active-filter-bar{display:flex;align-items:center;flex-wrap:wrap;gap:6px;margin:0 clamp(18px,4vw,54px) 12px}.filter-chip{display:inline-flex;align-items:center;gap:5px;padding:4px 8px;border:1px solid var(--active);border-radius:999px;background:#e2ece7;font-size:10px}
.home-header{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(260px,.6fr);gap:14px;margin-bottom:14px}.home-date,.home-summary{padding:24px;border:1px solid var(--border);background:var(--surface)}.home-date strong{display:block;font-size:clamp(27px,4vw,45px);letter-spacing:-.04em}.home-date span,.home-summary span{color:var(--muted)}.home-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.summary-stat{display:flex;flex-direction:column;justify-content:center}.summary-stat strong{font-size:27px}.summary-stat span{font-size:10px}.next-event{grid-column:1/-1;padding-top:10px;border-top:1px solid var(--border)}.next-event strong{font-size:13px}.home-module-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.module-card{min-height:230px;padding:22px;border:1px solid rgba(51,47,43,.35);border-radius:var(--radius);color:var(--text);text-align:left}.module-card:hover{border-color:var(--text)}.module-card.fairs{background:var(--fair)}.module-card.exhibitions{background:var(--exhibition)}.module-card.schedule{background:var(--schedule)}.module-card.database{background:var(--database)}.module-card-label{display:block;font-size:11px;font-weight:750;letter-spacing:.12em;text-transform:uppercase}.module-card h2{margin:35px 0 10px;font-size:clamp(30px,4vw,48px);letter-spacing:-.05em}.module-card-number{display:block;font-size:26px;font-weight:700}.module-card-summary{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:14px;padding-top:13px;border-top:1px solid rgba(51,47,43,.25);font-size:11px}.module-card-summary strong,.module-card-summary span{display:block}.module-card-summary span{margin-top:3px;color:#544f49}.urgent-strip{margin-top:14px;border:1px solid var(--border);background:var(--surface)}.urgent-strip-header{display:flex;align-items:center;justify-content:space-between;padding:11px 14px;border-bottom:1px solid var(--border)}.urgent-strip-header h2{margin:0;font-size:13px}
.view-toolbar{display:flex;align-items:center;justify-content:space-between;gap:9px;margin-bottom:14px}.toolbar-left,.toolbar-right,.segmented,.row-actions,.record-meta,.tag-row{display:flex;align-items:center;flex-wrap:wrap;gap:6px}.segmented{padding:3px;border:1px solid var(--border);background:var(--surface)}.segmented button{min-height:31px;padding:5px 11px;border:0;background:transparent}.segmented button.active{background:var(--active);color:#fff}.text-button{padding:0;border:0;background:transparent;color:inherit;text-align:left}.text-button:hover{text-decoration:underline;text-underline-offset:3px}
.project-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.project-card{padding:17px;border:1px solid var(--border);border-top:5px solid var(--project-color,var(--blue));background:var(--surface)}.project-card-header{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.project-title{font-size:18px;font-weight:700}.project-facts{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:12px 0;color:var(--muted);font-size:10px}.project-facts strong{display:block;color:var(--text);font-size:12px}.progress-track{height:6px;margin:14px 0 6px;background:var(--surface-2)}.progress-fill{display:block;height:100%;background:var(--active)}.next-line,.waiting-note{margin:8px 0 0;font-size:11px}.waiting-note{color:#73455b}.record-description{margin:5px 0 0;color:var(--muted);font-size:12px;white-space:pre-wrap}.record-meta{margin:5px 0}.meta-text{color:var(--muted);font-size:10px}.row-actions{margin-top:10px}
.project-detail{display:grid;gap:14px}.detail-top{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.detail-top h2{margin-bottom:3px;font-size:30px}.detail-tabs{display:flex;gap:4px;overflow-x:auto;padding-bottom:2px}.detail-tabs button{white-space:nowrap}.detail-panel{padding:18px;border:1px solid var(--border);background:var(--surface)}.detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.detail-item strong{display:block;color:var(--muted);font-size:10px;text-transform:uppercase}.detail-item span{white-space:pre-wrap}.linked-counts{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.linked-count{padding:14px;border:1px solid var(--border);background:var(--surface-2)}.linked-count strong{display:block;font-size:25px}
.schedule-toolbar{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:12px}.agenda-list,.record-stack,.inbox-list,.database-list{display:flex;flex-direction:column;gap:8px}.agenda-day{margin-top:12px}.agenda-day h3{margin:0 0 7px;color:var(--muted);font-size:11px;letter-spacing:.08em;text-transform:uppercase}.agenda-item,.record-line,.inbox-card,.database-record{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:12px 13px;border:1px solid var(--border);background:var(--surface);text-align:left}.agenda-item{width:100%}.agenda-type{min-width:86px;font-size:10px;font-weight:750;text-transform:uppercase}.agenda-main{flex:1}.calendar-shell{overflow-x:auto}.calendar-grid{display:grid;min-width:760px;grid-template-columns:repeat(7,1fr);border-top:1px solid var(--border);border-left:1px solid var(--border)}.calendar-head,.calendar-day{min-height:38px;padding:8px;border-right:1px solid var(--border);border-bottom:1px solid var(--border);background:var(--surface)}.calendar-head{min-height:auto;background:var(--surface-2);font-size:10px;font-weight:700}.calendar-day{min-height:120px}.calendar-day-number{font-weight:700}.calendar-item{display:block;width:100%;margin-top:5px;padding:3px 5px;border:1px solid var(--border);background:#eef1ed;font-size:9px;text-align:left}.calendar-more{margin-top:5px;color:var(--muted);font-size:9px}.timeline-shell{overflow-x:auto;border:1px solid var(--border);background:var(--surface)}.timeline-roadmap{position:relative;min-width:980px}.timeline-row{display:grid;grid-template-columns:220px 1fr;min-height:54px;border-bottom:1px solid var(--border)}.timeline-label{padding:10px;border-right:1px solid var(--border)}.timeline-track{position:relative;margin:9px;background:var(--surface-2)}.timeline-bar{position:absolute;top:8px;height:23px;padding:3px 7px;overflow:hidden;border:1px solid #64859a;background:var(--fair);font-size:9px;white-space:nowrap}.timeline-bar.project{height:32px;padding:0;border-color:var(--active);background:var(--surface-2);color:var(--text)}.timeline-dot{position:absolute;top:12px;width:14px;height:14px;border:2px solid var(--text);border-radius:50%;background:var(--surface)}

/* Project progress system: work, time and schedule health remain separate. */
.project-metric-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;margin:14px 0;background:var(--border)}.project-summary-item{min-width:0;padding:9px;background:var(--surface-2)}.project-summary-item span,.next-milestone span,.target-line{display:block;color:var(--muted);font-size:10px}.project-summary-item strong{display:block;margin-top:3px;font-size:14px;overflow-wrap:anywhere}.health-summary[data-health="Ahead"],.badge.health[data-value="Ahead"]{background:#dce8c4}.health-summary[data-health="On Track"],.badge.health[data-value="On Track"]{background:#dce9f4}.health-summary[data-health="Needs Attention"],.badge.health[data-value="Needs Attention"]{background:#e5ebce}.health-summary[data-health="At Risk"],.badge.health[data-value="At Risk"],.health-summary[data-health="Overdue"],.badge.health[data-value="Overdue"]{background:#efd0e1}.health-summary[data-health="Completed"],.badge.health[data-value="Completed"]{background:var(--completed);color:#fff}.health-summary[data-health="Not Enough Data"],.badge.health[data-value="Not Enough Data"]{background:#e3ded6}.next-milestone{display:grid;gap:2px;margin-top:12px}.next-milestone strong{font-size:12px}.next-milestone small{color:var(--muted)}.target-line{margin:10px 0 0}.overdue-text{color:#8a365f!important;font-weight:700}.project-overview-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.project-metric-card{min-width:0;padding:16px;border:1px solid var(--border);background:var(--surface-2)}.metric-label{display:block;color:var(--muted);font-size:10px;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.metric-value{display:block;margin:8px 0 4px;font-size:clamp(27px,4vw,42px);line-height:1}.metric-caption{min-height:18px;margin:7px 0 0;color:var(--muted);font-size:11px}.progress-mode-controls{display:flex;align-items:flex-end;gap:8px;margin-top:14px}.field.compact{flex:1;margin:0;font-size:10px}.field.compact select,.field.compact input{margin-top:4px;padding:7px}.project-overview-details{margin-top:18px;padding-top:17px;border-top:1px solid var(--border)}.field small{display:block;margin-top:4px;color:var(--muted);font-size:10px}.timeline-project-metrics{display:flex;align-items:center;flex-wrap:wrap;gap:5px;margin-top:5px;font-size:9px}.project-parent-row{min-height:76px}.timeline-work-fill{position:absolute;inset:0 auto 0 0;background:var(--completed);pointer-events:none}.timeline-bar-label{position:relative;z-index:1;display:block;padding:7px;color:#fff;font-weight:750;pointer-events:none}.timeline-time-marker{position:absolute;z-index:2;top:-5px;bottom:-5px;width:2px;background:var(--text);transform:translateX(-1px);pointer-events:none}.time-progress .progress-fill{background:var(--blue)}
.database-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:14px}.database-stat{padding:15px;border:1px solid var(--border);background:var(--surface)}.database-stat strong{display:block;font-size:28px}.database-stat span{color:var(--muted);font-size:10px}.database-record h3{margin-bottom:3px}.database-main{min-width:0}.database-record .button{flex:0 0 auto}
.badge{display:inline-block;padding:2px 7px;border:1px solid var(--border);border-radius:999px;background:#eceeef;font-size:10px;font-weight:650}.badge[data-value="High"]{background:var(--high)}.badge[data-value="Medium"]{background:var(--medium)}.badge[data-value="Low"]{background:var(--low)}.badge[data-value="Completed"]{border-color:var(--completed);background:var(--completed);color:#fff}.badge[data-value="Waiting for Reply"],.badge[data-value="Waiting"]{background:#f7e5ef}.badge.overdue{border-color:#b9796d;background:#f2ddd7;color:#713b32}.badge.tag{background:transparent}.priority-strip{border-left:4px solid var(--none)}.priority-strip[data-priority="High"]{border-left-color:var(--high)}.priority-strip[data-priority="Medium"]{border-left-color:var(--medium)}.priority-strip[data-priority="Low"]{border-left-color:var(--low)}
.task-controls{display:flex;align-items:center;gap:8px;margin-bottom:12px}.task-controls input{max-width:380px}.bulk-toolbar{display:flex;gap:7px;margin-bottom:9px;padding:8px;border:1px solid var(--active);background:#e2ece7}.table-wrap{overflow-x:auto;border:1px solid var(--border);background:var(--surface)}.data-table{width:100%;min-width:1400px;border-collapse:collapse}.data-table th{padding:9px;border-bottom:1px solid var(--border);background:var(--surface-2);color:var(--muted);font-size:10px;text-align:left}.data-table td{padding:10px 9px;border-bottom:1px solid #e2dcd4;vertical-align:top}.mobile-task-list{display:none}.inline-select{height:30px}.task-details{display:grid;grid-template-columns:1fr 1fr;gap:15px;padding:12px;background:var(--surface-2)}
.inbox-card.is-processed{opacity:.68}.inbox-main{min-width:0}.legacy-type{display:block;margin-top:7px;color:var(--muted)}.empty-state{padding:45px 18px;color:var(--muted);text-align:center}.empty-state strong{display:block;color:var(--text);font-size:17px}.empty-state p{margin:5px 0 13px}.footer-note{margin-top:11px;color:var(--muted);font-size:10px}.archive-group{margin-bottom:17px}.archive-group h2{font-size:14px}
input,select,textarea{width:100%;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);accent-color:var(--active)}input,select{height:38px;padding:7px 9px}textarea{min-height:86px;padding:9px;resize:vertical}select option:checked{background:var(--database)}
dialog{width:min(680px,calc(100vw - 26px));max-height:calc(100vh - 28px);padding:0;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);color:var(--text)}dialog::backdrop{background:rgba(36,32,29,.45)}dialog:has(.wide){width:min(920px,calc(100vw - 26px))}.dialog-shell{display:flex;max-height:calc(100vh - 30px);flex-direction:column}.dialog-header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 19px;border-bottom:1px solid var(--border)}.dialog-header h2{margin:0}.dialog-close{width:32px;height:32px;border:0;background:transparent;font-size:22px}.dialog-body{overflow-y:auto;padding:19px}.dialog-actions{display:flex;gap:7px;padding:12px 19px;border-top:1px solid var(--border);background:var(--surface-2)}.dialog-spacer{flex:1}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px 15px}.field{display:block;color:var(--muted);font-size:10px;font-weight:700}.field input,.field select,.field textarea{margin-top:5px;color:var(--text);font-weight:400}.field.full{grid-column:1/-1}.check-field{display:flex;align-items:center;gap:7px;font-size:11px}.check-field input{width:16px;height:16px}.required{color:#8a473b}.source-preview{padding:11px;border:1px solid var(--border);background:var(--surface-2);white-space:pre-wrap}.search-field{flex:1}.search-results{min-height:250px}.search-group{margin-bottom:15px}.search-group h3{color:var(--muted);font-size:10px;letter-spacing:.08em;text-transform:uppercase}.search-result{display:flex;width:100%;justify-content:space-between;padding:9px;border:0;border-bottom:1px solid var(--border);background:transparent;text-align:left}.import-options{display:grid;grid-template-columns:1fr 1fr;gap:9px}.import-choice{padding:14px;border:1px solid var(--border);background:var(--surface);text-align:left}.import-choice strong,.import-choice span{display:block}.import-choice span{margin-top:5px;color:var(--muted);font-size:10px}.toast-region{position:fixed;right:18px;bottom:18px;z-index:1000;display:flex;flex-direction:column;gap:7px}.toast{padding:10px 13px;background:var(--text);color:#fff;font-size:11px}.visually-hidden{position:absolute!important;width:1px!important;height:1px!important;margin:-1px!important;overflow:hidden!important;clip:rect(0 0 0 0)!important}.mobile-bottom-nav{display:none}
/* Quick Capture stays intentionally light; processing decisions live in a separate dialog. */
.quick-add-menu{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.quick-add-choice{min-height:108px;padding:17px;border:1px solid var(--border);background:var(--surface);text-align:left}.quick-add-choice:hover{border-color:var(--border-strong);background:var(--surface-hover)}.quick-add-choice strong,.quick-add-choice span{display:block}.quick-add-choice strong{font-size:17px}.quick-add-choice span{margin-top:6px;color:var(--muted);font-size:12px}.capture-fields{display:grid;gap:17px}.capture-fields .field{font-size:14px}.capture-fields textarea{min-height:150px;font-size:18px;line-height:1.55}.capture-fields input,.capture-fields select{height:50px;font-size:16px}.capture-time-note{margin:0;color:var(--muted);font-size:12px}.capture-reference-section,.inbox-captures-section{margin-bottom:16px;border:1px solid var(--border);background:var(--surface)}.capture-reference-section>summary,.inbox-captures-section>summary{padding:11px 13px;cursor:pointer;font-size:12px;font-weight:750}.capture-reference-list{display:grid;gap:7px;padding:0 11px 11px}.capture-reference-card{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px;border:1px solid var(--border);background:var(--surface-2)}.capture-reference-main{min-width:0}.capture-reference-main p{margin:4px 0;color:var(--text);white-space:pre-wrap}.capture-reference-main small{color:var(--muted)}.source-capture{margin-top:18px;padding:14px;border:1px solid var(--border);background:var(--surface-2)}.source-capture h3{margin-bottom:7px;font-size:12px}.source-capture blockquote{margin:0 0 7px;padding-left:10px;border-left:2px solid var(--border-strong);white-space:pre-wrap}.source-capture small{color:var(--muted)}.module-inbox-count{display:inline-block;margin-top:9px;padding:3px 7px;border:1px solid rgba(41,41,41,.45);font-size:10px;font-weight:750;text-transform:uppercase}

/* Project Types are user-managed records with stable IDs. */
.settings-section{margin-bottom:18px;padding:18px;border:1px solid var(--border);background:var(--surface)}.settings-section-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:12px}.settings-section-header h2{margin-bottom:3px;font-size:20px}.settings-section-header p{margin:0;color:var(--muted);font-size:12px}.project-type-list{display:grid;gap:7px}.project-type-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 11px;border:1px solid var(--border);background:var(--surface-2)}.project-type-name{display:flex;min-width:0;align-items:center;gap:9px}.project-type-name strong{font-size:14px}.project-type-name small{color:var(--muted)}.project-type-actions{display:flex;align-items:center;gap:5px}.project-type-actions .button{white-space:nowrap}

/* New Project has a deliberately larger, readable form scale. */
.project-form-shell .dialog-header{padding:22px 25px}.project-form-shell .dialog-header h2{font-size:33px;line-height:1.1;letter-spacing:-.035em}.project-form-shell .dialog-body{padding:24px 25px}.project-form-shell .dialog-actions{padding:16px 25px}.project-form-shell .eyebrow{font-size:15px}.project-form-shell .field{font-size:16px;line-height:1.4}.project-form-shell .field input,.project-form-shell .field select{height:54px;padding:11px 13px;font-size:18px;line-height:1.35}.project-form-shell .field textarea{min-height:116px;padding:12px 13px;font-size:18px;line-height:1.55}.project-form-shell .field small{font-size:14px;line-height:1.45}.project-form-shell .check-field{font-size:16px}.project-form-shell .dialog-actions .button{min-height:48px;padding:10px 17px;font-size:17px}

/* Shared Interactive Project Planner — Schedule and Project Detail use this renderer. */
.planner-toolbar{display:flex;align-items:flex-end;justify-content:space-between;gap:14px;margin:0 0 12px}.planner-heading{display:grid;gap:2px}.planner-heading strong{font-size:15px}.planner-heading span{color:var(--muted);font-size:10px}.planner-scale{flex:0 0 auto}.planner-scroll{position:relative;max-height:calc(100vh - 245px);overflow:auto;border:1px solid var(--border-strong);background:var(--surface);overscroll-behavior:contain}.planner-grid{position:relative;display:grid;align-items:stretch;min-height:170px}.planner-corner,.planner-ruler{position:sticky;top:0;z-index:12;height:72px;border-bottom:1px solid var(--border-strong);background:var(--surface-2)}.planner-corner{left:0;z-index:14;display:flex;flex-direction:column;justify-content:flex-end;padding:12px 14px;border-right:1px solid var(--border-strong)}.planner-corner strong{font-size:12px}.planner-corner span{color:var(--muted);font-size:9px}.planner-ruler{overflow:visible}.planner-ruler-tier{position:absolute;right:0;left:0}.planner-month-tier{top:0;height:28px;border-bottom:1px solid var(--border)}.planner-tick-tier{top:28px;height:24px}.planner-date-tier{top:52px;height:20px}.planner-month-cell,.planner-week-cell,.planner-day-cell,.planner-date-tick{position:absolute;overflow:hidden;border-right:1px solid var(--border);white-space:nowrap}.planner-month-cell{height:28px;padding:6px 8px;font-size:10px;font-weight:750;text-transform:uppercase}.planner-week-cell{height:24px;padding:4px 7px;color:var(--muted);font-size:9px}.planner-day-cell{height:44px;padding:5px 6px;font-size:9px;text-align:center}.planner-day-cell.weekend{background:var(--surface-hover)}.planner-date-tick{height:20px;padding-left:5px;color:var(--muted);font-size:8px}.planner-today-label{position:absolute;top:4px;z-index:5;display:grid;min-width:46px;padding:2px 4px;background:var(--text);color:#fff;line-height:1.2;text-align:center;transform:translateX(-50%)}.planner-today-label strong{font-size:8px;letter-spacing:.08em}.planner-today-label span{font-size:8px}.planner-left-cell{position:sticky;left:0;z-index:7;overflow:hidden;border-right:1px solid var(--border-strong);border-bottom:1px solid var(--border);background:var(--surface)}.planner-track-cell{position:relative;overflow:hidden;border-bottom:1px solid var(--border);background:var(--surface)}.planner-left-cell.planner-project-row,.planner-track-cell.planner-project-row{background:var(--surface-2)}.planner-track{position:relative;height:100%}.planner-grid-line{position:absolute;top:0;bottom:0;width:1px;border-left:1px solid var(--border);pointer-events:none}.planner-grid-line.weekend{border-color:var(--border-strong)}.planner-today-line{position:absolute;z-index:10;top:72px;bottom:0;width:1px;background:var(--text);pointer-events:none}.planner-project-left{height:100%;padding:10px 12px}.planner-project-heading{display:flex;align-items:center;gap:7px}.planner-collapse{width:24px;min-height:24px;padding:0;border:1px solid var(--border);background:var(--surface);font-weight:750}.planner-project-title{min-width:0;overflow:hidden;font-size:12px;font-weight:750;text-overflow:ellipsis;white-space:nowrap}.planner-project-health{margin:3px 0 0 31px;color:var(--muted);font-size:9px}.planner-next{display:flex;min-width:0;align-items:baseline;gap:6px;margin:5px 0 0 31px;padding:0;border:0;background:transparent;text-align:left}.planner-next span{color:var(--muted);font-size:8px;text-transform:uppercase}.planner-next strong{max-width:115px;overflow:hidden;font-size:9px;text-overflow:ellipsis;white-space:nowrap}.planner-next small{color:var(--muted);font-size:8px}.planner-task-left{display:flex;height:100%;align-items:center;gap:9px;padding:8px 12px 8px 34px}.planner-sequence{flex:0 0 22px;color:var(--muted);font:700 9px/1 ui-monospace,SFMono-Regular,Menlo,monospace}.planner-task-copy{min-width:0}.planner-task-copy .text-button{display:block;max-width:190px;overflow:hidden;font-size:11px;font-weight:650;text-overflow:ellipsis;white-space:nowrap}.planner-task-copy small{display:block;margin-top:2px;color:var(--muted);font-size:8px}.planner-project-bar,.planner-task-bar,.planner-milestone{position:absolute;z-index:3;border:1px solid var(--border-strong);background:color-mix(in srgb,var(--bar-color,#9ec0eb) 66%,var(--surface));color:var(--text)}.planner-project-bar{top:14px;height:31px;min-width:22px;overflow:hidden;padding:6px 10px;border-radius:3px;cursor:grab;text-align:left;touch-action:pan-y}.planner-project-bar strong{display:block;overflow:hidden;font-size:10px;text-overflow:ellipsis;white-space:nowrap}.planner-project-dates{position:absolute;top:50px;z-index:2;display:flex;gap:12px;color:var(--muted);font-size:8px;white-space:nowrap}.planner-task-bar{top:15px;height:29px;min-width:18px;padding:5px 12px;border-radius:4px;cursor:grab;touch-action:pan-y}.planner-task-bar.completed{opacity:.5}.planner-task-bar.overdue{border:3px double #9a5879}.planner-bar-text{display:block;overflow:hidden;font-size:9px;font-weight:700;text-overflow:ellipsis;white-space:nowrap;pointer-events:none}.planner-resize-handle{position:absolute;top:0;bottom:0;z-index:4;width:10px;cursor:ew-resize;touch-action:none}.planner-resize-handle.left{left:-2px;border-left:2px solid var(--text)}.planner-resize-handle.right{right:-2px;border-right:2px solid var(--text)}.planner-milestone{top:7px;width:1px;height:52px;padding:0;border:0;background:transparent;cursor:ew-resize;touch-action:pan-y}.planner-milestone-line{position:absolute;top:0;bottom:0;left:0;width:1px;background:var(--text)}.planner-milestone-diamond{position:absolute;top:12px;left:-8px;display:grid;width:17px;height:17px;place-items:center;background:var(--surface);font-size:19px;line-height:1}.planner-milestone.high .planner-milestone-diamond{border:2px solid #9a5879}.planner-milestone-label{position:absolute;top:8px;left:13px;display:grid;width:128px;padding:3px 5px;border:1px solid var(--border);background:var(--surface);text-align:left}.planner-milestone-label strong{overflow:hidden;font-size:9px;text-overflow:ellipsis;white-space:nowrap}.planner-milestone-label small{color:var(--muted);font-size:8px;text-transform:uppercase}.planner-milestone.overdue .planner-milestone-label{border-color:#9a5879}.planner-tbc{position:absolute;top:50%;left:14px;color:var(--muted);font-size:9px;transform:translateY(-50%)}.planner-draggable.drag-preview{opacity:.35}.timeline-drag-ghost{position:fixed;z-index:2000;min-width:150px;padding:7px 9px;border:1px solid var(--text);background:var(--text);color:#fff;font-size:10px;pointer-events:none}.planner-empty{grid-column:1/-1}.project-move-options{display:grid;grid-template-columns:1fr 1fr;gap:9px}.project-move-options .import-choice{min-height:94px}.planner-scroll button:focus-visible{outline-offset:-2px}
@media(max-width:1120px){.project-grid{grid-template-columns:repeat(2,1fr)}.home-module-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){:root{--planner-left-width:176px}body{padding-bottom:74px}.app-shell{display:block}.sidebar{display:none}.topbar{padding:10px 14px}.topbar-actions>span{display:none}.more-mobile{display:block;height:36px;border:1px solid var(--border);background:var(--surface)}.global-search-trigger{width:auto;flex:1}.page-heading{padding:24px 14px 13px}.page-heading h1{font-size:39px}.view-root{padding:0 14px 28px}.migration-banner,.backup-reminder,.active-filter-bar{margin-left:14px;margin-right:14px}.home-header{grid-template-columns:1fr}.home-date,.home-summary{padding:17px}.home-module-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.module-card{min-height:190px;padding:15px}.module-card h2{margin:24px 0 8px;font-size:27px}.module-card-summary{grid-template-columns:1fr;gap:7px}.module-card-summary>div:nth-child(2){display:none}.project-grid{grid-template-columns:1fr}.project-facts,.project-metric-summary{grid-template-columns:repeat(3,1fr)}.project-overview-metrics{grid-template-columns:1fr}.database-summary{grid-template-columns:repeat(2,1fr)}.view-toolbar,.schedule-toolbar,.detail-top{align-items:stretch;flex-direction:column}.toolbar-right{justify-content:space-between}.detail-tabs{margin-right:-14px}.form-grid{grid-template-columns:1fr}.field.full{grid-column:auto}dialog{width:100%;max-height:88vh;margin:auto 0 0;border-radius:14px 14px 0 0}.dialog-shell{max-height:88vh}.filter-sheet{min-height:65vh}.table-wrap{display:none}.mobile-task-list{display:flex;flex-direction:column;gap:8px}.task-details{grid-template-columns:1fr}.calendar-grid{display:none}.calendar-shell::after{display:block;padding:35px 15px;color:var(--muted);content:"Mobile uses Agenda view. Select Agenda above to view schedule items.";text-align:center}.mobile-bottom-nav{position:fixed;right:0;bottom:0;left:0;z-index:45;display:grid;grid-template-columns:repeat(5,1fr);height:67px;border-top:1px solid var(--border);background:var(--surface)}.mobile-bottom-nav button{border:0;background:transparent;color:var(--muted);font-size:10px}.mobile-bottom-nav button.active{color:var(--active);font-weight:750}.mobile-bottom-nav .mobile-quick-add{align-self:center;width:52px;height:52px;margin:-17px auto 0;border-radius:50%;background:var(--active);color:#fff;font-size:25px}.toast-region{bottom:82px}.timeline-roadmap{min-width:850px}.timeline-row{grid-template-columns:180px 1fr}.planner-toolbar{align-items:stretch;flex-direction:column}.planner-heading span{font-size:9px}.planner-scale{align-self:flex-start}.planner-scroll{max-height:calc(100vh - 300px)}.planner-corner{padding:9px}.planner-project-left{padding:8px}.planner-project-health{margin-left:0;font-size:8px}.planner-next{margin-left:0;gap:4px}.planner-next strong{max-width:70px}.planner-task-left{padding-left:14px}.planner-task-copy .text-button{max-width:105px}.planner-project-dates{gap:7px}.planner-project-dates span:nth-child(3){display:none}.planner-milestone-label{width:102px}.project-move-options{grid-template-columns:1fr}}
@media(max-width:420px){.home-module-grid{grid-template-columns:minmax(0,1fr)}.module-card{min-width:0;min-height:170px}.module-card h2{font-size:23px}.home-summary{grid-template-columns:repeat(3,1fr)}.summary-stat strong{font-size:22px}}
@media(max-width:760px){.quick-add-menu{grid-template-columns:1fr}.capture-reference-card,.project-type-row{align-items:flex-start;flex-direction:column}.project-type-actions{width:100%;overflow-x:auto}.project-form-shell .dialog-header{padding:18px}.project-form-shell .dialog-header h2{font-size:28px}.project-form-shell .dialog-body{padding:18px}.project-form-shell .dialog-actions{padding:13px 18px}.project-form-shell .eyebrow{font-size:13px}.project-form-shell .field{font-size:15px}.project-form-shell .field input,.project-form-shell .field select{height:50px;font-size:16px}.project-form-shell .field textarea{font-size:16px}.project-form-shell .field small{font-size:13px}.project-form-shell .dialog-actions .button{font-size:16px}}

/* Phase 1.5 — readable hierarchical Rundown Planner. */
:root{--planner-left-width:430px}
.planner-corner,.planner-ruler{height:94px}.planner-month-tier{height:34px}.planner-tick-tier{top:34px;height:30px}.planner-date-tier{top:64px;height:30px}.planner-today-line{top:94px}
.planner-month-cell{height:34px;padding:7px 10px;font-size:17px;font-weight:650;text-transform:none}.planner-week-cell{height:30px;padding:6px 8px;font-size:15px}.planner-day-cell{height:60px;padding:7px 6px;font-size:15px}.planner-date-tick{height:30px;padding:6px;color:var(--muted);font-size:14px}
.planner-corner strong{font-size:16px}.planner-corner span{font-size:14px}.planner-project-left{padding:16px 18px}.planner-project-title{font-size:23px;font-weight:700;line-height:1.18}.planner-project-health{margin:6px 0 0 33px;font-size:15px;line-height:1.35}.planner-next{margin:7px 0 0 33px;gap:8px}.planner-next span{font-size:15px}.planner-next strong{max-width:190px;font-size:17px;font-weight:600}.planner-next small{font-size:15px}
.planner-parent-left{display:flex;height:100%;flex-direction:column;justify-content:center;padding:10px 16px 10px 38px}.planner-parent-heading{display:flex;align-items:center;gap:9px}.planner-section-number{color:var(--muted);font:700 15px/1 ui-monospace,SFMono-Regular,Menlo,monospace}.planner-parent-copy{min-width:0}.planner-parent-title{display:block;max-width:245px;overflow:hidden;font-size:19px;font-weight:700;text-overflow:ellipsis;white-space:nowrap}.planner-parent-copy small{display:block;margin-top:4px;color:var(--muted);font-size:15px}.planner-parent-actions{display:flex;gap:7px;margin:7px 0 0 64px}.planner-parent-progress{margin:4px 0 0 64px;color:var(--muted);font-size:14px}.planner-parent-row{background:color-mix(in srgb,var(--surface-secondary) 55%,var(--surface))}
.planner-action-left{display:flex;height:100%;align-items:center;gap:10px;padding:8px 16px 8px 58px}.planner-reorder-handle{flex:0 0 28px;min-height:34px;border:1px solid var(--border);background:var(--surface-secondary);color:var(--text-secondary);font-size:17px;cursor:ns-resize;touch-action:none}.planner-sequence{flex:0 0 27px;font-size:15px}.planner-action-copy{min-width:0}.planner-action-title{display:block;max-width:260px;overflow:hidden;font-size:17px;font-weight:600;line-height:1.25;text-overflow:ellipsis;white-space:nowrap}.planner-action-copy small{display:block;margin-top:4px;color:var(--muted);font-size:14px;line-height:1.25}
.planner-project-bar{top:25px;height:38px;padding:8px 12px}.planner-project-bar strong{font-size:15px}.planner-project-dates{top:68px;font-size:14px}.planner-task-bar{top:17px;height:36px;padding:7px 15px}.planner-bar-text{font-size:15px}.planner-milestone{top:6px;height:58px}.planner-milestone-label{top:7px;width:178px;padding:5px 7px}.planner-milestone-label strong{font-size:15px}.planner-milestone-label small{font-size:14px}.planner-milestone-diamond{top:16px}.planner-tbc{font-size:15px}
.planner-backward-guide{position:absolute;top:0;bottom:0;width:1px;border-left:1px dashed var(--border);pointer-events:none}.planner-backward-guide small{position:absolute;top:4px;left:4px;color:var(--text-secondary);font-size:12px;white-space:nowrap}.planner-parent-deadline{position:absolute;z-index:2;top:0;bottom:0;width:1px;border-left:2px solid var(--text-primary);pointer-events:none}.planner-parent-deadline-label{position:absolute;top:5px;left:6px;display:grid;padding:4px 6px;border:1px solid var(--border-strong);background:var(--surface);white-space:nowrap}.planner-parent-deadline-label strong{font-size:13px}.planner-parent-deadline-label small{font-size:12px}.planner-action-track.after-deadline::after{position:absolute;right:8px;bottom:4px;color:#8b506e;content:"After Deadline";font-size:12px;font-weight:700}.reorder-drop-target{outline:2px solid var(--active);outline-offset:-2px}
.timeline-drag-ghost{font-size:14px}.planner-toolbar .planner-heading strong{font-size:20px}.planner-toolbar .planner-heading span{font-size:14px}
.receipt-shell{width:min(620px,calc(100vw - 24px))}.receipt-preview{min-height:380px;max-height:58vh;overflow:auto;margin:18px 0 0;padding:24px;border:1px solid var(--border-strong);background:#f6f6f4;color:var(--text-primary);font:500 15px/1.58 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;white-space:pre-wrap}.receipt-modes{width:max-content}
.project-task-section{margin-bottom:14px;border:1px solid var(--border);background:var(--surface)}.project-task-section-head{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;padding:12px;border-bottom:1px solid var(--border)}.project-action-list{padding:8px 12px}.project-action-row{display:grid;grid-template-columns:32px minmax(0,1fr);align-items:start}.project-action-number{padding-top:13px;color:var(--muted);font:700 12px/1 ui-monospace,SFMono-Regular,Menlo,monospace}.empty-inline{margin:5px;color:var(--muted);font-size:14px}.agenda-context{grid-column:2/4;color:var(--muted);font-size:13px}.agenda-project-title{margin:14px 0 6px;font-size:15px;text-transform:uppercase}

@media(max-width:760px){
  :root{--planner-left-width:285px}.planner-scroll{max-height:calc(100vh - 285px)}.planner-corner{padding:10px}.planner-project-left{padding:14px 12px}.planner-project-title{font-size:21px}.planner-project-health{margin-left:0;font-size:14px}.planner-next{margin-left:0}.planner-next span,.planner-next small{font-size:14px}.planner-next strong{max-width:112px;font-size:16px}.planner-parent-left{padding:9px 10px 9px 20px}.planner-parent-title{max-width:170px;font-size:18px}.planner-parent-copy small,.planner-parent-progress{font-size:14px}.planner-parent-actions{margin-left:42px;overflow-x:auto}.planner-parent-progress{margin-left:42px}.planner-action-left{padding:7px 10px 7px 28px;gap:7px}.planner-action-title{max-width:145px;font-size:16px}.planner-action-copy small{font-size:14px}.planner-sequence{font-size:14px}.planner-month-cell{font-size:16px}.planner-week-cell,.planner-date-tick{font-size:14px}.planner-milestone-label{width:150px}.planner-milestone-label strong{font-size:14px}.planner-action-track.after-deadline::after{content:"After DDL"}.receipt-preview{min-height:330px;padding:17px;font-size:14px}.project-task-section-head{grid-template-columns:1fr}.project-action-row{grid-template-columns:27px minmax(0,1fr)}}

/* Always-visible language switch in the top bar. */
.language-switch{display:inline-flex;padding:2px;border:1px solid var(--border-strong);background:var(--surface-secondary)}
.language-switch button{min-width:42px;height:30px;padding:0 9px;border:0;background:transparent;color:var(--text-secondary);font-size:13px;font-weight:650}
.language-switch button:hover{background:var(--surface-hover)}
.language-switch button.active{background:var(--active);color:var(--active-text)}
@media(max-width:760px){.topbar{gap:8px}.topbar-actions{gap:6px}.language-switch button{min-width:36px;height:34px;padding:0 7px;font-size:12px}}

/* Timeline Density & Layout Stability — the info pane and date canvas are isolated. */
.planner-toolbar{align-items:flex-start;flex-wrap:wrap;margin-bottom:10px}
.planner-toolbar-controls{display:flex;flex:1 1 auto;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}
.planner-control-group{display:flex;align-items:center;gap:6px}
.planner-control-label{color:var(--text-secondary);font-size:12px;font-weight:650}
.planner-toolbar .button,.planner-toolbar button{min-height:34px;padding:6px 10px;font-size:12px}
.planner-toolbar .segmented{min-height:34px}
.planner-toolbar .segmented button{min-height:32px;padding:5px 9px}
.planner-zoom{display:inline-flex;border:1px solid var(--border-strong);background:var(--surface-secondary)}
.planner-zoom .button{min-width:34px;border:0;border-right:1px solid var(--border);background:transparent}
.planner-zoom .button:nth-child(2){min-width:58px}
.planner-zoom .button:last-child{border-right:0}
.planner-zoom .button:hover{background:var(--surface-hover)}
.planner-zoom .button:disabled{color:var(--border-strong);cursor:not-allowed}
.planner-details-toggle{display:none}
.planner-mobile-pane-switch{display:none}
.planner-shell{position:relative;min-width:0;border:1px solid var(--border-strong);background:var(--surface);isolation:isolate}
.planner-layout{display:grid;grid-template-columns:clamp(300px,32%,400px) minmax(0,1fr);min-width:0;max-height:calc(100vh - 255px);overflow:hidden}
.planner-info-pane{position:sticky;left:0;z-index:30;min-width:0;max-height:calc(100vh - 255px);overflow:hidden;border-right:1px solid var(--border-strong);background:var(--surface);overscroll-behavior:contain}
.planner-canvas{position:relative;z-index:1;min-width:0;max-height:calc(100vh - 255px);overflow:auto;background:var(--surface);overscroll-behavior:contain;isolation:isolate}
.planner-info-grid,.planner-canvas-grid{position:relative;display:flex;min-height:150px;flex-direction:column}
.planner-info-grid{width:100%}
.planner-canvas-grid{min-width:100%}
.planner-corner,.planner-ruler{position:sticky;top:0;z-index:40;flex:0 0 auto;border-bottom:1px solid var(--border-strong);background:var(--surface-secondary)}
.planner-corner{left:auto;display:flex;width:100%;min-width:0;flex-direction:column;justify-content:flex-end;padding:9px 12px;border-right:0}
.planner-ruler{overflow:hidden}
.planner-info-row,.planner-track-cell{position:relative;flex:0 0 auto;min-width:0;border-bottom:1px solid var(--border);background:var(--surface)}
.planner-info-row{z-index:2;overflow:hidden}
.planner-track-cell{z-index:1;overflow:hidden}
.planner-info-row.planner-project-row,.planner-track-cell.planner-project-row{background:var(--surface-secondary)}
.planner-info-row.planner-parent-row,.planner-track-cell.planner-parent-row{background:color-mix(in srgb,var(--surface-secondary) 58%,var(--surface))}
.planner-track{position:relative;width:100%;height:100%;overflow:hidden;contain:paint}
.planner-today-line{position:absolute;z-index:12;bottom:0;width:1px;background:var(--text-primary);pointer-events:none}
.timeline-drag-ghost{position:absolute;z-index:100;max-width:190px;overflow:hidden;padding:6px 8px;border:1px solid var(--text-primary);background:var(--text-primary);color:var(--active-text);font-size:12px;line-height:1.3;text-overflow:ellipsis;white-space:nowrap;pointer-events:none}
.planner-project-left,.planner-parent-left,.planner-action-left{min-width:0;overflow:hidden}
.planner-project-heading,.planner-parent-heading{min-width:0}
.planner-project-title,.planner-parent-title,.planner-action-title{display:block;min-width:0;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.planner-project-heading .planner-project-title{flex:1 1 auto}
.planner-parent-copy,.planner-action-copy{flex:1 1 auto;min-width:0;overflow:hidden}
.planner-project-left{height:100%;padding:9px 12px}
.planner-project-heading{display:flex;align-items:center;gap:7px}
.planner-project-title{font-size:clamp(18px,1.2vw,20px);font-weight:700;line-height:1.15}
.planner-project-health{margin:4px 0 0 31px;color:var(--text-secondary);font-size:13px;line-height:1.25;white-space:nowrap}
.planner-next{display:grid;min-width:0;max-width:100%;grid-template-columns:auto minmax(0,1fr);align-items:baseline;gap:2px 7px;margin:5px 0 0 31px;padding:0;border:0;background:transparent;text-align:left}
.planner-next-meta{color:var(--text-secondary);font-size:12px;line-height:1.2;white-space:nowrap}
.planner-next strong{min-width:0;max-width:100%;overflow:hidden;font-size:14px;font-weight:600;line-height:1.2;text-overflow:ellipsis;white-space:nowrap}
.planner-collapse{flex:0 0 24px;width:24px;min-height:24px;padding:0}
.planner-parent-left{display:flex;height:100%;flex-direction:column;justify-content:center;padding:7px 10px 7px 26px}
.planner-parent-heading{display:flex;align-items:center;gap:7px}
.planner-section-number{flex:0 0 24px;font-size:13px}
.planner-parent-title{font-size:clamp(16px,1.05vw,17px);font-weight:680;line-height:1.2}
.planner-parent-copy small{display:block;overflow:hidden;margin-top:2px;color:var(--text-secondary);font-size:13px;line-height:1.25;text-overflow:ellipsis;white-space:nowrap}
.planner-parent-actions{display:flex;gap:8px;margin:4px 0 0 55px;opacity:0;transition:opacity .12s ease}
.planner-parent-left:hover .planner-parent-actions,.planner-parent-left:focus-within .planner-parent-actions{opacity:1}
.planner-light-action.button{min-height:24px;padding:2px 5px;border:0;background:transparent;color:var(--text-secondary);font-size:12px;text-decoration:underline;text-underline-offset:2px}
.planner-parent-progress{margin:2px 0 0 55px;color:var(--text-secondary);font-size:12px;line-height:1.2}
.planner-parent-left.is-collapsed{padding-top:4px;padding-bottom:4px}
.planner-action-left{display:flex;height:100%;align-items:center;gap:7px;padding:5px 10px 5px 43px}
.planner-reorder-handle{flex:0 0 24px;width:24px;min-height:28px;padding:0;font-size:13px}
.planner-sequence{flex:0 0 23px;font-size:12px}
.planner-action-title{font-size:clamp(14px,.95vw,15px);font-weight:580;line-height:1.2}
.planner-action-copy small{display:block;overflow:hidden;margin-top:2px;color:var(--text-secondary);font-size:12px;line-height:1.2;text-overflow:ellipsis;white-space:nowrap}
.planner-month-cell{font-size:clamp(15px,1vw,16px);font-weight:650;text-transform:none}
.planner-week-cell,.planner-day-cell,.planner-date-tick{font-size:12px}
.planner-ruler-tier{overflow:hidden}
.planner-project-bar,.planner-task-bar,.planner-milestone{max-width:100%}
.planner-project-bar{top:12px;height:32px;padding:6px 10px}
.planner-project-bar strong{font-size:13px}
.planner-project-dates{top:49px;max-width:calc(100% - 10px);overflow:hidden;gap:12px;font-size:12px;text-overflow:ellipsis}
.planner-task-bar{top:10px;height:30px;padding:5px 12px}
.planner-bar-text{font-size:13px}
.planner-milestone{top:3px;height:44px}
.planner-milestone-diamond{top:10px}
.planner-milestone-label{top:5px;width:150px;padding:3px 5px}
.planner-milestone-label strong{font-size:13px}
.planner-milestone-label small{font-size:12px}
.planner-tbc{font-size:13px}
.planner-backward-guide,.planner-parent-deadline{overflow:visible}
.planner-backward-guide small{font-size:10px}
.planner-parent-deadline-label{max-width:180px;overflow:hidden;padding:3px 5px;text-overflow:ellipsis}
.planner-parent-deadline-label strong{overflow:hidden;font-size:11px;text-overflow:ellipsis}
.planner-parent-deadline-label small{font-size:10px}
.planner-action-track.after-deadline::after{font-size:10px}
.planner-grid-line,.planner-backward-guide,.planner-parent-deadline{pointer-events:none}
.planner-empty{padding:24px}

/* Density changes type and row rhythm without changing the date scale. */
.density-compact .planner-project-title{font-size:clamp(16px,1.05vw,17px)}
.density-compact .planner-project-health,.density-compact .planner-parent-copy small{font-size:12px}
.density-compact .planner-next{margin-top:3px}
.density-compact .planner-next-meta{font-size:11px}
.density-compact .planner-next strong{font-size:13px}
.density-compact .planner-parent-title{font-size:clamp(14px,.95vw,15px)}
.density-compact .planner-action-title{font-size:14px}
.density-compact .planner-action-copy small,.density-compact .planner-parent-progress{font-size:11px}
.density-compact .planner-project-left{padding-top:7px;padding-bottom:7px}
.density-compact .planner-parent-left{padding-top:4px;padding-bottom:4px}
.density-compact .planner-action-left{padding-top:3px;padding-bottom:3px}
.density-compact .planner-project-bar{top:8px;height:28px;padding:4px 8px}
.density-compact .planner-project-dates{top:39px;font-size:11px}
.density-compact .planner-task-bar{top:7px;height:28px;padding:4px 10px}
.density-compact .planner-milestone{top:1px;height:40px}
.density-compact .planner-milestone-label{top:4px}
.density-compact .planner-month-cell{font-size:15px}
.density-compact .planner-week-cell,.density-compact .planner-day-cell,.density-compact .planner-date-tick{font-size:12px}
.density-compact .planner-month-tier{height:25px}
.density-compact .planner-tick-tier{top:25px;height:21px}
.density-compact .planner-date-tier{top:46px;height:18px}
.density-compact .planner-month-cell{height:25px;padding:4px 7px}
.density-compact .planner-week-cell{height:21px;padding:3px 6px}
.density-compact .planner-day-cell{height:39px;padding:4px}
.density-compact .planner-date-tick{height:18px;padding:2px 5px}
.density-comfortable .planner-month-tier{height:28px}
.density-comfortable .planner-tick-tier{top:28px;height:24px}
.density-comfortable .planner-date-tier{top:52px;height:20px}
.density-comfortable .planner-month-cell{height:28px;padding:5px 8px}
.density-comfortable .planner-week-cell{height:24px;padding:4px 7px}
.density-comfortable .planner-day-cell{height:44px;padding:5px 6px}
.density-comfortable .planner-date-tick{height:20px;padding:3px 5px}
.density-large .planner-project-title{font-size:clamp(20px,1.35vw,22px)}
.density-large .planner-project-health{font-size:15px}
.density-large .planner-next-meta{font-size:14px}
.density-large .planner-next strong{font-size:16px}
.density-large .planner-parent-title{font-size:clamp(18px,1.2vw,19px)}
.density-large .planner-parent-copy small{font-size:14px}
.density-large .planner-action-title{font-size:clamp(16px,1.05vw,17px)}
.density-large .planner-action-copy small{font-size:14px}
.density-large .planner-project-bar{top:18px;height:38px;padding:8px 12px}
.density-large .planner-project-bar strong{font-size:15px}
.density-large .planner-project-dates{top:65px;font-size:14px}
.density-large .planner-task-bar{top:14px;height:36px;padding:7px 14px}
.density-large .planner-bar-text{font-size:15px}
.density-large .planner-milestone{top:5px;height:54px}
.density-large .planner-milestone-label{top:7px;width:178px;padding:5px 7px}
.density-large .planner-milestone-label strong{font-size:15px}
.density-large .planner-milestone-label small{font-size:14px}
.density-large .planner-month-tier{height:32px}
.density-large .planner-tick-tier{top:32px;height:28px}
.density-large .planner-date-tier{top:60px;height:28px}
.density-large .planner-month-cell{height:32px;padding:6px 9px;font-size:17px}
.density-large .planner-week-cell{height:28px;padding:5px 8px;font-size:14px}
.density-large .planner-day-cell{height:56px;padding:6px;font-size:14px}
.density-large .planner-date-tick{height:28px;padding:5px 6px;font-size:14px}

.overview-mode .planner-project-left{display:flex;flex-direction:column;justify-content:center}
.overview-mode .planner-project-health{margin-top:5px}
.overview-mode .planner-next{margin-top:5px}
.details-collapsed .planner-layout{grid-template-columns:240px minmax(0,1fr)}
.details-collapsed .planner-project-health,.details-collapsed .planner-next,.details-collapsed .planner-parent-progress,.details-collapsed .planner-parent-actions,.details-collapsed .planner-action-copy small{display:none}
.details-collapsed .planner-project-title,.details-collapsed .planner-parent-title,.details-collapsed .planner-action-title{font-size:14px}
.details-collapsed .planner-action-left{padding-left:18px}
.details-collapsed .planner-parent-left{padding-left:14px}

@media(min-width:1440px){.planner-layout{grid-template-columns:minmax(360px,400px) minmax(0,1fr)}}
@media(min-width:1100px) and (max-width:1439px){.planner-layout{grid-template-columns:330px minmax(0,1fr)}}
@media(max-width:1099px) and (min-width:761px){.planner-layout{grid-template-columns:300px minmax(0,1fr)}.planner-details-toggle{display:inline-flex}.details-collapsed .planner-layout{grid-template-columns:240px minmax(0,1fr)}.planner-toolbar-controls{justify-content:flex-start}}
@media(hover:none){.planner-parent-actions{opacity:1}}
@media(max-width:760px){
  .planner-toolbar{gap:8px}
  .planner-toolbar-controls{justify-content:flex-start;overflow-x:auto;flex-wrap:nowrap;width:100%;padding-bottom:2px}
  .planner-density-group .planner-control-label{display:none}
  .planner-density-group,.planner-scale,.planner-zoom{flex:0 0 auto}
  .planner-details-toggle{display:none}
  .planner-mobile-pane-switch{display:inline-flex;order:3;width:100%}
  .planner-mobile-pane-switch .button{flex:1 1 50%}
  .planner-layout,.details-collapsed .planner-layout{display:grid;grid-template-columns:minmax(0,1fr);max-height:calc(100vh - 315px)}
  .planner-info-pane,.planner-canvas{position:relative;max-height:calc(100vh - 315px)}
  .planner-info-pane{overflow:auto;border-right:0}
  .mobile-pane-details .planner-canvas{display:none}
  .mobile-pane-timeline .planner-info-pane{display:none}
  .mobile-pane-timeline .planner-canvas{display:block;width:100%}
  .planner-corner{position:sticky}
  .planner-project-title{font-size:17px}
  .planner-parent-title{font-size:15px}
  .planner-action-title{font-size:14px}
  .planner-project-health,.planner-parent-copy small,.planner-action-copy small{font-size:12px}
  .planner-project-left{padding-right:10px}
  .planner-parent-left{padding-left:18px}
  .planner-action-left{padding-left:27px}
  .planner-next strong{font-size:13px}
  .planner-parent-actions{opacity:1}
}

/* PWA v0.9 — local-first backup, install and safe-area surfaces. */
body{min-height:100dvh}
.backup-reminder{display:none!important}
.backup-recommendation{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:0 clamp(18px,4vw,54px) 14px;padding:11px 13px;border:1px solid var(--border-strong);background:var(--surface-secondary)}
.backup-recommendation-copy{display:grid;gap:2px}.backup-recommendation-copy strong{font-size:13px}.backup-recommendation-copy span{color:var(--text-secondary);font-size:12px}
.backup-recommendation-actions,.backup-center-actions{display:flex;align-items:center;flex-wrap:wrap;gap:7px}
.backup-center{scroll-margin-top:76px}.backup-last{display:grid;gap:3px;margin-bottom:14px;padding:13px;border:1px solid var(--border);background:var(--surface-secondary)}.backup-last .eyebrow{margin:0!important}.backup-last strong{font-size:20px}
.backup-summary{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:7px;margin-bottom:14px}.backup-summary-item{display:grid;gap:2px;padding:11px;border:1px solid var(--border);background:var(--surface)}.backup-summary-item strong{font-size:22px}.backup-summary-item span{color:var(--text-secondary);font-size:11px}
.backup-location-note,.privacy-copy,.version-copy{margin:13px 0 0;color:var(--text-secondary);font-size:13px;line-height:1.55}.install-status{display:grid;gap:5px}.install-status p{margin:0;color:var(--text-secondary)}.install-status .button{justify-self:start;margin-top:6px}
.backup-validation-dialog{width:min(680px,calc(100vw - 24px))}.backup-validation-status{display:grid;gap:3px;padding:13px;border:1px solid var(--border)}.backup-validation-status.valid{background:#e3ebe5}.backup-validation-status.invalid{background:#efe4e8}.backup-validation-status strong{font-size:18px}.backup-validation-status span{color:var(--text-secondary)}
.backup-validation-details{display:grid;grid-template-columns:130px minmax(0,1fr);gap:8px 12px;margin:16px 0 0}.backup-validation-details dt{color:var(--text-secondary);font-size:12px}.backup-validation-details dd{margin:0;overflow-wrap:anywhere}.backup-error-list{margin:14px 0 0;padding-left:20px;color:#6f3d4e}.backup-warning{margin:12px 0 0;padding:8px 10px;border-left:2px solid var(--border-strong);background:var(--surface-secondary)}
.pwa-update-banner{position:fixed;right:18px;bottom:18px;z-index:90;display:flex;width:min(430px,calc(100vw - 36px));align-items:center;justify-content:space-between;gap:12px;padding:12px;border:1px solid var(--border-strong);background:var(--surface);box-shadow:0 4px 18px rgba(41,41,41,.12)}.pwa-update-copy{display:grid}.pwa-update-copy span{color:var(--text-secondary);font-size:11px}.pwa-update-actions{display:flex;gap:6px;white-space:nowrap}
.pwa-diagnostics{scroll-margin-top:76px}.pwa-readiness{display:grid;gap:3px;margin:13px 0;padding:11px 12px;border-left:3px solid var(--border-strong);background:var(--surface-secondary)}.pwa-readiness strong{font-size:15px}.pwa-readiness span{color:var(--text-secondary);font-size:12px;overflow-wrap:anywhere}.pwa-readiness.ready{border-left-color:var(--completed);background:#e3ebe5}.pwa-readiness.not-ready{border-left-color:#887567;background:#eee9e5}.pwa-readiness.checking{color:var(--text-secondary)}
.pwa-diagnostics-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;background:var(--border)}.pwa-diagnostic-row{display:grid;grid-template-columns:minmax(150px,.8fr) minmax(0,1.2fr);gap:10px;padding:9px 11px;background:var(--surface)}.pwa-diagnostic-row span{color:var(--text-secondary);font-size:12px}.pwa-diagnostic-row strong{font-size:12px;overflow-wrap:anywhere}

@supports(padding:max(0px)){
  .sidebar{padding-top:max(22px,env(safe-area-inset-top));padding-bottom:max(15px,env(safe-area-inset-bottom))}
  .topbar{padding-top:max(11px,env(safe-area-inset-top))}
}
@media(max-width:900px){.backup-summary{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:760px){
  body{padding-bottom:calc(74px + env(safe-area-inset-bottom))}
  .topbar{padding-top:max(10px,env(safe-area-inset-top))}
  .view-root{padding-bottom:calc(34px + env(safe-area-inset-bottom))}
  .mobile-bottom-nav{height:calc(67px + env(safe-area-inset-bottom));padding-bottom:env(safe-area-inset-bottom)}
  .toast-region{bottom:calc(82px + env(safe-area-inset-bottom))}
  .pwa-update-banner{right:10px;bottom:calc(77px + env(safe-area-inset-bottom));left:10px;width:auto;align-items:stretch;flex-direction:column}
  .pwa-update-actions .button{flex:1}
  .backup-recommendation{align-items:flex-start;flex-direction:column;margin-right:14px;margin-left:14px}.backup-recommendation-actions{width:100%}
  .backup-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.backup-center-actions{align-items:stretch;flex-direction:column}.backup-center-actions .button{width:100%;min-height:48px}
  .backup-validation-details{grid-template-columns:1fr}.backup-validation-details dd{margin-bottom:5px}
  .pwa-diagnostics .settings-section-header{align-items:stretch;flex-direction:column}.pwa-diagnostics .settings-section-header .button{width:100%;min-height:48px}.pwa-diagnostics-grid{grid-template-columns:1fr}.pwa-diagnostic-row{grid-template-columns:minmax(125px,.8fr) minmax(0,1.2fr)}
  input,select,textarea{font-size:16px}
  dialog{padding-bottom:env(safe-area-inset-bottom)}
}

/* Timeline hierarchy and adaptive layout: every record owns one shared two-cell row. */
:root{
  --text:#292a29;
  --text-primary:#292a29;
  --text-secondary:#767a7a;
  --muted:#767a7a;
  --muted-soft:#929697;
  --surface-secondary:#eceeef;
  --active:#474947;
  --active-hover:#3f4140;
  --active-text:#fff;
  --timeline-info-width:clamp(300px,32vw,400px);
}
.button.primary:hover,.button.active:hover,.nav-item.active:hover{border-color:var(--active-hover);background:var(--active-hover);color:var(--active-text)}
.button.primary,.button.active,.nav-item.active,.segmented button.active{color:var(--active-text)}
h1,h2,h3,.detail-top h2{color:#2f302f}
body{color:#3f4140}

.planner-shell{overflow:hidden}
.planner-viewport{position:relative;max-height:calc(100vh - 255px);overflow:auto;background:var(--surface);overscroll-behavior:contain;isolation:isolate}
.planner-adaptive-grid{position:relative;width:max-content;min-width:100%;min-height:170px}
.planner-shared-row{position:relative;display:grid;width:max-content;min-width:100%;grid-template-columns:var(--timeline-info-width) var(--timeline-canvas-width);align-items:stretch}
.planner-header-row{position:sticky;top:0;z-index:60}
.planner-info-cell{position:sticky;left:0;z-index:30;min-width:0;border-right:1px solid var(--border-strong);border-bottom:1px solid var(--border);background:var(--surface)}
.planner-timeline-cell{position:relative;z-index:1;width:var(--timeline-canvas-width);min-width:0;align-self:stretch;overflow:hidden;border-bottom:1px solid var(--border);background:var(--surface);contain:paint}
.planner-corner{position:sticky;top:0;left:0;z-index:65;width:var(--timeline-info-width);height:var(--timeline-ruler-height);min-height:var(--timeline-ruler-height);padding:10px 12px;border-right:1px solid var(--border-strong);border-bottom:1px solid var(--border-strong);background:var(--surface-secondary)}
.planner-ruler{position:sticky;top:0;z-index:50;width:var(--timeline-canvas-width);height:var(--timeline-ruler-height);min-height:var(--timeline-ruler-height);border-bottom:1px solid var(--border-strong);background:var(--surface-secondary)}
.planner-shared-row.planner-project-row{min-height:var(--timeline-project-min)}
.planner-shared-row.planner-parent-row{min-height:var(--timeline-parent-min)}
.planner-shared-row.planner-action-row{min-height:var(--timeline-action-min)}
.planner-shared-row>.planner-info-cell,.planner-shared-row>.planner-timeline-cell{height:auto;min-height:inherit}
.planner-track{position:relative;width:var(--timeline-canvas-width);height:100%;min-height:inherit;overflow:hidden;contain:paint}
.planner-project-left,.planner-parent-left,.planner-action-left{width:100%;height:auto;min-height:100%;overflow:visible}

/* One hue identifies the Project family; tint and outline express hierarchy. */
.planner-project-row .planner-info-cell{background:var(--surface);background:color-mix(in srgb,var(--project-color) 12%,var(--surface))}
.planner-project-row .planner-timeline-cell{background:var(--surface);background:color-mix(in srgb,var(--project-color) 5%,var(--surface))}
.planner-parent-row .planner-info-cell{border-left:4px solid var(--project-color);background:var(--surface);background:color-mix(in srgb,var(--project-color) 10%,var(--surface))}
.planner-parent-row .planner-timeline-cell{background:var(--surface);background:color-mix(in srgb,var(--project-color) 4%,var(--surface))}
.planner-action-row .planner-info-cell{border-left:2px solid var(--project-color);background:var(--surface)}
.planner-action-row .planner-timeline-cell{background:var(--surface)}
.planner-parent-row.is-selected .planner-info-cell,.planner-action-row.is-selected-section .planner-info-cell{background:color-mix(in srgb,var(--project-color) 14%,var(--surface))}
.planner-parent-row.is-selected{box-shadow:inset 0 1px var(--border-strong),inset 0 -1px var(--border-strong)}

/* Natural content flow replaces all record-level fixed heights. */
.planner-project-left{display:flex;flex-direction:column;justify-content:center;padding:10px 12px}
.planner-project-title,.planner-parent-title,.planner-action-title,.planner-next strong{
  display:-webkit-box;
  max-width:100%;
  overflow:hidden;
  white-space:normal;
  text-overflow:ellipsis;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:2;
}
.density-large .planner-project-title,.density-large .planner-parent-title,.density-large .planner-action-title{-webkit-line-clamp:3}
.planner-project-title{font-size:clamp(18px,1.2vw,19px);font-weight:700;line-height:1.22}
.planner-project-health{margin:4px 0 0 31px;color:var(--text-secondary);font-size:13px;line-height:1.3;white-space:normal}
.planner-next{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:start;gap:2px 7px;margin:5px 0 0 31px;position:static}
.planner-next-meta{font-size:12px;white-space:nowrap}
.planner-next strong{font-size:14px;font-weight:600;line-height:1.25}
.planner-parent-left{display:flex;flex-direction:column;justify-content:center;padding:8px 11px 8px 22px}
.planner-parent-heading{align-items:flex-start}
.planner-parent-copy{overflow:visible}
.planner-parent-title{font-size:clamp(16px,1.05vw,17px);font-weight:680;line-height:1.25}
.planner-parent-copy small{display:block;overflow:visible;margin-top:3px;font-size:13px;line-height:1.3;white-space:normal}
.planner-parent-actions{margin:5px 0 0 55px;opacity:.48;visibility:visible;transition:opacity .12s ease}
.planner-parent-row:hover .planner-parent-actions,.planner-parent-row.is-selected .planner-parent-actions,.planner-parent-row:focus-within .planner-parent-actions{opacity:1}
.planner-parent-progress{margin:2px 0 0 55px;font-size:12px}
.planner-action-left{display:flex;align-items:center;gap:7px;padding:7px 10px 7px 39px}
.planner-action-copy{overflow:visible}
.planner-action-title{font-size:clamp(14px,.95vw,15px);font-weight:580;line-height:1.28}
.planner-action-copy small{display:block;overflow:visible;margin-top:3px;font-size:12.5px;line-height:1.3;white-space:normal}
.planner-sequence{color:var(--text-secondary)}

/* Timeline shapes remain centered when a left cell grows to two or three lines. */
.planner-project-bar{top:11px;background:var(--project-color);background:color-mix(in srgb,var(--project-color) 92%,var(--active));color:var(--text-primary)}
.planner-project-dates{top:auto;bottom:7px}
.planner-task-bar{top:50%;transform:translateY(-50%)}
.planner-parent-shape{background:color-mix(in srgb,var(--bar-color,var(--project-color)) 80%,var(--surface))}
.planner-action-shape{background:color-mix(in srgb,var(--bar-color,var(--project-color)) 50%,var(--surface))}
.planner-milestone{top:50%;transform:translateY(-50%)}
.planner-milestone-line{background:var(--bar-color,var(--project-color))}
.planner-milestone-diamond{border:1px solid var(--bar-color,var(--project-color));color:var(--project-color)}
.planner-parent-shape .planner-milestone-label{background:color-mix(in srgb,var(--project-color) 12%,var(--surface))}
.planner-action-shape .planner-milestone-label{background:color-mix(in srgb,var(--project-color) 6%,var(--surface))}
.planner-today-segment{position:absolute;z-index:2;top:0;bottom:0;width:1px;background:var(--text-primary);opacity:.72;pointer-events:none}
.planner-backward-guide{opacity:.12;transition:opacity .12s ease}
.planner-backward-guide small,.planner-parent-deadline-label{opacity:0;transition:opacity .12s ease}
.planner-parent-row:hover .planner-backward-guide,.planner-parent-row.is-selected .planner-backward-guide{opacity:.65}
.planner-parent-row:hover .planner-backward-guide small,.planner-parent-row.is-selected .planner-backward-guide small,.planner-parent-row:hover .planner-parent-deadline-label,.planner-parent-row.is-selected .planner-parent-deadline-label{opacity:1}
.planner-action-row .planner-backward-guide{opacity:.07}
.timeline-drag-ghost{position:absolute;z-index:100;max-width:190px;border-color:var(--active);background:var(--active);color:var(--active-text)}

/* Density changes minimum rhythm and typography, never a record's actual height. */
.density-compact .planner-project-title{font-size:clamp(16px,1.05vw,17px)}
.density-compact .planner-parent-title{font-size:clamp(14px,.95vw,15px)}
.density-compact .planner-action-title{font-size:14px}
.density-compact .planner-project-left{padding-top:7px;padding-bottom:7px}
.density-compact .planner-parent-left{padding-top:5px;padding-bottom:5px}
.density-compact .planner-action-left{padding-top:5px;padding-bottom:5px}
.density-large .planner-project-title{font-size:clamp(20px,1.35vw,22px)}
.density-large .planner-parent-title{font-size:clamp(18px,1.2vw,19px)}
.density-large .planner-action-title{font-size:clamp(16px,1.05vw,17px)}
.density-large .planner-project-health,.density-large .planner-next-meta,.density-large .planner-parent-copy small,.density-large .planner-action-copy small{font-size:14px}
.details-collapsed{--timeline-info-width:240px}
.details-collapsed .planner-project-health,.details-collapsed .planner-next,.details-collapsed .planner-parent-progress,.details-collapsed .planner-parent-actions,.details-collapsed .planner-action-copy small{display:none}

/* Readable progressive Task form. */
.task-dialog,.task-dialog:has(.wide){width:min(1280px,calc(100vw - 32px))}
.task-form-shell{width:100%;max-width:1280px}
.task-form-shell .dialog-header{padding:20px 24px}
.task-form-shell .dialog-header h2{font-size:30px;line-height:1.15}
.task-form-shell .eyebrow{font-size:14px}
.task-form-body{display:grid;gap:22px;padding:24px}
.task-primary-grid,.task-details-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 22px}
.task-form-shell .field{font-size:16px;line-height:1.35}
.task-form-shell .field input,.task-form-shell .field select{height:54px;padding:10px 12px;font-size:18px}
.task-form-shell .field textarea{min-height:112px;padding:11px 12px;font-size:18px;line-height:1.55}
.task-form-shell .field small{font-size:14px;line-height:1.45}
.task-form-shell .check-field{font-size:16px}
.task-form-shell .dialog-actions{padding:15px 24px}
.task-form-shell .dialog-actions .button{min-height:46px;padding:9px 16px;font-size:17px}
.task-more-details{padding-top:4px;border-top:1px solid var(--border)}
.task-more-details summary{display:inline-flex;align-items:center;margin-top:16px;list-style:none;font-size:16px}
.task-more-details summary::-webkit-details-marker{display:none}
.task-more-details summary::after{margin-left:9px;content:"＋"}
.task-more-details[open] summary::after{content:"−"}
.task-details-grid{margin-top:20px;padding-top:20px;border-top:1px solid var(--border)}

@media(min-width:1440px){:root{--timeline-info-width:clamp(360px,27vw,400px)}}
@media(min-width:1100px) and (max-width:1439px){:root{--timeline-info-width:330px}}
@media(max-width:1099px) and (min-width:761px){:root{--timeline-info-width:300px}.planner-details-toggle{display:inline-flex}.details-collapsed{--timeline-info-width:240px}}
@media(max-width:760px){
  :root{--timeline-info-width:100%}
  .planner-viewport{max-height:calc(100vh - 315px)}
  .mobile-pane-details .planner-shared-row{width:100%;grid-template-columns:minmax(0,1fr)}
  .mobile-pane-details .planner-timeline-cell{display:none}
  .mobile-pane-details .planner-corner{display:flex;width:100%}
  .mobile-pane-timeline .planner-shared-row{grid-template-columns:var(--timeline-canvas-width)}
  .mobile-pane-timeline .planner-info-cell,.mobile-pane-timeline .planner-corner{display:none}
  .mobile-pane-timeline .planner-timeline-cell{display:block}
  .planner-info-cell{position:relative;left:auto}
  .planner-project-title{font-size:17px}
  .planner-parent-title{font-size:15px}
  .planner-action-title{font-size:14px}
  .planner-project-health,.planner-parent-copy small,.planner-action-copy small{font-size:12px}
  .planner-parent-left{padding-left:16px}
  .planner-action-left{padding-left:25px}
  .planner-parent-actions{overflow-x:auto}
  .task-dialog{width:100%}
  .task-form-shell .dialog-header{padding:18px}
  .task-form-shell .dialog-header h2{font-size:26px}
  .task-form-shell .eyebrow{font-size:13px}
  .task-form-body{gap:18px;padding:18px}
  .task-primary-grid,.task-details-grid{grid-template-columns:1fr;gap:18px}
  .task-form-shell .field{font-size:15px}
  .task-form-shell .field input,.task-form-shell .field select,.task-form-shell .field textarea{font-size:16px}
  .task-form-shell .dialog-actions{padding:13px 18px}
  .task-form-shell .dialog-actions .button{font-size:16px}
}
