:root{--bg: #0f241c;--bg-elev: #163028;--bg-bar: #0b1a14;--border: #2a4a3c;--text: #e8f5ee;--muted: #8fafa0;--accent: #4f9d78;--accent-2: #c4a35a;--danger: #c86b6b;--ok: #6ecf9a;--font: "Source Sans 3", "Segoe UI", sans-serif;--serif: "Source Serif 4", Georgia, serif;--radius: 8px}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{font-family:var(--font);color:var(--text);background:linear-gradient(165deg,#143328 0%,transparent 40%),repeating-linear-gradient(-12deg,transparent,transparent 11px,rgba(255,255,255,.015) 11px,rgba(255,255,255,.015) 12px),var(--bg)}button,input,select,textarea{font:inherit}button{cursor:pointer;border:1px solid var(--border);background:var(--bg-elev);color:var(--text);border-radius:var(--radius);padding:.55rem .85rem}button.primary{background:var(--accent);border-color:#015a9e;color:#04140e;font-weight:700}button:disabled{opacity:.45;cursor:not-allowed}input,select,textarea{width:100%;background:var(--bg);border:1px solid var(--border);color:var(--text);border-radius:var(--radius);padding:.55rem .7rem}a{color:var(--accent-2)}.app{min-height:100%;display:flex;flex-direction:column;max-width:720px;margin:0 auto}.top{position:sticky;top:0;z-index:10;background:color-mix(in srgb,var(--bg-bar) 92%,transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid var(--border);padding:.75rem 1rem}.brand{font-family:var(--serif);font-weight:700;font-size:1.2rem}.brand small{display:block;font-family:var(--font);color:var(--muted);font-weight:400;font-size:.8rem}.tabs{display:flex;gap:.35rem;margin-top:.65rem}.tabs a{flex:1;text-align:center;text-decoration:none;color:var(--muted);padding:.45rem;border-radius:var(--radius);border:1px solid transparent;font-size:.88rem}.tabs a.active{color:var(--text);border-color:var(--border);background:#4f9d7826}.content{padding:1rem;flex:1}h1{font-family:var(--serif);font-size:1.35rem;margin:0 0 .35rem}.sub{color:var(--muted);margin:0 0 1rem;font-size:.92rem}.panel{background:color-mix(in srgb,var(--bg-elev) 90%,transparent);border:1px solid var(--border);border-radius:var(--radius);padding:.9rem;margin-bottom:.85rem}.row{display:flex;gap:.5rem;flex-wrap:wrap;align-items:center}.field{display:flex;flex-direction:column;gap:.3rem;margin-bottom:.75rem}.field label{font-size:.8rem;color:var(--muted)}.offline-banner{background:#c4a35a2e;border:1px solid var(--accent-2);color:var(--text);padding:.45rem .75rem;font-size:.85rem;text-align:center}.list-item{display:block;width:100%;text-align:left;margin-bottom:.45rem}.list-item .addr{font-weight:600}.list-item .meta{color:var(--muted);font-size:.8rem}.badge{display:inline-block;font-size:.72rem;padding:.12rem .4rem;border-radius:4px;background:#214336}.login-page{min-height:100%;display:grid;place-items:center;padding:1rem}.login-box{width:min(400px,100%);background:var(--bg-elev);border:1px solid var(--border);border-radius:10px;padding:1.25rem}.error{color:var(--danger)}.subpanel{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);padding:.5rem .55rem}.grouplabel{font-size:.68rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--accent-2);margin-bottom:.3rem}.grouplabel:not(:first-child){margin-top:.4rem}.pillgroup{display:flex;flex-wrap:wrap;gap:.35rem}.pill{border:1px solid var(--border);background:var(--bg-elev);color:var(--text);border-radius:5px;padding:.32rem .65rem;font-size:.88rem;font-weight:600;min-height:2.1rem}.pill.active{background:var(--accent);border-color:#015a9e;color:#04140e}.pill.save{background:var(--accent);border-color:#015a9e;color:#04140e;font-weight:700}.pagebar{display:flex;flex-wrap:wrap;justify-content:center;gap:.4rem;margin-top:.75rem}.pagebar .pill{min-width:2.4rem;text-align:center;padding:.32rem .5rem}.sticky-below-top{position:sticky;top:116px;z-index:5}.toast{position:fixed;left:50%;top:128px;transform:translate(-50%);background:var(--bg-elev);border:1px solid var(--border);padding:.65rem .9rem;border-radius:var(--radius);z-index:40;max-width:90vw}:root{--bg: #F9FBFD;--bg-elev: #ffffff;--bg-bar: #0177D1;--border: #DCEAF3;--text: #132A3D;--muted: #5C7A90;--accent: #0177D1}body{background:linear-gradient(165deg,#A6E3FF 0%,transparent 42%),var(--bg)}button.primary,.pill.active,.pill.save{color:#fff}input,select,textarea{background:#fbfcfb}.app{max-width:760px}.top{color:#f9fbfd;background:color-mix(in srgb,var(--bg-bar) 94%,transparent);padding:.7rem 1rem 0}.brand{display:flex;align-items:center;gap:.55rem;font-family:var(--font)}.brand-mark{width:40px;height:40px;object-fit:contain}.brand strong{font-size:.98rem;letter-spacing:.02em}.brand sup{color:#a8def2;font-size:.5rem;margin-left:.12rem}.brand small{color:#bfdff2}.top-actions{display:flex;align-items:center;gap:.45rem}.network-state{color:#d7a6a6;font-size:.7rem;display:flex;align-items:center;gap:.3rem}.network-state:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}.network-state.online{color:#8dbea3}.quiet-button{color:#d9eefb;background:transparent;border-color:#ffffff2e;padding:.35rem .55rem;font-size:.75rem}.tabs{margin-top:.55rem}.tabs a.active{color:#fff;border-color:transparent;background:#ffffff2e;box-shadow:inset 0 -2px #a6e3ff}.content{padding:1.1rem}.panel{background:var(--bg-elev);box-shadow:0 8px 24px #0177d112}.list-item:hover{border-color:#a8def2}.badge{background:#e3f3fc}.subpanel,.pill{background:#eff7fc}.pill.active,.pill.save{background:var(--accent)}.toast{background:#0b2c46;color:#fff}
