/* Today start screen, role menu and the fast site report. Theme tokens come from devheal-brand.css. */
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.today{display:grid;gap:16px;max-width:1100px}
.today-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-end;flex-wrap:wrap}
.today-head h2{margin:2px 0 4px;font-size:24px;letter-spacing:-.01em}
.today-head .help{margin:0}
.today-project-pick select{min-height:44px;min-width:200px}
.today-queue{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;padding:10px 14px;border-radius:12px;border:1px solid var(--dh-info,var(--dh-accent));background:var(--dh-accent-wash);font-size:14px}
.today-top{border-radius:16px;padding:18px 20px;border:1px solid var(--dh-line);border-left:6px solid var(--dh-accent);background:var(--surface)}
.today-top.sev-critical{border-left-color:var(--dh-danger)}.today-top.sev-high{border-left-color:var(--dh-warn)}
.today-top-label{margin:0 0 6px;font-size:11px;font-weight:800;letter-spacing:.08em;color:var(--muted)}
.today-top h3{margin:0 0 6px;font-size:21px;line-height:1.3}
.today-top-impact{margin:0 0 12px;font-size:16px;line-height:1.45}
.today-top-foot{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap}
.today-top-foot .actions{margin:0}
.today-quick{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:10px}
.today-quick-btn{display:flex;align-items:center;justify-content:center;gap:8px;min-height:56px;padding:10px 12px;border-radius:14px;border:1px solid var(--dh-line);background:var(--surface2);color:var(--white);font-weight:700;font-size:15px;cursor:pointer}
.today-quick-btn:hover,.today-quick-btn:focus-visible{border-color:var(--dh-accent);background:var(--dh-accent-wash)}
.today-quick-btn span{font-size:18px;color:var(--dh-accent)}
.today-chips{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 12px}
.today-chip{min-height:40px;padding:6px 12px;border-radius:999px;border:1px solid var(--dh-line);background:transparent;color:inherit;font-weight:600;cursor:pointer}
.today-chip b{margin-left:4px}.today-chip.on{background:var(--dh-accent);color:var(--dh-accent-fg);border-color:var(--dh-accent)}
.today-list{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.today-item{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:12px 14px;border-radius:12px;border:1px solid var(--dh-line);border-left:4px solid var(--dh-line);background:var(--surface2)}
.today-item.sev-critical{border-left-color:var(--dh-danger)}.today-item.sev-high{border-left-color:var(--dh-warn)}
.today-item-main{min-width:0}
.today-item-tags{display:flex;gap:6px;flex-wrap:wrap;align-items:center;margin-bottom:4px}
.today-project{font-size:12px;color:var(--muted)}
.today-item-title{display:block;font-size:15px;line-height:1.35;overflow-wrap:anywhere}
.today-impact{margin:3px 0 0;color:var(--muted);font-size:13px;line-height:1.45}
.today-item-act{display:flex;gap:6px;flex-shrink:0}
.today-item-act button{min-height:44px}
.today-health-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:10px}
.today-health-card{display:grid;gap:8px;text-align:left;padding:12px 14px;border-radius:12px;border:1px solid var(--dh-line);background:var(--surface2);color:inherit;cursor:pointer;font:inherit}
.today-health-card:hover{border-color:var(--dh-accent)}
.today-health-stats,.today-health-money{display:flex;gap:12px;flex-wrap:wrap;font-size:13px;color:var(--muted)}
.today-health-stats b,.today-health-money b{color:var(--white)}
.today-days{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px}
.today-days li{padding:8px;border-radius:10px;border:1px solid var(--dh-line);display:grid;gap:3px;min-width:0}
.today-days li.busy{border-color:var(--dh-accent);background:var(--dh-accent-wash)}
.today-day{font-size:11px;font-weight:700;color:var(--muted);text-transform:uppercase}
.today-days b{font-size:18px}.today-days small{font-size:11px;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.today-more{margin:0}
.role-nav nav{display:grid;gap:2px}
.role-nav nav a{display:flex;gap:14px;align-items:center;padding:10px 14px;border-radius:999px;border:1px solid transparent;color:var(--muted);text-decoration:none;font-weight:550;transition:background .15s,color .15s}
.role-nav nav a span{display:inline-block;width:19px;text-align:center;font-size:17px;color:inherit}
.role-nav nav a:hover{background:var(--dh-glass-strong);color:var(--white)}
.role-nav nav a.selected{background:var(--dh-accent-wash);color:var(--dh-accent);border-color:rgba(124,192,255,.28)}
:root[data-theme="light"] .role-nav nav a{color:#3d3d55}:root[data-theme="light"] .role-nav nav a.selected{color:var(--dh-accent)}
.nav-more{all:unset;cursor:pointer;font:inherit;letter-spacing:inherit;display:inline-flex;gap:6px;align-items:center;min-height:32px}
.nav-more:focus-visible{outline:2px solid var(--dh-accent);outline-offset:2px}
/* fast site report */
.sr-steps{display:flex;gap:6px;flex-wrap:wrap;margin:-4px 0 12px}
.sr-steps span{font-size:12px;font-weight:700;padding:4px 10px;border-radius:999px;border:1px solid var(--dh-line);color:var(--muted)}
.sr-steps span.on{color:var(--dh-accent-fg);background:var(--dh-accent);border-color:var(--dh-accent)}
.sr-speak{display:grid;gap:10px;justify-items:center;text-align:center}
.sr-mic{width:120px;height:120px;border-radius:50%;border:3px solid var(--dh-accent);background:var(--dh-accent-wash);color:var(--white);display:grid;place-content:center;gap:4px;cursor:pointer;font:inherit}
.sr-mic span{font-size:30px;color:var(--dh-accent)}.sr-mic b{font-size:17px}
.sr-mic.on{border-color:var(--dh-danger);animation:sr-pulse 1.2s ease-in-out infinite}.sr-mic.on span{color:var(--dh-danger)}
@keyframes sr-pulse{50%{box-shadow:0 0 0 12px rgba(220,60,60,.15)}}
@media (prefers-reduced-motion:reduce){.sr-mic.on{animation:none}}
.sr-words{width:100%;text-align:left;display:grid;gap:6px}
.sr-words textarea{width:100%;font-size:16px}
.sr-photos{display:grid;gap:10px;margin-top:12px}
.sr-photo-btn{display:flex;align-items:center;justify-content:center;gap:8px;min-height:48px;border-radius:12px;cursor:pointer;font-weight:700}
.sr-thumbs{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.sr-thumbs figure{position:relative;margin:0}
.sr-thumbs img{width:72px;height:72px;object-fit:cover;border-radius:10px;border:1px solid var(--dh-line)}
.sr-thumbs figure button{position:absolute;top:-6px;right:-6px;min-height:28px;padding:0 8px;border-radius:999px;background:var(--surface)}
.sr-foot{margin-top:14px}
.sr-foot button{flex:1;min-height:48px}
.sr-weather{display:grid;gap:6px;font-weight:600}
.sr-form textarea,.sr-form input{font-size:16px}
@media (max-width:640px){
 .today-head h2{font-size:21px}
 .today-project-pick,.today-project-pick select{width:100%}
 .today-top{padding:14px 16px}.today-top h3{font-size:19px}
 .today-top-foot .actions{width:100%}.today-top-foot .actions button{flex:1;min-height:48px}
 .today-quick{grid-template-columns:repeat(2,minmax(0,1fr))}
 .today-item{flex-direction:column;align-items:stretch}
 .today-item-act button{flex:1}
 .today-days{grid-template-columns:repeat(7,minmax(64px,1fr));overflow-x:auto;padding-bottom:4px}
 .today-day{white-space:nowrap}
 .nav-more{display:flex;width:100%;justify-content:space-between;padding:10px 12px;border:1px solid var(--dh-line);border-radius:10px;font-size:14px;letter-spacing:0;text-transform:none;font-weight:600}
 .sr-form .form-grid.triple{grid-template-columns:repeat(2,minmax(0,1fr))}
}
