/* Daily layout is opt-in at the document level; classic styles remain intact. */
html:not([data-layout="daily"]) .daily-only { display: none !important; }
[data-layout="daily"] #hubList,
[data-layout="daily"] .hub-cap,
[data-layout="daily"] #forecastPageLink,
[data-layout="daily"] #obdBtn,
[data-layout="daily"] #telemetryBtn,
[data-layout="daily"] #viewRecords .segmented,
[data-layout="daily"] .journal-primary,
[data-layout="daily"] .daily-filter-hidden,
[data-layout="daily"] #periodSelect[hidden] { display: none !important; }
.daily-heading { display:flex; align-items:end; justify-content:space-between; gap:16px; margin:8px 0 22px; }
.daily-heading h2 { font-size:clamp(24px,3vw,34px); margin:4px 0 0; letter-spacing:-.035em; }
.daily-scope { color:var(--muted); font-size:12px; }
[data-layout="daily"] .kpi-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
[data-layout="daily"] .battery-quick { border-radius:22px; margin-bottom:20px; }
[data-layout="daily"] .battery-quick-meta { font-size:13px; line-height:1.6; }
[data-layout="daily"] .battery-quick-values { gap:18px; }
[data-layout="daily"] .battery-quick-values strong { font-size:clamp(20px,2.6vw,30px); }
.daily-cards { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }
.daily-cards .hub-card { height:100%; min-height:112px; grid-template-columns:40px 1fr 16px; }
.daily-cards .hub-val { grid-column:2; text-align:left; font-size:14px; color:var(--muted); }
.daily-cards .hub-chev { grid-column:3; grid-row:1 / 3; }
.daily-savings { margin-top:28px; }
.daily-savings[hidden] { display:none; }
.daily-savings h3 { margin-bottom:6px; }
.daily-tabs { display:flex; gap:6px; padding:4px; margin:0 0 18px; border-bottom:1px solid var(--border); overflow-x:auto; }
.daily-tabs button { flex:1; white-space:nowrap; color:var(--muted); border:0; background:transparent; border-radius:10px; padding:12px 14px; font:inherit; font-size:13px; font-weight:700; }
.daily-tabs button[aria-pressed="true"] { color:var(--brand-text); background:color-mix(in srgb,var(--brand) 12%,transparent); }
.daily-recent { margin-top:26px; padding:20px 24px; }
.daily-recent-head { display:flex; justify-content:space-between; align-items:center; gap:12px; padding-bottom:10px; }
.daily-recent h3 { margin:0; }
.daily-recent p { font-size:12px; margin:6px 0; }
.daily-event { display:grid; grid-template-columns:minmax(0,1fr) auto 12px; gap:14px; align-items:center; width:100%; text-align:left; padding:18px 0; border:0; border-top:1px solid var(--border); background:transparent; color:var(--text); font:inherit; }
.daily-event strong { font-size:14px; }
.daily-event small { display:block; color:var(--muted); margin-top:6px; font-size:12px; line-height:1.5; overflow-wrap:anywhere; }
.daily-event b { font-size:14px; font-variant-numeric:tabular-nums; }
.daily-event:hover strong { color:var(--brand-text); }
.daily-empty { padding:20px 0; line-height:1.6; }
#dailyAutoCards,#dailyDataCards { display:grid; gap:8px; }
.daily-data { border-block:1px solid var(--border); padding:16px 0; margin:12px 0; }
.daily-data summary { cursor:pointer; font-weight:700; padding:8px; }
.daily-data summary span { display:block; font-size:12px; color:var(--muted); margin:6px 0 8px 18px; font-weight:400; }
.daily-data #dailyDataCards { margin-top:14px; }
#layoutHint { padding:0 12px; }
[data-layout="daily"] .journal-record { border-bottom:1px solid var(--border); }
[data-layout="daily"] .journal-record > summary { list-style:none; cursor:pointer; display:grid; grid-template-columns:32px minmax(0,1fr) 14px; align-items:center; gap:12px; padding:18px 0; }
.journal-record > summary::-webkit-details-marker { display:none; }
.journal-record .journal-main { min-width:0; }
.journal-record .journal-meta { margin-top:6px; }
.journal-record .journal-head { gap:12px; }
.journal-record .journal-amount { white-space:nowrap; }
.journal-record[open] .daily-record-chevron { transform:rotate(180deg); }
.daily-record-detail { padding:0 26px 20px 44px; }
.daily-record-detail .journal-actions { display:flex; justify-content:flex-end; gap:10px; margin-top:16px; }
[data-layout="daily"] button:focus-visible,[data-layout="daily"] summary:focus-visible { outline:2px solid var(--brand-text); outline-offset:4px; }
@media (min-width:901px) {
  [data-layout="daily"] body { padding-left:180px; }
  [data-layout="daily"] .appnav { position:fixed; left:0; top:0; bottom:0; width:180px; border-bottom:0; border-right:1px solid var(--border); padding-top:108px; }
  [data-layout="daily"] .appnav-inner { flex-direction:column; gap:10px; padding:16px; width:100%; }
  [data-layout="daily"] .appnav-item { width:100%; border-radius:12px; padding:15px; }
  [data-layout="daily"] .appnav-add { display:flex; gap:10px; width:100%; height:auto; padding:15px; margin:6px 0; border-radius:12px; box-shadow:none; font-weight:800; }
  [data-layout="daily"] .mnav { padding:24px 32px; }
  [data-layout="daily"] .modern-shell { max-width:1240px; padding:20px 32px 70px; }
}
@media (max-width:900px) and (min-width:721px) {
  [data-layout="daily"] .appnav-add { display:flex; gap:8px; width:auto; padding:0 16px; }
}
@media (max-width:720px) {
  .daily-heading { display:block; margin:6px 4px 18px; }
  .daily-scope { display:block; margin-top:8px; }
  [data-layout="daily"] .kpi-grid { gap:8px; }
  [data-layout="daily"] .kpi-card { padding:14px 10px; }
  [data-layout="daily"] .kpi-value { font-size:20px; }
  [data-layout="daily"] .kpi-label { font-size:11px; }
  [data-layout="daily"] .kpi-sub { font-size:10px; line-height:1.5; }
  .daily-cards { grid-template-columns:1fr; gap:10px; }
  .daily-cards .hub-card { min-height:92px; }
  .daily-recent { padding:18px 14px; }
  .daily-recent-head { align-items:start; }
  .daily-recent-head .m-btn { font-size:11px; padding:8px; }
  .daily-tabs { margin-inline:-4px; gap:0; }
  .daily-tabs button { padding:12px 9px; font-size:12px; }
  [data-layout="daily"] .appnav-add { width:52px; height:52px; margin:-12px auto 0; gap:0; font-size:9px; padding:7px 0; }
  [data-layout="daily"] .battery-quick-values { gap:8px 16px; }
  [data-layout="daily"] .battery-quick-values strong { font-size:21px; }
  .journal-record .journal-head { flex-wrap:wrap; }
  .daily-record-detail { padding-left:0; padding-right:0; }
}
@media (prefers-reduced-motion:reduce) { [data-layout="daily"] * { scroll-behavior:auto !important; } }
@media (max-width:430px) {
  [data-layout="daily"] .kpi-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  [data-layout="daily"] .kpi-card:last-child { grid-column:1 / -1; display:grid; grid-template-columns:minmax(0,1fr) auto; gap:0 16px; min-height:0; }
  [data-layout="daily"] .kpi-card:last-child .kpi-label { grid-column:1; }
  [data-layout="daily"] .kpi-card:last-child .kpi-sub { grid-column:1; margin-top:5px; }
  [data-layout="daily"] .kpi-card:last-child .kpi-value { grid-column:2; grid-row:1 / 3; margin:0 12px 0 0; align-self:center; white-space:nowrap; }
}
