*{box-sizing:border-box}body{margin:0;background:#f3f6f4;color:#172d22;font-family:Arial,Helvetica,sans-serif;font-size:14px}button,input,select{font:inherit}button,a,input,select{outline-offset:4px}a{color:inherit}.topbar{height:94px;background:#fff;border-bottom:1px solid #e0e8e2;display:flex;align-items:center;justify-content:space-between;padding:0 5vw;gap:25px}.brand{display:flex;align-items:center;gap:27px;text-decoration:none}.brand img{width:145px;height:auto}.brand>span{font-size:10px;letter-spacing:2.3px;color:#7c8d81;padding-left:26px;border-left:1px solid #dce6df}.identity{display:flex;align-items:center;gap:15px;font-size:12px}.identity>span:first-child{font-weight:700}.view-label{color:#427c59;background:#edf7f0;border:1px solid #d8eadd;border-radius:20px;font-size:10px;padding:7px 11px}.text-button{border:0;background:none;color:#6e7f73;cursor:pointer;padding:8px}.workspace{max-width:1390px;margin:auto;padding:48px 5vw 25px}.page-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:25px;margin-bottom:32px}.eyebrow{font-size:9px;font-weight:700;letter-spacing:2px;color:#708679;margin:0 0 13px}h1{font-size:38px;letter-spacing:-1.6px;line-height:1.16;margin:0 0 13px;font-weight:700}.subtitle{font-size:13px;line-height:1.7;color:#73847a;margin:0}.sync{display:flex;align-items:center;gap:8px;font-size:10px;color:#708477;white-space:nowrap;margin-bottom:6px}.pulse{width:6px;height:6px;border-radius:50%;background:#2b9c62;box-shadow:0 0 0 4px #e4f1e9}.totals{display:grid;grid-template-columns:repeat(4,1fr);gap:15px;margin:0 0 40px}.totals article{padding:23px 25px;border:1px solid #e0e8e2;background:#fff;border-radius:13px}.totals span{font-size:11px;color:#6b7e71;display:block}.totals strong{font-size:30px;line-height:1.4;letter-spacing:-1px;display:block;margin:9px 0 3px}.totals small{font-size:10px;color:#8b9a90}.section-toolbar{display:flex;align-items:center;justify-content:space-between;gap:20px}h2{font-size:20px;letter-spacing:-.5px;margin:0 0 7px}#siteCount{font-size:11px;vertical-align:middle;margin-left:7px;border:1px solid #d7e4da;border-radius:20px;padding:3px 7px;color:#64816d}.section-toolbar p{font-size:11px;color:#819087;margin:0}.search{display:flex;align-items:center;gap:8px;border:1px solid #dce6df;background:#fff;border-radius:9px;padding:12px 14px}.search svg{width:16px;height:16px;fill:none;stroke:#819589;stroke-width:1.5}.search input{width:170px;border:0;outline:none;font-size:11px;color:#345443;background:none}.search:focus-within{outline:2px solid #86b99a}.filters{display:flex;gap:8px;margin:22px 0}.filters button{border:1px solid transparent;border-radius:6px;background:transparent;color:#809286;padding:8px 12px;font-size:10px;cursor:pointer}.filters button.active{background:#e5f0e8;color:#257248;border-color:#d8e8dd}.deployment-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:23px}.deployment-card{border:1px solid #dde7df;background:#fff;border-radius:17px;overflow:hidden;box-shadow:0 5px 16px #183d2404;padding:27px 27px 0}.card-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.card-heading .eyebrow{font-size:8px;margin-bottom:9px;letter-spacing:1.8px}h3{font-size:22px;letter-spacing:-.6px;margin:0;overflow-wrap:anywhere}.badge{border-radius:20px;font-weight:700;font-size:9px;padding:7px 10px;white-space:nowrap}.badge.online{color:#17824a;background:#e6f7eb}.badge.waiting{color:#9a741d;background:#fff5df}.badge.muted{color:#7c8a81;background:#f0f3f1}.card-meta{font-size:10px;color:#829387;margin:12px 0 27px}.reading-label{display:flex;justify-content:space-between;gap:10px;font-size:8px;color:#91a095;letter-spacing:1px;margin-bottom:14px}.reading-label span:last-child{letter-spacing:0;font-size:9px;color:#74977f}.metrics{display:grid;grid-template-columns:1.2fr 1.2fr 1fr 1fr;gap:8px;margin-bottom:25px}.metric-label{font-size:10px;color:#7e9184}.metric-value{margin-top:8px;white-space:nowrap}.metric-value strong{font-size:24px;letter-spacing:-1px}.metric-value small{font-size:9px;color:#95a297;margin-left:5px}.wan-list{background:#f6f9f7;border:1px solid #e6ede8;border-radius:10px;padding:0 13px}.wan-row{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:15px 0}.wan-row+.wan-row{border-top:1px solid #e6ece7}.wan-identity{display:flex;gap:10px;align-items:center;min-width:0}.wan-dot{height:6px;width:6px;flex-shrink:0;border-radius:50%;background:#cbd7ce}.wan-dot.online{background:#28a363}.wan-name{min-width:0}.wan-name b{font-size:11px;font-weight:600;display:block;overflow-wrap:anywhere}.wan-name small{display:block;font-size:8px;color:#91a095;margin-top:5px}.wan-values{text-align:right;font-size:9px;color:#617e6a;white-space:nowrap}.wan-values span{display:block}.wan-values .path-label{font-size:8px;color:#97a69c;margin-top:6px}.health-line{display:flex;justify-content:space-between;gap:5px;margin:19px 0;font-size:9px;color:#87998d}.card-footer{display:flex;justify-content:space-between;align-items:center;border-top:1px solid #e5ece7;margin:0 -27px;padding:19px 27px;background:#fcfdfc;gap:15px}.server-ip{display:block;font-size:10px;color:#557662}.card-footer small{display:block;font-size:8px;color:#9baa9f;margin-top:6px}.access-button,.primary{border:0;background:#128548;color:#fff;font-size:10px;font-weight:600;border-radius:7px;padding:12px 15px;text-decoration:none;white-space:nowrap;cursor:pointer}.access-button:hover,.primary:hover{background:#0b6d38}.future-note{font-size:10px;color:#9bab9f;text-align:center;line-height:1.7;margin:28px 0 40px}footer{display:flex;justify-content:space-between;border-top:1px solid #e1e8e3;padding:20px 0 0;font-size:9px;color:#98a89c}.loading{padding:45px;text-align:center;color:#78907e;font-size:13px;grid-column:1/-1}.empty-note{font-size:11px;color:#8c9d92;padding:10px}.notice{border:1px solid #e6d6ad;background:#fff9eb;padding:12px;border-radius:9px;font-size:12px;color:#8b722f}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.login-body{min-height:100vh;display:grid;place-items:center;padding:25px}.login-card{width:min(100%,465px);border:1px solid #dde6df;border-radius:23px;background:#fff;padding:42px;box-shadow:0 16px 65px #163e2510}.login-card>img{display:block;margin-bottom:35px}.login-card h1{font-size:34px}.login-card form{margin-top:27px}.login-card label{display:block;font-size:11px;font-weight:600;margin-bottom:8px}.login-card select,.login-card input{display:block;width:100%;padding:13px;border:1px solid #dbe5de;border-radius:8px;background:#f8faf8;color:#294b36;font-size:13px}.access-note{margin:12px 0 22px;padding:11px 12px;border:1px solid #dcecdf;border-radius:7px;background:#f1f8f3;color:#4f7f5d;font-size:10px}.login-submit{display:flex;width:100%;justify-content:space-between;margin-top:20px;font-size:12px;padding:14px}.login-foot{text-align:center;font-size:9px;color:#9aaa9e;margin:24px 0 0}.error{font-size:12px;color:#a43c2f;line-height:1.5}button:disabled{opacity:.5;cursor:not-allowed}[hidden]{display:none!important}
@media(min-width:1500px){.workspace{padding-left:35px;padding-right:35px}}@media(max-width:1050px){.workspace{padding:35px 4vw}.topbar{padding:0 4vw}.metrics{grid-template-columns:repeat(2,1fr);row-gap:17px}.metric-value strong{font-size:26px}.health-line{flex-wrap:wrap;gap:10px}.card-heading{gap:10px}h3{font-size:20px}.badge{font-size:8px}}@media(max-width:740px){.topbar{height:80px}.brand{gap:12px}.brand img{width:110px}.brand>span{font-size:8px;letter-spacing:1px;padding-left:12px}.identity{gap:8px;font-size:11px}.identity .view-label{display:none}.page-heading{display:block}.page-heading .sync{margin-top:21px}h1{font-size:31px}.totals{grid-template-columns:repeat(2,1fr);gap:10px;margin-bottom:30px}.totals article{padding:18px}.totals strong{font-size:26px}.deployment-grid{grid-template-columns:1fr}.section-toolbar{align-items:flex-start}.section-toolbar p{max-width:180px;line-height:1.5}.search{padding:11px}.search input{width:120px}.deployment-card{padding:24px 23px 0}.card-footer{margin:0 -23px;padding:18px 23px}.metrics{grid-template-columns:1.2fr 1.2fr 1fr 1fr}.metric-value strong{font-size:23px}.metric-value small{font-size:8px;margin-left:3px}.login-card{padding:32px}.login-card h1{font-size:31px}}@media(max-width:390px){.brand>span{display:none}.search input{width:90px}.metrics{grid-template-columns:repeat(2,1fr)}.badge{padding:6px 8px}.card-footer{gap:10px}.access-button{padding:12px}}

[hidden]{display:none!important}.portal-tabs{display:flex;gap:10px;margin:0 0 28px;border-bottom:1px solid var(--line,#dce5e0);padding-bottom:12px}.portal-tabs button{border:0;background:transparent;padding:12px 20px;font:inherit;cursor:pointer;border-radius:9px;color:#566c63}.portal-tabs button.active{background:#e1f4e8;color:#087543;font-weight:700}.site-selector{display:flex;align-items:center;gap:18px;flex-wrap:wrap;background:white;border:1px solid #dce5e0;border-radius:14px;padding:20px}.site-selector label{font-weight:700}.site-selector select{font:inherit;min-width:240px;padding:12px;border:1px solid #cfddd5;border-radius:9px;background:#f7faf8;color:#193f2b}.site-frame-box{margin-top:22px;border:1px solid #dce5e0;border-radius:16px;overflow:hidden;background:white;box-shadow:0 8px 30px #16452908}.site-frame-box iframe{display:block;border:0;width:100%;height:1000px;min-height:75vh}@media(max-width:600px){.site-selector{align-items:stretch;flex-direction:column}.site-selector select{min-width:0;width:100%}.site-frame-box iframe{height:1100px}}

.deployment-grid{gap:18px}.compact-card{padding:21px 22px 15px}.compact-card .card-heading{align-items:center;margin-bottom:25px}.compact-card h3{font-size:20px}.compact-card .metrics{grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:20px;gap:10px}.compact-card .metric-value{margin-top:7px}.compact-card .metric-value strong{font-size:23px}.compact-footer{display:flex;justify-content:space-between;gap:12px;border-top:1px solid #e5ece7;padding-top:13px;font-size:10px;color:#7d9284}@media(max-width:1050px){.compact-card .metric-value strong{font-size:20px}.compact-card .metric-value small{display:block;margin:3px 0 0}}@media(max-width:740px){.compact-card{padding:19px 20px 14px}.compact-card .card-heading{margin-bottom:21px}.compact-card .metric-value small{display:inline;margin-left:4px}}@media(max-width:390px){.compact-card .metric-value small{display:block;margin:3px 0 0}.compact-card h3{font-size:18px}}
