/* V53: calmer hierarchy, compact home and touch-friendly secondary controls. */
:root { --muted:#697a72; --canvas:#f5f7f5; }
body { line-height:1.6; }
button, input, select, textarea { -webkit-tap-highlight-color:transparent; }
button:focus-visible, summary:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible { outline:3px solid #80bba4; outline-offset:3px; }
.card { border-radius:18px; box-shadow:none; }
.page-title { font-size:26px; }
.page-desc { font-size:13px; }
.ui-nav-group { display:grid; gap:3px; }
.ui-nav-group + .ui-nav-group { margin-top:16px; }
.ui-nav-label { color:var(--muted); padding:0 12px 4px; font-size:11px; letter-spacing:.06em; }
.ui-nav-group > summary { cursor:pointer; padding:10px 12px; font-size:13px; }
details.ui-nav-group:not([open]) > button { display:none; }
.side-nav { gap:0; }
.side-nav button { min-height:43px; }
.side-nav button.on { background:var(--green-soft); color:#176445; }
.ui-fold { display:block; border:1px solid var(--line); border-radius:16px; background:#fff; min-width:0; }
.ui-fold > summary { display:flex; justify-content:space-between; align-items:center; gap:12px; cursor:pointer; list-style:none; padding:15px 17px; min-height:60px; }
.ui-fold > summary::-webkit-details-marker { display:none; }
.ui-fold > summary b { display:block; font-size:14px; }
.ui-fold > summary small { display:block; color:var(--muted); font-size:12px; margin-top:2px; }
.ui-fold-chevron { font-size:18px; color:var(--muted); transition:transform .15s; }
.ui-fold[open] > summary .ui-fold-chevron { transform:rotate(180deg); }
.ui-fold[open] > summary { border-bottom:1px solid var(--line); }
.ui-fold-body { padding:14px; }
.ui-fold-body > .card { border:0; padding:0; margin-top:0!important; }
.ui-fold-body > .card + .card { margin-top:16px!important; }
.ui-fold:not([open]) > .ui-fold-body { display:none; }
.ui-fold + .ui-fold, .shared-home > * + *, #employeeHome > .ui-fold { margin-top:14px; }
#uiDispatchFold { margin-top:12px; border-color:#c9dbd1; }
#uiDispatchFold > summary { color:var(--green); }
#uiDispatchFold > .ui-fold-body { padding:0; }
#uiDispatchFold .command-card { margin:0; border-radius:0 0 15px 15px; }
#uiDispatchFold .command-head { padding-right:82px; }
#uiDispatchFold .command-head h1 { font-size:21px; }
.shared-home > .advisor-home-entry { display:none; }
.ui-main-composer { padding:21px; border-radius:20px; box-shadow:0 7px 24px #17332a12; }
.ui-main-composer .command-head { padding-right:92px; }
.ui-main-composer .command-head h1 { font-size:26px; margin:3px 0 6px; }
.ui-main-composer .command-head p { font-size:13px; }
.ui-main-composer .assistant-line { display:none; }
.ui-manual-entry { position:absolute; top:3px; right:0; color:#e0eee6; background:#ffffff0f; border:1px solid #ffffff35; border-radius:10px; padding:8px 11px; font-size:12px; }
.ui-main-composer .ai-mode-switch { margin-top:12px; }
.ui-main-composer .command-box { margin-top:10px; padding:11px; border-radius:15px; box-shadow:none; }
.ui-main-composer .command-box textarea { min-height:68px; max-height:260px; font-size:15px; }
.ui-main-composer .command-actions { padding-top:8px; }
.ui-main-composer .quick-zone { margin-top:12px; padding-top:10px; display:flex; align-items:center; gap:12px; }
.ui-main-composer .quick-zone-head b { font-size:12px; white-space:nowrap; }
.ui-main-composer .quick-zone-head small { display:none; }
.ui-main-composer .prompt-row { margin:0; }
.ui-main-composer .prompt-row button { padding:7px 10px; border-radius:9px; }
.leader-stat { padding:9px 10px; border-radius:13px; }
.leader-stat strong { font-size:24px; }
#leaderHome > .leader-grid { align-items:start; grid-template-columns:minmax(0,1fr); }
#leaderAttention .task:last-child { padding-bottom:0; }
#uiDailyContext { display:grid; gap:14px; }
#uiDailyContext > .card { margin:0; }
#uiDailyContext { grid-template-columns:minmax(0,1fr); }
.customer-extra-fields { margin:12px 0; border:1px solid var(--line); border-radius:14px; padding:0 14px; }
.customer-extra-fields > summary { cursor:pointer; padding:12px 0; font-weight:600; min-height:44px; }
.customer-extra-fields > :not(summary) { min-width:0; }
#uiTeamOverview > .ui-fold-body { display:grid; gap:22px; }
#uiTeamOverview .ui-fold-body > .card { margin:0!important; }
#uiTeamPulse .section-head, #uiIncomingFeedback .section-head { display:none; }
#uiFeedbackFold .feedback-command-card { margin:0; border-radius:14px; padding:18px; }
#uiFeedbackFold .command-head h1 { font-size:23px; }
#uiFeedbackFold .assistant-line { display:none; }
#uiFeedbackFold .command-head p { font-size:13px; }
#uiEmployeeMetrics .section-head { display:none; }
.employee-hero { padding:18px; border-radius:18px; box-shadow:none; }
.employee-hero h1 { font-size:25px; }
.ui-shortcuts { display:flex; gap:8px; flex-wrap:wrap; margin:12px 0; }
.ui-shortcuts button { background:#fff; border:1px solid var(--line); padding:10px 13px; border-radius:11px; font-size:13px; }
.ui-shortcuts button:first-child { border-color:#cfddd5; color:#24654e; background:var(--green-soft); }
.employee-hero .day-note { display:none; }
.ui-task-heading { display:flex; align-items:center; justify-content:space-between; gap:10px; margin:4px 0 8px; }
.ui-task-heading #floatingCompose { position:static; border-radius:11px; padding:10px 12px; box-shadow:none; font-size:13px; min-height:44px; flex:none; }
.ui-task-heading .page-title { min-width:0; }
.employee-layout { grid-template-columns:minmax(0,1fr); align-items:start; margin-top:14px; }
.advisor-home-entry { background:transparent; border:1px dashed #cad7cf; padding:13px 16px; border-radius:14px; box-shadow:none; }
.advisor-home-entry b { font-size:14px; }
.advisor-home-entry small { font-size:11px; }
.panel { border-radius:22px; max-height:90dvh; overscroll-behavior:contain; }
.sheet { padding:20px 12px; align-items:center; }
.panel > .section-head { position:sticky; top:-20px; z-index:2; background:#fff; padding:14px 0; margin-top:-10px; border-bottom:1px solid var(--line); }
.panel > .section-head h2 { font-size:20px; }
.panel > .section-head > .text-btn { min-width:44px; min-height:40px; border-radius:9px; background:#f5f7f5; color:var(--muted); }
.panel .submit { margin-top:14px; }
#uiTaskRewards, #uiTaskAssignment { margin:12px 0; }
#uiTaskRewards .ui-fold-body { padding-top:0; }
#uiTaskRewards summary small { color:#54665d; font-variant-numeric:tabular-nums; }
.field label { font-size:13px; font-weight:600; }
.field input, .field select, .field textarea { border-color:#d6ddd8; }
.inventory-command-grid { gap:9px; }
.inventory-command { border-radius:14px; min-height:96px; }
.inventory-hero, .customer-hero { padding:18px; border-radius:18px; }
.inventory-hero h1, .customer-hero h1 { font-size:24px; }
.inventory-hero p, .customer-hero p { font-size:13px; }
.customer-stats { grid-template-columns:repeat(3,minmax(0,1fr)); }
.customer-detail-head .btn:not(.primary) { color:var(--ink); }
.customer-detail-head .section-label { color:#c5d9d1; }
.course-row-head { align-items:flex-start; flex-wrap:wrap; }
.course-row-head > div { flex:1 1 190px; min-width:0; }
.course-row-head > .tag { flex:none; margin-left:0; }
.benefit-row-head { align-items:flex-start; flex-wrap:wrap; }
.benefit-row-head > .benefit-status { flex:none; }
.inventory-command small { font-size:11px; }
.empty { padding:20px 8px; font-size:13px; }
.bottom-nav { padding-top:8px; box-shadow:0 -4px 20px #17332a05; }
.bottom-nav button { min-height:46px; }
.bottom-nav button.on { color:var(--green); }
.bottom-nav button { display:flex; flex-direction:column; align-items:center; justify-content:center; gap:4px; min-width:0; line-height:1.25; }
.bottom-nav button .ui-nav-icon { display:flex; align-items:center; justify-content:center; width:44px; height:28px; flex:none; margin:0; }
.bottom-nav .ui-nav-icon svg { display:block; width:24px; height:24px; flex:none; }
.bottom-nav button .ui-nav-label { display:block; font-size:12px; line-height:16px; height:auto; width:auto; margin:0; white-space:nowrap; }
.bottom-nav button.on .ui-nav-icon { background:var(--green-soft); border-radius:10px; }
.employee-hero-top > div:first-child { min-width:0; overflow-wrap:anywhere; }
.progress-ring.is-empty { background:#e8ece9; }
.progress-ring.is-empty b { font-size:12px; line-height:1.4; white-space:nowrap; }
/* Shrink grid/flex tracks, not the text. Native date controls also have an
   intrinsic minimum width on mobile Safari unless explicitly constrained. */
.workspace, .page, .card, .panel, .field, .two > *, .grid > *,
.section-head > div, .topbar .brand, .topbar .brand > div,
.customer-card-top > *, .project-top > *, .employee-hero-top > div:first-child,
.data-row > div, .profile-row > *, .team-row > div, .record-row > div,
.sop-item > div, .shift-row > div { min-width:0; }
input, select, textarea { max-width:100%; }
.field input, .field select, .field textarea { min-width:0; }
.field input[type=date], .field input[type=time], .field input[type=datetime-local] { display:block; appearance:none; min-height:46px; }
.card p, .card b, .card small, .panel p, .panel h1, .panel h2,
.ui-fold summary, .secure-note, .draft-banner { overflow-wrap:anywhere; }
.sheet .panel { overscroll-behavior-y:contain; }
body:has(.sheet.open) { overflow:hidden; }
.panel .section-head { gap:8px; }
.panel .section-head > .text-btn { flex:none; }
.panel img { max-width:100%; }
.panel .field:focus-within { scroll-margin-top:100px; scroll-margin-bottom:90px; }
.check-grid { grid-template-columns:repeat(4,minmax(0,1fr)); }
.two, .owner-grid, .metric-grid, .performance-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
.team-row { grid-template-columns:auto minmax(0,1fr) auto; }
.record-row { grid-template-columns:42px minmax(0,1fr) auto; }
.shift-row { grid-template-columns:58px minmax(0,1fr) auto; }
.sop-item { grid-template-columns:54px minmax(0,1fr); }
.staff-actions { flex-wrap:wrap; justify-content:flex-end; max-width:280px; }
.ui-person-actions { border:1px solid var(--line); border-radius:10px; min-width:0; }
.ui-person-actions > summary { cursor:pointer; list-style:none; font-size:12px; padding:9px 11px; min-height:40px; }
.ui-person-actions > summary::after { content:' ⌄'; color:var(--muted); }
.ui-person-actions > summary::-webkit-details-marker { display:none; }
.ui-person-actions[open] { flex-basis:100%; }
.ui-person-actions-body { display:flex; flex-wrap:wrap; gap:7px; padding:0 9px 9px; }
.ui-person-actions:not([open]) > div { display:none; }
@media(min-width:900px) {
  .app-shell { grid-template-columns:214px minmax(0,1fr); }
  .sidebar { padding:23px 16px; }
  .workspace { max-width:1180px; }
  .topbar { padding:19px 28px 13px; }
  .topbar .brand-mark { display:none; }
  .page { padding:0 28px 30px; }
  .demo-banner { margin:0 28px 13px; padding:8px 12px; font-size:12px; }
  #leaderHome > .leader-grid { grid-template-columns:minmax(0,1.55fr) minmax(250px,.8fr); }
  #uiTeamOverview > .ui-fold-body { grid-template-columns:1fr 1fr; }
  .employee-layout { grid-template-columns:minmax(0,1.7fr) minmax(240px,.8fr); }
  .performance-grid { grid-template-columns:repeat(4,minmax(0,1fr)); }
}
@media(max-width:899px) {
  .workspace { width:100%; padding-bottom:calc(88px + env(safe-area-inset-bottom)); }
  .bottom-nav { padding-bottom:calc(8px + env(safe-area-inset-bottom)); }
  .bottom-nav button { font-size:12px; }
  .filters, .inbox-tabs, .date-shortcuts, .inventory-ledger-toolbar { max-width:100%; }
  .top-actions { flex:none; gap:6px; }
}
@media(max-width:620px) {
  .page { padding-left:13px; padding-right:13px; }
  .topbar { padding-left:14px; padding-right:14px; }
  .brand-mark { width:34px; height:34px; border-radius:11px; }
  .brand b { font-size:16px; }
  .card { padding:15px; border-radius:16px; }
  .demo-banner { margin-left:13px; margin-right:13px; padding:8px 10px; font-size:11px; }
  .demo-banner button { font-size:11px; padding:6px 8px; }
  .ui-main-composer { padding:16px; }
  .ui-main-composer .command-head { padding-right:74px; }
  .ui-main-composer .command-head h1 { font-size:23px; }
  .ui-main-composer .command-head p { font-size:12px; }
  .ui-manual-entry { padding:7px 8px; }
  .ui-main-composer .command-actions { align-items:flex-end; }
  .ui-main-composer .ai-ready { max-width:45%; font-size:10px; }
  .ui-main-composer .command-send { min-width:0; font-size:12px; padding:10px 12px; }
  .ui-main-composer .quick-zone { display:block; }
  .ui-main-composer .quick-zone-head { display:none; }
  .ui-main-composer .prompt-row { gap:6px; }
  .ui-main-composer .prompt-row button { flex:1; padding:9px 5px; font-size:11px; }
  .leader-stats { gap:6px; margin-top:10px; }
  .leader-stat { padding:8px 3px; }
  .leader-stat strong { font-size:22px; }
  .employee-hero h1 { font-size:23px; }
  .progress-ring { width:64px; height:64px; }
  .inbox-tabs { gap:6px; }
  .inbox-tabs button { font-size:12px; padding:8px 10px; }
  .ui-shortcuts { gap:6px; }
  .ui-shortcuts button { flex:1; font-size:12px; padding:10px 7px; }
  .sheet { padding:0; align-items:flex-end; }
  .panel { border-radius:22px 22px 0 0; max-height:94dvh; padding:18px 15px calc(20px + env(safe-area-inset-bottom)); margin:0; }
  .panel > .section-head { top:-18px; }
  .panel .two { grid-template-columns:minmax(0,1fr); gap:0; }
  .field input, .field textarea, .field select { font-size:16px; }
  .inventory-command-grid { grid-template-columns:1fr 1fr; }
  .inventory-command:first-child { grid-column:auto; }
  .inventory-command { min-height:84px; padding:13px; }
  .inventory-hero .inventory-stats { grid-template-columns:repeat(4,minmax(0,1fr)); gap:5px; }
  .inventory-stat { padding:8px 2px; border-radius:10px; }
  .inventory-stat b { font-size:20px; }
  .inventory-stat small { font-size:10px; }
  .inventory-command-grid { grid-template-columns:repeat(6,minmax(0,1fr)); }
  .inventory-command { grid-column:span 3; min-height:70px; padding:10px; }
  .inventory-command:first-child { grid-column:span 3; }
  .inventory-command:nth-child(n+3) { grid-column:span 2; min-height:62px; }
  .inventory-command small { display:none; }
  .inventory-command-icon { margin-bottom:4px; }
  .inventory-command b { font-size:13px; }
  .inventory-command:last-child { grid-column:span 2; display:block; min-height:62px; }
  .inventory-command:last-child small { margin-left:auto; text-align:right; max-width:55%; }
  .customer-stats { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .customer-stat { padding:8px; }
  .section-head { flex-wrap:wrap; gap:8px; }
  .section-head > div:first-child { flex:1; min-width:130px; }
  .section-head > .text-btn { min-height:40px; white-space:normal; text-align:right; max-width:46%; }
  .topbar { gap:8px; }
  .topbar .brand small { font-size:11px; }
  .demo-switch { padding:8px; font-size:12px; }
  .demo-banner { align-items:flex-start; }
  .demo-banner > span { min-width:0; }
  .demo-banner button { flex:none; }
  .phone-row button { flex:none; padding:0 10px; }
  .login { padding:12px; }
  .login-card { padding:20px; border-radius:20px; max-height:96dvh; }
  .login-card h1 { font-size:23px; }
  .login-card input { font-size:16px; }
  .employee-hero-top { align-items:flex-start; gap:12px; }
  .progress-ring { flex:none; }
  .employee-hero p { font-size:12px; }
  .inbox-tabs { flex-wrap:nowrap; overflow-x:auto; padding-bottom:3px; }
  .inbox-tabs button { flex:none; min-height:40px; }
  .check-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .team-row .staff-actions { grid-column:2/-1; justify-content:flex-start; max-width:none; }
  .staff-actions .btn { min-height:40px; padding:8px 10px; font-size:12px; }
  .data-row { flex-wrap:wrap; gap:8px; }
  .data-row > div:first-child { flex:1; min-width:140px; }
  .data-row > span { max-width:100%; overflow-wrap:anywhere; }
  .data-row > .btn { flex:none; min-height:40px; }
  .profile-row > :last-child { text-align:right; overflow-wrap:anywhere; }
  .sop-item > .btn { grid-column:2; justify-self:start; }
  .detail-toolbar .field { min-width:0; flex-basis:calc(50% - 8px); }
  .detail-toolbar > button { min-height:44px; flex:1; }
  .customer-toolbar { flex-wrap:wrap; }
  .customer-toolbar input { flex-basis:100%; font-size:16px; }
  .customer-toolbar .btn { flex:1; }
  .customer-stats { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .command-actions, .feedback-action-buttons { flex-wrap:wrap; }
  .feedback-action-buttons { width:100%; display:flex; }
  .feedback-action-buttons > button { flex:1; min-width:0; padding:10px 7px; font-size:12px; }
  .evidence-capture-head { flex-wrap:wrap; }
  .camera-button { min-height:44px; }
  .more-nav-grid { grid-template-columns:minmax(0,1fr); }
  .ui-shortcuts button { min-height:44px; }
}
@media(max-width:360px) {
  .topbar .brand-mark { display:none; }
  .topbar .brand b { font-size:15px; }
  .owner-grid { grid-template-columns:minmax(0,1fr); }
  .experience-grid { grid-template-columns:minmax(0,1fr); }
  .command-actions .ai-ready { max-width:100%; }
  .ui-main-composer .command-send { width:100%; }
  .ui-main-composer .command-head { padding-right:0!important; }
  .ui-main-composer .ui-manual-entry { position:static; margin-top:8px; }
  .ui-main-composer .prompt-row { display:grid; grid-template-columns:1fr 1fr; }
}
@media(prefers-reduced-motion:reduce) { *, *::before, *::after { scroll-behavior:auto!important; transition:none!important; } }

/* Employee directory: primary actions remain visible on mobile. */
.employee-tools{display:flex;gap:12px;align-items:center;flex-wrap:wrap}
.employee-filters{display:flex;gap:6px}
.employee-filters button{border:1px solid var(--line);border-radius:999px;padding:9px 14px;background:#fff;color:var(--muted);font:inherit;cursor:pointer;min-height:42px}
.employee-filters button.on{background:var(--green);color:#fff;border-color:var(--green)}
#employeeSearch{flex:1;min-width:140px;width:auto;border:1px solid var(--line);border-radius:12px;padding:11px;font:inherit}
.employee-hint{color:var(--muted);font-size:13px;line-height:1.6;display:block}
.employee-contact{color:var(--green);font-size:13px}
#personSheet .permission-check{display:flex;align-items:flex-start;gap:10px}
#personSheet .permission-check input[type=checkbox]{width:18px;height:18px;min-height:18px;flex:0 0 18px;margin:3px 0 0}
#teamList .team-row{grid-template-columns:40px minmax(0,1fr)}
#teamList .staff-actions{grid-column:2;display:flex;gap:8px;justify-content:flex-start}
#teamList .staff-actions>.btn{min-height:42px}
@media(max-width:600px){.employee-tools{align-items:stretch}.employee-tools #employeeSearch{flex-basis:100%;min-width:0}#teamList .staff-actions{grid-column:1/-1}#teamList .team-row>div{min-width:0;overflow-wrap:anywhere}#personSheet .two{grid-template-columns:minmax(0,1fr)}#personSheet select,#personSheet input{max-width:100%;min-width:0}#team>.leader-grid{grid-template-columns:minmax(0,1fr)}}
