:root{--nav:#111827;--nav2:#192236;--ink:#172033;--muted:#718096;--line:#e6eaf0;--bg:#f5f7fb;--blue:#2c62e8;--violet:#7a52e8;--green:#12a47a;--orange:#ef8c32;--white:#fff;--shadow:0 10px 35px rgba(34,48,80,.07)}*{box-sizing:border-box}html{font-size:14px}body{margin:0;background:var(--bg);color:var(--ink);font-family:"Segoe UI","Microsoft YaHei",Arial,sans-serif}a{text-decoration:none;color:inherit}button,input,select,textarea{font:inherit}.sidebar{width:238px;background:linear-gradient(180deg,var(--nav),#151d2d);color:#cdd4df;position:fixed;inset:0 auto 0 0;padding:24px 15px;display:flex;flex-direction:column;z-index:4}.brand{height:55px;display:flex;align-items:center;gap:12px;padding:0 9px;color:white}.brand-mark{width:38px;height:38px;display:inline-grid;place-items:center;border-radius:11px;background:linear-gradient(145deg,#4679f5,#8157dc);font:800 21px Georgia;box-shadow:0 7px 20px #2447a566}.brand b{font-size:21px;letter-spacing:2px}.brand small,.profile small,.side-foot small{display:block;font-size:11px;color:#8e9aac;margin-top:2px}.sidebar nav{margin-top:26px;display:grid;gap:5px}.sidebar nav p{font-size:10px;letter-spacing:1.4px;color:#657187;margin:20px 12px 6px}.sidebar nav a{padding:11px 12px;border-radius:9px;display:flex;align-items:center;gap:12px;transition:.2s}.sidebar nav a:hover,.sidebar nav a.active{background:#263248;color:white}.sidebar nav a.active{box-shadow:inset 3px 0 #5681f2}.sidebar nav i{font-style:normal;width:17px;text-align:center;font-size:17px}.side-foot{margin-top:auto;background:#1e293b;border:1px solid #2d394d;border-radius:10px;padding:12px;font-size:12px}.status-dot{display:inline-block;width:7px;height:7px;background:#37d69a;border-radius:50%;margin-right:7px}.main-shell{margin-left:238px;min-height:100vh}.topbar{height:72px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 30px;position:sticky;top:0;z-index:3}.menu-button{display:none}.crumb{color:#8a94a6;font-size:12px}.profile{display:flex;align-items:center;gap:9px;font-size:12px}.profile .avatar{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;background:#e9efff;color:var(--blue);font-weight:700}.profile form{margin-left:8px}.profile button{border:0;background:transparent;color:#8a94a6;cursor:pointer}.content{padding:30px;max-width:1600px;margin:auto}.page-heading{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:25px}.page-heading h1{font-size:26px;margin:6px 0 5px}.page-heading p{margin:0;color:var(--muted)}.eyebrow{font-size:10px;letter-spacing:1.8px;font-weight:700;color:var(--blue)}.date-chip,.badge{background:#fff;border:1px solid var(--line);padding:9px 13px;border-radius:9px;color:#667085;font-size:12px}.badge.success{background:#eafaf4;color:#09855f;border:0}.primary{display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:9px;padding:11px 17px;background:linear-gradient(135deg,#2f68ec,#674de0);color:white;cursor:pointer;box-shadow:0 7px 15px #315dde35}.primary.full{width:100%;font-weight:700;height:46px}.metric-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:17px}.metric{background:#fff;border:1px solid var(--line);border-radius:13px;padding:20px;position:relative;overflow:hidden;box-shadow:var(--shadow)}.metric span,.metric small{display:block;color:var(--muted)}.metric strong{display:block;font-size:29px;margin:12px 0 8px}.metric i{position:absolute;width:72px;height:72px;border-radius:50%;right:-14px;top:-17px;opacity:.12}.metric.blue i{background:var(--blue)}.metric.violet i{background:var(--violet)}.metric.green i{background:var(--green)}.metric.orange i{background:var(--orange)}.dashboard-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:17px;margin-top:18px}.panel{background:#fff;border:1px solid var(--line);border-radius:13px;box-shadow:var(--shadow);padding:20px;min-width:0}.panel.span-2{grid-column:span 2}.panel header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:20px}.panel h2{font-size:15px;margin:0 0 5px}.panel header p{margin:0;color:var(--muted);font-size:12px}.panel header a{font-size:12px;color:var(--blue)}.chart{height:230px;display:flex;align-items:flex-end;gap:12px;padding:25px 10px 0;position:relative;border-bottom:1px solid var(--line)}.bar-wrap{flex:1;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;gap:8px;color:#8d97a8;font-size:10px}.bar{width:min(42px,65%);min-height:8px;border-radius:7px 7px 2px 2px;background:linear-gradient(180deg,#7b65ef,#376fe8);position:relative;transition:.3s}.bar b{position:absolute;top:-19px;width:100%;text-align:center;color:#4b5565;font-size:10px}.theme-list{display:grid;gap:16px}.theme-list div{display:grid;grid-template-columns:1fr auto;gap:7px;font-size:12px}.theme-list i{grid-column:1/-1;height:5px;border-radius:5px;background:#edf0f5;overflow:hidden}.theme-list em{display:block;height:100%;background:linear-gradient(90deg,#3f73ee,#8060e9)}.compact-table,.task-list{display:grid}.tr{display:grid;grid-template-columns:1.2fr 1fr 1fr 1fr .65fr;align-items:center;gap:12px;padding:12px 5px;border-top:1px solid #eef1f5;font-size:12px}.tr.th{color:#929bad;border:0;padding-top:0}.tr span small{display:block;color:#9aa3b0;margin-top:3px}.state{font-size:11px;border-radius:20px;padding:4px 8px;justify-self:start;background:#eef1f5}.state.online,.state.succeeded{background:#e9f9f2;color:#07855d}.state.offline,.state.failed{background:#fff0f0;color:#cc4949}.state.pending{background:#fff5e8;color:#c77518}.task-list>div{display:flex;align-items:center;gap:10px;padding:13px 0;border-top:1px solid #eef1f5}.task-list>div:first-child{border:0}.task-list p{margin:0;flex:1;font-size:12px}.task-list small{display:block;color:#929bad;margin-top:4px}.task-icon{width:31px;height:31px;border-radius:8px;background:#edf2ff;color:var(--blue);display:grid;place-items:center}.table-panel{padding:0;overflow:hidden}.table-tools{height:66px;display:flex;align-items:center;justify-content:space-between;padding:0 20px;border-bottom:1px solid var(--line);color:#8a94a6;font-size:12px}.table-tools label{background:#f5f7fa;border:1px solid #edf0f4;border-radius:8px;padding:8px 12px;width:280px}.table-tools input{border:0;outline:0;background:transparent;width:240px;margin-left:5px}.data-table{overflow:auto}table{border-collapse:collapse;width:100%;font-size:12px}th{text-align:left;background:#fafbfc;color:#818b9d;font-weight:600}th,td{padding:14px 18px;border-bottom:1px solid #edf0f4;white-space:nowrap}tbody tr:hover{background:#fafcff}.edit-form{max-width:930px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.form-grid label{display:grid;gap:8px;font-size:12px;font-weight:600;color:#536076}.form-grid input,.form-grid select,.form-grid textarea{border:1px solid #dfe4eb;border-radius:8px;padding:11px;outline:0;background:white}.form-grid input:focus,.form-grid select:focus,.form-grid textarea:focus{border-color:#5a7cec;box-shadow:0 0 0 3px #5676e91c}.form-grid .wide{grid-column:1/-1}.check-card{display:flex!important;grid-template-columns:auto 1fr!important;align-items:center;background:#f7f8fb;padding:15px;border-radius:9px}.form-actions{border-top:1px solid var(--line);margin-top:25px;padding-top:18px;display:flex;justify-content:flex-end;align-items:center;gap:18px}.notice,.alert{background:#fff7e8;border:1px solid #f4d9aa;color:#8a5a14;border-radius:8px;padding:11px 14px;margin-bottom:18px}.empty-state{text-align:center;padding:60px 20px;color:var(--muted)}.login-page{min-height:100vh;display:grid;grid-template-columns:1.15fr .85fr;background:white}.login-visual{position:relative;overflow:hidden;padding:40px 7vw;color:white;background:radial-gradient(circle at 75% 30%,#4f61bd 0,transparent 29%),linear-gradient(145deg,#101a31,#182750 58%,#293c75)}.login-logo{font-size:20px;font-weight:700;display:flex;align-items:center;gap:10px}.visual-copy{position:relative;top:18%;max-width:590px;z-index:1}.visual-copy .eyebrow{color:#91b0ff}.visual-copy h1{font-size:52px;line-height:1.18;margin:18px 0}.visual-copy p{color:#b8c5df;line-height:1.8;font-size:15px}.visual-pills{display:flex;gap:10px;margin-top:30px}.visual-pills span{font-size:11px;padding:8px 12px;border:1px solid #ffffff28;border-radius:30px;background:#ffffff0d}.visual-orbit{position:absolute;width:480px;height:480px;border:1px solid #ffffff12;border-radius:50%;right:-190px;bottom:-150px}.visual-orbit span{position:absolute;border:1px solid #ffffff12;border-radius:50%;inset:65px}.visual-orbit span:nth-child(2){inset:130px}.visual-orbit span:nth-child(3){inset:195px;background:#758eff33}.login-form-wrap{display:grid;place-items:center;padding:40px}.login-card{width:min(390px,100%)}.login-card h2{font-size:25px;margin:10px 0}.login-card>p{color:var(--muted);margin-bottom:30px}.login-card label:not(.check){display:grid;gap:8px;margin:17px 0;font-size:12px;font-weight:600}.login-card input[type=text],.login-card input[type=password]{height:45px;border:1px solid #dfe4eb;border-radius:8px;padding:0 12px}.login-card .check{display:flex;align-items:center;gap:7px;color:#667085;margin:12px 0 20px}.demo-tip{margin-top:28px;padding:14px;background:#f6f8fc;border-radius:9px;font-size:11px;color:#687387}.demo-tip span,.demo-tip small{display:block;margin-top:4px}.demo-tip small{color:#a16a25}.muted{color:var(--muted)}@media(max-width:1050px){.metric-grid{grid-template-columns:repeat(2,1fr)}.dashboard-grid{grid-template-columns:1fr 1fr}.panel.span-2{grid-column:span 2}.login-visual{display:none}.login-page{grid-template-columns:1fr}}@media(max-width:760px){.sidebar{transform:translateX(-100%);transition:.25s}.sidebar.open{transform:none}.main-shell{margin-left:0}.menu-button{display:inline;border:0;background:transparent;font-size:20px}.content{padding:20px}.topbar{padding:0 18px}.metric-grid,.dashboard-grid{grid-template-columns:1fr}.panel.span-2{grid-column:auto}.form-grid{grid-template-columns:1fr}.form-grid .wide{grid-column:auto}.page-heading{align-items:flex-start;gap:15px}.profile>span:not(.avatar){display:none}}
.activation-notice{background:#eafaf4;border:1px solid #bcebd9;color:#08795a;border-radius:8px;padding:11px 14px;margin-bottom:18px}.danger-zone{max-width:930px;margin-top:20px;border-color:#f1cccc}.danger-zone h2{color:#a52d2d}.danger-zone>p{color:var(--muted)}.lifecycle-actions{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin-top:18px}.lifecycle-actions form{display:flex;gap:8px;margin:0}.lifecycle-actions input{border:1px solid #d9dee7;border-radius:8px;padding:10px 12px;min-width:220px}.lifecycle-actions button{border:0;border-radius:8px;padding:10px 15px;cursor:pointer;background:#edf1f7;color:#344054}.lifecycle-actions .warning{background:#fff1d8;color:#995c00}.lifecycle-actions .danger{background:#d9363e;color:#fff;font-weight:700}.approval-tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:18px}.approval-tabs a{padding:8px 13px;border-radius:8px;background:#fff;border:1px solid var(--line);color:#667085}.approval-tabs a.active{background:#edf2ff;color:var(--blue);border-color:#bfd0ff}
.filter-bar{display:flex;gap:15px;align-items:end;flex-wrap:wrap;margin-bottom:18px}.filter-bar label,.config-builder label{display:grid;gap:7px;font-size:12px;font-weight:600;color:#536076}.filter-bar input,.filter-bar select,.config-builder input,.config-builder select{border:1px solid #dfe4eb;border-radius:8px;padding:10px;background:#fff}.status-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.status-grid h2{font-size:20px;margin:10px 0}.status-grid small,.status-grid p{color:var(--muted)}.config-columns{display:grid;grid-template-columns:1fr 1fr;gap:22px}.config-columns section{border:1px solid var(--line);border-radius:10px;padding:17px}.config-columns section h2{font-size:15px;margin:0 0 15px}.config-columns section>label{margin-bottom:12px}.check-list{display:grid;gap:8px;max-height:260px;overflow:auto}.check-list label{display:grid!important;grid-template-columns:auto 1fr!important;align-items:center;background:#f7f8fb;border-radius:8px;padding:10px}.check-list small{grid-column:2;color:var(--muted)}code{font-family:Consolas,monospace;font-size:11px}@media(max-width:1000px){.status-grid,.config-columns{grid-template-columns:1fr 1fr}}@media(max-width:700px){.status-grid,.config-columns{grid-template-columns:1fr}}

.config-workflow{display:grid;gap:20px}.config-workflow label{display:grid;gap:7px;font-size:12px;font-weight:600;color:#536076}.config-workflow input,.config-workflow select{border:1px solid #dfe4eb;border-radius:9px;padding:11px;background:#fff}.config-target-panel{margin:0}.config-section-heading{display:flex;gap:13px;align-items:flex-start;margin-bottom:16px}.config-section-heading h2,.config-group-header h2{margin:0 0 4px}.config-section-heading p,.config-group-header p{margin:0;color:var(--muted)}.step-number{display:grid;place-items:center;width:30px;height:30px;border-radius:9px;background:#edf2ff;color:#3157d5;font-weight:800}.store-selector{max-width:470px;margin-bottom:15px}.device-grid{grid-template-columns:repeat(2,minmax(0,1fr));max-height:220px}.check-list label span{min-width:0}.check-list label small{display:block;margin-top:3px;font-weight:400;color:var(--muted);overflow-wrap:anywhere}.config-package-group{margin:0;padding:0;overflow:hidden}.config-group-header{display:grid;grid-template-columns:auto 1fr auto;gap:15px;align-items:center;padding:20px 22px;border-bottom:1px solid var(--line)}.monitor-group .config-group-header{background:linear-gradient(100deg,#eef4ff,#f9fbff)}.mydata-group .config-group-header{background:linear-gradient(100deg,#f0fbf7,#fbfefd)}.config-file-icon{display:grid;place-items:center;width:48px;height:48px;border-radius:13px;background:#4568e8;color:#fff;font-size:12px;font-weight:800;box-shadow:0 8px 18px #4568e833}.mydata-group .config-file-icon{background:#169b76;box-shadow:0 8px 18px #169b7633}.group-kicker{display:block;font-size:11px;letter-spacing:.12em;color:#65728b;font-weight:800;margin-bottom:3px}.independent-badge{border:1px solid #b9c8f7;background:#fff;color:#3157d5;border-radius:999px;padding:6px 10px;font-size:12px;font-weight:700}.mydata-group .independent-badge{border-color:#b9e3d6;color:#08795a}.config-group-grid{display:grid;grid-template-columns:1fr 1fr;gap:0}.config-group-grid.two-columns{grid-template-columns:1fr 1fr}.config-block{padding:20px 22px;border-right:1px solid var(--line)}.config-block:last-child{border-right:0}.config-block h3{display:flex;align-items:center;gap:8px;font-size:14px;margin:0 0 15px}.config-block h3 span{display:grid;place-items:center;width:23px;height:23px;border-radius:7px;background:#edf2ff;color:#3157d5;font-size:12px}.mydata-group .config-block h3 span{background:#e7f7f1;color:#08795a}.config-block>label{margin-bottom:12px}.config-preview-block{grid-column:auto}.config-preview{min-height:285px;max-height:390px;overflow:auto;margin:0 0 12px;background:#111827;color:#dbeafe;border-radius:10px;padding:15px;white-space:pre-wrap}.json-preview{min-height:210px}.config-group-actions{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:15px 22px;border-top:1px solid var(--line);background:#fafbfc}.config-group-actions span{font-size:12px;color:var(--muted)}.config-separator{display:flex;align-items:center;gap:12px;color:#8a94a6;font-size:12px;font-weight:700}.config-separator:before,.config-separator:after{content:"";height:1px;background:#d9dee8;flex:1}.binding-status-card{display:flex;justify-content:space-between;align-items:center;gap:20px;max-width:930px;border:1px solid;border-radius:11px;padding:14px 18px;margin-bottom:18px}.binding-status-card div{display:flex;align-items:center;gap:10px}.binding-status-card span{font-size:12px}.binding-status-card strong{font-size:14px}.binding-status-card p{margin:0;font-size:12px}.binding-status-card.bound{background:#eafaf4;border-color:#bcebd9;color:#08795a}.binding-status-card.unbound{background:#fff4e7;border-color:#f1d2a6;color:#9a5a00}@media(max-width:1100px){.config-group-grid,.config-group-grid.two-columns{grid-template-columns:1fr}.config-block{border-right:0;border-bottom:1px solid var(--line)}.device-grid{grid-template-columns:1fr}}@media(max-width:700px){.config-group-header{grid-template-columns:auto 1fr}.independent-badge{grid-column:2;width:max-content}.config-group-actions,.binding-status-card{align-items:stretch;flex-direction:column}.config-group-actions button{width:100%}}
/* Configuration history */
.history-device-filter form{max-width:460px}.config-history-panel header,.config-compare-panel header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:18px}.config-history-panel header h2,.config-compare-panel header h2{margin:0 0 6px}.config-history-panel header p,.config-compare-panel header p{margin:0;color:var(--muted)}
.compare-selectors{display:grid;grid-template-columns:1fr 1fr auto;gap:14px;align-items:end;margin-bottom:20px}.config-diff-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.config-diff-grid h3{font-size:14px;margin:0 0 8px}.config-diff-grid pre{min-height:360px;max-height:600px;overflow:auto}.config-diff-grid pre span{display:block;min-height:1.45em;padding:0 6px;margin:0 -6px}.config-diff-grid .diff-line{background:#fff1d6;color:#8a4b00;border-left:3px solid #f59e0b}.secondary-button{display:inline-flex;align-items:center;padding:10px 14px;border:1px solid #d8deed;border-radius:10px;background:#fff;color:#3155d9;text-decoration:none;font-weight:700}
@media(max-width:900px){.compare-selectors,.config-diff-grid{grid-template-columns:1fr}.config-diff-grid pre{min-height:240px}}
.apk-layout{display:grid;grid-template-columns:.8fr 1.2fr;gap:18px;margin-bottom:18px}.apk-upload-card form,.apk-deploy-card form{display:grid;gap:14px}.apk-upload-card label,.apk-deploy-card>form>label{display:grid;gap:7px;font-size:12px;font-weight:600;color:#536076}.apk-upload-card input,.apk-upload-card select,.apk-deploy-card input,.apk-deploy-card select{border:1px solid #dfe4eb;border-radius:9px;padding:11px;background:#fff}.apk-device-list{grid-template-columns:repeat(2,minmax(0,1fr));max-height:240px}.apk-action-buttons{display:flex;justify-content:flex-end;gap:12px;padding-top:8px}.danger-button{border:0;border-radius:9px;padding:11px 17px;background:#d9363e;color:#fff;cursor:pointer;font-weight:700}.apk-repository{padding:0;overflow:hidden}.apk-repository>header{padding:20px 20px 0}.apk-repository form{margin:0}@media(max-width:1000px){.apk-layout{grid-template-columns:1fr}}@media(max-width:700px){.apk-device-list{grid-template-columns:1fr}.apk-action-buttons{flex-direction:column}.apk-action-buttons button{width:100%}}
