/* Shared device layouts; loaded last so workspace rules cannot restore cramped controls. */
html{scroll-padding-top:88px}
.nav-backdrop[hidden],.seller-toggle[hidden]{display:none!important}
.nav-backdrop{position:fixed;inset:0;background:#071f46a6;z-index:21}
.nav-backdrop:focus-visible{outline:none}
.seller-toggle{display:none}
.pace-gauge{align-self:start}
.cockpit-disclosure{margin-top:22px}
.cockpit-disclosure>summary{position:relative;cursor:pointer;padding:14px 34px 14px 0;border-top:1px solid var(--line);list-style:none;display:flex;gap:12px;align-items:baseline;flex-wrap:wrap}
.cockpit-disclosure>summary::-webkit-details-marker{display:none}
.cockpit-disclosure>summary::after{content:'⌄';position:absolute;right:10px;top:10px;color:var(--brand2);font-size:20px;transform:rotate(-90deg)}
.cockpit-disclosure[open]>summary::after{transform:none}
.cockpit-disclosure>summary h2{font-size:15px;margin:0}
.cockpit-disclosure>summary:focus-visible{outline:3px solid #a96900;outline-offset:3px}
.table-wrap,.calendar-scroll{max-width:100%;overscroll-behavior-x:contain}
.table-wrap:focus-visible,.calendar-scroll:focus-visible{outline:3px solid #a96900;outline-offset:3px}
main,.panel,.page-heading>div,.dashboard-grid>*,.notes-grid>*,.draft-account-grid>*,.builder-saved>*,.content-card-grid>*,.outcome-grid2>*,.outcome-grid3>*{min-width:0}
h1,h2,h3,.panel,.notice,.page-heading,.page-footer{overflow-wrap:anywhere}
.button-row{flex-wrap:wrap}
.button-row>*{max-width:100%}
input[type=radio]{width:auto}
.signed-out .sidebar,.signed-out .menu-button{display:none!important}
.signed-out .app-shell{margin-left:0}
.signed-out main{max-width:1100px}

@media screen and (max-width:1024px){
  html{scroll-padding-top:110px}
  .app-shell{margin-left:0;padding-top:92px}
  .topbar{height:92px;padding:12px 18px;gap:12px}
  .header-brand{display:grid;grid-template-columns:auto 44px;gap:7px 14px;align-items:center}
  .header-logo{grid-column:1;grid-row:1;justify-self:start;font-size:26px;padding:7px 10px;border-radius:4px}
  .header-tagline{display:block;grid-column:1;grid-row:2;font-size:12px;line-height:1.2;color:#fff;white-space:normal}
  .menu-button{display:block;grid-column:2;grid-row:1/3;margin:0;padding:8px;width:44px;height:44px;font-size:23px;line-height:1;border:1px solid #9dc5ed;border-radius:6px;background:#113f81}
  .sidebar{top:92px;width:min(320px,calc(100vw - 44px));z-index:22;transform:translateX(-100%);visibility:hidden;transition:transform .15s,visibility .15s;overscroll-behavior:contain;padding:12px 12px max(24px,env(safe-area-inset-bottom))}
  .sidebar.is-open{transform:translateX(0);visibility:visible}
  .sidebar nav a{min-height:44px;padding:10px 12px;font-size:14px;border-radius:5px}
  .close-menu{display:block;align-self:flex-end;color:#fff;background:transparent;min-height:44px;padding:8px 12px;font-size:14px}
  .mobile-nav-open{overflow:hidden}
  .identity{gap:10px;font-size:12px;min-width:0}
  .identity>span:not(.role-tag){display:none}
  .topbar .role-tag{padding:7px;font-size:11px;white-space:normal;max-width:90px}
  .topbar .text-button{min-height:44px;padding:8px;font-size:12px}
  main{padding:22px 20px}
  .primary,.secondary{min-height:44px;padding:12px 16px;line-height:1.45}
  .text-button{min-height:44px}
  input:not([type=checkbox]):not([type=radio]):not([type=hidden]),select,textarea,
  .period-form input,.period-form select,.meeting-filter-grid input,.meeting-filter-grid select,
  .objection-filter-grid input,.objection-filter-grid select,.email-filter-grid input,.email-filter-grid select,
  .research-field input,.research-field select,.research-field textarea,.rfp-field input,.rfp-field select,.rfp-field textarea,
  .email-field input,.email-field select,.email-field textarea,.meeting-bulk select,.meeting-bulk input[type=date]{font-size:16px;min-height:44px}
  input[type=checkbox],input[type=radio]{min-width:20px;min-height:20px;accent-color:var(--brand2)}
  .panel{padding:18px}
  .cockpit-toolbar{gap:10px}
  .quarter-tab{min-height:44px;display:grid;place-items:center;font-size:15px;min-width:62px}
  .cockpit-summary{grid-template-columns:220px minmax(0,1fr);gap:14px}
  .cockpit-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}
  .seller-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .seller-footer a{min-height:44px;display:inline-flex;align-items:center;font-size:12px}
  .seller-card h3 a{display:inline-flex;align-items:center;min-height:32px}
  .meeting-filter-grid,.objection-filter-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .meeting-calendar .calendar-scroll{overflow-x:auto}
  .meeting-calendar-grid{min-width:680px}
  .outcome-grid3{grid-template-columns:1fr}
  .page-footer{flex-wrap:wrap;gap:8px}
}

@media screen and (max-width:650px){
  .topbar{padding:10px 12px;gap:8px}
  .header-brand{gap:6px 10px}
  .header-logo{font-size:23px;padding:7px 9px}
  .header-tagline{font-size:10px;letter-spacing:0}
  .identity{flex-direction:column;gap:0;align-items:flex-end}
  .topbar .role-tag{font-size:10px;padding:3px 5px;max-width:78px}
  .topbar .text-button{font-size:11px;min-height:36px;padding:5px}
  main{padding:20px 12px}
  .page-heading{gap:8px;margin-bottom:16px}
  .page-heading h1{font-size:22px;line-height:1.35}
  .page-heading p{margin-bottom:8px}
  .page-heading>.pill{align-self:flex-start;padding:5px 8px}
  .page-heading>.button-row{margin-top:0}
  .panel{padding:16px;border-radius:8px}
  .metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .metric-card{min-width:0;padding:13px 11px}
  .metric-value{font-size:21px;line-height:1.25}
  .metric-label{font-size:10px;line-height:1.4}
  .cockpit-toolbar{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:16px}
  .cockpit-toolbar .period-form{grid-column:1/-1;display:flex;gap:8px;flex-wrap:wrap}
  .cockpit-toolbar .period-form label{font-size:12px}
  .cockpit-toolbar .period-form input{width:84px;padding:8px}
  .cockpit-toolbar .period-form select{width:70px;padding:8px}
  .cockpit-toolbar .period-form button{margin-left:auto}
  .quarter-tabs{grid-column:1/-1;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0}
  .quarter-tab{padding:10px;min-width:0;border-radius:7px;font-size:18px}
  .quarter-tab.active{box-shadow:0 3px 9px #009dd033}
  .cockpit-report-main,.cockpit-report-meetings{grid-column:1/-1;width:100%;font-size:14px;border-radius:7px}
  .cockpit-report-meetings{color:#0085bf;background:white;border-color:#139fd8}
  .cockpit-export{grid-column:1/-1;justify-self:end;min-height:36px;padding:8px 12px}
  .cockpit-summary{grid-template-columns:1fr;gap:12px}
  .pace-gauge{padding:16px;border-radius:10px}
  .pace-gauge h2{font-size:12px}
  .gauge-art{max-width:240px;margin-top:6px}
  .gauge-art strong{font-size:38px}
  .cockpit-kpis{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  .cockpit-kpis .metric-card{background:#fff;color:#123c81;border:1px solid #dce3ee;border-radius:8px;box-shadow:0 2px 5px #17385d0c;padding:12px 10px;border-bottom:4px solid #12b4de}
  .cockpit-kpis .metric-value{font-size:clamp(17px,4.7vw,23px);letter-spacing:-.5px;margin-bottom:4px;overflow-wrap:anywhere;word-break:normal}
  .cockpit-kpis .metric-label{color:#536176;font-size:10px;margin-bottom:5px}
  .cockpit-kpis .metric-note{color:#6c7080;font-size:10px;line-height:1.4}
  .cockpit-policy{font-size:11px;line-height:1.6;margin:8px 0}
  .week-strip{padding:12px;border-radius:8px;gap:12px;margin:12px 0 22px}
  .week-strip form,.week-strip button{width:100%}
  .seller-grid{grid-template-columns:1fr;gap:10px}
  .seller-card{padding:12px 14px;border-radius:8px}
  .seller-card.selected{background:#effaff;box-shadow:none}
  .seller-card h3{font-size:17px}
  .seller-numbers{font-size:13px}
  .seller-footer{align-items:center;margin-top:8px;padding-top:4px}
  .seller-toggle{display:block;width:100%;margin:12px 0;border-radius:7px;background:#fff;border-color:#149dd5;font-size:14px}
  .seller-grid[data-collapsed=true] .seller-card:nth-child(n+4){display:none}
  .cockpit-disclosure{margin:12px 0}
  .cockpit-disclosure>summary{padding:15px 34px 15px 14px;border:1px solid #d5deeb;border-radius:8px;background:#fff;box-shadow:0 2px 4px #17385d0c;gap:5px;min-height:48px}
  .cockpit-disclosure>summary h2{font-size:16px;flex-basis:100%}
  .cockpit-disclosure[open]>summary{margin-bottom:12px}
  .notes-grid,.draft-account-grid,.adu-grid{grid-template-columns:1fr}
  .draft-banner .primary{width:100%}
  .draft-section,.seller-detail{scroll-margin-top:110px}
  .draft-account-grid .button-row>*{flex:1 1 130px}
  .table-wrap:not(:has(.mobile-record-table)){border:1px solid #e1e7f0;border-radius:6px;background:linear-gradient(to left,#d8e7f955,transparent 20%)}
  .table-wrap:not(:has(.mobile-record-table))::before{content:'Swipe table to see more →';display:block;position:sticky;left:0;width:max-content;padding:8px 10px;font-size:11px;color:#526176}
  .table-wrap:not(:has(.mobile-record-table)) table{min-width:560px}
  .mobile-record-table,.mobile-record-table tbody{display:block;width:100%}
  .mobile-record-table thead{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
  .mobile-record-table tr{display:block;margin:0 0 12px;padding:10px 12px;border:1px solid #dce3ef;border-radius:8px;background:#fff}
  .mobile-record-table td{display:block;padding:6px 0;text-align:left!important;border:0;line-height:1.6;overflow-wrap:anywhere}
  .mobile-record-table td[data-label]::before{content:attr(data-label);display:block;font-size:10px;font-weight:700;text-transform:uppercase;color:#65758b;letter-spacing:.4px;margin-bottom:2px}
  .mobile-record-table td:first-child{font-size:15px;font-weight:700}
  .mobile-record-table td a{display:inline-flex;align-items:center;min-height:44px;font-size:13px;padding:4px 0}
  .mobile-record-table td.empty-state{padding:16px}
  .mobile-record-table .stage{display:inline-block}
  .calendar-head{flex-wrap:wrap}
  .calendar-head .button-row{gap:8px;max-width:100%}
  .calendar-scroll::before{content:'Swipe calendar to see all days →';display:block;position:sticky;left:0;padding:6px 2px 10px;font-size:11px;color:#526176}
  .meeting-list-head{gap:10px}
  .meeting-list-head>.secondary{width:100%}
  .meeting-list-title{order:2}
  .meeting-list-head>.secondary{order:3}
  .research-facts{grid-template-columns:1fr;gap:5px}
  .research-facts dd{margin:0 0 10px}
  .content-meta,.builder-preview-title{flex-wrap:wrap}
  .builder-filters>*,.outcome-filters>*,.outcome-coach>*{min-width:0!important;max-width:100%}
  .builder-saved .button-row{margin-top:12px}
}

@media screen and (max-width:360px){
  .header-logo{font-size:20px;padding:7px}
  .header-tagline{font-size:9px}
  .header-brand{gap:5px 7px}
  .topbar{padding:10px}
  .menu-button{width:42px}
  .cockpit-kpis .metric-value{font-size:16px}
  .cockpit-toolbar .period-form{display:grid;grid-template-columns:auto 1fr auto 1fr}
  .cockpit-toolbar .period-form input,.cockpit-toolbar .period-form select{width:100%}
  .cockpit-toolbar .period-form button{grid-column:1/-1;width:100%}
  .meeting-filter-grid,.objection-filter-grid,.research-filter-grid,.email-filter-grid,.rfp-filter-grid{grid-template-columns:1fr}
}

@media(prefers-reduced-motion:reduce){.sidebar{transition:none}}
@media print{.nav-backdrop,.seller-toggle{display:none!important}.cockpit-disclosure>summary{box-shadow:none}.cockpit-disclosure>summary::after{display:none}.table-wrap::before,.calendar-scroll::before{display:none!important}}
