.gmap-settings-link { color:var(--blue, #238bdf); text-decoration:none; }
a.nav-item.gmap-settings-link { color:inherit; }
.device-product-tabs { display:flex; flex-wrap:wrap; gap:8px; margin:0 0 16px; }
.device-product-tabs [role="tab"] { display:inline-flex; align-items:center; gap:8px; min-height:42px; padding:9px 18px; border:1px solid var(--line); border-radius:12px; color:var(--muted); background:var(--surface); }
.device-product-tabs [aria-selected="true"] { color:var(--text); border-color:var(--blue, #238bdf); box-shadow:inset 0 -2px var(--blue, #238bdf); }
.device-product-tabs [role="tab"]:focus-visible { outline:2px solid var(--blue, #238bdf); outline-offset:3px; }
#gmapDeviceCount { font-size:11px; background:var(--surface-2); padding:2px 7px; border-radius:6px; }
#gmodelerDevicePanel[hidden], #gmapDevicePanel[hidden], #gmapDeviceError[hidden] { display:none; }
.gmap-help { font-size:12px; color:var(--muted); line-height:1.6; margin:0 0 16px; }
#gmapDeviceError { padding:12px; margin-bottom:12px; border:1px solid #cb753f; border-radius:10px; }
.gmap-device-list { display:grid; gap:10px; }
.gmap-device-card { display:grid; grid-template-columns:minmax(160px,1.2fr) minmax(160px,1fr) minmax(160px,1fr) auto; align-items:center; gap:16px; padding:16px; border:1px solid var(--line-soft); border-radius:14px; background:var(--surface); }
.gmap-device-card > div { display:flex; flex-direction:column; align-items:flex-start; gap:7px; min-width:0; }
.gmap-device-card strong, .gmap-device-card small { overflow-wrap:anywhere; }
.gmap-device-card small, .gmap-field-label { color:var(--muted); font-size:12px; }
.gmap-device-card code { color:var(--blue, #238bdf); font-size:12px; }
.gmap-product-pair { display:flex; flex-wrap:wrap; gap:6px; }
.gmap-product-badge, #devices .gmap-product-badge { display:inline-flex; align-items:center; gap:5px; padding:5px 8px; font-size:10px; border-radius:7px; line-height:1.5; color:var(--text); background:var(--surface-2); text-decoration:none; white-space:normal; overflow-wrap:anywhere; }
.gmap-product-badge.gmap-present, #devices .gmap-product-badge.gmap-present { color:#087457; background:#25ba9220; border:1px solid #25ba9240; }
body:not(.light-theme) .gmap-product-badge.gmap-present { color:#63d8b3; }
.gmap-product-badge.gmap-warning { color:var(--muted); }
.gmap-contact { display:inline-flex; align-items:center; gap:6px; font-size:12px; color:var(--muted); }
.gmap-contact.recent { color:#087457; }
body:not(.light-theme) .gmap-contact.recent { color:#63d8b3; }
.gmap-device-card a { font-size:12px; }
@media(max-width:1200px) { .gmap-device-card { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:560px) { .gmap-device-card { grid-template-columns:minmax(0,1fr); gap:12px; } .device-product-tabs [role="tab"] { flex:1; justify-content:center; } }
