/* Shared surfaces and dimensions from the operator workspace. */
:root {
  --bg: #eef2ef;
  --card: #fff;
  --fg: #20342b;
  --muted: #50665b;
  --line: #d2ddd5;
  --control-border: #aebfb3;
  --accent: #176647;
  --accent-2: #124e38;
  --link: #165e44;
  --hover: #edf4ef;
  --track: #e9efeb;
  --pressed: #dae8de;
  --r-sm: 6px;
  --r-md: 10px;
  --r-lg: 12px;
}
.skip-content { position:fixed; top:0; left:12px; z-index:150; padding:10px 16px; transform:translateY(-125%); color:white; background:var(--accent) }
.skip-content:focus { transform:none }
#main-workspace:focus { outline:none }
.crm-topbar { background:var(--bg); border-color:var(--line) }
.account-chip { display:block; max-width:min(44vw,20rem); overflow:hidden; text-overflow:ellipsis; white-space:nowrap; border-radius:var(--r-sm); padding:7px 10px; font-weight:600; color:var(--fg) }
.account-chip:hover { background:var(--card) }
.nav-group { display:block; padding:10px 8px 3px; font-size:.73rem; font-weight:650; line-height:1.25; color:var(--muted) }
.crm-nav .more-sheet { background:var(--card) }
.workspace-heading { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:12px; margin:0 0 14px }
.workspace-heading h1 { margin:0; font-size:clamp(1.4rem,2vw,2rem); line-height:1.18; letter-spacing:-.025em }
.section-kicker { margin:0 0 3px; color:var(--muted); font-size:.78rem; font-weight:600 }
.heading-detail { margin:4px 0 0; color:var(--muted) }
.overview-page .stat-grid { grid-template-columns:repeat(auto-fit,minmax(min(100%,10rem),1fr)); gap:8px }
.overview-page .stat { padding:12px 14px }
.overview-page .stat-value { color:#174f39; font-size:clamp(1.35rem,1.7vw,1.9rem); white-space:normal; line-height:1.16 }
.overview-page :is(.overview-columns,.dash-two-col) { display:grid; grid-template-columns:minmax(0,1.35fr) minmax(0,1fr); gap:16px; align-items:start }
.overview-page .kv-grid { grid-template-columns:repeat(auto-fit,minmax(min(100%,10rem),1fr)) }
.overview-page .overview-links { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,9rem),1fr)); gap:6px }
.overview-links a { display:flex; align-items:center; justify-content:space-between; gap:8px; padding:9px 12px; background:var(--card); border:1px solid var(--line); border-radius:var(--r-sm); font-weight:600 }
.overview-links a:hover { background:var(--hover) }
.overview-page .card-link { text-align:end; margin:8px 0 0 }
.day-controls,.day-controls :is(nav,form) { display:flex; align-items:center; flex-wrap:wrap; gap:8px }
.day-controls { justify-content:space-between; padding:10px 12px }
.day-controls input { width:auto }
.day-visits,#dash-today-list { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,20rem),1fr)); gap:8px; align-items:start }
.day-visits .visit-row,#dash-today-list .visit-row { margin:0; display:grid; gap:4px; overflow-wrap:anywhere }
.visit-row .visit-link { font-weight:650; color:var(--link) }
.visit-row .visit-actions { display:flex; flex-wrap:wrap; align-items:center; gap:8px; margin-top:6px }
.day-empty { grid-column:1/-1 }
.day-empty h2 { margin:0 0 8px }
.passkey-account { padding:clamp(14px,2vw,26px); border:1px solid var(--line); border-radius:var(--r-md); background:var(--card) }
.login-body .login-card { width:min(100%,26rem); border-radius:var(--r-lg); padding:clamp(20px,4vw,32px) }
.login-body .login-tag { margin:10px 0 20px; font-size:1.28rem; color:var(--fg); font-weight:650 }
@media (min-width:1024px) {
  nav.crm-nav { padding:8px; background:var(--card) }
  nav.crm-nav .more-sheet a:not(:has(svg)) { padding-left:12px }
  nav.crm-nav .more-sheet a,nav.crm-nav .more-sheet button { min-height:33px; padding-block:6px }
}
@media (max-width:760px) {
  .overview-page :is(.overview-columns,.dash-two-col) { grid-template-columns:minmax(0,1fr); gap:0 }
  .overview-page .stat-grid { grid-template-columns:repeat(2,minmax(0,1fr)) }
  .overview-page .stat { padding:10px }
  .crm-nav .more-sheet :is(a,button) { min-height:44px }
  .day-controls form { flex:1 1 100% }
  .day-controls label { flex:none }
  .day-controls input { flex:1 1 8rem }
}
@media (max-height:500px) and (orientation:landscape) and (max-width:1023px) {
  :root { --crm-bottom-height:44px }
  .crm-nav .more-sheet { max-height:calc(100dvh - var(--crm-header-height) - var(--crm-bottom-height) - 14px) }
}
@media print {
  .crm-nav,.skip-content,.workspace-heading .btn,.day-controls { display:none }
}
