/* The approved workspace: calendar, day editor, and entry details. */
.account-overview{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin:0 0 24px;padding-bottom:18px;border-bottom:1px solid var(--color-border)}
.account-overview .ys-card{margin:0;padding:0;background:none;border:0;border-radius:0;min-width:0}
.account-overview .ys-card::after{display:none}
.account-overview .obs-microlabel,.account-overview .ys-card-title{font:500 13px var(--font-sans);letter-spacing:0;text-transform:none;color:#b4bfd0}
.account-overview .obs-flexbank-value{font-size:29px;margin:4px 0;line-height:1.35}
.account-overview .obs-caption{font:var(--font-size-readable)/1.5 var(--font-sans);color:#9ba9bd}
.account-overview .obs-caption--over{color:var(--color-negative)}
.account-overview .ys-card-head{display:block}
.account-overview .ys-card-goal{display:block;margin-top:5px;font-size:var(--font-size-readable);color:#9ba9bd}
.account-overview .ys-week-figures{margin:8px 0;gap:8px;flex-wrap:wrap}
.account-overview .ys-week-hours{font-size:25px}
.account-overview .ys-week-expected{font-size:13px}
.account-overview .ys-week-balance{font-size:var(--font-size-readable)}
.account-overview .ys-week-track{height:3px;max-width:90%}
.account-overview .obs-card--pot .obs-card-head{display:flex;flex-direction:column;gap:8px}
.account-overview .obs-pot-left{font-size:13px}
.account-overview .obs-pot-left strong{font:500 28px var(--font-mono)}
.account-overview .obs-pot-grid{display:none}
.desktop-workspace{display:flex;flex-direction:column;gap:24px}
.desktop-workspace #calendar-root{display:contents}
.desktop-workspace #calendar-col{order:1}
.workspace-editor{order:2;min-width:0}
.desktop-workspace .summary-aside{order:3;min-width:0;gap:20px}
#day-panel,#calendar-col{scroll-margin-top:20px}
.calendar-filters{margin:12px 0}
.calendar-filters>summary,.workspace-command>summary,.day-advanced>summary,.summary-disclosure>summary{cursor:pointer;padding:10px 0;color:var(--color-text-muted);font-size:12px}
.calendar-filters>summary span,.workspace-command>summary span,.summary-disclosure>summary span{font-size:var(--font-size-readable);margin-left:8px;color:#9ba9bd}
.calendar-filters .filter-bar{margin-top:10px}
.calendar-selection-bar{display:flex;gap:10px;align-items:center;justify-content:space-between;margin:8px 0 14px}
.calendar-selection-bar>span{font-size:var(--font-size-readable);color:#9ba9bd}
.calendar-select-toggle{font-size:12px;min-height:32px;flex-shrink:0}
.calendar-select-toggle[aria-pressed="true"]{border-color:var(--color-accent);color:var(--color-accent);background:#5ee6c810}
.calendar-vacation-choice{margin-top:10px;border-top:1px solid var(--color-border);border-radius:0 0 8px 8px;color:#e8c46b}
.day-cell--hours-under .day-worked{color:#f49b91}
.day-cell--hours-met .day-worked{color:#65dfc1}
.summary-disclosure{border:0;border-top:1px solid var(--color-border);border-radius:0;background:none}
.summary-disclosure .ys-card,.summary-disclosure .trp{border:0;background:none;padding:16px 0}
.summary-disclosure:has(#time-report-panel){order:5}
.summary-disclosure:has(.ys-card--progress){order:4}
.obs-month-hours{color:var(--color-text)}
.obs-month-note{margin:0;font-size:var(--font-size-readable);line-height:1.5;color:#9ba9bd}
.workspace-command,.day-advanced{border-top:1px solid var(--color-border)}
.workspace-command .page__composer{margin:8px 0 0}
.day-advanced .quick-hours-form{margin-top:10px}
.day-advanced .dp-footer{margin-top:18px}
.day-entries h3{margin:0 0 12px;font-size:15px;font-weight:500}
.summary-aside #manual-entry-slot{order:0}
.summary-aside .manual-entry{border:0;border-radius:0;background:none;padding:0}
.summary-aside .manual-entry-title{font:500 20px var(--font-sans);text-transform:none;letter-spacing:0;color:var(--color-text)}
.manual-entry-context{font-size:12px;color:#9ba9bd;margin:4px 0 16px}
.summary-aside .manual-entry-sub{display:none}
.summary-aside .manual-entry-form{display:flex;flex-direction:column;gap:14px;align-items:stretch}
.summary-aside .manual-entry-form .field{min-width:0;width:100%}
.summary-aside .manual-entry-form .field-label{font:12px var(--font-sans);letter-spacing:0;text-transform:none;color:#a3b1c1;margin-bottom:6px}
.summary-aside .manual-entry-form input,.summary-aside .manual-entry-form select{width:100%;min-width:0;box-sizing:border-box;height:39px;background:#0c131b;border:1px solid #344151;border-radius:7px;padding:8px 10px;font-size:12px}
.manual-entry-times{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.manual-entry-actions{display:flex;gap:8px;flex-wrap:wrap}
.manual-entry-actions .btn-accent{flex:1;min-height:38px}
.manual-entry-duration{font-size:var(--font-size-readable);color:#9ba9bd}
.summary-disclosure>summary:focus-visible,.calendar-filters>summary:focus-visible,.workspace-command>summary:focus-visible,.day-advanced>summary:focus-visible{outline:2px solid var(--color-accent);outline-offset:3px;border-radius:3px}

@media(min-width:70rem){
 .page{max-width:1660px;padding:24px 32px 64px}
 .page__header{margin-bottom:20px}
 .page__title{font-size:26px}
 .page__nav{gap:14px;font-size:var(--font-size-readable)}
 .page__synced{color:#9ba9bd}
 .desktop-workspace{display:grid;grid-template-columns:310px minmax(0,1fr) 260px;gap:26px;align-items:start}
 .desktop-workspace #calendar-col{grid-column:1;grid-row:1;min-width:0;padding:0;border:0;background:none}
 .desktop-workspace .workspace-editor{grid-column:2;grid-row:1}
 .desktop-workspace .summary-aside{grid-column:3;grid-row:1;padding-left:22px;border-left:1px solid var(--color-border)}
 .month-nav{display:flex;flex-direction:column;align-items:stretch;gap:12px;margin-bottom:0}
 .month-nav-title{gap:9px;justify-content:space-between}
 .month-heading{font-size:22px;letter-spacing:-.5px;white-space:nowrap}
 .month-nav-actions{width:100%;flex-wrap:nowrap;justify-content:space-between;gap:10px}
 .jump-date{min-width:0;flex:1}.jump-date-input{min-width:0;width:100%;height:33px;font-size:var(--font-size-readable);border-radius:7px;box-sizing:border-box}
 .month-nav .iconbtn{width:28px;height:28px}
 .month-nav .filter-today{height:33px;border-radius:7px;padding:6px 10px;font-size:12px}
 .calendar-selection-bar>span{display:none}.calendar-selection-bar{justify-content:flex-end;margin-bottom:12px}
 .filter-bar{padding:0;border:0;gap:6px}.filter-btn,.filter-chip{font-size:var(--font-size-readable);min-height:30px;max-width:100%;overflow:hidden;text-overflow:ellipsis}
 .filter-active{display:none}
 .weekday-row{font:var(--font-size-readable) var(--font-mono);letter-spacing:.04em;color:#9fafbf;gap:5px;margin-bottom:10px}
 .weekday-cell{text-align:center;padding:0}
 .month-grid{gap:5px;grid-auto-rows:60px}
 .day-cell{box-sizing:border-box;min-height:60px;height:60px;padding:7px 3px;border-radius:6px;align-items:center;justify-content:center;gap:5px}
 .day-cell--pad{min-height:60px;height:60px}
 .day-top{width:100%;justify-content:center;position:relative}
 .day-num{font-size:14px;color:var(--color-text)}
 .day-icon{position:absolute;right:0;top:0;font-size:var(--font-size-readable);color:#9ba9bd}
 .day--weekend .day-num{color:#8292a4}
 .day-body{width:100%;align-items:center;gap:0}
 .day-line{min-height:12px;max-width:100%;justify-content:center;gap:3px}
 .day-worked,.day-kind{font-size:var(--font-size-readable);line-height:1.3}
 .day-balance{display:none}
 .day-kind{max-width:100%;font-style:normal}
 .day-doctor-dot{right:4px;top:24px;width:4px;height:4px}
 .grid-hint{display:none}
 .cal-legend{margin-top:14px;font-size:var(--font-size-readable)}
 .calendar-project-picker{width:280px;padding:16px;border-radius:10px;background:#151e28}
 .calendar-project-picker__head strong{font-size:14px}
 .calendar-project-choice{font-size:13px}
 .day-panel{padding:0;border:0;border-radius:0;background:none;gap:18px}
 .dp-grid{display:block}.dp-main{min-width:0}
 .day-panel-head{gap:12px;align-items:flex-start;margin-bottom:16px}
 .day-panel-title{font-size:23px;line-height:1.25;letter-spacing:-.6px;gap:8px;align-items:baseline}
 .day-panel-date{font-size:23px}
 .dp-type-pill{font-size:var(--font-size-readable);padding:4px 7px}
 .dp-meta{font:var(--font-size-readable)/1.5 var(--font-sans);color:#9ba9bd;margin-top:7px}
 .dp-total{min-width:0;flex-shrink:0}.dp-total__big{font-size:26px}.dp-total__delta{font-size:var(--font-size-readable)}
 .dp-actions{gap:6px;flex-wrap:wrap;font-size:var(--font-size-readable);margin:0}
 .dp-actions__hint{display:none}
 .dp-actions .chip{font-size:var(--font-size-readable);padding:5px 8px}
 .timeline-hint{font-size:var(--font-size-readable);line-height:1.6;margin:0}
 .day-entries{min-width:0}
 .span-list{margin:0}.span-row{font-size:var(--font-size-readable);gap:8px;min-width:0;flex-wrap:wrap;padding:12px 0}
 .span-row .span-time{font-size:var(--font-size-readable)}.span-row .span-duration{font-size:var(--font-size-readable)}
 .span-id{font-size:var(--font-size-readable);color:#8393a5}
 .span-edit{min-width:0;flex-wrap:wrap}
 .summary-aside .ys-card{border:0;border-radius:0;background:none;padding:18px 0 0}
 .summary-aside .obs-card--month{border-top:1px solid var(--color-border);gap:10px}
 .summary-aside .obs-microlabel{font:500 14px var(--font-sans);letter-spacing:0;text-transform:none;color:var(--color-text)}
 .summary-aside .obs-card-head{flex-wrap:wrap;gap:6px}
 .summary-aside .obs-month-figures{font-size:var(--font-size-readable)}
 .summary-aside .obs-month-projects{margin-top:2px;padding-top:10px;gap:8px}
 .summary-aside .obs-month-row{font-size:var(--font-size-readable);gap:5px}
 .summary-aside .obs-month-pct{font-size:var(--font-size-readable)}
 .summary-aside .ys-stat-label{color:#9ba9bd;font-size:var(--font-size-readable)}
 .summary-aside .ys-progress{flex-wrap:wrap}
 .summary-aside .trp{padding-inline:0}
}
@media(min-width:96rem){.desktop-workspace{grid-template-columns:340px minmax(0,1fr) 280px;gap:28px}.day-cell{min-height:64px;height:64px}.month-grid{grid-auto-rows:64px}}
@media(min-width:70rem) and (max-width:82rem){
 .page{padding-inline:22px}.desktop-workspace{grid-template-columns:270px minmax(0,1fr) 230px;gap:20px}
 .desktop-workspace .summary-aside{padding-left:16px}.day-panel-head{flex-wrap:wrap}.dp-total{display:flex;align-items:baseline;gap:12px}.day-panel-title,.day-panel-date{font-size:22px}
 .manual-entry-times{gap:7px}.summary-aside .manual-entry-form input{padding-inline:7px;font-size:var(--font-size-readable)}
}
@media(max-width:69.99rem){
 .account-overview{gap:12px}.account-overview .obs-flexbank-value{font-size:23px}.account-overview .obs-pot-left strong{font-size:23px}
 .summary-aside .manual-entry-form{max-width:600px}.day-entries .span-row{flex-wrap:wrap}
}
@media(max-width:42rem){
 .account-overview{grid-template-columns:1fr;gap:14px}.account-overview .ys-card{padding-bottom:8px}.calendar-selection-bar{align-items:flex-start}
 .day-panel-head{flex-wrap:wrap}.manual-entry-times{gap:10px}
}

/* No leftover card shadows in the open layout. */
.account-overview .ys-card,.workspace-editor .day-panel,.summary-aside .ys-card,.summary-aside .manual-entry,.summary-aside #time-report-panel{box-shadow:none}
.summary-aside .manual-entry-date>summary{font-size:var(--font-size-readable);color:#9ba9bd;cursor:pointer}
.summary-aside .manual-entry-date[open]>.field{margin-top:9px}
/* Primary entry actions use the shared .btn-accent palette. */

.cal-legend--desktop{display:none}
@media(min-width:70rem) and (pointer:fine){
 /* Reserve enough width for decimal hours without reducing the editor or aside
    below their useful widths. The legend fills the space beneath the grid. */
 .page{--workspace-columns:448px minmax(0,1fr) 260px}
 .desktop-workspace{grid-template-columns:var(--workspace-columns)}
 /* One low-profile account strip; retain the existing OOB figures and hooks. */
 .account-strip{display:flex;flex-direction:column;margin-bottom:16px;border-bottom:1px solid var(--color-border)}
 .account-overview{display:grid;grid-template-columns:var(--workspace-columns);align-items:start;gap:26px;margin:0;padding:10px 0 12px;border-top:1px solid var(--color-border);border-bottom:0}
 .account-overview>.ys-card:last-child{padding-left:22px}
 .page #day-panel .first-run-hint{padding:8px 10px;margin:0 0 8px;font-size:12px;line-height:1.4}
 .workspace-editor .first-run-hint__icon{display:none}
 .account-overview>.ys-card{flex:1;display:flex;flex-direction:row;flex-wrap:wrap;align-items:baseline;gap:3px 10px}
 .account-overview .obs-flexbank-value,.account-overview .ys-week-hours,.account-overview .obs-pot-left strong{font-size:20px;line-height:1.25;margin:0}
 .account-overview .obs-caption{flex-basis:100%;line-height:1.3}
 .account-overview .ys-card-head,.account-overview .obs-card--pot .obs-card-head{display:flex;flex-direction:row;align-items:baseline;gap:10px}
 .account-overview .ys-card-title{margin:0}
 .account-overview .ys-card-goal{margin:0}
 .account-overview .ys-week-figures{display:flex;align-items:baseline;flex-wrap:wrap;margin:0;gap:4px 10px}
 .account-overview .ys-week-balance{margin:0}
 .account-overview .ys-week-track{display:none}
 .page .first-run-hint{padding:6px 10px;margin:0 0 10px;gap:8px;font-size:var(--font-size-readable);line-height:1.4}
 .page .first-run-hint__aside{display:inline;margin-left:6px}
 .page .first-run-hint__dismiss{padding:4px;min-width:28px;min-height:28px}
 .month-nav{flex-direction:row;align-items:center;gap:12px}
 .month-nav-title{flex:1;min-width:0}
 .month-heading{font-size:20px}
 .month-nav-actions{width:auto;gap:6px}
 .jump-date{flex:none;width:150px}
 .calendar-filters{float:left;width:calc(100% - 126px);margin:8px 0}
 .calendar-filters[open]{float:none;width:100%}
 .calendar-filters>summary{box-sizing:border-box}
 .calendar-grid-wrap{overflow:visible}
 .calendar-selection-bar{height:36px;margin:8px 0;align-items:center}
 .weekday-row{clear:both;margin-bottom:6px}
 .page{padding-top:20px}
 .page__header{margin-bottom:12px}
 .page .first-run-hint__dismiss{min-height:20px}
 .page .first-run-hint{padding-block:4px;margin-bottom:8px}
 .page.project-year-page,.page.import-page{max-width:1660px}
 .import-page>#import-root,.import-page>#outlook-import-root{max-width:none}
 .import-page .import-upload{justify-content:flex-start;margin-bottom:20px}
 .import-page .import-upload-card{box-sizing:border-box;max-width:none;padding:1.25rem;border:1px solid var(--color-border);border-radius:1.25rem;background:var(--color-surface);display:grid;grid-template-columns:minmax(0,1fr) minmax(16rem,.7fr);gap:0 2rem;align-items:start}
 .import-page .import-upload-title,.import-page .import-upload-lede,.import-page .import-upload-card> .error-text{grid-column:1/-1}
 .import-page .import-upload-form{grid-column:1;min-width:0}
 .import-page .import-help{grid-column:2;margin-top:0;line-height:1.5}
 .page.project-year-page .project-year-heading h2,.import-page .import-upload-title{font:600 26px/1.25 var(--font-sans);letter-spacing:0;margin:0 0 8px}
 .month-grid{grid-auto-rows:72px}
 .day-cell,.day-cell--pad{min-height:72px;height:72px;padding:8px 4px}
 .day-line{flex-direction:column;gap:0}
 .day-worked{white-space:nowrap}
 .day-doctor-dot{top:8px;right:5px}
 .cal-legend--compact{display:none}
 .cal-legend--desktop{display:block}
 .cal-legend__heading{margin:0;font-size:var(--font-size-readable);font-weight:600;color:var(--color-text-muted)}
 /* These 12px headings must not inherit the display face's negative tracking. */
 .cal-legend__heading,.summary-aside .obs-card-head h3{letter-spacing:normal;word-spacing:normal}
 .cal-legend--desktop{margin-top:10px}
 .cal-legend--desktop .cal-legend__body{margin-top:5px;padding:0;border:0;background:none;gap:6px;border-radius:0}
 .cal-legend--desktop .cal-legend__group{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px 8px;width:100%;min-width:0}
 .cal-legend--desktop .cal-legend__title{grid-column:1/-1;letter-spacing:0;text-transform:none;margin:0;display:none}
 .cal-legend--desktop .cal-legend__item{gap:4px;align-items:flex-start;line-height:1.3}
 .cal-legend--desktop .cal-legend__glyph,.cal-legend--desktop .cal-legend__swatch{flex-shrink:0}
 /* Keyboard help remains available to assistive technology and in Shortcuts. */
 .cal-legend--desktop .cal-legend__hint{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);margin:0}
 .calendar-filters>summary{display:flex;align-items:center;gap:8px;min-height:36px;padding:6px 10px;border:1px solid var(--color-border);border-radius:7px;list-style:none}
 .calendar-filters>summary::-webkit-details-marker{display:none}
 .calendar-filters>summary::before{content:'+';font-family:var(--font-mono)}
 .calendar-filters[open]>summary::before{content:'−'}
}
/* Six-week months keep the legend in the first screen on shorter displays. */
@media(min-width:70rem) and (max-height:860px) and (pointer:fine){
 .month-grid{grid-auto-rows:60px}
 .day-cell,.day-cell--pad{min-height:60px;height:60px;padding:6px 4px}
}
@media(min-width:70rem) and (max-height:780px) and (pointer:fine){
 .month-grid{grid-auto-rows:54px}
 .day-cell,.day-cell--pad{min-height:54px;height:54px;padding:5px 4px}
}
@media(min-width:70rem) and (max-width:82rem) and (pointer:fine){
 .page{--workspace-columns:424px minmax(0,1fr) 230px}
}
@media(min-width:96rem) and (pointer:fine){
 .page{--workspace-columns:476px minmax(0,1fr) 280px}
}
