.pilot-login { min-height:100dvh; display:grid; place-items:center; padding:28px; }
.pilot-login > section { width:100%; max-width:420px; padding:38px; border:1px solid var(--line); border-radius:20px; background:white; box-shadow:var(--shadow); }
.pilot-login .brand { padding:0; margin-bottom:32px; }
.pilot-login .brand { color:#092938; }
.pilot-login .brand > .brand-mark { display:none; }
.pilot-login .brand > span:last-child { text-transform:lowercase; }
.pilot-login .brand-dot { color:#16aaa6; }
.pilot-login h1 { margin:8px 0 25px; font-size:26px; }
.pilot-login form { display:grid; gap:18px; }
.pilot-login .field { margin:0; }
.pilot-access-note { color:var(--muted); font-size:12px; margin-top:20px; }
.pilot-auth-actions { display:flex; justify-content:space-between; gap:15px; margin-top:20px; font-size:12px; color:var(--petrol); }
.pilot-team-section { margin-top:28px; }
.pilot-team-section h2 { font-size:18px; margin-bottom:14px; }
.pilot-team-section-heading { display:flex; justify-content:space-between; align-items:center; gap:15px; margin-bottom:14px; }
.pilot-team-section-heading h2 { margin:0; }
.pilot-members,.pilot-invitations { display:grid; gap:12px; }
.pilot-invitation-modal { width:min(780px, calc(100vw - 32px)); }
.pilot-invitation-modal .pilot-invitation { flex-wrap:wrap; }
.pilot-member,.pilot-invitation { display:flex; align-items:center; gap:16px; background:white; padding:18px 20px; border:1px solid var(--line); border-radius:14px; }
.pilot-member-copy { flex:1; min-width:0; display:grid; gap:4px; overflow-wrap:anywhere; }
.pilot-member-copy > span,.pilot-member-copy > small { color:var(--muted); font-size:12px; }
.pilot-permissions { margin:20px 0; padding:14px; border:1px solid var(--line); border-radius:12px; display:grid; gap:12px; }
.pilot-permissions[hidden] { display:none; }
.pilot-permissions legend { padding:0 5px; font-weight:600; }
.pilot-permissions label,.pilot-active-toggle { display:flex; align-items:center; gap:9px; font-size:13px; }
.pilot-permissions input,.pilot-active-toggle input { accent-color:var(--petrol); width:17px; height:17px; }
.pilot-bar .view-switch { flex-wrap:wrap; }
.clinic-readonly { padding:10px 24px; background:#fff7e6; border-bottom:1px solid #eadfc5; color:#755f32; text-align:center; font-size:13px; }
.clinic-usage { background:white; border:1px solid var(--line); border-radius:16px; padding:24px; margin:8px 0 24px; }
.clinic-package-heading { display:flex; justify-content:space-between; align-items:start; gap:18px; padding-bottom:20px; border-bottom:1px solid var(--line); }
.clinic-package-heading > div { display:grid; gap:5px; }
.clinic-package-heading strong { font-size:20px; }
.clinic-package-heading span { font-size:12px; color:var(--muted); }
.clinic-package-state { padding:4px 10px; border:1px solid var(--line); border-radius:20px; }
.clinic-usage-grid { display:grid; grid-template-columns:1fr 1fr; gap:32px; padding-top:20px; }
.clinic-usage-count > div:first-child { display:flex; justify-content:space-between; align-items:center; }
.clinic-usage-count h2 { font-size:15px; margin:0; }
.clinic-usage-count strong { font-size:22px; }
.clinic-usage-count small { color:var(--muted); font-size:13px; font-weight:400; }
.clinic-usage-meter { height:5px; border-radius:6px; background:var(--line); margin:12px 0 10px; overflow:hidden; }
.clinic-usage-meter i { display:block; height:100%; background:var(--petrol); border-radius:6px; }
.clinic-usage-count p { display:flex; justify-content:space-between; gap:8px; font-size:12px; color:var(--muted); }
.clinic-usage.compact { padding:18px 20px; }
.clinic-usage.compact .clinic-package-heading strong { font-size:16px; }
.clinic-directory-filter { display:flex; gap:6px; margin:0 0 18px; }
.clinic-directory-filter button { padding:8px 18px; border:1px solid var(--line); border-radius:9px; background:white; }
.clinic-directory-filter button.active { color:var(--petrol); border-color:#b0d5ce; background:var(--mint-light); }
.clinic-archived { margin-left:10px; font-size:11px; color:var(--muted); font-weight:400; }
.pilot-error { color:var(--danger); }
.pilot-notice { display:flex; align-items:center; justify-content:center; gap:16px; padding:10px 24px; background:#fff9ed; border-bottom:1px solid var(--line); }
.pilot-notice button { text-decoration:underline; text-underline-offset:3px; }
.pilot-user { display:flex; gap:16px; align-items:center; }
.pilot-user button { text-decoration:underline; text-underline-offset:3px; padding:6px; }
.pilot-working { position:fixed; z-index:200; bottom:24px; left:50%; transform:translateX(-50%); padding:12px 24px; border-radius:12px; background:var(--ink); color:white; box-shadow:var(--shadow); }
.pilot-records { max-width:1240px; margin:auto; }
.pilot-record-controls { display:flex; align-items:end; justify-content:space-between; gap:24px; padding:20px; border:1px solid var(--line); border-radius:16px; background:white; }
.pilot-record-controls label { display:grid; gap:7px; font-size:12px; color:var(--muted); }
.pilot-record-controls select { min-width:240px; }
.pilot-record-controls select,.pilot-date-control input { padding:10px 12px; border:1px solid var(--line); border-radius:9px; background:white; }
.pilot-date-control { display:flex; align-items:center; gap:8px; }
.pilot-record-heading { display:flex; justify-content:space-between; gap:16px; align-items:center; padding:30px 0 16px; }
.pilot-record-heading h2 { font-size:20px; }
.pilot-record-heading > span { color:var(--muted); }
.pilot-record-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; }
.pilot-record { align-self:start; overflow:hidden; }
.pilot-record-foods { margin:0; padding:10px 22px; list-style:none; }
.pilot-record-foods li { display:flex; align-items:center; gap:12px; padding:10px 0; }
.pilot-record-foods li > div { display:grid; gap:3px; }
.pilot-record-foods small { color:var(--muted); font-size:12px; }
.pilot-food-mark { color:#b4c1ba; }
.pilot-food-mark.checked { color:var(--petrol); }
.pilot-food-mark .icon { width:17px; height:17px; }
.pilot-record-status { margin-left:auto; font-size:12px; color:var(--muted); }
.pilot-record-note { display:flex; align-items:start; gap:10px; margin:0 22px 18px; padding:12px; border-radius:10px; background:var(--canvas); }
.pilot-record-note .icon { flex-shrink:0; width:17px; margin-top:2px; }
.pilot-record-note p { white-space:pre-wrap; overflow-wrap:anywhere; }
.pilot-record-photos { display:flex; gap:10px; flex-wrap:wrap; padding:0 22px 20px; }
.pilot-record-photos button { width:105px; height:105px; border-radius:10px; overflow:hidden; }
.pilot-record-photos img { width:100%; height:100%; object-fit:cover; }
.pilot-no-record { padding:0 22px 20px; color:var(--muted); font-size:12px; }
@media(max-width:700px) {
  .pilot-bar { flex-wrap:wrap; gap:8px; padding:10px 16px; }
  .pilot-bar .view-switch { order:3; width:100%; }
  .pilot-bar .view-switch button { flex:1; padding:7px; }
  .pilot-record-controls { align-items:stretch; flex-direction:column; gap:15px; }
  .pilot-record-controls select { width:100%; min-width:0; }
  .pilot-record-heading { align-items:start; flex-direction:column; gap:6px; }
  .pilot-record-grid { grid-template-columns:1fr; }
  .pilot-login > section { padding:25px; }
  .pilot-member,.pilot-invitation { align-items:start; flex-wrap:wrap; }
  .clinic-usage-grid { grid-template-columns:1fr; gap:22px; }
  .pilot-member .actions { flex-wrap:wrap; }
}
