:root{--ink: #2b1846;--soft: #64557c;--cream: #fff6ee;--card: #ffffff;--coral: #ff5a7a;--mango: #ffb020;--teal: #12c4b0;--violet: #7457f6;--sky: #4aa3ff;--ok: #0e9f6e;--ok-bg: #e5f8ef;--bad: #e11d48;--bad-bg: #ffe4ea;--warn: #c2610c;--warn-bg: #fff1d6;--paused: #9a6b00;--paused-bg: #fff6d8;--line: rgb(43 24 70 / 8%);--shadow: 0 24px 60px rgb(88 36 120 / 12%);--sans: Nunito, "Segoe UI", system-ui, sans-serif;--display: Fraunces, Georgia, "Times New Roman", serif;color-scheme:light}*{box-sizing:border-box}[hidden]{display:none!important}html{scroll-behavior:smooth}body{margin:0;min-height:100vh;color:var(--ink);font:500 17px/1.5 var(--sans);background:var(--cream)}button,input,a{font:inherit}h1,h2,h3{font-family:var(--display);font-weight:560;letter-spacing:-.03em;line-height:1.15}a{color:inherit}.sky{position:fixed;inset:0;overflow:hidden;pointer-events:none;z-index:0}.blob{position:absolute;border-radius:50%;filter:blur(8px);opacity:.85}.b1{width:420px;height:420px;left:-120px;top:-80px;background:#ffb4c8;animation:float 14s ease-in-out infinite}.b2{width:380px;height:380px;right:-100px;top:40px;background:#b8fff3;animation:float 18s ease-in-out infinite reverse}.b3{width:320px;height:320px;left:30%;bottom:-120px;background:#d9ccff;animation:float 16s ease-in-out infinite}.b4{width:180px;height:180px;right:18%;bottom:8%;background:#ffe08a;animation:float 12s ease-in-out infinite reverse}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(18px)}}.login,#app{position:relative;z-index:1}.login{min-height:100vh;display:grid;grid-template-columns:minmax(0,1.1fr) minmax(300px,440px);gap:48px;align-items:center;max-width:1120px;margin:0 auto;padding:40px 28px}.pitch h1{font-size:clamp(40px,5vw,64px);margin:12px 0}.lead{font-size:20px;color:var(--soft);max-width:34ch;margin:0}.brand-mark{display:inline-flex;align-items:center;text-decoration:none;background:#1b1030;border-radius:16px;padding:7px 14px 8px 8px;box-shadow:0 10px 22px #1b103029}.wordmark{height:34px;width:auto;display:block}.pitch .brand-mark{padding:10px 18px 12px 12px;border-radius:20px}.pitch .wordmark{height:48px}.deco{position:absolute;pointer-events:none;user-select:none}.rocket{width:118px;right:2%;bottom:4%;transform:rotate(-12deg);filter:drop-shadow(0 18px 18px rgb(116 87 246 / .25))}body:has(#app:not([hidden])) .rocket,body:has(#app:not([hidden])) .earth,body:has(#app:not([hidden])) .sun{display:none}.sun{width:132px;left:2%;bottom:5%}.ring{width:170px;right:-36px;top:-8px}.earth{width:78px;left:44%;top:3%}.perks{list-style:none;padding:0;margin:28px 0 0;display:grid;gap:10px}.perks li{display:flex;align-items:center;gap:10px;background:#ffffffb8;border-radius:999px;padding:8px 14px 8px 8px;width:fit-content;box-shadow:0 8px 20px #5824780f}.dot{width:14px;height:14px;border-radius:50%;flex:none}.dot.coral{background:var(--coral)}.dot.teal{background:var(--teal)}.dot.violet{background:var(--violet)}.dot.mango{background:var(--mango)}.panel{background:#ffffffeb;border-radius:32px;box-shadow:var(--shadow);border:1px solid white}.login-card{padding:32px 28px 26px;display:flex;flex-direction:column;gap:8px}.eyebrow{margin:0;font-weight:800;letter-spacing:.14em;text-transform:uppercase;font-size:12px;color:var(--coral)}.login-card h2{margin:0 0 4px;font-size:36px}.quiet{color:var(--soft);margin:0}.field{display:flex;flex-direction:column;gap:8px;font-weight:800;margin-top:14px}.field input{font-size:22px;font-weight:800;letter-spacing:.04em;padding:14px 16px;border-radius:16px;border:2px solid #f0e4f6;background:#fff;color:var(--ink)}.field input::placeholder{color:#c9bdd8;font-weight:700}.field input:focus{outline:3px solid rgb(116 87 246 / .28);border-color:var(--violet)}.go,.ghost,.chip{border:0;cursor:pointer}.go{margin-top:16px;background:linear-gradient(120deg,#ef3d6e,#7a4dff);color:#fff;font-weight:800;font-size:18px;border-radius:999px;padding:15px 20px;box-shadow:0 14px 28px #7a4dff52}.go:hover{transform:translateY(-1px)}.go:disabled{opacity:.7;cursor:progress;transform:none}.alert{background:var(--bad-bg);color:var(--bad);border-radius:14px;padding:10px 12px;margin:8px 0 0;font-weight:800}.top{position:sticky;top:0;z-index:5;display:flex;align-items:center;gap:18px;padding:14px 22px;background:#fff6eedb;backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}.jumps{display:flex;gap:8px;flex-wrap:wrap}.jumps a,.ghost{text-decoration:none;background:#fff;color:var(--ink);border-radius:999px;padding:8px 14px;font-weight:800;box-shadow:0 6px 16px #58247814}.who{margin-left:auto;display:flex;align-items:center;gap:10px;font-weight:800}.ghost{border:0}.ghost:hover,.jumps a:hover{color:var(--violet)}.home{max-width:1080px;margin:0 auto;padding:22px 20px 64px;display:grid;gap:28px}#conexoes,#boletos,#equipamentos{scroll-margin-top:96px}#conexoes>h2,.section-head h2{margin:0 0 12px;font-size:28px}.section-head{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:12px;flex-wrap:wrap}.section-head h2{margin:0}.zap{background:#128c4a;color:#fff;text-decoration:none;border-radius:999px;padding:8px 12px;font-size:14px;font-weight:800}.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(270px,1fr));gap:14px}.conn{position:relative;overflow:hidden;background:var(--card);border-radius:28px;padding:20px;box-shadow:var(--shadow)}.conn:after{content:"";position:absolute;width:150px;height:150px;right:-46px;top:-58px;border-radius:50%;background:var(--glow)}.conn.up{--glow: #b8ffe8}.conn.down{--glow: #ffd0dc}.conn.paused{--glow: #ffe7a8}.conn-top,.meta,.conn h3{position:relative;z-index:1}.conn-top{display:flex;justify-content:space-between;gap:8px;align-items:center}.pill,.kind{border-radius:999px;padding:5px 10px;font-size:13px;font-weight:800}.pill.up{background:var(--ok-bg);color:var(--ok)}.pill.down{background:var(--bad-bg);color:var(--bad)}.pill.paused{background:var(--paused-bg);color:var(--paused)}.pill.up:before,.pill.down:before,.pill.paused:before{content:"";display:inline-block;width:8px;height:8px;margin-right:6px;border-radius:50%;background:currentColor}.pill.up:before{animation:pulse 1.8s ease-out infinite}@keyframes pulse{0%{box-shadow:0 0 0 0 currentColor}to{box-shadow:0 0 0 8px transparent}}.kind{background:#f4efff;color:var(--violet)}.conn h3{margin:14px 0 0;font-size:26px}.meta{list-style:none;padding:0;margin:14px 0 0;display:grid;gap:6px}.meta li{background:#fff7ef;border-radius:12px;padding:7px 10px}.meta li.addr{word-break:break-all}.filters{display:flex;gap:8px;flex-wrap:wrap}.chip{background:#fff;color:var(--soft);border-radius:999px;padding:8px 14px;font-weight:800;box-shadow:0 6px 16px #5824780f}.chip[aria-pressed=true]{background:var(--ink);color:#fff}.tickets{display:grid;gap:12px}.ticket{position:relative;display:grid;grid-template-columns:86px 1fr;background:#fff;border-radius:24px;overflow:hidden;box-shadow:var(--shadow);min-height:132px}.stub{display:flex;align-items:center;justify-content:center;color:#fff;font-weight:800;letter-spacing:.16em;text-transform:uppercase;font-size:13px}.stub span{writing-mode:vertical-rl;transform:rotate(180deg)}.ticket.open .stub{background:linear-gradient(180deg,#ffb020,#ff7a59)}.ticket.overdue .stub{background:linear-gradient(180deg,#ff5a7a,#d61f69)}.ticket.paid .stub{background:linear-gradient(180deg,#2ed39a,#0e9f6e)}.body{padding:18px 128px 16px 18px;position:relative}.body h3{margin:4px 0 8px;font-size:24px;max-width:28ch}.amount{margin:0;font-family:var(--display);font-size:34px}.when{margin:0;color:var(--soft);font-weight:800}.stamp{position:absolute;right:16px;top:16px;border:2px solid currentColor;border-radius:10px;padding:2px 8px;font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;transform:rotate(-8deg)}.ticket.open .stamp{color:var(--warn)}.ticket.overdue .stamp{color:var(--bad)}.ticket.paid .stamp{color:var(--ok)}.paid-note{margin:8px 0 0;color:var(--soft);font-size:14px}.gear-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:14px}.gear{background:#fff;border-radius:28px;padding:20px;box-shadow:var(--shadow);display:grid;gap:14px}.gear h3{margin:0;font-size:26px}.gear .place{margin:0;color:var(--soft);font-weight:800}.rx-pair{display:grid;grid-template-columns:1fr 1fr;gap:10px}.rx{background:#fff7ef;border-radius:18px;padding:12px 14px}.rx span{display:block;color:var(--soft);font-size:13px;font-weight:800;letter-spacing:.04em}.rx strong{display:block;margin-top:4px;font-family:var(--display);font-size:28px;font-weight:560}.tone{display:block;margin-top:2px;font-style:normal;font-size:13px;font-weight:800}.tone:empty{display:none}.tone.bom{color:var(--ok)}.tone.atencao{color:var(--warn)}.tone.fraco{color:var(--bad)}.pill.on{background:var(--ok-bg);color:var(--ok)}.pill.off{background:var(--bad-bg);color:var(--bad)}.pill.on:before,.pill.off:before{content:"";display:inline-block;width:8px;height:8px;margin-right:6px;border-radius:50%;background:currentColor}.gear-actions{display:flex;flex-wrap:wrap;gap:8px}.signal,.reboot{border:0;cursor:pointer;border-radius:999px;padding:10px 16px;font-weight:800}.signal{background:#fff;color:var(--ink);box-shadow:0 8px 18px #5824781a}.reboot{background:linear-gradient(120deg,#ef3d6e,#ff8a3d);color:#fff}.manage{border:0;cursor:pointer;border-radius:999px;padding:10px 16px;font-weight:800;background:linear-gradient(120deg,var(--violet),var(--sky));color:#fff}.signal:disabled,.reboot:disabled,.manage:disabled{opacity:.65;cursor:progress}.gear-note{margin:0;color:var(--soft);font-size:14px;font-weight:800}.router-panel{margin-top:14px;padding-top:14px;border-top:1px solid var(--line);display:flex;flex-direction:column;gap:14px}.router-loading,.router-note,.router-sub{margin:0;color:var(--soft);font-weight:700;font-size:14px}.router-head{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}.router-head strong{font-size:18px;display:block}.router-when{color:var(--soft);font-size:13px;font-weight:700}.router-msg{margin:0;border-radius:12px;padding:8px 12px;font-weight:800;font-size:14px}.router-msg.ok{background:var(--ok-bg);color:var(--ok)}.router-msg.bad{background:var(--bad-bg);color:var(--bad)}.router-msg:empty{display:none}.router-section{display:flex;flex-direction:column;gap:10px}.router-section h4{margin:0;font-family:var(--display);font-size:18px;color:var(--ink)}.wifi-card{background:var(--cream);border-radius:16px;padding:14px;display:flex;flex-direction:column;gap:10px}.wifi-head{display:flex;justify-content:space-between;align-items:baseline;gap:8px}.wifi-head .quiet{color:var(--soft);font-size:12px;font-weight:700}.router-field{display:flex;flex-direction:column;gap:4px;font-weight:800;font-size:13px;color:var(--soft)}.router-field input,.router-field select,.fwd-add input,.fwd-add select{font:inherit;padding:9px 12px;border-radius:12px;border:1px solid var(--line);background:#fff;color:var(--ink);font-weight:700}.with-link{display:flex;gap:8px;align-items:center}.with-link input{flex:1}.router-check{display:flex;align-items:center;gap:8px;font-weight:800;font-size:14px;color:var(--ink)}.router-check input{width:18px;height:18px}.go.small,.ghost.small{padding:8px 14px;font-size:14px;align-self:flex-start}.link{border:0;background:none;cursor:pointer;color:var(--violet);font-weight:800;font-size:13px;padding:0}.link.danger{color:var(--bad)}.dev-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.dev-list li{display:flex;align-items:center;gap:10px;font-weight:700;font-size:14px}.dev-kind{border-radius:999px;padding:2px 10px;font-size:11px;font-weight:800;color:#fff}.dev-kind.wifi{background:var(--teal)}.dev-kind.wired{background:var(--soft)}.dev-name{flex:1;color:var(--ink)}.dev-ip{color:var(--soft);font-variant-numeric:tabular-nums}.router-adv{background:var(--cream);border-radius:16px;padding:12px 14px}.router-adv>summary{cursor:pointer;font-weight:800;color:var(--ink)}.router-adv .router-section{margin-top:12px}.fwd-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap;font-weight:700;font-size:14px}.fwd-desc{font-weight:800;color:var(--ink)}.fwd-ports{color:var(--soft);font-variant-numeric:tabular-nums}.fwd-flag{border-radius:999px;padding:2px 10px;font-size:11px;font-weight:800}.fwd-flag.on{background:var(--ok-bg);color:var(--ok)}.fwd-flag.off{background:var(--paused-bg);color:var(--paused)}.fwd-add{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.fwd-add input{flex:1;min-width:120px}.empty{background:#fff;border-radius:24px;padding:22px;color:var(--soft);box-shadow:var(--shadow)}.updated{color:var(--soft);font-size:13px;margin:0}@media(max-width:860px){.login{grid-template-columns:1fr;gap:22px;padding:24px 16px 40px}.pitch h1{font-size:38px}.pitch .wordmark{height:40px}.rocket,.earth{display:none}.ring{width:120px}.sun{width:88px;left:-18px}.top{flex-wrap:wrap}.who{width:100%;justify-content:space-between}}@media(max-width:640px){.ticket{grid-template-columns:1fr}.stub{min-height:42px}.stub span{writing-mode:horizontal-tb;transform:none}.stamp{position:static;display:inline-block;margin-top:8px;transform:none}.ticket .body{padding-right:18px}.rx strong{font-size:22px}.perks{display:none}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;scroll-behavior:auto!important}}@media print{.sky,.top,.filters,.updated,.deco{display:none!important}body{background:#fff}.ticket,.conn,.gear{box-shadow:none;border:1px solid #ddd}.gear-actions,.signal,.reboot,.manage,.router-panel{display:none!important}}
