:root{color:#1c2d3c;font-synthesis:none;background:#f6f8fa;font-family:Inter,PingFang SC,Microsoft YaHei,sans-serif}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button{cursor:pointer;color:#344b58;background:#fff;border:1px solid #dce4e9;border-radius:8px;padding:9px 13px;font-size:13px;font-weight:600}button:hover{background:#f5fbfa;border-color:#a5c9ca}button:disabled{opacity:.55;cursor:wait}input,select{color:#253744;background:#fff;border:1px solid #d7e0e5;border-radius:8px;outline:none;min-height:42px;padding:11px 12px}input:focus,select:focus{border-color:#319c97;box-shadow:0 0 0 3px #d5f0ed}label{color:#526676;flex-direction:column;gap:7px;min-width:170px;font-size:12px;font-weight:700;display:flex}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:DM Sans,Inter,PingFang SC,sans-serif}.app-shell{min-height:100vh;display:flex}.sidebar{color:#dce8ea;background:#132b3a;flex-direction:column;flex:none;width:248px;min-height:100vh;display:flex}.sidebar-brand{align-items:center;gap:11px;padding:28px 23px 44px;display:flex}.brand-mark{color:#fff;background:#31a9a4;border-radius:10px;place-items:center;width:35px;height:35px;font-size:21px;font-weight:800;display:grid;box-shadow:0 5px 18px #0a232f55}.sidebar-brand strong{letter-spacing:2px;color:#fff;font-size:15px}.sidebar-brand small{color:#829aaa;margin-top:3px;font-size:10px;display:block}.nav-caption{color:#6f8a9a;letter-spacing:2px;text-transform:uppercase;margin:0 22px 15px;font-size:10px;font-weight:700}.sidebar nav{gap:4px;padding:0 11px;display:grid}.sidebar nav button{color:#b0c2ca;text-align:left;background:0 0;border:0;border-radius:7px;width:100%;padding:12px 16px;font-size:13px}.sidebar nav button:hover,.sidebar nav button.active{color:#fff;background:#234554}.sidebar nav button.active{border-left:3px solid #40b7b0;padding-left:13px}.nav-icon{color:#67aaa9;vertical-align:middle;width:29px;font-size:17px;display:inline-block}.sidebar-bottom{border-top:1px solid #294758;margin-top:auto;padding:20px}.sidebar-user{align-items:center;gap:10px;display:flex}.sidebar-user strong{color:#fff;font-size:12px}.sidebar-user small{color:#91a6af;margin-top:3px;font-size:11px;display:block}.sidebar-bottom button{color:#a4bdc4;background:0 0;border:0;padding:15px 0 0}.avatar{color:#237b7c;background:#d7ebe9;border-radius:50%;place-items:center;width:32px;height:32px;font-weight:700;display:grid}.avatar.small{width:30px;height:30px}.main-column{flex:1;min-width:0}.topbar{background:#fff;border-bottom:1px solid #e6ebee;justify-content:space-between;align-items:center;height:71px;padding:0 36px;font-size:12px;display:flex}.breadcrumb{color:#8798a3}.breadcrumb-sep{color:#bbc6cc;padding:0 12px}.topbar-right{align-items:center;gap:22px;display:flex}.local-indicator{color:#54717a;align-items:center;gap:7px;display:flex}.local-indicator i{background:#31b29a;border-radius:50%;width:7px;height:7px;display:inline-block}.content{max-width:1380px;margin:auto;padding:38px 36px 60px}.page-heading{justify-content:space-between;align-items:center;gap:20px;margin-bottom:31px;display:flex}.eyebrow{letter-spacing:2px;color:#31a19b;margin-bottom:9px;font-size:10px;font-weight:800}.page-heading h1{letter-spacing:-.7px;margin:0 0 8px;font-size:28px}.page-heading p{color:#80919a;margin:0;font-size:13px;line-height:1.7}.count-pill{white-space:nowrap;color:#258c83;background:#e4f5f2;border:1px solid #cce9e4;border-radius:999px;padding:8px 13px;font-size:11px;font-weight:700}.panel{background:#fff;border:1px solid #e2e9ec;border-radius:12px;margin-bottom:22px;padding:25px;box-shadow:0 3px 15px #203a4906}.panel-title{justify-content:space-between;align-items:center;gap:20px;margin-bottom:20px;display:flex}.panel-title h2{margin:0;font-size:16px}.panel-title span{color:#8c9da6;font-size:11px}.inline-form{align-items:end;gap:14px;display:flex}.inline-form .grow{flex:1}.inline-form button{height:42px}.primary-button{color:#fff;background:#269a96;border-color:#269a96}.primary-button:hover{background:#1d8683;border-color:#1d8683}.table-wrap{overflow-x:auto}table{border-collapse:collapse;text-align:left;width:100%;font-size:12px}th{letter-spacing:.7px;text-transform:uppercase;color:#8ca0aa;background:#f7f9fa;font-size:10px;font-weight:700}td,th{border-bottom:1px solid #edf1f2;padding:16px 14px}tr:last-child td{border-bottom:0}td strong{color:#253744;font-size:12px;display:block}td small{color:#93a3ad;max-width:350px;margin-top:5px;display:block}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.row-actions{white-space:nowrap;align-items:center;gap:7px;display:flex}.row-actions button{padding:6px 9px;font-size:11px}.danger-text{color:#bb5d5d}.status{color:#657782;background:#f0f3f5;border-radius:5px;align-items:center;gap:6px;padding:5px 8px;font-size:11px;font-weight:700;display:inline-flex}.status:before{content:"";background:#9fb2ba;border-radius:50%;width:6px;height:6px}.status.ok{color:#318868;background:#e8f7f0}.status.ok:before{background:#38ae78}.status.bad{color:#c36351;background:#fff0ec}.status.bad:before{background:#d97a66}.protocol{color:#328e89;background:#e7f6f4;border-radius:4px;padding:5px 7px;font-size:10px;font-weight:800}.empty{text-align:center;color:#8c9da6;padding:45px;font-size:13px}.alert{color:#99652a;background:#fff7e8;border:1px solid #f5e4c1;border-radius:8px;margin-bottom:20px;padding:12px 15px;font-size:12px}.alert.error{color:#ab504c;background:#fff0ee;border-color:#f4d5d0}.item-list{border-top:1px solid #edf1f2;margin-top:24px}.list-row{border-bottom:1px solid #edf1f2;justify-content:space-between;align-items:center;padding:15px 2px;display:flex}.list-row strong{font-size:12px}.list-row small{color:#8b9ca5;margin-top:4px;font-size:11px;display:block}select[multiple]{min-height:88px}.info-strip{color:#417e7a;background:#e9f6f5;border:1px solid #cfe8e5;border-radius:10px;gap:18px;margin-bottom:24px;padding:16px 19px;font-size:12px;line-height:1.6;display:flex}.info-strip strong{white-space:nowrap;color:#258e88}.card-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-bottom:25px;display:grid}.subscription-card{background:#fff;border:1px solid #e1e9ec;border-radius:12px;min-width:0;padding:23px;box-shadow:0 3px 15px #203a4907}.card-head{justify-content:space-between;gap:10px;min-height:82px;display:flex}.card-head h3{margin:0 0 7px;font-size:17px}.card-head p{color:#91a0a9;font-size:11px;line-height:1.5}.format-badge{white-space:nowrap;color:#7c919a;background:#eff3f5;border-radius:5px;height:max-content;padding:5px 7px;font-size:10px;font-weight:700}.format-badge.full{color:#2d9086;background:#e6f5f2}.secret-field{background:#f5f8f9;border:1px solid #e8eef0;border-radius:7px;justify-content:space-between;gap:6px;min-width:0;padding:10px;display:flex}.secret-field code{color:#607884;text-overflow:ellipsis;white-space:nowrap;align-self:center;font-size:10px;overflow:hidden}.secret-field button{color:#238f89;background:0 0;border:0;padding:0 2px}.card-actions{flex-wrap:wrap;gap:7px;margin-top:17px;display:flex}.card-actions button{padding:8px 10px;font-size:11px}.help-panel{padding-bottom:19px}.help-panel h2{font-size:15px}.help-panel ol{color:#6f838d;margin:10px 0 0;padding-left:20px;font-size:12px;line-height:2.2}.modal-backdrop{z-index:20;background:#09202bcc;place-items:center;padding:18px;display:grid;position:fixed;inset:0}.modal{text-align:center;background:#fff;border-radius:12px;width:100%;max-width:380px;padding:24px}.modal img{max-width:100%}.modal p{color:#8396a0;font-size:11px;line-height:1.5}.login-layout{background:#f5f8f9;flex-direction:column;min-height:100vh;display:flex}.login-brand{color:#183543;letter-spacing:2px;align-items:center;gap:10px;margin:34px 50px;font-size:14px;font-weight:800;display:flex}.login-panel{background:#fff;border:1px solid #e2e9ec;border-radius:15px;width:min(420px,100% - 32px);margin:auto;padding:38px;box-shadow:0 15px 45px #17384312}.login-panel h1{margin-bottom:8px;font-size:25px}.login-panel>p{color:#8ba0aa;margin-bottom:27px;font-size:12px;line-height:1.7}.login-panel form{gap:18px;display:grid}.login-panel label{font-size:12px}.login-submit{margin-top:5px;padding:12px}.login-hint{border-top:1px solid #edf1f2;padding-top:20px;margin-top:25px!important;margin-bottom:0!important}.loading-screen{color:#5c7984;place-items:center;min-height:100vh;display:grid}@media (width<=1050px){.card-grid{grid-template-columns:1fr}.inline-form{flex-wrap:wrap}.inline-form .grow{min-width:280px}.sidebar{width:210px}}@media (width<=680px){.app-shell{display:block}.sidebar{width:100%;min-height:0}.sidebar-brand{padding:17px 19px}.sidebar nav{padding-bottom:12px;display:flex;overflow:auto}.sidebar nav button{white-space:nowrap;width:auto}.sidebar-bottom,.nav-caption{display:none}.topbar{height:55px;padding:0 18px}.content{padding:24px 16px}.page-heading{align-items:flex-start}.page-heading h1{font-size:23px}.count-pill{font-size:10px}.panel{padding:17px}.inline-form{display:grid}.inline-form label{min-width:0}.table-wrap{margin:0 -17px}.card-grid{gap:12px}.info-strip{display:block}.info-strip strong{margin-bottom:6px;display:block}}.group-editor{flex-wrap:wrap;align-items:end;gap:8px;margin-top:10px;display:flex}.group-editor select{min-width:180px}.group-editor button{white-space:nowrap}.template-actions{background:#f6faf9;border:1px solid #e2efec;border-radius:8px;align-items:center;gap:8px;margin-bottom:20px;padding:11px 13px;display:flex}.template-actions span{color:#77928f;margin-right:5px;font-size:11px;font-weight:700}.mobile-logout{display:none}@media (width<=680px){.mobile-logout{padding:6px 8px;display:inline-block}.topbar-right{gap:7px}.topbar-right .avatar{display:none}.table-wrap table{min-width:700px}}.rule-editor{flex-wrap:wrap;align-items:end;gap:8px;margin-top:12px;display:flex}.rule-editor label{min-width:120px}.rule-editor input,.rule-editor select{max-width:210px}.rule-editor button{height:42px}.rule-row>div:first-child{flex:1;min-width:0}@media (width<=680px){.rule-row{align-items:flex-start;gap:8px}.rule-editor{display:grid}.template-actions{flex-wrap:wrap}}.probe-heading{align-items:center;gap:12px;display:flex}.probe-result{color:#526676;white-space:normal;margin:12px 0 0;font-size:11px;line-height:1.5;display:block}.table-wrap .probe-result{min-width:120px;margin:0}
