/* Una entrada tranquila al trabajo diario; cada sección conserva sus datos. */
body{background:#f3f7fc}
main{padding-top:24px}
.dashboard{max-width:1180px}
.heading-row{min-height:0;align-items:center;padding:22px 28px;margin-bottom:18px;border:1px solid #e0e8f4;border-radius:20px;background:#fff;box-shadow:0 8px 30px #234e9109}
.heading-row::after{display:none}
.dashboard .heading-row h1{margin:7px 0 4px;color:#1a3158;font-size:clamp(29px,3vw,39px);letter-spacing:-1.2px;line-height:1.1}
.heading-row .eyebrow{color:#4c6d9b;font-size:10px;letter-spacing:1.5px}
.heading-row p{color:#657895;font-size:13px;line-height:1.4}
.heading-row .secondary{flex:0 0 auto;padding:10px 15px;border-color:#cfdcf0;border-radius:11px;background:#f7faff;color:#2056a8;box-shadow:none;font-size:13px}

.dashboard-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));width:100%;gap:10px;padding:0;margin:0 0 16px;background:transparent;border:0;border-radius:0}
.dashboard-tab{display:grid;align-content:center;justify-items:start;min-width:0;min-height:70px;padding:13px 17px;border:1px solid #dde7f5;border-radius:16px;background:#fff;color:#24416b;text-align:left;box-shadow:0 6px 20px #234e9107}
.dashboard-tab:hover{border-color:#9fc2ed;background:#fafdff}
.dashboard-tab.is-active{border-color:#82b3eb;background:#edf6ff;color:#174e9f;box-shadow:inset 0 0 0 1px #a8d4fa}
.dashboard-tab strong{display:flex;align-items:center;gap:8px;font-size:15px;line-height:1.2}
.dashboard-tab small{display:block;margin-top:5px;color:#647b9b;font-size:11px;font-weight:500;line-height:1.2}
.dashboard-tab span{min-width:23px;height:23px;padding:0 6px;border-radius:7px;background:#d6e9ff;color:#174e9f;font-size:12px}

#todayView{border-color:#e0e8f4;border-radius:19px;background:#fff;box-shadow:0 10px 32px #234e9109}
.today-overview{display:grid;grid-template-columns:210px minmax(0,1fr);align-items:center;gap:36px;padding:32px 38px;background:linear-gradient(115deg,#f5faff 0%,#fff 76%);border-bottom:1px solid #e2ebf8}
.today-chart{--first-share:0%;display:grid;place-items:center;width:206px;aspect-ratio:1;border-radius:50%;background:conic-gradient(#1a5ed2 0 var(--first-share),#87bdf2 var(--first-share) 100%);box-shadow:0 14px 33px #1b58b420}
.today-chart.is-empty{background:#e4edf9;box-shadow:none}
.today-chart-center{display:flex;flex-direction:column;align-items:center;justify-content:center;width:156px;aspect-ratio:1;border-radius:50%;background:#fff;box-shadow:inset 0 0 0 1px #e4ebf5}
.today-chart-center strong{color:#153e80;font:700 64px/1 'DM Sans',sans-serif;letter-spacing:-3px}
.today-chart-center span{margin-top:5px;color:#627998;font-size:13px;font-weight:700}
.today-overview-copy h2{margin:8px 0;color:#1b365d;font:700 clamp(29px,3vw,39px)/1.1 'DM Sans',sans-serif;letter-spacing:-1.2px}
.today-overview-copy p{margin:0;color:#5c7290;font-size:14px;line-height:1.5;text-transform:capitalize}
.today-legend{display:flex;gap:10px;flex-wrap:wrap;margin-top:23px}
.today-legend>span{display:inline-flex;align-items:center;gap:7px;padding:9px 12px;border:1px solid #dde8f7;border-radius:10px;background:#fff;color:#496480;font-size:13px}
.today-legend strong{color:#183e7e;font-size:15px}
.today-dot{display:inline-block;width:10px;height:10px;border-radius:50%}.today-dot.first{background:#1a5ed2}.today-dot.returning{background:#87bdf2}
.today-arrivals{padding:24px 31px 27px}.today-arrivals-heading{display:flex;align-items:end;justify-content:space-between;gap:12px;padding-bottom:12px;border-bottom:1px solid #e6edf7}.today-arrivals-heading h3{margin:5px 0 0;color:#1b365d;font:700 21px/1.2 'DM Sans',sans-serif}.today-arrivals-heading>span{color:#627998;font-size:12px;font-weight:700}
.today-visit{display:flex;align-items:center;gap:16px;padding:15px 3px;border-bottom:1px solid #edf1f8}.today-visit:last-child{border-bottom:0}.today-visit-mark{display:grid;place-items:center;flex:0 0 42px;width:42px;height:42px;border-radius:13px;color:#1c55ae;background:#e9f2ff;font-size:21px;font-weight:700}.today-visit-mark.is-returning{background:#e3f4fa;color:#176b91}.today-visit-copy{display:grid;gap:4px;min-width:0;flex:1}.today-visit-copy strong{color:#1d365f;font-size:16px}.today-visit-copy span{color:#627998;font-size:13px}.today-visit .detail-button{flex:0 0 auto;padding:9px 12px;border-radius:9px}.today-arrivals .empty{margin:18px 0 0;padding:22px;background:#f7faff;border-radius:12px;color:#5e7390;line-height:1.55}
.today-intro{align-items:center;padding:20px 23px 18px;border-color:#e8eef7}
.today-intro .eyebrow{font-size:10px;letter-spacing:1.4px}
.today-intro h2{margin:5px 0 3px;color:#1a3158;font:700 clamp(24px,2.6vw,31px)/1.15 'DM Sans',sans-serif;letter-spacing:-.7px}
.today-intro p{font-size:12px;line-height:1.4}
.today-total{padding:7px 11px;border-radius:9px;background:#ecf4ff;color:#1e57a5;font-size:12px}
.today-filters{gap:7px;padding:14px 23px 12px;border-bottom:1px solid #e8eef7}
.today-filters button{display:inline-flex;align-items:center;gap:7px;padding:8px 11px;border-color:#dce5f1;border-radius:9px;background:#fff;color:#405b80;font-size:12px}
.today-filters button.is-active{border-color:#1a5ed2;background:#1a5ed2;color:#fff}
.today-filters button span{display:grid;place-items:center;min-width:20px;height:20px;padding:0 5px;border-radius:6px;background:#edf3fb;color:#355f97;font-size:11px}
.today-filters button.is-active span{background:#ffffff2e;color:#fff}
.today-list{padding:0 23px 4px}
.today-person{gap:20px;padding:14px 2px;border-color:#e9eef6}
.today-person h3{margin:6px 0 3px;color:#1c365e;font:700 18px/1.2 'DM Sans',sans-serif;letter-spacing:-.3px}
.today-person p{color:#24466f;font-size:13px;font-weight:600}
.today-person small{margin-top:5px;color:#657895;font-size:11px}
.today-person-side{gap:5px;color:#617491;font-size:11px}
.today-reason{padding:4px 7px;border-radius:6px;background:#eef4fc;color:#315b91;font-size:10px}
.today-person.is-urgent .today-reason{background:#fff0eb;color:#9b4937}
.today-person .detail-button{padding:8px 11px;border-radius:8px;font-size:12px}
.today-show-more{margin:8px auto 16px;border-color:#cbdcf0;background:#f4f9ff;color:#1c57ab}
.today-guidance{border-top:1px solid #e8eef7;background:#f8fbff}
.today-guidance summary{padding:12px 23px;color:#4c688d;cursor:pointer;font-size:11px;font-weight:700;list-style:none}
.today-guidance summary::-webkit-details-marker{display:none}
.today-guidance summary::after{content:' ⌄'}
.today-guidance[open] summary::after{content:' ⌃'}
.today-guidance .today-context{padding:0 23px 14px;background:transparent;color:#536c8d}

#resultsView{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;align-items:start}
#resultsView .panel-card{margin:0;border-color:#e0e8f4;box-shadow:0 7px 24px #234e9108}
#resultsView .panel-card[open]{grid-column:1/-1}
#resultsView .panel-disclosure>.panel-title{min-height:86px;padding:18px 21px}
#resultsView .panel-disclosure .panel-title h2{margin-top:5px;color:#1c365e;font:700 20px/1.2 'DM Sans',sans-serif;letter-spacing:-.4px}
#resultsView .panel-title p{font-size:12px}
#resultsView .expand-hint{color:#426b9f}

#peopleView{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px;align-items:start}
#peopleView .panel-card{min-width:0;margin:0;border:1px solid #e0e8f4;border-radius:16px;background:#fff;box-shadow:0 7px 24px #234e9108}
#peopleView .panel-card[open]{grid-column:1/-1}
#peopleView .panel-disclosure>.panel-title{min-height:84px;padding:16px 18px}
#peopleView .panel-disclosure .panel-title h2{margin:5px 0 0;color:#1c365e;font:700 19px/1.2 'DM Sans',sans-serif;letter-spacing:-.3px}
#peopleView .panel-title .eyebrow{font-size:10px;color:#5272a0;letter-spacing:1.3px}
#peopleView .panel-title p{margin:4px 0 0;color:#69809c;font-size:11px;line-height:1.35}
#peopleView .panel-title .count{min-width:35px;height:35px;padding:0 8px;border-radius:9px;background:#edf4ff;color:#1d58a8;font-size:13px}
#peopleView .overdue-panel .count{background:#fff0eb;color:#a04d3b}
#peopleView .new-visits-panel:not(.is-clear) .count{background:#e7f3d4;color:#466e32}
#peopleView .panel-disclosure>.panel-title::after{color:#5578a7;font-size:18px}
#peopleView .footnote{grid-column:1/-1;margin:4px 0 0;color:#71839b;font-size:11px}

@media(max-width:800px){
  .heading-row{padding:18px 20px}
  .dashboard-tabs{gap:8px}
  .dashboard-tab{padding:12px;min-height:68px}
  .dashboard-tab strong{font-size:13px}
  .today-overview{grid-template-columns:175px minmax(0,1fr);gap:25px;padding:26px}.today-chart{width:175px}.today-chart-center{width:131px}.today-chart-center strong{font-size:53px}
}
@media(max-width:620px){
  main{padding-top:14px}
  .heading-row{gap:11px;padding:18px;border-radius:16px}
  .dashboard .heading-row h1{font-size:28px}
  .heading-row p{font-size:12px}
  .heading-row .secondary{width:auto;padding:9px 12px}
  .today-overview{grid-template-columns:1fr;justify-items:center;gap:19px;padding:26px 20px}.today-chart{width:184px}.today-chart-center{width:139px}.today-chart-center strong{font-size:54px}.today-overview-copy{text-align:center}.today-overview-copy h2{font-size:30px}.today-legend{justify-content:center;margin-top:17px}.today-arrivals{padding:20px 17px 24px}.today-arrivals-heading h3{font-size:19px}.today-visit{gap:10px}.today-visit-mark{flex-basis:36px;width:36px;height:36px;font-size:17px}.today-visit-copy strong{font-size:14px}.today-visit-copy span{font-size:12px}.today-visit .detail-button{padding:8px 10px;font-size:12px}
  .dashboard-tabs{grid-template-columns:repeat(2,minmax(0,1fr));overflow:visible}
  .dashboard-tab:last-child{grid-column:1/-1}
  .dashboard-tab{min-height:58px;padding:10px 12px}
  .dashboard-tab small{font-size:10px}
  .today-intro{align-items:start;gap:10px;padding:18px}
  .today-intro h2{font-size:24px}
  .today-filters{padding:12px 16px}
  .today-list{padding:0 16px 3px}
  .today-person{gap:9px}
  .today-person-side{justify-items:start;text-align:left}
  .today-guidance summary{padding:12px 16px}
  .today-guidance .today-context{padding:0 16px 13px}
  #resultsView,#peopleView{grid-template-columns:1fr}
  #resultsView .panel-card[open],#peopleView .panel-card[open]{grid-column:auto}
  #peopleView .footnote{grid-column:auto}
}
