/* Device access and responsive refinements shared by login and dashboard. */
.passkey-workspace{max-width:760px;margin:auto;padding:44px 24px 50px}
.passkey-workspace h1{font-size:36px;letter-spacing:-1.2px;line-height:1.2;margin:14px 0}
.passkey-workspace>.muted{margin-bottom:26px}
.passkey-panel{background:#fff;border:1px solid #dce3ed;border-radius:20px;padding:26px;margin:20px 0;box-shadow:0 5px 20px #20212405}
.passkey-panel h2{font-size:21px;line-height:1.3;margin:12px 0}
.passkey-panel p,.passkey-footnote{font-size:14px;color:#5f6368;line-height:1.7}
.passkey-panel>small{display:block;color:#5f6368;font-size:12px;line-height:1.7}
.passkey-symbol{display:grid;place-items:center;width:52px;height:52px;border-radius:16px;background:#e8f0fe;color:#0b57d0;font-size:32px}
.passkey-panel label{display:block;font-size:13px;font-weight:600;margin:22px 0 8px}
.passkey-panel input{display:block;width:100%;padding:13px 14px;border:1px solid #dadce0;border-radius:10px;font-size:16px;margin-bottom:16px;background:#fff;color:#202124}
.passkey-status{font-size:13px;line-height:1.6;overflow-wrap:anywhere;min-height:0}
.passkey-status:empty{display:none}
.passkey-status.ok{color:#137333}.passkey-status.bad{color:#b3261e}.passkey-status.warn{color:#8a5200}
.passkey-login{margin-bottom:22px}.passkey-login .button{min-height:50px}
.passkey-divider{display:flex;align-items:center;gap:12px;margin-top:22px;color:#5f6368;font-size:12px}
.passkey-divider:before,.passkey-divider:after{content:"";flex:1;height:1px;background:#e1e5ea}
.passkey-list-heading{display:flex;align-items:center;gap:12px}
.passkey-device{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 0;border-top:1px solid #edf0f3}
.passkey-device>div{min-width:0}.passkey-device strong{display:block;font-size:15px;overflow-wrap:anywhere}
.passkey-device small{display:block;font-size:12px;color:#5f6368;margin-top:5px}
.passkey-device .button{flex-shrink:0;min-height:44px}
.passkey-empty{border:1px dashed #dce3ed;border-radius:12px;padding:20px;font-size:14px;color:#5f6368}
.face-id-link{display:inline-flex;align-items:center;justify-content:center}
@media(max-width:760px){
  html{-webkit-text-size-adjust:100%;scroll-padding-top:20px}
  body{overflow-wrap:break-word}
  .topbar,.auth-header{padding:14px max(16px,env(safe-area-inset-left));gap:12px;flex-wrap:wrap}
  .topbar .brand{font-size:20px;gap:10px}.brand small{font-size:8px;letter-spacing:1px}
  .topbar-right{gap:4px;flex-wrap:wrap;justify-content:flex-end}
  .topbar-right .private-pill{display:none}
  .signout{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:10px;font-size:12px;border-radius:10px}
  .face-id-link{background:#e8f0fe;color:#0b57d0;font-weight:600}
  .topbar-right form{margin:0}
  .dashboard{padding:24px max(12px,env(safe-area-inset-left)) max(28px,env(safe-area-inset-bottom));width:100%}
  .heading-row{display:block}.page-heading h1{font-size:30px;letter-spacing:-1px;margin:10px 0}
  .page-heading p{font-size:14px;margin-bottom:18px}.heading-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:20px}
  button.button,a.button,.text-button,.dialog-close,.sent-message-close,.section-button,.review-button{min-height:44px}
  .button.small{font-size:12px;padding:10px 12px;justify-content:center}
  .text-button{padding:10px 4px;font-size:12px}.button.primary{justify-content:center;gap:12px}
  input:not([type=checkbox]):not([type=hidden]),select,textarea,dialog input:not([type=checkbox]):not([type=hidden]),dialog select,dialog textarea,.table-toolbar input,.table-toolbar select{font-size:16px;min-height:46px}
  input[type=checkbox]{width:20px;height:20px;flex-shrink:0;accent-color:#0b57d0}
  .stats-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:16px}
  .stat-card{padding:16px;min-width:0}.stat-card .eyebrow{font-size:9px;letter-spacing:.8px}
  .stat-card strong{font-size:28px;margin:8px 0}.stat-card small{font-size:12px}
  .crawl-banner{padding:16px;gap:12px;align-items:flex-start;flex-wrap:wrap;margin-bottom:18px}
  .crawl-copy{flex:1;min-width:0}.crawl-controls{flex:1 0 100%;max-width:100%;text-align:left;padding-left:0;margin-left:0}
  .schedule-label{font-size:12px;overflow-wrap:anywhere}
  .panel-heading{padding:16px;gap:12px;align-items:flex-start;flex-wrap:wrap}
  .panel-heading>div{min-width:0;flex:1 1 190px}.panel-heading h2{font-size:16px}.panel-heading p{font-size:12px}
  .count-label{display:inline-block}.email-health-panel{margin-bottom:18px}
  .ses-panel-actions{width:100%;gap:8px}.ses-panel-actions .button{flex:1;min-width:110px;font-size:12px}
  .ses-health-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.ses-health-card{padding:12px}
  .ses-health-card strong{font-size:19px}.ses-health-card span,.ses-health-card small{font-size:11px}
  .ses-panel-body{padding:0 16px 16px}.ses-panel-body>.muted{font-size:12px}
  .ses-delivery-counts{display:grid;grid-template-columns:1fr 1fr;gap:10px}
  .lead-sections{display:grid;grid-template-columns:1fr 1fr;padding:14px 12px;gap:8px}
  .lead-sections .section-button{justify-content:center;font-size:13px;padding:10px;border-radius:10px;margin:0}
  .table-toolbar{padding:12px;gap:10px;flex-wrap:wrap}
  .table-toolbar input{width:100%;flex:1 0 100%;min-width:0}
  .table-toolbar select{flex:1 1 100%;width:100%;max-width:none;min-width:0}
  .bulk-toolbar{display:flex;flex-wrap:wrap;padding:12px;gap:8px;align-items:center}
  .select-all-label{min-height:44px;display:flex;align-items:center;gap:10px;font-size:13px;flex:1}
  #selected-count{font-size:12px}.bulk-toolbar .button{flex:1 1 40%;font-size:12px;white-space:normal}
  .bulk-hint{width:100%;font-size:12px}.bulk-results{overflow-wrap:anywhere}
  .leads-panel .table-scroll{overflow:visible;max-height:none;padding:12px 8px}
  .leads-table,.leads-table tbody{display:block;width:100%;min-width:0}
  .leads-table .business-row{grid-template-columns:repeat(2,minmax(0,1fr));padding:16px 14px 6px;gap:14px 12px}
  .leads-table .business-row>td{min-width:0;max-width:none;padding:0;position:static;overflow-wrap:anywhere}
  .leads-table .business-row>td:first-child{grid-column:1/-1;min-width:0}
  .leads-table .business-row>td:nth-child(3){grid-column:1/-1}
  .leads-table .lead-name{font-size:17px;line-height:1.4;max-width:none;min-height:44px;margin:0;display:flex;align-items:center}
  .leads-table .site-link{font-size:13px;min-height:32px;overflow-wrap:anywhere}
  .leads-table .business-row>td:before{font-size:10px;letter-spacing:.6px;margin-bottom:6px}
  .leads-table .contact-link{font-size:14px;line-height:1.5;min-height:32px;margin-bottom:2px}
  .signal{font-size:11px;max-width:100%;width:fit-content;white-space:normal}.score{font-size:12px}
  .leads-table .review-button{font-size:12px;padding:10px 12px;white-space:normal}.date-cell{font-size:11px;margin-top:6px}
  .leads-table .draft-button{min-height:44px;font-size:12px;padding:10px 12px;width:100%;white-space:normal}
  .leads-table .business-social-row>td{min-width:0;max-width:none;padding:8px 14px 16px;position:static}
  .social-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;padding-top:14px}
  .social-column{min-width:0}.social-column:last-child{grid-column:1/-1}
  .social-label{font-size:10px}.social-links{gap:6px;flex-wrap:wrap}.social-chip{min-height:38px;font-size:12px;padding:8px 10px;max-width:100%;overflow-wrap:anywhere}
  .table-footer{padding:16px;flex-direction:column;gap:8px;font-size:12px}
  .bottom-grid{grid-template-columns:1fr;gap:16px;margin-top:18px}.method-card{padding:20px}.activity-list{padding:4px 16px 16px}
  .activity-item{flex-wrap:wrap;gap:6px;font-size:12px}.dashboard-footer{font-size:10px;gap:8px}
  dialog{width:calc(100% - 20px);max-width:calc(100% - 20px);max-height:calc(100dvh - 24px);padding:20px 16px;border-radius:18px;overscroll-behavior:contain;scroll-padding:16px}
  dialog h2{font-size:20px;overflow-wrap:anywhere}.dialog-close,.sent-message-close{width:44px;min-width:44px;height:44px;flex-shrink:0}
  .dialog-heading{gap:10px}.dialog-actions,.bulk-dialog-actions{flex-wrap:wrap;gap:10px}
  .dialog-actions .button,.bulk-dialog-actions .button{flex:1;white-space:normal;min-width:100px}
  .compose-dialog{padding:0}.compose-title{padding:12px 16px;gap:12px}.compose-context{padding:12px 16px}
  .compose-field{padding:10px 16px;align-items:flex-start}.compose-field label{min-width:48px;padding-top:10px}
  .compose-field input{min-width:0;width:100%;font-size:16px}.compose-dialog #compose-body{font-size:16px;padding:16px;min-height:200px;line-height:1.6}
  .compose-schedule{padding:12px 16px;flex-wrap:wrap;gap:8px}.compose-schedule input{width:100%;max-width:100%}
  .compose-actions{flex-wrap:wrap;gap:8px;padding:14px 16px max(14px,env(safe-area-inset-bottom))}.compose-actions .button{flex:1}
  .compose-info{padding:10px 16px}.settings-dialog .check-label{gap:10px;align-items:flex-start;min-height:44px;font-size:14px}
  .settings-dialog .check-label input{margin-top:2px}.settings-dialog p.muted{font-size:13px}
  .sent-message-dialog{padding:0;max-height:calc(100dvh - 24px)}
  .sent-message-content{max-height:calc(100dvh - 210px);padding:16px}.sent-message-body{font-size:14px}
  .sent-message-header{padding:14px 16px}.sent-message-footer{padding:12px 16px;gap:8px;flex-wrap:wrap}
  .sent-email-row{padding:16px;min-width:0}.sent-email-content,.sent-recipient{overflow-wrap:anywhere;min-width:0}
  .sent-pagination{gap:8px;flex-wrap:wrap;font-size:12px}
  .auth-layout{display:flex;flex-direction:column;padding:24px 16px 32px;gap:20px;min-height:auto}
  .auth-story h1{font-size:32px;letter-spacing:-1.2px;margin:12px 0}.auth-story p{font-size:14px;margin:10px 0}
  .auth-story .story-line,.auth-story .domain-tag{display:none}
  .auth-card{width:100%;padding:24px 20px;border-radius:18px}.auth-card>p{font-size:14px;margin-bottom:20px}
  .auth-card .code-input{font-size:26px;min-height:60px}.auth-card .button{min-height:48px}.auth-secondary{gap:10px;flex-wrap:wrap}
  .auth-footer{flex-wrap:wrap;padding:18px 16px max(18px,env(safe-area-inset-bottom))}
  .passkey-workspace{padding:28px 16px max(32px,env(safe-area-inset-bottom))}.passkey-workspace h1{font-size:30px}
  .passkey-panel{padding:22px 18px;margin:16px 0;border-radius:18px}.passkey-panel .button{min-height:48px}
  .passkey-device{align-items:flex-start;gap:12px}.passkey-device small{font-size:11px}
}
@media(max-width:420px){
  .topbar .brand{width:100%}.topbar-right{width:100%;justify-content:space-between}
  .topbar-right .signout{padding:10px 14px}.passkeys-page .topbar .brand{width:auto;font-size:18px}
  .passkeys-page .topbar>.button{width:100%}
  .auth-header .private-pill{font-size:10px;padding:5px 8px}.auth-header .brand{font-size:18px;gap:8px}
  .stat-card{padding:13px}.stat-card small{font-size:11px}
}

@media(max-width:760px){.social-column .contact-link{display:inline-flex;align-items:center;min-height:38px;padding:8px 10px;font-size:12px;max-width:100%;overflow-wrap:anywhere}.social-column .social-label{flex:1 0 100%}.lead-select-heading{align-items:center;min-width:0}.lead-select-heading .lead-name{min-width:0;flex:1}.lead-checkbox{margin:0}}
