/* ptp mesh — gateway list & registry styles (scoped, Material-var based) */
:root{ --gw-accent:#00897b; --gw-live:#2e9e5b; --gw-dead:#9aa0ac; --gw-danger:#c0392b; }
[data-md-color-scheme="slate"]{ --gw-accent:#4db6ac; --gw-live:#4cc47c; --gw-dead:#6b7280; --gw-danger:#e57373; }

/* ---- shared ---- */
.gw-map{ height:340px; border-radius:12px; border:1px solid var(--md-default-fg-color--lightest); margin:14px 0 18px; z-index:0; }
.gw-note-loading{ color:var(--md-default-fg-color--light); font-size:.85rem; padding:8px 0; }
.gw-foot{ margin-top:18px; font-size:.78rem; color:var(--md-default-fg-color--light); }

/* ---- list table ---- */
.gw-tblwrap{ overflow-x:auto; border:1px solid var(--md-default-fg-color--lightest); border-radius:12px; }
.gw-tbl{ width:100%; border-collapse:collapse; font-size:.85rem; margin:0; }
.gw-tbl th,.gw-tbl td{ text-align:left; padding:10px 12px; border-bottom:1px solid var(--md-default-fg-color--lightest); vertical-align:middle; }
.gw-tbl tr:last-child td{ border-bottom:none; }
.gw-tbl th{ font-size:.72rem; color:var(--md-default-fg-color--light); font-weight:700; background:var(--md-default-fg-color--lightest); }
.gw-grp td{ background:color-mix(in srgb, var(--gw-accent) 12%, transparent); font-weight:800; color:var(--gw-accent); font-size:.78rem; }
.gw-name{ font-weight:700; }
.gw-badge{ display:inline-block; background:var(--gw-accent); color:#fff; border-radius:10px; font-size:.66rem; font-weight:800; padding:1px 7px; margin-left:6px; }
.gw-code{ font-family:ui-monospace,SFMono-Regular,Menlo,monospace; background:var(--md-code-bg-color); padding:1px 6px; border-radius:5px; font-size:.82em; }
.gw-sched{ display:inline-block; font-size:.72rem; font-weight:700; padding:2px 8px; border-radius:20px; background:var(--md-default-fg-color--lightest); color:var(--md-default-fg-color--light); }

/* ---- register form ---- */
.gw-form{ max-width:560px; }
.gw-form label{ display:block; margin:15px 0 4px; font-weight:700; font-size:.9rem; }
.gw-req{ color:var(--gw-accent); font-size:.72rem; margin-left:4px; }
.gw-hint{ font-weight:400; color:var(--md-default-fg-color--light); font-size:.76rem; margin:2px 0 6px; }
.gw-form input[type=text], .gw-form select{ width:100%; padding:10px 12px; border:1px solid var(--md-default-fg-color--lighter); border-radius:9px; font-size:.95rem; background:var(--md-default-bg-color); color:var(--md-default-fg-color); font-family:inherit; }
.gw-pin{ height:200px; border-radius:10px; border:1px solid var(--md-default-fg-color--lightest); margin-top:4px; z-index:0; }
.gw-coord{ font-size:.76rem; color:var(--md-default-fg-color--light); margin-top:6px; font-family:ui-monospace,Menlo,monospace; }
.gw-chk{ display:flex; gap:9px; align-items:flex-start; margin:16px 0 4px; font-size:.86rem; }
.gw-chk input{ margin-top:4px; flex:0 0 auto; }
.gw-btns{ display:flex; gap:9px; margin-top:18px; flex-wrap:wrap; }
.gw-btns button{ padding:11px 18px; border:none; border-radius:9px; font-weight:800; font-size:.92rem; cursor:pointer; }
.gw-b-save{ background:var(--gw-accent); color:#fff; }
.gw-b-cancel{ background:var(--md-default-fg-color--lightest); color:var(--md-default-fg-color); }
.gw-b-del{ background:transparent; color:var(--gw-danger); border:1px solid var(--gw-danger)!important; }
.gw-err{ color:var(--gw-danger); font-size:.84rem; margin-top:10px; display:none; }
.gw-out{ margin-top:18px; display:none; }
.gw-step{ background:color-mix(in srgb, var(--gw-accent) 10%, transparent); border:1px solid color-mix(in srgb, var(--gw-accent) 35%, transparent); border-radius:10px; padding:11px 13px; font-size:.84rem; margin-bottom:8px; }
.gw-out pre{ background:#1b1e26; color:#e8e9ee; padding:12px; border-radius:10px; overflow:auto; font-size:.78rem; font-family:ui-monospace,Menlo,monospace; white-space:pre-wrap; margin:0; }
.gw-copy{ margin-top:8px; padding:8px 14px; border:1px solid var(--gw-accent); color:var(--gw-accent); background:transparent; border-radius:9px; font-weight:700; cursor:pointer; }

/* existing entries edit list */
.gw-edit-sec{ margin-top:34px; padding-top:22px; border-top:1px solid var(--md-default-fg-color--lightest); }
.gw-elist{ list-style:none; padding:0; margin:10px 0 0; }
.gw-elist li{ display:flex; align-items:center; gap:10px; padding:9px 0; border-bottom:1px solid var(--md-default-fg-color--lightest); font-size:.88rem; }
.gw-elist li:last-child{ border-bottom:none; }
.gw-elist .gw-en{ font-weight:700; flex:1 1 auto; }
.gw-elist button{ border:1px solid var(--md-default-fg-color--lighter); background:var(--md-default-bg-color); border-radius:8px; padding:5px 12px; font-size:.78rem; font-weight:700; cursor:pointer; color:var(--md-default-fg-color--light); }
.gw-elist .gw-ed:hover{ border-color:var(--gw-accent); color:var(--gw-accent); }
.gw-elist .gw-dl:hover{ border-color:var(--gw-danger); color:var(--gw-danger); }
.gw-managed{ font-size:.72rem; color:var(--md-default-fg-color--light); }
