main.home{max-width:1260px;padding:28px clamp(16px,3vw,36px) calc(env(safe-area-inset-bottom) + 96px)}
.home-toolbar,.home-actions{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:20px}.home-actions{margin:16px 0 0}.home-toolbar .n-b,.home-actions .n-b{min-height:44px}
.home-widget-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;align-items:start}
.home-widget{grid-column:span var(--widget-span,2);min-width:0;background:var(--card,#fff);border:1px solid var(--line,#dce2df);border-top:3px solid var(--door,#276448);border-radius:16px;box-shadow:0 3px 16px #17362906;overflow:hidden}
.home-widget[data-app=budget]{border-top-color:var(--budget,#816039)}.home-widget[data-app=trips]{border-top-color:var(--trips,#47725d)}.home-widget[data-app=box]{border-top-color:var(--box,#8b6994)}.home-widget[data-app=list]{border-top-color:var(--list,#548c94)}
.home-widget>header{padding:18px 20px 0;display:block}.home-widget>header h2{font-size:20px;line-height:1.25;letter-spacing:-.02em;margin:0}.home-body{padding:16px 20px 20px;overflow-wrap:anywhere}.home-body h3{font-size:19px;margin:12px 0 6px}.home-body p{margin:10px 0;line-height:1.55}.home-body small,.home-empty{color:var(--muted,#56615d);font-size:14px;line-height:1.5}.home-value{font-size:clamp(24px,3vw,34px);font-weight:700;letter-spacing:-.04em}.home-eyebrow{font-size:12px;text-transform:uppercase;letter-spacing:.08em}
.home-rows{list-style:none;padding:0;margin:0 0 12px}.home-rows li+li{border-top:1px solid var(--line,#ddd)}.home-rows a{display:grid;gap:5px;color:inherit;text-decoration:none;padding:12px 0;min-height:44px}.home-rows a:hover strong{text-decoration:underline}.home-status{display:inline-flex;justify-self:start;font-size:12px;line-height:1.4;padding:3px 8px;border-radius:6px;background:var(--soft,#edf3ef);color:var(--door,#276448)}.urgent{color:var(--bad,#a33627)}
.home-apps{display:grid;gap:10px}.home-app{display:grid;grid-template-columns:1fr auto;gap:6px;padding:12px;border:1px solid var(--line,#ddd);border-radius:10px;text-decoration:none;color:inherit}.home-app small{grid-column:1/-1}.home-metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(100px,1fr));gap:12px}.home-metrics a,.home-metrics div{display:grid;gap:4px;text-decoration:none;color:inherit}.home-metrics strong{font-size:28px}.home-metrics span{font-size:14px}
.home-label,.home-weather-controls label{display:grid;gap:6px;font-size:14px}.home-label select,.home-weather-controls input,.home-weather-controls select,.home-layout-list select{width:100%;min-width:0;min-height:44px;padding:8px;border:1px solid var(--line,#ddd);border-radius:8px;background:var(--card,#fff);color:inherit;font:inherit}.home-weather-controls{display:grid;gap:12px}.home-checks{list-style:none;padding:0}.home-checks li{display:flex;flex-wrap:wrap;gap:8px;align-items:center;padding:10px 0;border-bottom:1px solid var(--line,#ddd)}.home-checks a{flex:1;color:inherit}.home-checks button{min-height:44px}.home-goal{display:grid;gap:8px;margin:12px 0;font-size:14px}.home-goal progress{width:100%;accent-color:var(--door,#276448)}.home-suggestion{padding:12px 0;border-bottom:1px solid var(--line,#ddd)}.home-suggestion>div{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}
.home-body details{margin-top:14px}.home-body summary{cursor:pointer;min-height:44px;padding:10px 0;font-weight:600}.home-body details .two{display:block}.home-body details table{display:block;max-width:100%;overflow-x:auto}.home-body details h2{font-size:17px}.home-body details .tiles{grid-template-columns:repeat(auto-fit,minmax(140px,1fr))}
.home-layout-list{list-style:none;padding:0}.home-layout-list li{display:grid;grid-template-columns:minmax(140px,1fr) 120px 44px 44px;gap:8px;align-items:center;padding:10px 0;border-bottom:1px solid #ddd}.home-layout-list label,.home-pin{display:flex;align-items:center;gap:8px;min-height:44px}.home-layout-list button{min-width:44px;min-height:44px}.home-preview{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;padding:12px;background:#f1f5f2;border-radius:10px}.home-preview span{padding:12px;background:#fff;border:1px solid #ccd8ce;border-radius:8px;font-size:13px;overflow-wrap:anywhere}.home-pin small{margin-left:auto}.home-pin{padding:8px 0}
.home-widget a:focus-visible,.home-widget button:focus-visible,.home-toolbar button:focus-visible{outline:3px solid var(--door,#276448);outline-offset:3px}
@media(min-width:761px) and (max-width:1100px){.home-widget-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.home-widget{grid-column:span 1}.home-widget[style*="--widget-span:4"],.home-widget[style*="--widget-span:3"]{grid-column:span 2}}
@media(max-width:760px){.home-widget-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:16px}.home-widget{grid-column:1;margin:0}.home-widget>header{padding:16px 16px 0}.home-body{padding:14px 16px 16px}.home-layout-list li{grid-template-columns:1fr 44px 44px}.home-layout-list select{grid-column:1}.home-layout-list label{grid-column:1/-1}.home-app{grid-template-columns:minmax(0,1fr) auto}.home-toolbar{gap:8px}.home-toolbar .n-b{flex:1;font-size:13px}.home-pin{flex-wrap:wrap}}
@media(prefers-reduced-motion:reduce){.home-widget *{scroll-behavior:auto!important;transition:none!important}}
.home-rows .wf-actions{padding:0 0 12px}.home-rows .wf-actions .n-b{min-height:36px}

/* Home's lines for today (the next trip's card) are links in a column of small words: on a phone each is a 44 px row to tap. */
@media (max-width:760px){[data-today-plan] p{display:flex;align-items:center;min-height:44px;margin:0}[data-today-plan] p a{display:inline-flex;align-items:center;min-height:44px}}
