/* TimeMap 1.8.3: one final layout layer for all screen sizes. */
:root { --ink:#163c3c; --ink-soft:#365658; --paper:#fff; --canvas:#f4f7f7; --line:#dfe7e7; --muted:#607477; --green:#428477; --green-soft:#e6f2ee; --shadow:0 8px 28px rgba(22,60,60,.05); --radius:16px; }
html, body { overflow-x:visible; min-width:0; }
body { background:var(--canvas); }
h1,h2,h3,.brand { font-family:inherit; }
h1,.dashboard-intro h1 { font-size:clamp(1.8rem,3vw,2.6rem); font-weight:750; letter-spacing:-.035em; line-height:1.18; }
h2 { font-size:1.2rem; font-weight:700; line-height:1.35; letter-spacing:-.02em; }
button,input,select,textarea { min-width:0; }
button { white-space:normal; overflow-wrap:anywhere; }
input[type="checkbox"],input[type="radio"] { width:18px; height:18px; min-height:18px; flex:0 0 18px; padding:0; margin:0; accent-color:var(--green); }
fieldset { min-width:0; }
:focus-visible { outline:3px solid #70b5a6; outline-offset:3px; }
.topbar { background:rgba(255,255,255,.97); gap:16px; }
.topbar-actions { flex-wrap:nowrap; }
.nav-link.active { background:var(--green-soft); }
.brand { font-weight:750; letter-spacing:-.04em; }
.workspace,.dashboard-content,.personal-content { width:min(1280px,calc(100% - 48px)); padding-top:32px; }
.workspace { grid-template-columns:minmax(0,1fr) 320px; gap:28px; }
.lede { font-size:.95rem; margin-bottom:20px; }
.activity-grid { margin-top:20px; gap:12px; }
.activity-card { grid-template-columns:40px minmax(0,1fr) 16px; grid-template-rows:auto; min-height:88px; gap:12px; padding:16px; border-radius:14px; background:#fff; }
.activity-card .activity-mark { width:40px; height:40px; grid-row:auto; }
.activity-copy strong { font-size:.9rem; }
.activity-copy small { font-size:.75rem; line-height:1.45; }
.activity-card .start-arrow { display:block; }
.manual-entry-button { background:#fff; border-radius:14px; }
.today-card { top:96px; border-radius:16px; }
.today-head strong,.kpi-card strong,.call-stat strong { font-family:inherit; font-weight:700; letter-spacing:-.04em; }
.today-head strong { font-size:2rem; }
.today-head,.summary-list { padding:20px; }
.summary-row { align-items:start; }
.summary-row span { overflow-wrap:anywhere; }
.running-card { border-radius:18px; }
.running-main { padding:28px 20px; }
.running-clock { font-size:clamp(2.5rem,6vw,4.8rem); letter-spacing:-.055em; white-space:nowrap; }
.running-label { max-width:100%; text-align:left; }
.running-label > .activity-mark { flex-shrink:0; }
.stage-chips { justify-content:flex-start; }
.stage-chip { min-height:44px; }
.recording-panel,.tagged-agents { margin:16px 20px; padding:16px; border-color:rgba(255,255,255,.2); background:rgba(255,255,255,.06); overflow-wrap:anywhere; }
.recording-panel small { color:#d5e4e3; font-size:.78rem; }
.agent-tag-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,190px),1fr)); gap:8px; max-height:260px; overflow:auto; padding:3px; }
.agent-tag-choice { min-width:0; min-height:44px; border-radius:10px; cursor:pointer; }
.agent-tag-choice span { overflow-wrap:anywhere; }
.agent-tag-choice:has(input:checked) { background:var(--green-soft); border-color:var(--green); }
.suboption-choice { min-height:58px; }
.custom-time-grid,.custom-time-grid-three { grid-template-columns:repeat(2,minmax(0,1fr)); }
.custom-time-grid-three > :first-child { grid-column:1/-1; }
.dashboard-intro { display:flex; flex-direction:column; align-items:stretch; gap:24px; margin-bottom:24px; }
.dashboard-intro > div:first-child,.dashboard-controls,.analytics-control-card > div:first-child,.analytics-controls { flex:0 1 auto; }
.dashboard-controls { display:flex; justify-content:flex-start; align-items:end; gap:12px; padding:18px; border:1px solid var(--line); border-radius:16px; background:var(--paper); }
.dashboard-controls label { flex:1 1 160px; max-width:none; }
.dashboard-controls input,.dashboard-controls select,.analytics-controls input,.analytics-controls select { margin:6px 0 0; min-height:44px; font-size:.88rem; }
.dashboard-controls .data-badge { align-self:center; }
.dashboard-controls button { font-size:.8rem; }
.kpi-grid { grid-template-columns:repeat(auto-fit,minmax(150px,1fr)); gap:12px; margin-bottom:20px; }
.kpi-card { min-height:125px; padding:18px; border-radius:14px; gap:8px; }
.kpi-card strong { font-size:clamp(1.6rem,2.5vw,2.2rem); overflow-wrap:anywhere; line-height:1.15; }
.kpi-card > span,.kpi-card small { font-size:.75rem; }
.report-grid { gap:20px; margin-bottom:20px; }
.report-card { padding:24px; border-radius:16px; overflow:visible; }
.card-heading { gap:12px; margin-bottom:20px; }
.card-heading > div { min-width:0; }
.card-heading > span { white-space:normal; }
.analytics-control-card { flex-wrap:wrap; gap:20px; }
.analytics-controls { flex:1 1 440px; }
.analytics-controls label { max-width:none; }
.analytics-row { grid-template-columns:minmax(0,.9fr) minmax(0,1.5fr) auto; }
.team-wrap { overflow-x:auto; }
.team-table { min-width:1120px; }
.team-row > * { min-width:0; }
.person-cell strong,.person-cell small { white-space:normal; overflow-wrap:anywhere; }
.team-form { grid-template-columns:repeat(3,minmax(0,1fr)); align-items:end; }
.team-form > button { grid-column:1/-1; justify-self:start; }
.category-form { grid-template-columns:minmax(0,1.4fr) minmax(0,1fr) auto; }
.access-person { grid-template-columns:minmax(0,1fr) auto; gap:14px; }
.access-actions { grid-column:1/-1; flex-wrap:wrap; }
.review-item { grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:14px; }
.review-item > :first-child { grid-column:1/-1; }
.review-actions { grid-column:1/-1; flex-wrap:wrap; }
.credential-box { flex-wrap:wrap; gap:16px; }
.credential-box > div { min-width:0; }
.credential-box code { overflow-wrap:anywhere; }
.calling-audit-row { grid-template-columns:minmax(0,2fr) repeat(4,minmax(0,.65fr)); }
.calling-audit-row span { overflow-wrap:anywhere; }
.auth-layout { grid-template-columns:minmax(0,1fr) minmax(0,440px); gap:64px; max-width:1280px; margin:auto; }
.auth-intro h1 { max-width:580px; font-size:clamp(2rem,4vw,3.5rem); }
.auth-card { border-radius:18px; }
.timer-reminder-card { max-height:calc(100dvh - 40px); overflow-y:auto; }
.timer-reminder-card h2 { padding-right:22px; }
.privacy-note,.method-note,.fine-print { line-height:1.6; }
@media (max-width:1100px) {
  .workspace { grid-template-columns:minmax(0,1fr) 290px; gap:20px; }
  .activity-grid { grid-template-columns:1fr; }
  .report-grid { grid-template-columns:1fr; }
  .team-table { min-width:0; gap:12px; grid-template-columns:repeat(2,minmax(0,1fr)); }
  .team-row.head { display:none; }
  .team-row:not(.head) { min-width:0; grid-template-columns:repeat(2,minmax(0,1fr)); padding:16px; gap:12px; border:1px solid var(--line); border-radius:12px; background:#fff; }
  .team-row:not(.head) > .person-cell { grid-column:1/-1; padding-bottom:10px; border-bottom:1px solid var(--line); }
  .team-row:not(.head) > span:nth-child(n+3)::before { display:block; margin-bottom:3px; color:var(--muted); font-size:.65rem; font-weight:700; }
  .team-row:not(.head) > span:nth-child(3)::before { content:"Office"; }
  .team-row:not(.head) > span:nth-child(4)::before { content:"Tracked"; }
  .team-row:not(.head) > span:nth-child(5)::before { content:"9h target"; }
  .team-row:not(.head) > span:nth-child(6)::before { content:"Student time"; }
  .team-row:not(.head) > span:nth-child(7)::before { content:"Idle"; }
  .team-row:not(.head) > span:nth-child(8)::before { content:"Login → Logout"; }
  .team-row:not(.head) > span:nth-child(9)::before { content:"Meetings"; }
  .team-row:not(.head) > span:nth-child(8) { grid-column:1/-1; }
}
@media (max-width:900px) {
  .workspace { grid-template-columns:minmax(0,1fr); }
  .activity-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .today-card { position:static; }
  .auth-layout { grid-template-columns:1fr; gap:28px; max-width:600px; }
  .auth-brand { margin-bottom:28px; }
  .analytics-controls { flex-basis:auto; }
  .summary-list { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:760px) {
  .workspace,.dashboard-content,.personal-content { width:calc(100% - 32px); padding-top:24px; }
  .topbar-actions { flex-wrap:nowrap; }
  .topbar { padding:10px 16px; }
  .brand span:last-child { display:inline; }
  .mobile-nav { background:rgba(255,255,255,.98); }
  .dashboard-controls { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); padding:16px; }
  .dashboard-controls .data-badge { grid-column:1/-1; justify-self:start; }
  .dashboard-controls button { min-height:48px; }
  .dashboard-intro > div:first-child { flex-basis:auto; }
  .analytics-control-card > div:first-child,.analytics-controls { flex-basis:auto; }
  .analytics-controls { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .kpi-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .report-card { padding:18px; }
  .team-table { grid-template-columns:1fr; }
  .team-form,.category-form,.review-item,.access-person { grid-template-columns:minmax(0,1fr); }
  .team-form > button { justify-self:stretch; }
  .analytics-row { grid-template-columns:minmax(0,1fr) auto; }
  .auth-layout { padding:24px 16px; }
  input,select,textarea,.dashboard-controls input,.dashboard-controls select,.analytics-controls select,.analytics-controls input { font-size:16px; }
  .timer-reminder-modal { padding:16px; }
  .timer-reminder-card { max-height:calc(100dvh - 32px); }
}
@media (max-width:540px) {
  .activity-grid,.summary-list,.suboption-grid,.custom-time-grid,.custom-time-grid-three,.dashboard-controls,.analytics-controls { grid-template-columns:minmax(0,1fr); }
  .activity-card { min-height:80px; padding:14px; }
  .running-clock { font-size:clamp(2.25rem,12vw,3.8rem); }
  .recording-panel,.tagged-agents { margin:12px 16px; padding:14px; }
  .recording-panel button { width:100%; }
  .kpi-card { padding:14px; }
  .kpi-card strong { font-size:1.65rem; }
  .outcome-grid,.call-stats,.analytics-summary { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .recent-item { grid-template-columns:36px minmax(0,1fr); }
  .recent-item > b { grid-column:2; padding-bottom:10px; }
  .source-grid,.travel-stops { grid-template-columns:minmax(0,1fr); }
}
@media (prefers-reduced-motion:reduce) {
  html { scroll-behavior:auto; }
  *,*::before,*::after { animation-duration:.01ms !important; transition-duration:.01ms !important; }
}

/* v1.9.9 — report responsiveness, consistent filters, and category drill-down */
.admin-report-section,
.report-card,
.selected-team-report-card,
.activity-dashboard-report,
.custom-activities-page { min-width: 0; max-width: 100%; }

.section-heading {
  grid-template-columns: 42px minmax(0,1fr) auto;
  width: 100%;
}
.section-heading > div { min-width: 0; }
.section-heading h2,
.section-heading p { overflow-wrap: anywhere; }

.section-filter-grid,
.individual-filter-grid,
.group-filter-grid {
  grid-template-columns: repeat(auto-fit,minmax(210px,1fr));
  align-items: end;
}
.team-extra-filters {
  grid-template-columns: repeat(auto-fit,minmax(210px,1fr));
}
.team-report-user-grid {
  grid-template-columns: repeat(auto-fit,minmax(220px,1fr));
}
.team-report-user,
.section-filter-grid > *,
.group-filter-grid > * { min-width: 0; }

.scope-time-summary,
.simple-kpi-grid {
  grid-template-columns: repeat(auto-fit,minmax(220px,1fr));
}
.compact-report-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }

.report-activity-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
.report-activity-card { min-width:0; }
.report-activity-card > summary {
  grid-template-columns: 46px minmax(0,1fr) auto;
  min-width:0;
}
.report-activity-card > summary::after {
  grid-column: 2 / -1;
  justify-self: end;
}
.category-log-panel { min-width:0; }
.category-log-row {
  grid-template-columns: minmax(0,1fr) auto;
  align-items:start;
}
.category-log-main { min-width:0; }
.category-log-main small,
.category-log-main em { line-height:1.5; overflow-wrap:anywhere; }
.category-log-main small b,
.category-log-main em b { color:var(--ink); font-weight:800; }
.category-log-duration {
  min-width:90px;
  display:flex;
  flex-direction:column;
  align-items:flex-end;
  gap:3px;
  text-align:right;
}
.category-log-duration small { color:var(--muted); font-size:.62rem; }
.category-log-duration b { font-size:.78rem; white-space:nowrap; }

.custom-activities-page .section-heading {
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:18px;
}
.custom-activities-page .section-heading > div {
  flex:1 1 auto;
  width:auto;
  min-width:0;
}
.custom-activities-page .section-heading > a {
  flex:0 0 auto;
  width:auto;
  max-width:220px;
}
.custom-activities-page .section-heading h2,
.custom-activities-page .section-heading p {
  width:auto;
  max-width:760px;
  white-space:normal;
}
.custom-activities-page .analytics-detail-list,
.custom-activities-page .report-card { width:100%; }

.call-stats { grid-template-columns: repeat(auto-fit,minmax(125px,1fr)); }

@media (max-width: 900px) {
  .compact-report-grid { grid-template-columns:1fr; }
  .report-activity-grid { grid-template-columns:1fr; }
  .section-heading { grid-template-columns:38px minmax(0,1fr); }
  .section-heading > span { grid-column:2; white-space:normal; }
  .custom-activities-page .section-heading { display:flex; flex-direction:column; }
  .custom-activities-page .section-heading > a { width:100%; max-width:none; text-align:center; }
}

@media (max-width: 700px) {
  .section-filter-grid,
  .individual-filter-grid,
  .group-filter-grid,
  .team-extra-filters,
  .team-report-user-grid,
  .scope-time-summary,
  .simple-kpi-grid { grid-template-columns:1fr !important; }
  .section-filter-grid > *,
  .group-filter-grid > *,
  .team-extra-filters > * { width:100%; grid-column:auto !important; }
  .section-filter-grid button,
  .group-filter-grid button,
  .team-report-submit button { width:100%; min-height:46px; }
  .team-report-submit { display:grid; grid-template-columns:1fr; gap:8px; }
  .team-report-selection { text-align:left; }
  .report-activity-card > summary { grid-template-columns:42px minmax(0,1fr); }
  .report-activity-time { grid-column:2; align-items:flex-start; text-align:left; }
  .report-activity-card > summary::after { grid-column:2; justify-self:start; }
  .category-log-row { grid-template-columns:1fr; }
  .category-log-duration { min-width:0; align-items:flex-start; text-align:left; }
}

@media (max-width: 480px) {
  .admin-report-section { padding:14px; }
  .report-card { padding:14px; }
  .section-heading { grid-template-columns:34px minmax(0,1fr); gap:10px; }
  .section-heading .section-step { width:34px; height:34px; }
  .call-stats { grid-template-columns:1fr 1fr; }
  .report-activity-card > summary { padding:12px; }
}

/* v1.10.0 - structured Salestrail analytics */
.salestrail-card .salestrail-heading { align-items:flex-start; gap:18px; }
.salestrail-card .salestrail-count { flex:0 0 auto; white-space:nowrap; padding:6px 10px; border-radius:999px; background:var(--soft,#eef5f1); font-weight:700; font-size:.72rem; }
.call-stats.structured { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; }
.call-stats.structured .call-stat { min-width:0; min-height:104px; padding:16px 17px; display:flex; flex-direction:column; justify-content:center; gap:6px; }
.call-stats.structured .call-stat span { order:0; display:block; font-size:.72rem; font-weight:700; color:var(--muted); line-height:1.25; }
.call-stats.structured .call-stat strong { order:1; display:block; font-family:inherit; font-size:1.65rem; line-height:1.08; font-weight:800; letter-spacing:-.035em; white-space:nowrap; }
.call-stats.structured .call-stat.primary { background:rgba(230,241,235,.48); }
.call-stats.structured .call-stat.talk-time { grid-column:1 / -1; min-height:auto; display:grid; grid-template-columns:minmax(170px,.7fr) minmax(180px,1fr); grid-template-areas:"label value" "note value"; align-items:center; column-gap:24px; }
.call-stats.structured .call-stat.talk-time span { grid-area:label; }
.call-stats.structured .call-stat.talk-time strong { grid-area:value; font-size:1.85rem; text-align:right; white-space:normal; }
.call-stats.structured .call-stat.talk-time small { grid-area:note; color:var(--muted); font-size:.67rem; line-height:1.35; }
@media (max-width:900px){
  .call-stats.structured { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .call-stats.structured .call-stat.talk-time { grid-column:1 / -1; }
}
@media (max-width:560px){
  .salestrail-card .salestrail-heading { flex-direction:column; }
  .call-stats.structured { grid-template-columns:1fr; }
  .call-stats.structured .call-stat { min-height:88px; }
  .call-stats.structured .call-stat.talk-time { grid-column:auto; display:flex; align-items:flex-start; }
  .call-stats.structured .call-stat.talk-time strong { text-align:left; white-space:normal; }
}
