/* Shared working surfaces: quiet hierarchy, consistent density, useful space. */
.daily-brief { margin:24px 0 32px; padding:22px 0; border-block:1px solid var(--line); }
.brief-heading,.brief-group-heading { display:flex; align-items:baseline; justify-content:space-between; gap:16px; }
.brief-heading h2 { margin:0; font-size:18px; font-weight:550; }
.brief-heading p { margin:0; font-size:12px; }
.brief-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:28px; margin-top:24px; }
.brief-group { min-width:0; }
.brief-group h3 { font-size:13px; font-weight:550; margin:0; }
.brief-group ul { padding:0; margin:10px 0; list-style:none; }
.brief-group li { border-bottom:1px solid var(--line); }
.brief-group li a { display:grid; gap:5px; padding:12px 0; text-decoration:none; color:inherit; min-width:0; }
.brief-group li a:hover strong { text-decoration:underline; text-underline-offset:3px; }
.brief-group li strong { font-size:14px; font-weight:500; overflow-wrap:anywhere; }
.brief-group li span,.brief-group>.quiet-note { color:#aaa; font-size:12px; line-height:1.5; overflow-wrap:anywhere; }
.brief-more { color:#ccc; font-size:12px; text-underline-offset:3px; }
.brief-footnote { font-size:11px; color:#999; margin:20px 0 0; }
.mail-preferences { padding:0 0 14px; border-bottom:1px solid var(--line); }
.mail-preferences-body { padding:18px 0 4px; max-width:760px; }
.mail-preferences-body h3 { margin:22px 0 10px; font-size:15px; }
.mail-auto-toggle,.automatic-backup-panel label { display:flex; align-items:center; gap:10px; font-size:14px; }
.mail-auto-toggle input,.automatic-backup-panel input { accent-color:#e5e5e5; width:18px; height:18px; }
.mail-learned-rule { display:flex; align-items:center; justify-content:space-between; gap:16px; padding:10px 0; border-top:1px solid var(--line); }
.mail-learned-rule strong { font-size:13px; font-weight:500; overflow-wrap:anywhere; }
.mail-learned-rule p { margin:4px 0 0; font-size:12px; }
.mail-draft-badge { color:#d4dacd; font-size:11px; }
.mail-importance .input { max-width:100%; font-size:12px; min-height:36px; }
.mail-prepared-note { margin:18px 0; padding:16px; border:1px solid var(--line); border-radius:10px; font-size:13px; }
.mail-prepared-note p { color:#aaa; }
.mail-prepared-note blockquote,.item-evidence blockquote { margin:12px 0; padding:4px 0 4px 14px; border-left:2px solid #666; white-space:pre-wrap; overflow-wrap:anywhere; }
.item-evidence { flex-basis:100%; padding:18px 0; font-size:14px; min-width:0; width:100%; }
.item-evidence-source { margin:16px 0; padding-bottom:12px; border-bottom:1px solid var(--line); }
.item-evidence-source a { color:#ddd; text-underline-offset:3px; }
.item-correction-form { display:grid; gap:12px; margin-top:18px; max-width:640px; }
.item-correction-form label { display:grid; gap:6px; font-size:12px; }
.item-correction-form .input { box-sizing:border-box; max-width:100%; width:100%; }
.item-correction-actions { display:flex; flex-wrap:wrap; gap:8px; }
.automatic-backup-panel { padding:20px 0; border-block:1px solid var(--line); margin:20px 0; }
.automatic-backup-panel h3 { margin-top:0; font-size:16px; }
.automatic-backup-panel .quiet-note { max-width:650px; }
.mail-preferences-body[hidden],.item-evidence[hidden],.item-correction-form[hidden] { display:none; }
@media(max-width:760px) {
  .brief-grid { grid-template-columns:minmax(0,1fr); gap:22px; }
  .brief-heading { display:grid; gap:8px; }
  .daily-brief { margin-top:16px; padding-top:18px; }
  .brief-group li a { min-height:44px; justify-content:start; }
  .mail-learned-rule { align-items:flex-start; }
  .item-correction-actions .btn { min-height:44px; }
}
:is(.view-progress,.view-finance,.view-health,.view-shopping,.view-documents,.view-booking) {
  --workspace-muted:#aaa;
  max-width:1120px; min-width:0; padding:0; margin:0 auto;
  display:grid; grid-template-columns:minmax(0,1fr); gap:28px;
  font-size:16px; line-height:1.6;
}
:is(.view-progress,.view-finance,.view-health,.view-shopping,.view-documents,.view-booking) :is(h1,h2,h3,h4) { letter-spacing:-.025em; }
:is(.progress-heading,.finance-heading,.health-heading,.shopping-heading,.documents-heading,.booking-heading) { display:flex; align-items:center; justify-content:space-between; gap:20px; padding:0 0 24px; border-bottom:1px solid var(--line); }
:is(.progress-heading,.finance-heading,.health-heading,.shopping-heading,.documents-heading,.booking-heading) h1 { margin:0; font-size:28px; font-weight:550; line-height:1.3; }
:is(.progress-heading,.finance-heading,.health-heading,.shopping-heading,.documents-heading,.booking-heading) p { margin:6px 0 0; font-size:14px; color:var(--workspace-muted); }
:is(.view-progress,.view-finance,.view-health,.view-shopping,.view-documents,.view-booking) .btn { min-height:38px; font-size:14px; font-weight:500; line-height:1.3; padding:9px 14px; border-radius:8px; }
:is(.view-progress,.view-finance,.view-health,.view-shopping,.view-documents,.view-booking) .btn.quiet { background:transparent; }
:is(.view-progress,.view-finance,.view-health,.view-shopping,.view-documents,.view-booking) .btn.quiet:hover { background:#ffffff0b; }
:is(.view-progress,.view-finance,.view-health,.view-shopping,.view-documents,.view-booking) .input { min-height:40px; padding:10px 12px; font-size:14px; border-color:#ffffff26; background:#ffffff03; border-radius:8px; max-width:100%; }
:is(.progress-field,.finance-field,.health-field,.shopping-field,.documents-field,.booking-field) { min-width:0; gap:8px; }
:is(.progress-field,.finance-field,.health-field,.shopping-field,.documents-field,.booking-field)>span { font-size:14px; color:#b7b7b7; }
:is(.progress-note,.finance-note,.health-hint,.health-notice,.shopping-note,.documents-note,.booking-note) { font-size:13px; line-height:1.65; color:var(--workspace-muted); }
:is(.progress-panel,.progress-group,.finance-panel,.finance-currency,.health-section,.shopping-panel,.documents-panel,.booking-card) { border:0; border-radius:0; background:transparent; padding:0; margin:0; min-width:0; }
:is(.progress-panel,.finance-panel,.health-section,.shopping-panel,.documents-panel,.booking-card)>h2 { font-size:17px; font-weight:550; margin:0 0 18px; }
:is(.progress-metrics,.finance-metrics,.health-stats,.shopping-budget) { border-bottom:1px solid var(--line); padding:4px 0 26px; gap:24px; }
:is(.progress-metric,.health-stat) { background:none; border:0; border-radius:0; padding:0; min-width:0; }
:is(.progress-metric h3,.finance-metric>span,.health-stat span,.shopping-budget>div>span) { color:#aaa; font-size:14px; }
:is(.progress-metric>strong,.health-stat strong) { font-size:38px; line-height:1.25; font-weight:500; margin:8px 0 4px; }
:is(.progress-metric,.health-stat):not(:first-child) { border-left:1px solid var(--line); padding-left:24px; }
.workspace-disclosure { min-width:0; border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.workspace-disclosure+.workspace-disclosure { border-top:0; }
.workspace-disclosure>summary { cursor:pointer; list-style:none; display:flex; align-items:center; justify-content:space-between; gap:16px; min-height:58px; padding:16px 0; font-size:15px; font-weight:500; }
.workspace-disclosure>summary::-webkit-details-marker { display:none; }
.workspace-chevron { color:#aaa; font-size:20px; font-weight:400; line-height:1; }
.workspace-disclosure[open]>summary .workspace-chevron { transform:rotate(45deg); }
.workspace-disclosure-body { min-width:0; display:grid; grid-template-columns:minmax(0,1fr); gap:22px; padding:4px 0 24px; }
.workspace-disclosure-body,.health-form,.health-form input { scroll-margin-top:112px; }
.workspace-section-head { display:flex; align-items:center; justify-content:space-between; gap:16px; }
.workspace-section-head h2 { font-size:17px; font-weight:550; }
.workspace-section-head p { margin:5px 0 0; }
.workspace-tabs { display:flex; gap:24px; border-bottom:1px solid var(--line); overflow-x:auto; }
.workspace-tabs .btn { border:0; border-radius:0; padding:8px 0 14px; color:#aaa; white-space:nowrap; }
.workspace-tabs .btn[aria-pressed=true] { color:#f1f1f1; box-shadow:0 2px 0 #eee; }
.workspace-actions { display:flex; flex-wrap:wrap; align-items:center; gap:8px; }
.workspace-empty { padding:44px 24px; border:1px dashed #ffffff26; border-radius:12px; text-align:center; display:grid; justify-items:center; gap:12px; }
.workspace-empty h2 { font-size:20px; font-weight:500; }
.workspace-empty p { max-width:460px; color:#aaa; font-size:14px; }
.workspace-caption { color:#929292; font-size:12px; }
.progress-toolbar { display:flex; align-items:center; justify-content:space-between; gap:20px; flex-wrap:wrap; }
.progress-week-controls { justify-content:flex-end; margin:0; }
.progress-week-controls .progress-field>span { display:none; }
.progress-week-controls .input { width:160px; }
.progress-range { margin:0; }
.progress-range h2 { font-size:16px; }
.progress-range .progress-note { font-size:12px; }
.progress-insights { display:grid; grid-template-columns:minmax(0,1.6fr) minmax(0,1fr); gap:42px; padding:8px 0 10px; }
.progress-groups { display:grid; grid-template-columns:minmax(0,1fr); gap:28px; }
.progress-chart { height:245px; gap:22px; padding-top:26px; }
.progress-chart-track { background:transparent; border-bottom:1px solid var(--line); border-radius:0; display:flex; justify-content:center; }
.progress-chart-bar { width:60%; max-width:42px; background:#a9b7e2; border-radius:4px 4px 0 0; }
.progress-chart-label,.progress-chart-value { font-size:13px; }
.progress-group-row>div:first-child { font-size:14px; }
.progress-group-track span { background:#9ba6c5; }
.progress-export { display:block; }
.progress-export .progress-export-heading h2 { display:none; }
.progress-history { padding-top:4px; }
.progress-item h3 { font-size:15px; }
.progress-item-choice .sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; border:0; }
.progress-item-choice { flex:0 0 20px; }
.progress-toggle { font-size:14px; }
.progress-selection-actions .btn { font-size:13px; }
.progress-item-details summary { font-size:12px; }
.workspace-form { padding:24px; background:#ffffff03; border:1px solid var(--line); border-radius:12px; }
.finance-overview { display:grid; grid-template-columns:minmax(0,1fr); gap:20px; }
.finance-controls { grid-template-columns:minmax(180px,1fr) minmax(185px,.6fr) auto; }
.finance-currency>h2 { display:none; }
.finance-metric strong { font-size:34px; font-weight:500; margin:8px 0 0; }
.finance-charts { margin:28px 0 32px; gap:36px; }
.finance-chart-panel h3 { font-size:16px; }
.finance-trend { height:190px; }
.finance-month-label { font-size:12px; }
.finance-bar-in { background:#a9b7e2; }
.finance-bar-out { background:#686f84; }
.finance-category>div:first-child { font-size:13px; }
.finance-category-track span { background:#a1abc8; }
.finance-invoice-metrics { padding-bottom:22px; border-bottom:1px solid var(--line); }
.finance-invoice-metrics span { font-size:13px; }
.finance-section-heading { margin-bottom:18px; flex-wrap:wrap; }
.finance-editor.finance-panel,.finance-import.finance-panel { padding:24px; border:1px solid var(--line); border-radius:12px; background:#ffffff03; }
.finance-account-row { font-size:14px; }
.booking-summary { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:18px 32px; border-bottom:1px solid var(--line); padding-bottom:28px; }
.booking-summary h2 { font-size:23px; font-weight:500; margin:8px 0; }
.booking-summary>.booking-note { grid-column:1/-1; }
.booking-summary>.btn { justify-self:start; }
.booking-schedule { align-self:center; text-align:right; font-size:14px; }
.booking-row { padding:22px 0; align-items:flex-start; }
.booking-date { flex:0 0 100px; }
.booking-date>strong { font-size:16px; font-weight:500; }
.booking-person { flex:1; }
.booking-person>strong { font-size:16px; font-weight:500; }
.booking-person .workspace-disclosure { border:0; }
.booking-person .workspace-disclosure>summary { min-height:32px; padding:4px 0; font-size:13px; justify-content:flex-start; }
.booking-person .workspace-chevron { font-size:15px; }
.booking-person .workspace-disclosure-body { padding:6px 0; }
.booking-card>.booking-note { margin-top:20px; }
.booking-grid { margin:0; }
.booking-hours { grid-template-columns:repeat(3,minmax(0,1fr)); }
.booking-days { gap:8px; margin:12px 0 0; }
.booking-days label { position:relative; min-height:44px; min-width:52px; border:1px solid var(--line); border-radius:8px; justify-content:center; cursor:pointer; }
.booking-days label:has(input:checked) { background:#ededed; color:#222; border-color:#ededed; }
.booking-days input { position:absolute; opacity:0; width:100%; height:100%; margin:0; cursor:pointer; }
.booking-days label:has(input:focus-visible) { outline:2px solid #aaa; outline-offset:3px; }
.booking-switch { font-size:15px; gap:12px; }
.booking-switch input { width:18px; height:18px; accent-color:#ddd; }
.booking-error { padding:14px; border:1px solid #c9978966; border-radius:8px; font-size:14px; }
.documents-steps { display:flex; gap:32px; padding:0 0 24px; border-bottom:1px solid var(--line); }
.documents-steps li { display:flex; align-items:center; gap:10px; color:#929292; font-size:14px; }
.documents-steps li>span { width:26px; height:26px; display:grid; place-items:center; border:1px solid #555; border-radius:50%; font-size:12px; }
.documents-steps strong { font-weight:400; }
.documents-steps .is-current { color:#eee; }
.documents-steps .is-current>span { background:#eee; color:#222; border-color:#eee; }
.documents-upload { max-width:680px; width:100%; margin:8px auto 16px; }
.documents-upload .documents-fields { grid-template-columns:minmax(0,1fr); gap:20px; }
.documents-upload .documents-field { max-width:320px; }
.documents-drop { position:relative; border:1px dashed #686868; background:#ffffff02; border-radius:14px; min-height:210px; padding:30px; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:10px; text-align:center; cursor:pointer; }
.documents-drop:hover { background:#ffffff05; border-color:#aaa; }
.documents-drop:focus-within { outline:2px solid #aaa; outline-offset:3px; }
.documents-drop>input { position:absolute; inset:0; width:100%; height:100%; opacity:0; cursor:pointer; }
.documents-upload-mark { display:grid; place-items:center; width:40px; height:40px; border:1px solid #555; border-radius:10px; font-size:24px; color:#bbb; }
.documents-drop strong { font-size:16px; font-weight:500; overflow-wrap:anywhere; max-width:100%; }
.documents-drop>span:last-of-type { color:#aaa; font-size:13px; }
.documents-upload .documents-actions { justify-content:flex-end; }
.documents-review>.documents-note { margin:8px 0 20px; }
.documents-row { border:0; border-top:1px solid var(--line); border-radius:0; padding:20px 0; margin:0; }
.documents-row-summary { display:flex; justify-content:space-between; align-items:start; gap:20px; margin:4px 0 10px; }
.documents-row-summary strong { font-size:16px; font-weight:500; overflow-wrap:anywhere; }
.documents-row-summary>span { font-size:15px; white-space:nowrap; font-variant-numeric:tabular-nums; }
.documents-row .workspace-disclosure { border:0; }
.documents-row .workspace-disclosure>summary { min-height:36px; padding:6px 0; font-size:13px; justify-content:flex-start; }
.documents-row .workspace-disclosure-body { padding-bottom:12px; }
.documents-row .documents-fields { padding:18px; border:1px solid var(--line); border-radius:10px; margin:4px 0; background:#ffffff02; }
.documents-check { font-size:14px; }
.documents-badge { font-size:12px; border:0; padding:0; }
.documents-save { background:#272727; padding:22px; border:1px solid var(--line); border-radius:12px; margin-top:20px; }
.documents-panel a,.documents-receipt a { font-size:14px; }
.health-tabs { gap:22px; padding:0; }
.health-mobile-nav { display:none; }
.health-tabs .btn { border:0; border-radius:0; padding:8px 0 16px; background:transparent; color:#aaa; }
.health-tabs .is-current { color:#eee; box-shadow:0 2px 0 #ddd; }
.health-form { padding:0; border:0; border-radius:0; background:transparent; }
.workspace-disclosure .health-form>h2 { display:none; }
.health-stat { display:flex; flex-direction:column-reverse; justify-content:flex-end; gap:6px; }
.health-chart-row { grid-template-columns:44px minmax(20px,1fr) 106px; font-size:13px; }
.health-chart-grid { gap:32px; }
.health-chart-bar { background:#a8b6cf; }
.health-preserve { font-size:15px; }
.health-plan-entry strong { font-size:16px; }
.health-plan-entry-form { display:block; padding:0; border-radius:0; border-left:0; border-right:0; }
.health-plan-entry-form .workspace-disclosure-body>.btn { justify-self:start; }
.health-saved-ingredients { font-size:14px; }
.health-planner { padding:24px; border:1px solid var(--line); border-radius:12px; background:#ffffff02; }
.health-planner .health-hint { margin:0; }
.health-planner .health-fields { margin:4px 0; }
.health-planner-heading h2 { font-size:18px; }
.health-local-label { font-size:12px; border:0; padding:0; }
.health-plan-entry .health-row-actions { flex-shrink:1; }
.health-table-wrap { border:0; border-radius:0; }
.health-preview-assumptions { font-size:14px; }
.health-preview-day>summary { font-size:15px; }
.health-preview-entry h4 { font-size:14px; }
.shopping-budget { border:0; border-bottom:1px solid var(--line); border-radius:0; background:none; padding:0 0 24px; }
.shopping-budget strong { font-size:32px; }
.shopping-panel { gap:20px; }
.shopping-panel a,.shopping-budget a { font-size:14px; }
.shopping-group { padding:18px 0; gap:6px; }
.shopping-group-heading { align-items:center; display:grid; grid-template-columns:minmax(0,1fr) auto 130px; gap:20px; font-size:15px; }
.shopping-group-heading .input { width:130px; }
.shopping-group-heading label>div { min-width:0; }
.shopping-group-heading .shopping-note { font-size:12px; margin-top:3px; }
.shopping-quantity { font-size:14px; }
.shopping-group .workspace-disclosure { margin-left:27px; border:0; }
.shopping-group .workspace-disclosure>summary { justify-content:flex-start; gap:12px; font-size:12px; min-height:32px; padding:0; }
.shopping-group .workspace-disclosure-body { padding:12px 0 0; gap:12px; }
.shopping-group .shopping-source-row { padding-left:0; }
.shopping-review { padding:24px; border:1px solid var(--line); border-radius:12px; background:#ffffff02; }
.shopping-review h2 { scroll-margin-top:112px; }
.shopping-review ul { font-size:16px; padding:0; }
.shopping-review li { padding:10px 0; border-bottom:1px solid var(--line); }
.shopping-setup { display:block; }
:is(.finance-table-scroll,.health-table-wrap) { min-width:0; max-width:100%; overflow-x:auto; }
:is(.finance-table,.health-table) { font-size:14px; }
:is(.finance-table,.health-table) th { font-size:12px; padding:14px 12px; background:transparent; }
:is(.finance-table,.health-table) td { padding:17px 12px; }
:is(.finance-table td small,.finance-tag,.progress-status) { font-size:12px; }
:is(.view-progress,.view-finance,.view-health,.view-shopping,.view-documents,.view-booking) [role=status]:empty { display:none; }
@media (min-width:760px) and (max-width:1023px) {
 .finance-metric strong { font-size:clamp(23px,3vw,30px); }
 .health-tabs { display:none; }
 .health-mobile-nav { display:grid; gap:8px; color:var(--workspace-muted); font-size:14px; }
 .health-stats { grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; }
 .health-stat:nth-child(3) { border-left:0; padding-left:0; }
}
@media(max-width:759px) {
 :is(.view-progress,.view-finance,.view-health,.view-shopping,.view-documents,.view-booking) { gap:24px; }
 :is(.progress-heading,.finance-heading,.health-heading,.shopping-heading,.documents-heading,.booking-heading) { align-items:flex-start; gap:12px; padding-bottom:20px; }
 :is(.progress-heading,.finance-heading,.health-heading,.shopping-heading,.documents-heading,.booking-heading) h1 { font-size:25px; }
 :is(.view-progress,.view-finance,.view-health,.view-shopping,.view-documents,.view-booking) .input { font-size:16px; min-height:44px; }
 :is(.view-progress,.view-finance,.view-health,.view-shopping,.view-documents,.view-booking) .btn { min-height:44px; }
 :is(.progress-metrics,.finance-metrics,.health-stats,.shopping-budget) { gap:14px; padding-bottom:22px; }
 :is(.progress-metric,.health-stat):not(:first-child) { padding-left:14px; }
 :is(.progress-metric>strong,.health-stat strong) { font-size:30px; }
 .workspace-form { padding:18px; }
 .workspace-section-head { flex-wrap:wrap; }
 .workspace-disclosure>summary { min-height:58px; }
 .progress-insights { grid-template-columns:minmax(0,1fr); gap:28px; }
 .progress-groups { grid-template-columns:repeat(2,minmax(0,1fr)); gap:22px; }
 .progress-chart { height:190px; gap:12px; }
 .progress-week-controls { display:flex; flex-wrap:wrap; justify-content:flex-start; }
 .progress-week-controls .btn { font-size:13px; padding:8px; }
 .progress-week-controls .progress-field { flex:1; }
 .progress-week-controls .input { width:100%; }
 .progress-metric .progress-note { display:none; }
 .progress-heading .workspace-actions .btn.quiet { display:none; }
 :is(.progress-heading,.finance-heading,.shopping-heading) .workspace-actions { flex-shrink:0; }
 .finance-controls { grid-template-columns:minmax(0,1fr); }
 .finance-controls>.finance-field:first-child { grid-column:auto; }
 .finance-controls>.btn { grid-column:1/-1; justify-self:end; }
 .finance-charts { grid-template-columns:minmax(0,1fr); gap:28px; }
 .finance-metrics { grid-template-columns:minmax(0,1fr); gap:14px; }
 .finance-metric { display:flex; justify-content:space-between; align-items:center; gap:14px; }
 .finance-metric strong { font-size:26px; margin:0; white-space:nowrap; }
 .finance-heading .workspace-actions .btn.quiet,.shopping-heading .workspace-actions .btn.quiet { display:none; }
 .finance-overview .workspace-section-head { align-items:end; }
 .booking-summary { gap:20px; grid-template-columns:minmax(0,1fr); }
 .booking-schedule { text-align:left; }
 .booking-row { display:grid; grid-template-columns:82px minmax(0,1fr); gap:12px 16px; }
 .booking-person { min-width:0; }
 .booking-row>.btn { margin-left:0; grid-column:2; justify-self:start; }
 .booking-grid { grid-template-columns:minmax(0,1fr); }
 .booking-hours { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .booking-hours>:last-child { grid-column:1/-1; }
 .booking-grid>.booking-field:nth-child(2) { min-width:0; }
 .booking-days { gap:6px; }
 .booking-days label { min-width:38px; flex:1; font-size:13px; }
 .documents-steps { gap:16px; justify-content:space-between; }
 .documents-steps li { gap:7px; font-size:12px; flex-direction:column; }
 .documents-drop { min-height:190px; padding:24px 14px; }
 .documents-fields { grid-template-columns:minmax(0,1fr); }
 .documents-row-summary { flex-wrap:wrap; gap:8px; }
 .documents-row .documents-fields { padding:15px; }
 .health-tabs { display:none; }
 .health-mobile-nav { display:grid; gap:8px; color:var(--workspace-muted); font-size:14px; }
 .health-tabs .btn { font-size:14px; }
 .health-stats { grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; }
 .health-stat:nth-child(3) { border-left:0; padding-left:0; }
 .health-planner { padding:18px; }
 .health-local-label { white-space:normal; text-align:right; }
 .health-ingredient-row { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .shopping-group-heading { grid-template-columns:minmax(0,1fr) auto; gap:10px; }
 .shopping-group-heading>.input { grid-column:2; grid-row:2; width:124px; font-size:14px; }
 .shopping-group-heading label { grid-row:1/3; align-self:start; padding-top:10px; }
 .shopping-quantity { grid-column:2; text-align:right; }
 .shopping-review { padding:18px; }
}

/* Shared dropdowns: the field, floating menu, focus and selected rows all
   use the same rounded surfaces on desktop and phone. Native selects remain
   the data/form source, but never display a platform-specific popup. */
select.zelos-select-native { display:none !important; }
button.zelos-select.input {
  display:flex; align-items:center; justify-content:space-between; gap:16px;
  width:100%; min-width:0; min-height:42px; padding:10px 13px;
  border:1px solid var(--line-strong); border-radius:12px;
  background:color-mix(in srgb,var(--ground) 97%,var(--ink) 3%);
  color:var(--ink); font:14px/1.4 var(--sans); text-align:left;
  cursor:pointer; box-shadow:none; -webkit-tap-highlight-color:transparent;
}
button.zelos-select.input:hover:not(:disabled) { background:var(--ground-2); border-color:var(--ink-3); }
button.zelos-select.input:focus { outline:none; }
button.zelos-select.input:focus-visible { outline:2px solid var(--ink-3); outline-offset:3px; }
button.zelos-select.input[aria-expanded="true"] { border-color:var(--ink-3); background:var(--ground-2); }
button.zelos-select.input:disabled { cursor:default; opacity:.45; }
button.zelos-select[hidden] { display:none; }
.zelos-select-value { min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.zelos-select-arrow { width:7px; height:7px; margin:0 3px 4px; flex-shrink:0; border:solid var(--ink-2); border-width:0 1.5px 1.5px 0; transform:rotate(45deg); border-radius:1px; }
.zelos-select[aria-expanded="true"] .zelos-select-arrow { transform:translateY(3px) rotate(225deg); }
.zelos-select-menu {
  position:fixed; inset:auto; margin:0; box-sizing:border-box; z-index:10000;
  padding:6px; border:1px solid var(--line-strong); border-radius:16px;
  background:color-mix(in srgb,var(--ground) 94%,var(--ink) 6%);
  color:var(--ink); font:14px/1.4 var(--sans); text-align:left;
  box-shadow:0 12px 36px #0005; overflow:auto; overscroll-behavior:contain;
  scrollbar-width:thin; scrollbar-color:var(--ink-3) transparent;
}
.zelos-select-menu::backdrop { background:transparent; }
.zelos-select-option {
  display:flex; align-items:center; justify-content:space-between; gap:16px;
  min-height:40px; padding:10px 12px; border-radius:10px;
  cursor:pointer; overflow-wrap:anywhere; user-select:none;
}
.zelos-select-option+.zelos-select-option { margin-top:2px; }
.zelos-select-option[aria-selected="true"] { background:var(--ground-2); color:var(--ink); }
.zelos-select-option.is-active { background:var(--ground-3); color:var(--ink); }
.zelos-select-option[aria-disabled="true"] { opacity:.4; cursor:default; }
.zelos-select-option>span:first-child { min-width:0; }
.zelos-select-check { width:16px; flex-shrink:0; font-size:14px; }
.zelos-select-group { padding:10px 12px 6px; color:var(--ink-2); font-size:12px; }
.ask-history .zelos-select { max-width:440px; flex:1; }
.shopping-group-heading>.zelos-select { width:130px; }

/* Keep exposed corners soft without boxing in open, divider-based layouts. */
:is(.view-progress,.view-finance,.view-health,.view-shopping,.view-documents,.view-booking) :is(.input,.btn) { border-radius:12px; }
.workspace-tabs .btn,.health-tabs .btn { border-radius:10px; padding:9px 12px; }
.workspace-tabs .btn.is-current,.health-tabs .btn.is-current { background:var(--ground-2); box-shadow:none; }
.progress-chart-bar,.finance-trend-pair span { border-radius:5px; }
.health-table-wrap,.finance-table-scroll { border-radius:12px; }
.ask-context-chip-label { border-radius:999px; }
@media(max-width:759px) {
  .mail-importance .input, .money-workspace .money-controls .input { min-height:44px; font-size:16px; }
  button.zelos-select.input { min-height:44px; font-size:16px; }
  .zelos-select-option { min-height:44px; }
  .ask-history .zelos-select { flex-basis:0; width:0; max-width:none; }
  .shopping-group-heading>.zelos-select { grid-column:2; grid-row:2; width:124px; font-size:14px; }
}

/* Brand artwork uses its alpha as a mask, so it follows the page ink without
   rectangular backgrounds. The original text remains the accessible name. */
:root {
  --zelos-wordmark:url('./assets/brand/zelos-wordmark-white.png');
  --zelos-mark:url('./assets/brand/zelos-mark-white.png');
}
.rail .brand-symbol { display:none; }
.rail .wordmark { padding:0 10px; min-height:48px; margin-bottom:20px; }
.wordmark-name,.screen-mark,.ob-mark,.about-brand {
  display:block; width:124px; height:50px; flex:none;
  font-size:0; line-height:0; letter-spacing:0; color:var(--ink);
  background:currentColor;
  -webkit-mask:var(--zelos-wordmark) center/contain no-repeat;
  mask:var(--zelos-wordmark) center/contain no-repeat;
}
.screen .screen-mark { width:200px; height:81px; margin:0 auto 24px; }
.ob-head .ob-mark { width:154px; height:62px; margin:0 0 20px; }
.panel-about .about-brand { width:154px; height:62px; margin:0 0 28px; }
.rail .model-avatar { font-size:0; border-radius:10px; width:32px; height:32px; background:var(--ground-2); }
.model-avatar::before,.assistant-label::before,.ask-welcome::before {
  content:''; display:block; flex:none; width:18px; height:20px;
  background:currentColor;
  -webkit-mask:var(--zelos-mark) center/contain no-repeat;
  mask:var(--zelos-mark) center/contain no-repeat;
}
.assistant-label { display:flex; align-items:center; gap:8px; }
.assistant-label::before { width:15px; height:17px; }
.ask-welcome::before { width:34px; height:37px; margin:0 auto 18px; color:var(--ink); }
