:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#17211c;background:#f4f6f3;font-synthesis:none}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh}button,input,select{font:inherit}button{cursor:pointer}.portal-loading{height:100vh;display:grid;place-items:center;color:#607168;font-weight:750;letter-spacing:.04em}.portal-brand{display:flex;align-items:center;gap:9px}.portal-brand span{width:34px;height:34px;border-radius:11px;background:#173b2a;color:#ccf2ae;display:grid;place-items:center;font-size:20px;font-weight:850}.portal-brand b{font-size:19px;letter-spacing:-.04em}.portal-login{min-height:100vh;display:grid;place-items:center;padding:20px;background:radial-gradient(circle at 25% 12%,#deedde,#f4f6f3 48%,#eef1ee)}.portal-login-card{width:min(410px,100%);padding:38px;border:1px solid #dbe3dc;border-radius:22px;background:#fff;box-shadow:0 30px 90px #1834241c}.portal-login h1{margin:36px 0 5px;font-size:32px;letter-spacing:-.05em}.portal-login p,.portal-modal p{margin:0;color:#718078;font-size:12px;line-height:1.6}.portal-login form label,.portal-modal label{display:grid;gap:7px;margin-top:22px;color:#536158;font-size:10px;font-weight:750}.portal-login input,.portal-modal input,.portal-modal select,.portal-more select{width:100%;height:47px;padding:0 13px;border:1px solid #d9e1da;border-radius:11px;background:#fff;outline:0}.portal-login input{font-size:19px;letter-spacing:.14em;text-align:center}.portal-login input:focus,.portal-modal input:focus,.portal-modal select:focus,.portal-more select:focus{border-color:#4d8c6b;box-shadow:0 0 0 3px #4d8c6b17}.portal-login form>button,.submit-profile,.profile-ready>a{width:100%;margin-top:14px;padding:14px;border:0;border-radius:11px;background:#1e7049;color:#fff;font-size:12px;font-weight:800;text-decoration:none;text-align:center}.portal-login button:disabled,.submit-profile:disabled,.install-button:disabled,.check-button:disabled{opacity:.55}.portal-error{padding:12px 14px;margin:14px 0;border-radius:10px;background:#ffebe6;color:#a64c3b;font-size:11px}.portal-page-error{max-width:760px;margin:14px auto}.portal-shell>header{height:68px;padding:0 max(20px,calc((100vw - 940px)/2));border-bottom:1px solid #dde4de;background:#fafbf9;display:flex;align-items:center;justify-content:space-between}.portal-shell>header>div:last-child{display:flex;align-items:center;gap:14px;color:#647169;font-size:11px}.portal-shell>header button{border:0;background:transparent;color:#68776e;font-size:10px}.portal-shell>main{max-width:940px;margin:auto;padding:34px 20px 70px}.connection-card{max-width:760px;min-height:144px;margin:auto;padding:27px 30px;border:1px solid #dce3dd;border-radius:20px;background:#fff;display:grid;grid-template-columns:54px 1fr 34px;align-items:center;gap:19px;box-shadow:0 15px 45px #182d2010}.connection-card.connected{border-color:#c3dfc5;background:linear-gradient(125deg,#e4f3e3,#f4faef)}.connection-card.warning{border-color:#ead8aa;background:#fffaf0}.status-icon{width:54px;height:54px;border-radius:50%;background:#edf1ed;color:#809087;display:grid;place-items:center;font-size:23px}.connected .status-icon{background:#cfeace;color:#26784b}.warning .status-icon{background:#f5e7be;color:#8a6722}.connection-card small,.detected-device small,.portal-more small,.portal-modal form>small{color:#7a8980;font-size:9px;font-weight:850;letter-spacing:.15em}.connection-card h1{margin:5px 0 4px;font-size:28px;letter-spacing:-.05em}.connection-card p{margin:0;color:#65736b;font-size:12px}.connection-card>button{width:34px;height:34px;border:0;border-radius:50%;background:#fff9;color:#65756b;font-size:16px}.setup-card{max-width:760px;margin:16px auto 0;padding:26px 30px;border:1px solid #dfe5e0;border-radius:20px;background:#fff}.detected-device{padding-bottom:20px;border-bottom:1px solid #e7ece8;display:flex;align-items:center;gap:13px}.detected-device>span{width:43px;height:43px;border-radius:13px;background:#e8f4ea;color:#2c7950;display:grid;place-items:center;font-size:20px}.detected-device>div{display:grid;gap:2px}.detected-device b{font-size:14px}.detected-device em{color:#8a958e;font-size:10px;font-style:normal}.setup-step{padding:23px 0 4px;display:grid;grid-template-columns:30px 1fr;gap:14px}.setup-step>i{width:28px;height:28px;border:1px solid #bcd2c1;border-radius:50%;color:#337852;display:grid;place-items:center;font-size:11px;font-weight:850;font-style:normal}.setup-step h2{margin:2px 0 6px;font-size:17px;letter-spacing:-.025em}.setup-step p{max-width:590px;margin:0;color:#6d7b73;font-size:11px;line-height:1.6}.setup-step a{display:inline-block;margin-top:9px;color:#25734c;font-size:11px;font-weight:750;text-decoration:none}.install-button{width:min(390px,100%);margin-top:13px;padding:14px 18px;border:0;border-radius:11px;background:#1d7049;color:#fff;font-size:12px;font-weight:800;box-shadow:0 8px 20px #1e704927}.check-button{margin-top:11px;padding:10px 14px;border:1px solid #cfdad1;border-radius:10px;background:#fff;color:#356649;font-size:10px;font-weight:750}.setup-step .one-time-note{margin-top:8px;color:#8a958e;font-size:9px}.portal-more{max-width:760px;margin:16px auto 0;border:1px solid #dfe5e0;border-radius:16px;background:#fff;overflow:hidden}.portal-more>summary{padding:18px 22px;color:#53645a;font-size:11px;font-weight:750;cursor:pointer;list-style-position:inside}.portal-more[open]>summary{border-bottom:1px solid #e6ebe7}.portal-more-grid{padding:20px 22px;display:grid;grid-template-columns:1fr 1fr;gap:20px}.portal-more-grid>section{min-width:0}.portal-more h3{margin:6px 0 12px;font-size:20px;letter-spacing:-.035em}.traffic-parts{display:flex;gap:14px;flex-wrap:wrap}.traffic-parts span{color:#7a8780;font-size:9px}.traffic-parts b{display:block;margin-top:3px;color:#34493c;font-size:11px}.portal-more select{height:42px;font-size:11px}.portal-more-grid p{color:#7d8982;font-size:9px}.profile-list{padding:0 22px 20px}.profile-list>div{display:inline-block}.profile-list>button{float:right;padding:8px 11px;border:1px solid #d7e0d9;border-radius:8px;background:#fff;color:#52705e;font-size:9px}.profile-list article{clear:both;padding:13px 0;border-top:1px solid #e9eeea;display:grid;grid-template-columns:35px 1fr auto;align-items:center;gap:10px}.profile-list article>span{width:33px;height:33px;border-radius:9px;background:#e8f4ea;color:#2c7950;display:grid;place-items:center}.profile-list article>div{display:grid;gap:2px}.profile-list article b{font-size:11px}.profile-list article small{font-size:8px;letter-spacing:0}.profile-list article button{border:0;background:transparent;color:#7a8780;font-size:9px}.profile-list article em{color:#ad5b4b;font-size:9px;font-style:normal}.portal-empty{clear:both;padding:26px 0;text-align:center;color:#839087;font-size:10px}.portal-backdrop{position:fixed;inset:0;z-index:50;padding:20px;background:#102019ad;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:grid;place-items:center}.portal-modal{position:relative;width:min(500px,100%);max-height:calc(100vh - 40px);overflow:auto;padding:30px;border-radius:18px;background:#fff;box-shadow:0 30px 90px #06130b66}.modal-close{position:absolute;top:14px;right:17px;border:0;background:transparent;color:#718078;font-size:24px}.portal-modal h2{margin:7px 0;font-size:25px}.profile-ready{text-align:center}.profile-ready>span{width:52px;height:52px;margin:auto;border-radius:50%;background:#e2f3e5;color:#287950;display:grid;place-items:center;font-size:22px}.profile-ready>a{display:block}.install-steps{margin-top:22px;padding:17px;border-radius:11px;background:#f2f6f2;text-align:left}.install-steps h3{margin:0 0 8px;font-size:13px}.install-steps ol{margin:0;padding-left:19px;color:#627168;font-size:10px;line-height:1.8}.install-steps p{margin:0}@media(max-width:640px){.portal-shell>header{padding:0 15px}.portal-shell>header>div:last-child>span{display:none}.portal-shell>main{padding:18px 12px 45px}.connection-card{min-height:132px;padding:22px 18px;grid-template-columns:45px 1fr 28px;gap:13px}.status-icon{width:45px;height:45px}.connection-card h1{font-size:22px}.connection-card p{font-size:10px;line-height:1.45}.setup-card{padding:21px 18px}.setup-step{grid-template-columns:28px 1fr}.portal-more-grid{grid-template-columns:1fr}.portal-login-card{padding:30px}.portal-brand span{width:32px;height:32px}.profile-list>button{float:none;display:block;margin:10px 0}.profile-list article{grid-template-columns:34px 1fr auto}}
