#garmin-modal{z-index:10080;background:var(--modal-overlay,rgba(2,6,23,.62));padding:0}
#garmin-modal .garmin-shell{width:min(760px,100%);height:min(94vh,900px);margin:auto;background:var(--card-bg,#111827);color:var(--text-primary,#f8fafc);border:1px solid var(--border-color,#334155);border-radius:22px;display:flex;flex-direction:column;overflow:hidden;box-shadow:0 24px 70px rgba(0,0,0,.35)}
.garmin-head{display:flex;align-items:center;gap:10px;padding:13px 15px;border-bottom:1px solid var(--border-color,#334155);min-height:62px}.garmin-head-copy{flex:1;min-width:0}.garmin-head h2{font-size:18px;margin:0}.garmin-head p{font-size:11px;opacity:.68;margin:2px 0 0}.garmin-body{padding:14px;overflow:auto;flex:1}.garmin-view[hidden]{display:none!important}
.garmin-hero{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 13px;border:1px solid var(--border-color,#334155);border-radius:14px;margin-bottom:12px;background:color-mix(in srgb,var(--card-bg,#111827) 88%,var(--accent-color,#3b82f6) 12%)}.garmin-hero strong{font-size:13px;display:block}.garmin-hero small{font-size:11px;opacity:.7;display:block;margin-top:2px}.garmin-pill{font-size:10px;font-weight:700;padding:5px 8px;border-radius:999px;border:1px solid currentColor;white-space:nowrap}.garmin-pill.ok{color:#22c55e}.garmin-pill.warn{color:#f59e0b}
.garmin-home-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.garmin-home-card{min-height:132px;padding:16px;text-align:left;border:1px solid var(--border-color,#334155);border-radius:16px;background:var(--surface-2,var(--card-bg,#111827));color:inherit}.garmin-home-card .material-symbols-rounded{font-size:29px;margin-bottom:17px}.garmin-home-card strong{display:block;font-size:15px}.garmin-home-card small{display:block;font-size:11px;opacity:.66;margin-top:5px;line-height:1.4}
.garmin-toolbar{display:flex;gap:8px;align-items:center;margin-bottom:12px;flex-wrap:wrap}.garmin-toolbar .spacer{flex:1}.garmin-compact-btn{height:38px;padding:0 12px;border-radius:10px;border:1px solid var(--border-color,#334155);background:transparent;color:inherit;font-weight:650;display:inline-flex;align-items:center;gap:6px}.garmin-compact-btn.primary{background:var(--primary,#2563eb);color:#fff;border-color:transparent}.garmin-list{display:flex;flex-direction:column;gap:8px}.garmin-item{border:1px solid var(--border-color,#334155);border-radius:14px;padding:11px 12px;background:var(--surface-2,var(--card-bg,#111827));display:flex;align-items:center;gap:11px}.garmin-item-main{min-width:0;flex:1}.garmin-item strong{display:block;font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.garmin-item small{display:block;font-size:10.5px;opacity:.65;margin-top:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.garmin-actions{display:flex;gap:5px}.garmin-icon-btn{width:34px;height:34px;border:1px solid var(--border-color,#334155);border-radius:9px;background:transparent;color:inherit;display:grid;place-items:center}.garmin-icon-btn .material-symbols-rounded{font-size:18px}.garmin-code-preview{width:44px;height:44px;border-radius:8px;background:#fff;border:1px solid #cbd5e1;display:grid;place-items:center;color:#111;font-size:9px;font-weight:800}
.garmin-empty{text-align:center;padding:36px 20px;border:1px dashed var(--border-color,#334155);border-radius:15px;opacity:.76}.garmin-empty .material-symbols-rounded{font-size:34px;display:block;margin-bottom:8px}.garmin-empty b{font-size:13px}.garmin-empty p{font-size:11px;margin:5px 0 0}
.garmin-form{display:grid;gap:10px}.garmin-form-row{display:grid;grid-template-columns:1fr 1fr;gap:10px}.garmin-field label{display:block;font-size:10.5px;font-weight:700;opacity:.78;margin:0 0 5px}.garmin-field input,.garmin-field select,.garmin-field textarea{width:100%;box-sizing:border-box;border:1px solid var(--border-color,#334155);border-radius:10px;background:var(--input-bg,#0f172a);color:inherit;min-height:40px;padding:9px 10px;font:inherit;font-size:12px}.garmin-field textarea{min-height:74px;resize:vertical}.garmin-field small{display:block;font-size:10px;opacity:.58;margin-top:4px}.garmin-scan-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}.garmin-note{padding:9px 10px;border-radius:10px;border:1px solid var(--border-color,#334155);font-size:10.5px;line-height:1.45;opacity:.82}.garmin-note.warning{border-color:#f59e0b;color:#fbbf24}.garmin-check{display:flex;gap:8px;align-items:center;font-size:12px}.garmin-lock-status{display:inline-flex;padding:3px 7px;border-radius:99px;border:1px solid var(--border-color,#334155);font-size:9px;text-transform:uppercase;font-weight:800;letter-spacing:.05em}.garmin-lock-status.locked{color:#22c55e}.garmin-lock-status.unlocked{color:#f59e0b}.garmin-lock-status.error{color:#ef4444}
@media(max-width:600px){#garmin-modal .garmin-shell{height:100%;border-radius:0;border-left:0;border-right:0}.garmin-home-grid,.garmin-form-row,.garmin-scan-actions{grid-template-columns:1fr}.garmin-body{padding:11px}.garmin-item{padding:10px}.garmin-head{padding:11px 12px}}

/* V329 Garmin companion polish: Android safe-area ownership + explicit code types. */
#garmin-modal .garmin-head{
  padding-top:calc(13px + var(--android-inset-top,env(safe-area-inset-top,0px)));
  padding-left:max(15px,var(--android-inset-left,env(safe-area-inset-left,0px)));
  padding-right:max(15px,var(--android-inset-right,env(safe-area-inset-right,0px)));
}
#garmin-modal .garmin-body{
  padding-bottom:calc(14px + var(--android-inset-bottom,env(safe-area-inset-bottom,0px)));
}
.garmin-code-preview{
  width:58px;
  height:48px;
  padding:4px;
  box-sizing:border-box;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:2px;
  flex:0 0 auto;
}
.garmin-code-preview .material-symbols-rounded{font-size:20px;line-height:1}
.garmin-code-preview span:last-child{font-size:8px;line-height:1;font-weight:900;letter-spacing:.04em}
.garmin-code-type-badge{
  display:inline-flex;
  align-items:center;
  gap:4px;
  margin-top:5px;
  padding:3px 7px;
  border:1px solid currentColor;
  border-radius:999px;
  font-size:9px;
  font-weight:900;
  letter-spacing:.055em;
  line-height:1;
  text-transform:uppercase;
}
.garmin-code-type-badge.qr{color:#22c55e}
.garmin-code-type-badge.bar{color:#60a5fa}
.garmin-code-meta{margin-top:5px!important;white-space:normal!important;line-height:1.35}
.garmin-bridge-version{margin-top:4px!important;opacity:.56!important}
@media(max-width:600px){
  #garmin-modal .garmin-shell{height:100dvh;max-height:100dvh}
  #garmin-modal .garmin-head{
    padding-top:calc(11px + var(--android-inset-top,env(safe-area-inset-top,0px)));
    padding-left:max(12px,var(--android-inset-left,env(safe-area-inset-left,0px)));
    padding-right:max(12px,var(--android-inset-right,env(safe-area-inset-right,0px)));
  }
  #garmin-modal .garmin-body{
    padding-bottom:calc(18px + var(--android-inset-bottom,env(safe-area-inset-bottom,0px)));
  }
}

/* V330 live Garmin connection + sync state */
.garmin-connection-copy{display:flex;align-items:flex-start;gap:9px;min-width:0;flex:1}.garmin-connection-dot{width:10px;height:10px;border-radius:50%;margin-top:4px;flex:0 0 auto;box-shadow:0 0 0 3px rgba(245,158,11,.12);background:#f59e0b}.garmin-connection-dot.ok{background:#22c55e;box-shadow:0 0 0 3px rgba(34,197,94,.13)}.garmin-connection-dot.warn{background:#f59e0b}
.garmin-sync-card{border:1px solid var(--border-color,#334155);border-radius:14px;padding:11px 12px;margin-bottom:12px;background:var(--surface-2,var(--card-bg,#111827))}.garmin-sync-card.ok{border-color:color-mix(in srgb,#22c55e 55%,var(--border-color,#334155))}.garmin-sync-card.error{border-color:#ef4444}.garmin-sync-card.active{border-color:color-mix(in srgb,var(--primary,#2563eb) 60%,var(--border-color,#334155))}.garmin-sync-head{display:flex;align-items:flex-start;gap:10px;justify-content:space-between}.garmin-sync-head strong{display:block;font-size:12.5px}.garmin-sync-head small{display:block;font-size:10px;opacity:.68;margin-top:3px;line-height:1.35}.garmin-sync-head>span{font-size:9px;font-weight:900;letter-spacing:.05em;border:1px solid var(--border-color,#334155);padding:3px 6px;border-radius:999px;white-space:nowrap}.garmin-sync-track{height:5px;background:color-mix(in srgb,var(--border-color,#334155) 58%,transparent);border-radius:99px;overflow:hidden;margin-top:9px}.garmin-sync-track i{display:block;height:100%;width:0;background:var(--primary,#2563eb);transition:width .22s ease}.garmin-sync-meta{display:flex;justify-content:space-between;gap:10px;font-size:9.5px;opacity:.62;margin-top:6px}.garmin-sync-actions{display:flex;gap:7px;flex-wrap:wrap;margin-top:10px}.garmin-inline-sync{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 10px;border:1px solid var(--border-color,#334155);border-radius:10px;margin-bottom:10px;background:var(--surface-2,var(--card-bg,#111827))}.garmin-inline-sync>div{min-width:0}.garmin-inline-sync strong{display:block;font-size:10px}.garmin-inline-sync small{display:block;font-size:9.5px;opacity:.64;margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.garmin-inline-sync>span{font-size:9.5px;font-weight:800;white-space:nowrap}.garmin-inline-sync.ok{border-color:color-mix(in srgb,#22c55e 55%,var(--border-color,#334155))}.garmin-inline-sync.error{border-color:#ef4444}.garmin-inline-sync.active{border-color:color-mix(in srgb,var(--primary,#2563eb) 60%,var(--border-color,#334155))}
@media(max-width:600px){.garmin-hero{align-items:flex-start}.garmin-sync-actions .garmin-compact-btn{flex:1 1 auto;justify-content:center}.garmin-toolbar small{width:100%;margin-top:2px}.garmin-inline-sync small{max-width:230px}}
