@charset "UTF-8";
:root{--bg:#f4f6f5;--paper:#fff;--ink:#202e2b;--muted:#7a8581;--line:#e5eae7;--green:#346b55;--green-soft:#e8f1eb;--orange:#c27d40;--danger:#b6544a;--radius:17px;font-family:Inter,"Segoe UI","Microsoft YaHei",sans-serif;color:var(--ink);font-synthesis:none}*{box-sizing:border-box}body{margin:0;background:var(--bg);font-size:14px;line-height:1.6}a{color:inherit;text-decoration:none}button,input,select{font:inherit}button,a,input,select{outline-offset:4px}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.45}button:hover:not(:disabled){filter:brightness(.96)}button:active:not(:disabled){transform:translateY(1px)}[hidden]{display:none!important}h1,h2,p{margin:0}h2{font-size:17px;font-weight:650;letter-spacing:.1px}.muted{color:var(--muted)}.small{font-size:12px}.app-shell{display:flex;min-height:100vh}.sidebar{width:232px;position:fixed;inset:0 auto 0 0;background:#fff;border-right:1px solid var(--line);padding:35px 22px 18px;display:flex;flex-direction:column;z-index:10}.brand{display:flex;align-items:center;gap:10px;font-weight:750;letter-spacing:-.5px;font-size:21px}.brand-mark{background:#234f3e;color:#fff;display:grid;place-items:center;width:38px;height:41px;border-radius:12px;font-size:27px;font-weight:600}.brand small{display:block;font-size:10px;color:#95a09a;letter-spacing:1.5px;margin-top:0;font-weight:400}.workspace-label{margin:49px 13px 15px;color:#a0a8a4;font-size:10px;letter-spacing:1.4px;display:flex;justify-content:space-between}.workspace-label span{letter-spacing:0}nav{display:grid;gap:8px}.nav-item{padding:12px 15px;display:flex;gap:16px;align-items:center;color:#79857f;font-size:13px;border-radius:9px}.nav-item>span{font-size:21px;line-height:1}.nav-item.active{background:var(--green-soft);color:var(--green);font-weight:650}.nav-item:hover{background:#f2f6f3}.sidebar-bottom{margin-top:auto;padding-top:40px}.edge-note{background:#f6f8f5;border:1px solid #e8eee7;border-radius:12px;padding:16px 13px;font-size:11px}.tiny-dot{display:inline-block;width:6px;height:6px;background:#739680;border-radius:50%;margin-right:8px;vertical-align:middle}.edge-note p{color:#94a097;padding-left:14px;margin-top:7px;line-height:1.8}.admin-row{display:flex;align-items:center;gap:10px;padding:22px 0 0}.avatar{display:grid;place-items:center;width:33px;height:33px;border-radius:50%;background:#f2ede5;font-size:12px;color:#958573}.admin-row strong{font-size:12px;font-weight:550}.admin-row small{display:block;font-size:9px;color:#9ca6a1}.admin-row form{margin-left:auto}.icon-button{background:none;border:0;color:#87958c;font-size:21px}.main{margin-left:232px;flex:1;min-width:0}.topbar{height:75px;background:#ffffffa8;border-bottom:1px solid var(--line);padding:0 42px;display:flex;justify-content:space-between;align-items:center;font-size:11px}.breadcrumb{color:#93a098}.breadcrumb span{margin:0 14px;color:#b7c0ba}.breadcrumb strong{color:#69786e;font-weight:450}.topbar-right{display:flex;gap:23px;color:#8a968f;align-items:center}.secure-label{border-left:1px solid var(--line);padding-left:23px;color:#648470}.content{padding:34px 42px 0;max-width:1550px;margin:auto}.page-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:26px}.eyebrow{color:#7b9386;font-size:9px;font-weight:650;letter-spacing:2px;margin-bottom:8px}h1{font-size:31px;line-height:1.5;font-weight:650;letter-spacing:-.8px}.heading-dot{color:#6d9780;margin-left:4px}.page-heading p{color:#8a948f;font-size:12px;margin-top:4px}.button{border:0;border-radius:8px;min-height:39px;padding:9px 16px;font-size:12px;font-weight:550;display:inline-flex;align-items:center;justify-content:center;gap:13px;white-space:nowrap;transition:background .15s}.primary{background:var(--green);color:#fff}.secondary{border:1px solid #dfe7e1;background:#fff;color:#52675b}.danger{background:#fbf0ed;color:var(--danger);border:1px solid #f1ddd7}.white{background:#edf3e8;color:#294735}.notice{display:flex;align-items:center;gap:14px;padding:14px 19px;background:#f7f3e9;border:1px solid #ebe3d2;border-radius:11px;margin-bottom:23px;color:#8c754e}.notice-icon{border:1px solid #c5af80;border-radius:50%;height:19px;width:19px;display:grid;place-items:center;font-family:serif}.notice strong{font-size:12px;font-weight:600}.notice p{font-size:11px;color:#a19172;margin-top:1px}.notice a{margin-left:auto;font-size:11px;white-space:nowrap}.notice.connected{background:#edf4ed;border-color:#dce9dd;color:#467352}.overview-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:22px}.lock-card{background:#263f35;color:#fff;border-radius:var(--radius);padding:23px 25px 0;position:relative;overflow:hidden;min-height:298px}.card-top{display:flex;align-items:center;justify-content:space-between}.overline{font-size:9px;color:#a9bbae;letter-spacing:1.8px}.badge{font-size:10px;padding:4px 10px;border-radius:20px;background:#ffffff12;color:#ced8d1;border:1px solid #ffffff18}.lock-card-body{display:flex;align-items:center;justify-content:space-between;height:185px}.lock-card-body h2{font-size:23px;font-weight:550}.lock-card-body>div>p{font-size:10px;color:#94ad9e;margin-top:4px;letter-spacing:.4px}.lock-state{font-size:14px;color:#e4ede1;margin-top:22px}.lock-detail{font-size:10px!important}.lock-illustration{width:163px;height:180px;position:relative;display:grid;place-items:center;flex-shrink:0}.lock-halo{position:absolute;border:1px solid #7a9c7626;border-radius:50%;width:166px;height:166px;background:radial-gradient(ellipse,#69826921,transparent 65%)}.lock-halo:after{content:"";position:absolute;inset:16px;border-radius:50%;border:1px solid #7a9c7617}.lock-hardware{height:153px;width:46px;background:linear-gradient(95deg,#1a2420,#323a34 35%,#151f1a);border:1px solid #677063;border-radius:12px;position:relative;box-shadow:10px 14px 30px #0005;transform:rotate(-7deg)}.lock-camera{width:6px;height:6px;border-radius:50%;background:#050b08;margin:9px auto;border:1px solid #465547}.lock-led{width:13px;height:2px;background:#a1b78b;margin:0 auto;box-shadow:0 0 8px #c4e29f66}.lock-keypad{display:grid;grid-template-columns:repeat(3,3px);gap:6px;margin:13px auto;width:21px}.lock-keypad i{background:#7f8b7e;width:3px;height:3px;border-radius:50%}.lock-handle{width:86px;height:13px;border-radius:6px;background:linear-gradient(#a4aca1,#536251 50%,#8b9587);position:absolute;top:84px;left:14px;box-shadow:1px 4px 7px #0007}.lock-reader{position:absolute;bottom:13px;left:14px;width:16px;height:16px;border:1px solid #687864;border-radius:50%;background:#172119}.lock-card-footer{display:flex;align-items:center;justify-content:space-between;border-top:1px solid #ffffff13;padding:14px 0;color:#9bb3a4;font-size:10px}.lock-card-footer .tiny-dot{background:#b7a073}.card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:23px 24px}.section-title{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:18px}.section-title h2{font-size:15px}.small-tag{font-size:10px;letter-spacing:.3px;color:#87968c;background:#f3f6f3;border:1px solid #e6ece7;border-radius:5px;padding:3px 7px;white-space:nowrap}.connection-card{padding:23px 25px 15px}.connection-card .section-title{margin-bottom:17px}.connection-node{display:flex;align-items:center;gap:12px}.node-icon{width:34px;height:34px;display:grid;place-items:center;border:1px solid #e1e8e1;border-radius:9px;color:#7c8f80;font-size:18px;background:#f7f9f6}.cloud-icon{background:#eaf2e9;color:#66835d}.connection-node strong{font-size:12px;font-weight:550}.connection-node small{font-size:10px;color:#9ca69f;display:block}.connection-node .pill{margin-left:auto}.pill{font-size:10px;display:inline-block;padding:3px 9px;border-radius:5px;background:#f2f3f1;color:#8a948c;white-space:nowrap}.pill.good{background:#eaf3e8;color:#5d8152}.pill.warn{background:#faf0df;color:#ad8247}.pill.bad{background:#f9ece8;color:#ae6a5d}.chain-line{width:1px;height:16px;border-left:1px dashed #d5dfd4;margin:3px 0 3px 17px}.text-link{font-size:11px;color:#758879;display:flex;justify-content:space-between;padding-top:15px;margin-top:17px;border-top:1px solid #edf0eb}.text-link.inline{margin:0;padding:0;border:0}.metric-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin:21px 0}.metric{display:flex;gap:13px;background:#fff;border:1px solid var(--line);border-radius:13px;padding:21px 17px}.metric-icon{height:33px;width:33px;border-radius:9px;background:#f2f5ef;color:#8d9d7a;display:grid;place-items:center;font-size:21px}.metric div>span{color:#849087;font-size:11px}.metric strong{display:block;font-size:25px;font-weight:600;line-height:1.4;margin:4px 0}.metric small{font-size:9px;color:#a3aca5}.two-column{display:grid;grid-template-columns:1fr 1fr;gap:22px}.quick-link{display:flex;align-items:center;gap:13px;padding:14px 0;border-top:1px solid #f0f2ef}.quick-link:first-of-type{border-top:none;padding-top:3px}.quick-link>span:last-child{margin-left:auto;color:#91a18e}.quick-icon{height:37px;width:37px;border-radius:9px;background:#f4f6ef;color:#8b9976;display:grid;place-items:center;font-size:20px}.quick-link strong{font-size:12px;font-weight:550}.quick-link small{font-size:10px;color:#9ca69d;display:block;margin-top:2px}.activity-item{display:flex;gap:11px;border-top:1px solid #f1f3f0;padding:10px 0}.activity-item:first-child{border:0;padding-top:0}.activity-dot{height:7px;width:7px;background:#a1b397;border-radius:50%;margin-top:6px;flex-shrink:0}.activity-item strong{font-size:11px;font-weight:500}.activity-item small{display:block;font-size:10px;color:#9ba79e}.activity-item time{margin-left:auto;white-space:nowrap;font-size:10px;color:#a3ada5}.page-footer{display:flex;justify-content:space-between;padding:29px 0 20px;font-size:9px;color:#a3ada6;letter-spacing:.6px}.page-footer b{font-weight:400;margin-left:8px;color:#bac1bc}.empty{text-align:center;padding:25px 15px;color:#a1aaa3;font-size:12px}.stack{display:grid;gap:20px}.spaced{margin-top:22px}.card>p.muted{font-size:12px;margin-bottom:16px}label{display:block;margin:16px 0 7px;font-size:12px;color:#607367}input,select{width:100%;height:43px;border:1px solid #dfe6df;border-radius:8px;padding:10px 12px;background:#fff;color:#31463a;font-size:13px}input:focus,select:focus{outline:2px solid #c6daca;border-color:#88a08c}input::placeholder{color:#adb6af}.input-group{display:flex;gap:7px}.input-group input{min-width:70px;flex:1}.form-actions{display:flex;flex-wrap:wrap;gap:9px;margin:20px 0 13px}.key-values{margin:0 0 17px}.key-values>div{display:flex;justify-content:space-between;gap:18px;padding:10px 0;border-bottom:1px solid #f0f3ef;font-size:12px}.key-values dt{color:#8d9b90}.key-values dd{margin:0;color:#4f6656;text-align:right;overflow-wrap:anywhere}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse;font-size:11px;text-align:left;white-space:nowrap}th{color:#94a095;background:#f7f9f5;font-weight:500;padding:11px 13px}td{padding:13px;border-bottom:1px solid #edf1eb;color:#65766a}td:last-child{white-space:normal;min-width:120px}tr:last-child td{border-bottom:0}.architecture-flow{display:flex;align-items:center;justify-content:space-around;padding:20px 0 26px;gap:10px}.architecture-flow>div{text-align:center;min-width:100px}.architecture-flow span{display:grid;place-items:center;width:52px;height:52px;border-radius:14px;background:#eef3e9;color:#7c9272;margin:0 auto 12px;font-size:28px}.architecture-flow strong{display:block;font-size:13px;font-weight:550}.architecture-flow small{color:#98a38f;font-size:10px}.architecture-flow b{color:#bbc7b6;font-size:24px;font-weight:400}.architecture>p{border-top:1px solid #edf1e9;padding-top:18px;margin-bottom:0!important}.rules-list{padding:0;margin:0;list-style:none}.rules-list li{padding:13px 0;border-bottom:1px solid #eff2ec}.rules-list li:last-child{border:0}.rules-list strong{font-size:12px;font-weight:550}.rules-list p{font-size:11px;color:#97a28f;margin-top:5px}.toast{position:fixed;bottom:28px;left:50%;transform:translateX(-50%);z-index:100;background:#233d30;color:white;border-radius:10px;padding:15px 23px;box-shadow:0 8px 35px #152e2529;max-width:min(600px,90vw);font-size:13px}.toast.error{background:#8a4c42}dialog{border:0;border-radius:18px;max-width:460px;width:calc(100% - 32px);padding:29px;box-shadow:0 30px 80px #14271944}dialog::backdrop{background:#1b302c66;backdrop-filter:blur(3px)}dialog h2{margin:14px 0 10px;font-size:21px}dialog p{font-size:13px;color:#7a8b7c;margin:12px 0}.form-error{font-size:12px;color:#a85a4b;margin-top:12px}.login-layout{min-height:100vh;display:grid;grid-template-columns:1.1fr 1fr}.login-story{background:#233f33;color:#fff;display:flex;flex-direction:column;padding:45px 55px}.login-story .brand-mark{background:#e2ebd9;color:#314f37}.brand-cloud{font-size:9px;letter-spacing:2px;margin:5px 0 0 8px;color:#aac4af}.login-story-body{margin:auto 0;padding:80px 0}.login-story-body .eyebrow{color:#8fa992}.login-story h1{font-size:43px;line-height:1.55;letter-spacing:1px;font-weight:450;margin-top:22px}.login-story-body>p{color:#abc0af;line-height:2;margin-top:25px;font-size:13px}.login-chain{display:flex;align-items:center;gap:16px;margin-top:53px;font-size:11px;color:#bdd0b9}.login-chain span{padding:9px 13px;background:#ffffff09;border:1px solid #ffffff18;border-radius:8px}.login-chain i{font-style:normal;color:#5f8065}.login-foot{font-size:10px;color:#7b9b82;display:flex;justify-content:space-between;gap:10px}.login-foot span{font-size:8px;letter-spacing:1px}.login-form-wrap{display:flex;flex-direction:column;align-items:center;justify-content:center;background:#f9faf7;padding:40px;position:relative}.login-form{max-width:350px;width:100%}.login-form h2{font-size:29px;font-weight:550;margin:20px 0 10px}.login-form>p.muted{font-size:12px;margin-bottom:35px}.login-form label{margin-top:25px}.login-form input{height:48px}.login-submit{width:100%;justify-content:space-between;margin-top:22px;height:46px}.login-hint{font-size:10px;color:#a0ab9c;text-align:center;margin-top:20px}.version{position:absolute;bottom:40px;font-size:10px;color:#b0baab;letter-spacing:1px}
@media(min-width:1550px){.content{padding-top:45px}.overview-grid{grid-template-columns:1.3fr 1fr}.lock-card{min-height:330px}.lock-card-body{height:215px}.lock-illustration{margin-right:30px}.lock-hardware{transform:scale(1.1) rotate(-7deg)}}
@media(max-width:1150px){.sidebar{width:205px;padding-left:16px;padding-right:16px}.main{margin-left:205px}.topbar{padding:0 26px}.content{padding:28px 26px 0}.overview-grid{grid-template-columns:1.15fr 1fr;gap:16px}.lock-card{padding-left:20px;padding-right:20px}.lock-illustration{width:118px;transform:scale(.87)}.lock-card-body h2{font-size:20px}.metric-grid{gap:10px}.metric{gap:9px;padding:17px 12px}.metric-icon{width:28px;height:28px}.metric small{font-size:8px}.two-column{gap:16px}.card{padding:20px}.section-title>.small{max-width:130px;font-size:10px}.login-story{padding:40px 35px}.login-story h1{font-size:35px}}
@media(max-width:850px){.sidebar{width:75px;padding:25px 12px}.sidebar .brand>span:last-child,.workspace-label,.nav-item:not(.active)~.none,.edge-note,.admin-row{display:none}.sidebar .brand{justify-content:center}.nav-item{font-size:0;justify-content:center;padding:12px}.nav-item>span{font-size:23px}.sidebar nav{margin-top:45px;gap:13px}.main{margin-left:75px}.topbar-right #clock{display:none}.overview-grid,.two-column{grid-template-columns:1fr}.metric-grid{grid-template-columns:repeat(4,1fr)}.metric{flex-direction:column}.lock-card-body{height:175px}.lock-illustration{width:180px;transform:scale(1)}.lock-card{min-height:290px}.connection-node{margin:0 12px}.chain-line{margin-left:29px}.notice a{display:none}.access-grid{grid-template-columns:1fr}.architecture-flow{flex-wrap:wrap}.architecture-flow>div{min-width:90px}.login-layout{grid-template-columns:1fr}.login-story{display:none}.login-form-wrap{min-height:100vh}.login-form{max-width:370px}}
@media(max-width:540px){.sidebar{inset:auto 0 0;width:100%;height:62px;padding:5px 9px;border-top:1px solid var(--line);border-right:0;background:#ffffffef;backdrop-filter:blur(10px)}.sidebar .brand,.sidebar-bottom{display:none}.sidebar nav{display:flex;margin:0;justify-content:space-around;gap:3px}.nav-item{font-size:9px;padding:4px 9px;gap:3px;flex-direction:column;flex:1}.nav-item>span{font-size:22px}.main{margin:0 0 62px}.topbar{height:58px;padding:0 19px}.topbar-right{font-size:9px}.secure-label{padding-left:12px}.content{padding:23px 17px 0}.page-heading{margin-bottom:20px;gap:10px}.page-heading h1{font-size:26px}.page-heading p{font-size:10px;max-width:240px}.page-heading>.small-tag{display:none}.page-heading .button{font-size:10px;padding:8px 10px;min-height:34px}.eyebrow{font-size:8px;letter-spacing:1.5px}.notice{padding:12px;gap:9px}.notice-icon{flex-shrink:0}.notice p{font-size:10px}.notice strong{font-size:11px}.lock-card{padding:19px 19px 0}.lock-illustration{width:135px;transform:scale(.9)}.metric-grid{grid-template-columns:1fr 1fr;gap:12px;margin:17px 0}.metric{flex-direction:row;padding:17px 14px;gap:12px}.metric strong{font-size:24px}.metric small{font-size:9px}.card{padding:20px 17px}.page-footer{font-size:8px}.page-footer>span:last-child{max-width:170px;text-align:right}.architecture-flow{display:grid;grid-template-columns:1fr 20px 1fr;gap:18px}.architecture-flow>b:nth-of-type(2){display:none}.architecture-flow>div:nth-of-type(3){grid-column:1}.architecture-flow small{font-size:9px}.input-group .button{padding:8px 12px}.form-actions{gap:7px}.form-actions .button{font-size:11px;padding:8px 12px}.login-form-wrap{padding:28px}}
