:root{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC",sans-serif;color:#253a34;background:#f5f6f1;font-size:15px}*{box-sizing:border-box}body{margin:0}header,main,footer{max-width:1180px;margin:auto}header{height:92px;display:flex;align-items:center;gap:28px;border-bottom:1px solid #dae0d5}.brand{font-size:28px;font-weight:750;text-decoration:none;color:inherit;display:flex;align-items:center;gap:15px}.brand span{font-size:10px;letter-spacing:2px;color:#6b7b70;font-weight:500}.badge{margin-left:auto;background:#e4eadf;color:#53634b;padding:8px 13px;border-radius:30px;font-size:12px}main{min-height:calc(100vh - 173px)}.login{max-width:690px;padding:70px 0;margin:auto}.eyebrow{font-size:11px;letter-spacing:2px;color:#6c8260;font-weight:650}h1{font-size:46px;letter-spacing:-1.5px;line-height:1.4;margin:20px 0}p{line-height:1.75}.intro{color:#6c7973;font-size:17px;margin-bottom:36px}.login .card{max-width:460px;padding:26px}.login button{width:100%;margin-top:16px;display:flex;justify-content:space-between}.login-foot{margin-top:30px;color:#819083;font-size:12px;letter-spacing:1px}.card{border:1px solid #dfe4d9;border-radius:16px;padding:24px;background:#fff}.muted{font-size:12px;color:#849086;margin:15px 0 0}label{display:block;font-size:13px;font-weight:550;margin-bottom:8px}input,select,textarea{font:inherit;border:1px solid #d8e0d7;border-radius:8px;background:#fafbf8;color:#263b33;padding:12px;width:100%;outline:none}input:focus,select:focus,textarea:focus{border-color:#648458;box-shadow:0 0 0 3px #e5eedf}button{font:inherit;border:0;cursor:pointer;border-radius:9px;background:#2c4d3b;color:white;padding:12px 20px;white-space:nowrap;font-weight:550}button:hover{filter:brightness(1.08)}button:disabled{opacity:.5;cursor:wait}.secondary{background:#e6edde;color:#2c4d3b}.quiet{background:transparent;color:#6d7c70;padding:8px}.danger{color:#9b4a39;background:#f9ede7;font-size:12px;padding:8px 12px}.hero{display:flex;justify-content:space-between;align-items:center;padding:48px 0 28px;gap:20px}.hero h1{font-size:34px;margin:14px 0 6px}.hero p{color:#7c897e;margin:0}.stats{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid #dde4d8;background:#eaf0e3;border-radius:16px;padding:25px 0;margin:0 0 32px}.stats>div{padding:0 30px;border-right:1px solid #d5dfcd}.stats>div:last-child{border:0}.stats span{font-size:34px;font-weight:550}.stats p{margin:6px 0 0;font-size:12px;color:#75816d}.tabs{display:flex;gap:24px;border-bottom:1px solid #d9e0d4}.tabs button{border-radius:0;background:transparent;color:#81907f;padding:15px 0;border-bottom:3px solid transparent}.tabs .active{color:#294936;border-bottom-color:#294936}.panel{padding:26px 0}.section-head h2{font-size:21px;margin:0}.section-head p{font-size:13px;color:#7c867c;margin:8px 0 22px}.form-row{display:flex;align-items:end;gap:18px}.form-row>div{min-width:0}.grow{flex:1}.form-row>button{height:46px}#sourceList,#deviceList{display:grid;gap:14px;margin-top:22px}.source-head,.device-row{display:flex;align-items:center;gap:16px}.source-head h3{margin:0 0 8px;font-size:17px}.source-meta{font-size:12px;color:#758375;line-height:1.8}.source-head .grow{min-width:0}.status{margin:17px 0 0;border-top:1px solid #edf0e9;padding-top:14px;font-size:13px;color:#607357;overflow-wrap:anywhere}details{margin-top:16px}summary{cursor:pointer;font-size:12px;color:#617451}.nodes{width:100%;border-collapse:collapse;margin-top:12px;font-size:12px}.nodes td,.nodes th{text-align:left;padding:8px;border-bottom:1px solid #edf1e8;overflow-wrap:anywhere}.nodes select{font-size:12px;padding:7px;min-width:95px}.empty{padding:42px;text-align:center;color:#8a9687;border:1px dashed #d2dcce;border-radius:14px;line-height:1.9}.rule-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.rule-grid label{margin:0}.rule-grid b{display:block;font-size:18px;margin-bottom:9px}.rule-grid span{display:block;color:#7b8876;font-size:12px;line-height:1.6;min-height:39px;font-weight:400}.rule-grid textarea{resize:vertical;height:150px;margin-top:12px;font-size:13px;line-height:1.7;font-weight:400}.explanation{background:#ebf0e4}.explanation p{font-size:13px;color:#718069}.savebar{display:flex;align-items:center;justify-content:space-between;margin-top:20px;gap:15px}.savebar p,aside{font-size:12px;color:#84917d;line-height:1.9}aside{margin-top:22px}.device-row small{display:block;color:#819078;margin-top:6px}.new-link{margin-top:18px;background:#e9f1e1}.new-link p{font-size:12px}.new-link input{flex:1;min-width:0}.new-link .form-row{align-items:center}#message{position:fixed;bottom:26px;left:50%;transform:translateX(-50%);background:#284a38;color:#fff;padding:15px 25px;border-radius:12px;box-shadow:0 10px 35px #24372530;max-width:90vw;z-index:5;line-height:1.6}#message.error{background:#87483d}footer{padding:28px 0;color:#9aa393;border-top:1px solid #e0e5da;font-size:11px}[hidden]{display:none!important}@media(max-width:1220px){header,main,footer{margin-left:28px;margin-right:28px}}@media(max-width:760px){header{height:75px}.brand span{display:none}.hero{align-items:start;flex-direction:column;padding-top:32px}.hero h1{font-size:27px}.rule-grid{grid-template-columns:1fr}.form-row{flex-direction:column;align-items:stretch}.form-row>div{width:100%}.source-head{flex-wrap:wrap}.stats>div{padding:0 15px}.stats span{font-size:28px}.tabs{gap:20px}.tabs button{font-size:13px}.login{padding:45px 0}.login h1{font-size:40px}.savebar{align-items:stretch;flex-direction:column}.new-link .form-row{align-items:stretch}.nodes td:first-child{max-width:180px}.badge{font-size:10px}}
