:root,:root[data-mode=light]{--bg: #faf9f6;--fg: #1a1a1a;--muted: #6b6b6b;--line: #e5e3dc;--card: #fff;--danger: #b00020;--accent-fg: #fff;--surface-error-bg: #fdecea;--surface-error-fg: #b00020;--surface-notice-bg: #fcecd0;--surface-notice-fg: #6b4400;--surface-notice-line:#f0c97a;--surface-warn-bg: #fcecd0;--surface-warn-fg: #8a5a00;--surface-ok-bg: #d4edda;--surface-ok-fg: #155724;--surface-highlight: #fff8e1;--row-zebra: #faf9f6;--radius: 8px}:root[data-mode=dark]{--bg: #16181c;--fg: #e6e6e6;--muted: #9aa0a8;--line: #2c2f36;--card: #1f2229;--danger: #ff6679;--accent-fg: #fff;--surface-error-bg: #3a1c1f;--surface-error-fg: #ff8e9c;--surface-notice-bg: #3a2f1c;--surface-notice-fg: #f0c97a;--surface-notice-line:#5a4b2a;--surface-warn-bg: #3a2f1c;--surface-warn-fg: #f0c97a;--surface-ok-bg: #1c3a2a;--surface-ok-fg: #6fd28e;--surface-highlight: #2a2415;--row-zebra: #1b1e24}:root[data-color=copper]{--accent: #b5651d}:root[data-mode=dark][data-color=copper]{--accent: #d68a3f}:root[data-color=slate]{--accent: #486789}:root[data-mode=dark][data-color=slate]{--accent: #7aa5d2}:root[data-color=forest]{--accent: #2c6a4f}:root[data-mode=dark][data-color=forest]{--accent: #56b287}:root[data-color=ruby]{--accent: #a83253}:root[data-mode=dark][data-color=ruby]{--accent: #e26483}:root[data-color=violet]{--accent: #6c4d8e}:root[data-mode=dark][data-color=violet]{--accent: #a98ed4}:root:not([data-color]){--accent: #b5651d}*{box-sizing:border-box}html,body,#root{margin:0;padding:0;background:var(--bg);color:var(--fg);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}#root{min-height:100vh;display:flex;flex-direction:column}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}.topbar{display:flex;align-items:center;justify-content:space-between;padding:12px 24px;border-bottom:1px solid var(--line);background:var(--card);position:sticky;top:0;z-index:50}.brand{display:inline-flex;align-items:center;line-height:0}.brand-logo{height:36px;width:auto;display:block;transition:opacity .15s ease}.brand:hover .brand-logo{opacity:.85}@media (max-width: 600px){.brand-logo{height:28px}}.nav{display:flex;gap:4px;align-items:center}.nav a{display:inline-flex;align-items:center;padding:8px 12px;border-radius:6px;color:var(--fg);font-weight:500;font-size:14px;text-decoration:none;position:relative;transition:background .12s ease,color .12s ease}.nav a:hover{background:var(--bg);color:var(--accent);text-decoration:none}.nav a.active{color:var(--accent);box-shadow:inset 0 -2px 0 var(--accent)}.nav a.active:hover{background:var(--bg)}.nav a.brand,.nav a.alert-badge{padding:0;box-shadow:none}.nav a.brand:hover,.nav a.alert-badge:hover{background:transparent}.tab{display:inline-flex;align-items:center;padding:8px 14px;border-radius:6px;border:1px solid var(--line);background:transparent;color:var(--fg);font-size:14px;font-weight:500;cursor:pointer;transition:background .12s ease,border-color .12s ease,color .12s ease}.tab:hover{background:var(--bg);border-color:var(--accent);color:var(--accent)}.tab.active{background:var(--accent);color:var(--accent-fg);border-color:var(--accent)}.tab.active:hover{background:var(--accent);color:var(--accent-fg)}.muted{color:var(--muted);font-size:14px}.container{max-width:960px;width:100%;margin:24px auto;padding:0 24px;flex:1}.footer{text-align:center;padding:14px 24px;color:var(--muted);font-size:11px;letter-spacing:.02em;border-top:1px solid var(--line);background:var(--card)}h1{margin:0 0 16px}h3{margin:0 0 4px}button{background:var(--accent);color:var(--accent-fg);border:none;padding:8px 16px;border-radius:var(--radius);font-size:14px;cursor:pointer}button:hover{filter:brightness(1.05)}button:disabled{opacity:.5;cursor:not-allowed}button.link{background:none;color:var(--accent);padding:4px 8px;font-size:14px}button.link:hover{text-decoration:underline}button.link.danger,.danger{color:var(--danger)}.btn{display:inline-block;background:var(--accent);color:var(--accent-fg);padding:6px 12px;border-radius:var(--radius);font-size:14px}.btn:hover{text-decoration:none;filter:brightness(1.05)}input,textarea,select{width:100%;padding:8px 10px;border:1px solid var(--line);border-radius:var(--radius);font-size:16px;background:var(--card);color:var(--fg)}input:focus,textarea:focus,select:focus{outline:2px solid var(--accent);outline-offset:-1px}label{display:block;margin-bottom:12px;font-size:13px;color:var(--muted)}label.checkbox{display:flex;align-items:center;gap:8px}label.checkbox input{width:auto}.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:16px;margin-bottom:12px}.card.narrow{max-width:380px;margin:48px auto}.card-list{list-style:none;padding:0}.card-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px}.actions{display:flex;gap:8px;align-items:center}.kv{display:flex;gap:12px;align-items:center;margin-top:12px;flex-wrap:wrap}.api-key-row{display:flex;gap:8px;align-items:center}.api-key-row code{padding:4px 8px;background:var(--bg);border-radius:4px;font-size:12px}.inline-form{display:flex;gap:8px;margin-bottom:24px;align-items:center;flex-wrap:wrap}.inline-form input{flex:1 1 220px;min-width:0}.inline-form select{flex:0 0 auto;width:auto;min-width:140px}.inline-form button{flex:0 0 auto}.form .grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}@media (max-width: 600px){.form .grid{grid-template-columns:1fr}}.error{color:var(--surface-error-fg);background:var(--surface-error-bg);padding:8px 12px;border-radius:var(--radius);margin:8px 0;font-size:14px}.notice{color:var(--surface-notice-fg);background:var(--surface-notice-bg);border:1px solid var(--surface-notice-line);padding:12px 14px;border-radius:var(--radius);margin:0 0 16px;font-size:14px;line-height:1.4}.page-head{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:16px}.thumb{width:80px;height:80px;object-fit:contain;background:var(--bg);border-radius:var(--radius)}.product{display:flex;gap:16px;align-items:flex-start}.product .grow{flex:1}.badge{display:inline-block;background:var(--line);color:var(--muted);padding:2px 6px;border-radius:4px;font-size:11px;vertical-align:middle;margin-left:8px}.badge.warn{background:var(--surface-warn-bg);color:var(--surface-warn-fg)}.taplist{list-style:none;padding:0}.taplist-item{display:flex;gap:16px;padding:16px 0;border-bottom:1px solid var(--line)}.kv-table{width:100%;border-collapse:collapse;table-layout:fixed}.kv-table th,.kv-table td{text-align:left;padding:6px 8px;border-bottom:1px solid var(--line);vertical-align:top;word-break:break-word}.kv-table th{font-weight:600;font-size:12px;color:var(--muted);text-transform:uppercase}.kv-table td:first-child{color:var(--muted);width:30%}.kv-table code{word-break:break-all}.dot{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:6px;vertical-align:middle}.dot.online{background:#28a745}.dot.offline{background:#b00020}.dot.warning{background:#e0a800}.dot.unknown{background:#999}.alert-badge{display:inline-flex;align-items:center;gap:4px;padding:2px 10px;border-radius:12px;font-size:13px;font-weight:600;text-decoration:none}.alert-badge:hover{text-decoration:none;filter:brightness(.95)}.alert-badge.critical{background:var(--danger);color:#fff}.alert-badge.warning{background:var(--surface-warn-bg);color:var(--surface-warn-fg);border:1px solid var(--surface-notice-line)}.card:has(>.location-card-link:hover){border-color:var(--accent);cursor:pointer}.location-card-link:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:var(--radius)}.user-menu{position:relative;display:inline-block}.user-menu-trigger{background:none;color:var(--muted);padding:6px 10px;border:1px solid transparent;border-radius:var(--radius);font-size:14px;cursor:pointer;display:inline-flex;align-items:center;gap:6px}.user-menu-trigger:hover,.user-menu-trigger[aria-expanded=true]{background:var(--bg);border-color:var(--line);color:var(--fg)}.user-menu-caret{font-size:10px;opacity:.7}.user-menu-panel{position:absolute;top:calc(100% + 6px);right:0;min-width:280px;max-width:320px;background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:0 8px 24px #0000001f;padding:12px;z-index:100}.user-menu-header{padding:4px 4px 12px;border-bottom:1px solid var(--line);margin-bottom:10px}.user-menu-email{font-size:14px;font-weight:600;color:var(--fg);word-break:break-all}.user-menu-role{font-size:12px;color:var(--muted);margin-top:2px}.user-menu-section{padding:8px 0;border-bottom:1px solid var(--line)}.user-menu-section:last-child{border-bottom:none;padding-bottom:0}.user-menu-section-label{font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);margin-bottom:8px;padding:0 4px}.user-menu-mode-row{display:flex;gap:4px;padding:0 4px 8px}.user-menu-mode-btn{flex:1;background:var(--bg);color:var(--fg);border:1px solid var(--line);padding:6px 8px;border-radius:var(--radius);font-size:13px;cursor:pointer;min-height:0}.user-menu-mode-btn:hover{border-color:var(--accent)}.user-menu-mode-btn.active{background:var(--accent);color:var(--accent-fg);border-color:var(--accent)}.user-menu-color-row{display:flex;flex-direction:column;gap:2px;padding:0 4px}.user-menu-color-btn{background:none;border:1px solid transparent;border-radius:var(--radius);padding:6px 8px;font-size:13px;color:var(--fg);cursor:pointer;display:flex;align-items:center;gap:10px;text-align:left;min-height:0}.user-menu-color-btn:hover{background:var(--bg)}.user-menu-color-btn.active{border-color:var(--accent);background:var(--bg)}.user-menu-color-swatch{display:inline-block;width:14px;height:14px;border-radius:50%;border:1px solid rgba(0,0,0,.15);flex-shrink:0}.user-menu-color-name{flex:1}.user-menu-item{display:block;width:100%;text-align:left;background:none;border:none;padding:8px 4px;font-size:14px;color:var(--fg);cursor:pointer;text-decoration:none;border-radius:var(--radius);min-height:0}.user-menu-item:hover{background:var(--bg);text-decoration:none}.user-menu-item-disabled,.user-menu-item:disabled{color:var(--muted);cursor:default}.user-menu-item-disabled:hover,.user-menu-item:disabled:hover{background:none}.user-menu-soon{font-size:11px;color:var(--muted)}.user-menu-item-signout{color:var(--danger)}@media (max-width: 600px){.user-menu-panel{min-width:260px;max-width:calc(100vw - 24px);right:-8px}}@media (max-width: 600px){.container{padding:0 12px;margin-top:16px}.topbar{padding:10px 12px;flex-wrap:wrap;gap:8px}.nav{gap:12px;flex-wrap:wrap}.nav .muted{display:none}.card{padding:12px}.card.narrow{margin:16px auto;max-width:100%}.card-head{flex-wrap:wrap;gap:8px}.card-head .actions{flex-basis:100%}.product{flex-wrap:wrap}.product .actions{flex-basis:100%;margin-top:4px}.actions{flex-wrap:wrap;gap:6px}button:not(.link){min-height:40px;padding:10px 16px}.btn{min-height:40px;padding:10px 16px;display:inline-flex;align-items:center}.page-head{flex-wrap:wrap}}.help-article-list{list-style:none;padding:0;margin:0}.help-article-list li+li{border-top:1px solid var(--line)}.help-article-link{display:block;padding:12px 0;color:var(--fg)}.help-article-link:hover{text-decoration:none;color:var(--accent)}.help-article-link strong{display:block;font-size:15px}.help-article-summary{display:block;font-size:13px;margin-top:2px}.help-article-body p,.help-article-body ul,.help-article-body ol{line-height:1.55}.help-article-body ul,.help-article-body ol{padding-left:22px}.help-article-body li{margin:4px 0}.help-subhead{margin:20px 0 6px;font-size:15px}.help-code{background:var(--bg);border:1px solid var(--line);border-radius:var(--radius);padding:10px 12px;font-size:12px;overflow-x:auto}.help-callout{border-left:4px solid var(--accent);padding:10px 14px;margin:14px 0;border-radius:0 var(--radius) var(--radius) 0;font-size:14px}.help-callout-note{background:var(--surface-notice-bg);color:var(--surface-notice-fg);border-color:var(--surface-notice-line)}.help-callout-tip{background:var(--surface-ok-bg);color:var(--surface-ok-fg);border-color:var(--surface-ok-fg)}.help-callout-warning{background:var(--surface-warn-bg);color:var(--surface-warn-fg);border-color:var(--surface-warn-fg)}.help-media{margin:16px 0}.help-media img,.help-media video{max-width:100%;border-radius:var(--radius);border:1px solid var(--line);display:block}.help-media figcaption{font-size:12px;color:var(--muted);margin-top:6px;text-align:center}.help-media-placeholder{border:2px dashed var(--line);border-radius:var(--radius);padding:36px 16px;text-align:center;background:var(--bg);color:var(--muted);display:flex;flex-direction:column;gap:6px}.help-media-label{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.6px;color:var(--accent)}.help-media-caption{font-size:13px}
