/* CrewProof dashboard — field-first extension of the Apple design system. */
.dashboard-main{padding-top:40px;padding-bottom:72px}
.dashboard-intro{max-width:780px;margin:0 auto 32px;text-align:center}
.dashboard-intro h1{font-size:clamp(2.25rem,5vw,4rem);line-height:1.05;letter-spacing:-.022em;margin-bottom:16px}
.dashboard-intro p:not(.eyebrow){font-size:21px;color:var(--text-2);line-height:1.45}
.dashboard-intro .eyebrow{text-align:center}
.connection-card{display:grid;grid-template-columns:minmax(230px,.8fr) minmax(320px,1.35fr);gap:28px;align-items:start;margin-bottom:18px}
.connection-copy h2{font-size:28px;line-height:1.15;letter-spacing:-.02em;text-align:left;margin:8px 0 10px}
.connection-copy p{color:var(--text-2);font-size:16px}
.connection-state{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--text-2)!important}
.status-dot{width:10px;height:10px;border-radius:50%;background:#b9b9be;flex:0 0 auto}
.status-dot.connected{background:#0071e3}
.connection-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.connection-form label,.stack-form label,.inline-form label,.search-label{font-size:14px;font-weight:600;color:var(--text);display:flex;flex-direction:column;gap:7px}
.connection-form label:first-child{grid-column:1/-1}
input,select,textarea{
  width:100%;min-height:48px;border:1px solid rgba(0,0,0,.16);border-radius:12px;
  background:#fff;color:var(--text);font:inherit;font-size:16px;font-weight:400;
  padding:11px 13px;outline:none;
}
textarea{min-height:96px;resize:vertical}
input:focus,select:focus,textarea:focus{border-color:var(--blue);box-shadow:0 0 0 4px rgba(0,113,227,.14)}
.checkline{flex-direction:row!important;align-items:center;gap:10px!important;align-self:end;min-height:48px}
.checkline input{width:22px;height:22px;min-height:22px;accent-color:var(--blue)}
.form-actions{display:flex;gap:10px;align-items:end;justify-content:flex-end}
.form-actions .btn{margin:0;min-height:48px}
.privacy-note{grid-column:1/-1;font-size:13px;color:var(--text-2);border-top:1px solid rgba(0,0,0,.08);padding-top:14px}
.hidden{display:none!important}
.dash-nav{
  position:sticky;top:65px;z-index:20;display:flex;gap:6px;overflow-x:auto;
  padding:8px;margin:18px 0 24px;background:rgba(245,245,247,.92);
  -webkit-backdrop-filter:saturate(180%) blur(18px);backdrop-filter:saturate(180%) blur(18px);
  border-radius:980px;scrollbar-width:none;
}
.dash-nav::-webkit-scrollbar{display:none}
.dash-nav a{flex:1 0 auto;text-align:center;color:var(--text);font-size:14px;font-weight:600;padding:10px 16px;border-radius:980px;text-decoration:none}
.dash-nav a:hover{text-decoration:none;background:rgba(0,0,0,.05)}
.dash-nav a.active{background:var(--text);color:#fff}
.app-alert{border-radius:14px;padding:16px 18px;margin:0 0 22px;font-size:15px;background:var(--bg-alt);color:var(--text)}
.app-alert.success{background:#eaf6ee;color:#174d27}
.app-alert.error{background:#fdecec;color:#6d1717}
.app-alert.info{background:#edf5ff;color:#174f86}
.kpi-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin-bottom:24px}
.kpi-card{padding:24px;min-height:150px}
.kpi-card strong{display:block;font-size:42px;line-height:1;letter-spacing:-.03em;margin:8px 0 10px}
.kpi-card p{font-size:14px;color:var(--text-2)}
.dashboard-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;align-items:start}
.dashboard-grid.form-grid{grid-template-columns:minmax(320px,.85fr) minmax(0,1.35fr)}
.panel{min-width:0}
.panel h2{font-size:28px;line-height:1.15;letter-spacing:-.02em;text-align:left;margin-bottom:18px}
.panel-heading{display:flex;justify-content:space-between;align-items:start;gap:18px;margin-bottom:18px}
.panel-heading h2{margin-bottom:0}
.small-btn{padding:9px 18px!important;min-height:42px;margin:0!important;font-size:14px}
.record-list{display:flex;flex-direction:column;gap:12px}
.record-card{border:1px solid rgba(0,0,0,.08);border-radius:16px;padding:18px;background:#fff}
.record-card h3{font-size:18px;line-height:1.25;margin:0 0 6px}
.record-card p{font-size:15px;color:var(--text-2)}
.record-card .meta{display:flex;flex-wrap:wrap;gap:7px;margin-top:12px}
.record-card .actions-row{display:flex;flex-wrap:wrap;gap:10px;align-items:end;margin-top:14px}
.record-card .actions-row label{font-size:13px;font-weight:600;display:flex;flex-direction:column;gap:6px}
.record-card .actions-row input{min-height:42px}
.chip{display:inline-flex;align-items:center;border-radius:980px;padding:4px 10px;background:var(--bg-alt);color:var(--text-2);font-size:12px;font-weight:700;line-height:1.35}
.chip.good{background:#eaf6ee;color:#176534}
.chip.warn{background:#fff3cf;color:#6b4e00}
.chip.bad{background:#fdecec;color:#8a1c1c}
.chip.info{background:#edf5ff;color:#175b9c}
.empty-state{border:1px dashed rgba(0,0,0,.16);border-radius:14px;padding:20px;color:var(--text-2);font-size:15px;background:#fbfbfd}
.summary-list{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:20px}
.summary-list div{background:var(--bg-alt);border-radius:14px;padding:16px}
.summary-list dt{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--text-2)}
.summary-list dd{font-size:26px;font-weight:700;letter-spacing:-.02em;margin-top:4px}
.inline-form{display:flex;gap:12px;align-items:end;flex-wrap:wrap;margin:16px 0}
.inline-form label{flex:1 1 210px}
.inline-form .btn{margin:0;min-height:48px}
.notice.compact{margin:16px 0}
.notice.compact span{display:block;margin-top:4px}
.quick-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.quick-grid a{display:block;background:var(--bg-alt);border-radius:16px;padding:20px;color:var(--text)}
.quick-grid a:hover{text-decoration:none;background:#e8e8ed}
.quick-grid strong{display:block;font-size:18px;margin-bottom:5px}
.quick-grid span{color:var(--text-2);font-size:15px}
.stack-form{display:flex;flex-direction:column;gap:15px}
.stack-form .btn{margin:4px 0 0;min-height:48px}
.form-two{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.field-help{font-weight:400;color:var(--text-2)}
.search-label{min-width:210px}
.search-label input,.search-label select{min-height:44px}
.status-strip{background:var(--bg-alt);border-radius:14px;padding:15px 17px;color:var(--text-2);font-size:15px;margin-bottom:16px}
.attendee-box{border:1px solid rgba(0,0,0,.1);border-radius:16px;padding:16px}
.attendee-box legend{font-weight:700;padding:0 6px}
.toolbar{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:12px}
.check-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
.check-card{display:flex!important;flex-direction:row!important;align-items:center;gap:10px!important;background:var(--bg-alt);border-radius:12px;padding:11px 12px;min-height:52px;cursor:pointer}
.check-card input{width:22px;height:22px;min-height:22px;accent-color:var(--blue)}
.check-card span{font-size:15px}
.check-card small{display:block;color:var(--text-2);font-weight:400}
.side-stack{display:flex;flex-direction:column;gap:24px;min-width:0}
.coverage-stats{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-bottom:16px}
.coverage-stats div{background:var(--bg-alt);border-radius:14px;padding:16px}
.coverage-stats strong{display:block;font-size:30px;line-height:1}
.coverage-stats span{font-size:13px;color:var(--text-2)}
.inspection-items{display:flex;flex-direction:column;gap:10px}
.inspection-item{display:grid;grid-template-columns:minmax(0,1fr) 150px;gap:14px;align-items:center;background:var(--bg-alt);border-radius:14px;padding:14px}
.inspection-item span{font-size:15px;font-weight:500}
.inspection-item select{min-height:44px}
.progress-line{height:8px;background:rgba(0,0,0,.08);border-radius:99px;overflow:hidden;margin-top:12px}
.progress-line i{display:block;height:100%;background:var(--blue);border-radius:99px}
.mono{font-family:var(--mono);font-size:.9em;overflow-wrap:anywhere}
@media (max-width:1000px){
  .kpi-grid{grid-template-columns:repeat(2,1fr)}
  .connection-card{grid-template-columns:1fr}
  .dashboard-grid,.dashboard-grid.form-grid{grid-template-columns:1fr}
}
@media (max-width:640px){
  .dashboard-main{padding-top:28px}
  .connection-form{grid-template-columns:1fr}
  .form-actions{justify-content:stretch}.form-actions .btn{flex:1}
  .dash-nav{top:58px;border-radius:18px}.dash-nav a{flex:0 0 auto}
  .kpi-grid,.quick-grid,.summary-list,.form-two,.check-grid{grid-template-columns:1fr}
  .panel-heading{flex-direction:column}.search-label{width:100%}
  .inspection-item{grid-template-columns:1fr}
  .record-card .actions-row{align-items:stretch}.record-card .actions-row label{flex:1}.record-card .actions-row .btn{width:100%}
}
