*{box-sizing:border-box}body{margin:0;font:14px/1.6 -apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei",sans-serif;color:#242821;background:#f5f6f8}button,input,select,textarea{font:inherit}button,a,input,select,textarea{outline-offset:3px}button{cursor:pointer;border:1px solid #dfe3e8;background:#fff;border-radius:5px;padding:8px 15px;color:inherit}button:hover{border-color:#97a0aa}button:disabled{opacity:.45;cursor:default}.primary{background:#1d1e1b;color:#fff;border-color:#1d1e1b}a{color:#38566f;text-decoration:none}.text-link{padding:0;border:0;background:none;color:#38566f}h1,h2,h3,p{margin:0}h1{font-size:23px;font-weight:600}h2{font-size:17px;font-weight:600}h3{font-size:15px;font-weight:500}small,.muted{color:#7b8490;font-size:12px}.loading{padding:45px;text-align:center}.login-page{min-height:100vh;display:grid;place-items:center;padding:24px}.login-box{width:410px;max-width:100%;background:#fff;padding:34px;border:1px solid #e4e7ec;border-radius:8px}.brand-lockup{display:flex;align-items:center;gap:13px;margin-bottom:26px}.brand-lockup img{height:38px;width:38px;object-fit:contain}.brand-lockup strong{font-size:21px}.login-box>p{margin:12px 0 24px;color:#747d89}.login-box form{display:grid;gap:18px}label.field{display:grid;gap:7px;font-size:14px}input:not([type=checkbox]),select,textarea{width:100%;min-height:39px;border:1px solid #dce1e8;border-radius:4px;padding:8px 11px;background:#fff;color:#273038}textarea{min-height:100px;resize:vertical}input:focus,select:focus,textarea:focus{border-color:#718d97;outline:2px solid #dce8eb}.form-error{color:#ae2c2c;min-height:20px;font-size:13px}.shell{min-height:100vh;display:grid;grid-template-columns:198px 1fr}.sidebar{background:#fff;border-right:1px solid #e5e8ed;display:flex;flex-direction:column;position:sticky;top:0;height:100vh;padding:25px 14px}.sidebar .brand-lockup{gap:10px;padding:0 9px;margin-bottom:32px}.sidebar .brand-lockup strong{font-size:18px}.sidebar nav{display:grid;gap:5px}.sidebar nav button{text-align:left;border:0;padding:11px 16px;background:transparent;border-radius:4px;color:#5e6873}.sidebar nav button.selected{background:#eff3f4;color:#1e2b26;font-weight:600}.sidebar .side-foot{margin-top:auto;padding:20px 9px 0;border-top:1px solid #eceff2;color:#929aa4;font-size:12px}.main{min-width:0}.topbar{height:65px;background:#fff;border-bottom:1px solid #e6e9ee;display:flex;align-items:center;justify-content:space-between;padding:0 30px}.topbar>div{display:flex;align-items:center;gap:18px}.page{padding:27px 30px;max-width:1520px;margin:auto}.page-title{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:24px}.page-title small{margin-left:13px}.work-card{background:#fff;border:1px solid #e3e7ed;border-radius:8px;min-width:0;padding:24px}.work-card+.work-card{margin-top:22px}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin:0 0 24px}.stat{background:#fff;border:1px solid #e3e7ed;border-radius:6px;padding:20px}.stat>span{display:block;font-size:13px;color:#687482}.stat>strong{display:block;font-size:29px;line-height:1.5;font-weight:500;font-variant-numeric:tabular-nums;margin-top:7px}.stat small{display:block;margin-top:5px}.card-heading{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:20px}.toolbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:19px}.toolbar input{width:245px}.toolbar select{width:165px}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse;white-space:nowrap;font-size:13px}th{text-align:left;font-weight:500;background:#f7f8fa;color:#737e8a;border-bottom:1px solid #e5e8ee;padding:13px 15px}td{padding:15px;border-bottom:1px solid #eef0f4;vertical-align:middle}td>small{display:block;margin-top:4px}tr:last-child td{border-bottom:0}.table-empty{padding:50px 18px;text-align:center;color:#8b95a0}.tag{font-size:12px;border-radius:3px;padding:3px 7px;background:#edf5f0;color:#3d6852;display:inline-block}.tag.gray{background:#f1f3f5;color:#7d8690}.actions{display:flex;gap:14px;align-items:center}.pagination{margin-top:18px;display:flex;justify-content:space-between;align-items:center}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:19px 25px;max-width:850px}.form-grid .full{grid-column:1/-1}.form-heading{display:flex;align-items:center;gap:8px;margin-bottom:19px}.help{border-radius:50%;width:17px;height:17px;display:inline-grid;place-items:center;font-size:11px;border:1px solid #bac2cb;color:#7a8796;cursor:help}.form-actions{display:flex;gap:12px;margin-top:24px;align-items:center}.status-list{display:grid;gap:10px;margin:20px 0}.status-list>div{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #eceff3;padding:10px 0}.status-list>div:last-child{border:0}.deployment-info{display:grid;grid-template-columns:1fr 1fr;gap:16px;max-width:850px}.info-item{display:flex;align-items:center;gap:13px;min-height:40px}.info-item>span{min-width:105px;color:#7e8996;font-size:13px}.chart{display:flex;gap:15px;align-items:flex-end;padding:30px 0 15px;min-height:210px;overflow-x:auto}.chart-column{min-width:42px;flex:1;display:flex;flex-direction:column;align-items:center;gap:10px}.chart-column meter{appearance:none;width:14px;height:120px;writing-mode:vertical-lr;transform:rotate(180deg)}.chart-column meter::-webkit-meter-bar{background:#eef1f4;border:0;border-radius:3px}.chart-column meter::-webkit-meter-optimum-value{background:#566d61}.chart-column small{font-size:11px;white-space:nowrap}.compact-note{font-size:12px;color:#9099a4;margin-top:12px}#toast{position:fixed;bottom:30px;left:50%;transform:translateX(-50%);border-radius:6px;background:#202923e8;color:#fff;padding:10px 22px;display:none;z-index:100}dialog{width:520px;max-width:calc(100vw - 32px);max-height:calc(100vh - 48px);border:0;border-radius:9px;padding:27px;box-shadow:0 20px 70px #0c15164d}dialog::backdrop{background:#18202c66}dialog .dialog-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}dialog form{display:grid;gap:16px}.phone-reveal{font-size:28px;padding:24px 0;font-variant-numeric:tabular-nums}.row-note{white-space:normal;max-width:310px;min-width:180px}.asset-row{display:flex;gap:12px;align-items:center}.asset-row img{width:52px;height:43px;object-fit:cover;border-radius:4px}.preview-link{display:flex;align-items:center;justify-content:space-between;border:1px solid #e3e7ed;border-radius:6px;padding:18px;margin:20px 0;background:#fafbfc}.notice{padding:12px 15px;border-radius:4px;background:#fff6e4;color:#7c652e;font-size:13px}.checkbox-line{display:flex;align-items:center;gap:9px}.checkbox-line input{width:auto}.code{font-variant-numeric:tabular-nums}.subtabs{display:flex;gap:22px;border-bottom:1px solid #e5e9ee;margin:0 0 23px}.subtabs button{background:none;border:0;border-radius:0;padding:0 2px 13px;color:#7a8591}.subtabs button.selected{color:#28372e;border-bottom:2px solid #28372e}.json-source{font:12px/1.7 Consolas,monospace}.full-width{width:100%}
.auth-page{background:#eeefeb;padding:24px 32px;color:#292c27}
.auth-layout{width:min(1160px,100%)}
.auth-masthead{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:18px;font-size:13px;letter-spacing:.5px;color:#596057}
.auth-domain{font-size:12px;letter-spacing:1px;color:#858d82}
.auth-shell{display:grid;grid-template-columns:1.22fr 1fr;min-height:600px;background:#fff;border:1px solid #e1e4dc;border-radius:20px;overflow:hidden;box-shadow:0 22px 70px #252a2210}
.auth-visual{min-width:0;background:#1d1e1b;color:#fff;display:flex;flex-direction:column}
.auth-scene{position:relative;isolation:isolate;min-height:392px;flex:1;overflow:hidden}
.auth-scene-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:55% 66%;z-index:-2}
.auth-scene-shade{position:absolute;inset:0;background:linear-gradient(180deg,#121612ad 0%,#1216120d 38%,#1216120a 51%,#151814dd 100%);z-index:-1}
.auth-brand{display:flex;align-items:center;gap:13px;padding:30px 32px}
.auth-brand>img{width:49px;height:49px;object-fit:contain;filter:brightness(0) invert(1)}
.auth-brand>div{display:flex;flex-direction:column;gap:5px}
.auth-brand strong{font-size:23px;font-weight:600;letter-spacing:2px;line-height:1.2}
.auth-brand span{font-size:9px;letter-spacing:1.8px;color:#ffffffb5}
.auth-scene-caption{position:absolute;left:32px;right:28px;bottom:28px}
.auth-scene-caption>span{display:block;font-size:11px;letter-spacing:1.5px;color:#ffffffa8;margin-bottom:9px}
.auth-scene-caption h2{font-size:30px;line-height:1.35;font-weight:500;letter-spacing:2px}
.auth-scene-caption p{margin-top:10px;font-size:12px;letter-spacing:2px;color:#ffffffc7}
.auth-gallery{display:grid;grid-template-columns:1fr 1fr;gap:15px;padding:18px 24px 20px;border-top:1px solid #ffffff12}
.auth-gallery figure{margin:0;min-width:0}
.auth-gallery img{display:block;width:100%;height:99px;object-fit:cover;border-radius:7px}
.auth-gallery figure:first-child img{object-position:50% 62%}
.auth-gallery figcaption{font-size:12px;color:#d0d4cc;margin-top:8px;letter-spacing:.8px}
.auth-panel{min-width:0;display:flex;flex-direction:column;justify-content:center;padding:32px clamp(30px,4vw,52px)}
.auth-panel-heading{margin-bottom:24px}
.auth-eyebrow{display:block;font-size:12px;color:#858c80;letter-spacing:1px;margin-bottom:8px}
.auth-panel h1{font-size:27px;line-height:1.4;letter-spacing:.5px;font-weight:600}
.auth-panel-heading p{font-size:13px;line-height:1.75;color:#80877d;margin-top:10px}
.auth-panel form{display:grid;gap:14px}
.auth-panel input{min-height:46px;border-radius:6px;border-color:#dde2d8;padding:11px 13px;background:#fdfefd;font-size:14px}
.auth-panel input:focus{border-color:#798772;outline:2px solid #e9eee5}
.auth-password-hint{margin-top:-10px;font-size:11px;line-height:1.65;color:#889080}
.auth-panel .form-error:empty{display:none}
.auth-submit{display:flex;align-items:center;justify-content:space-between;gap:14px;min-height:48px;padding:11px 17px;border-radius:6px;margin-top:3px;font-size:14px}
.auth-submit:hover{background:#30332b;border-color:#30332b}
.auth-submit>span:last-child{font-size:20px;line-height:1}
.auth-panel-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;border-top:1px solid #edf0e9;padding-top:16px;margin-top:24px;font-size:11px;color:#8c9387}
.auth-panel-footer strong{font-weight:500;color:#646d5e;font-size:12px}
.auth-page-footer{text-align:center;font-size:11px;color:#90988b;letter-spacing:1px;margin-top:16px}
@media(max-width:900px){.auth-page{padding:28px 24px}.auth-shell{grid-template-columns:1.1fr 1fr;min-height:600px}.auth-panel{padding:34px 29px}.auth-brand{padding:26px}.auth-scene-caption{left:26px;bottom:25px}.auth-scene-caption h2{font-size:26px}.auth-gallery{padding:16px 18px 18px;gap:12px}.auth-gallery img{height:87px}}
@media(max-width:680px){.auth-page{padding:20px 16px;display:block}.auth-masthead{margin-bottom:13px;font-size:12px;gap:8px}.auth-domain{font-size:10px;letter-spacing:.5px}.auth-shell{grid-template-columns:1fr;min-height:0;border-radius:14px}.auth-scene{height:248px;min-height:248px;flex:none}.auth-scene-photo{object-position:54% 67%}.auth-brand{padding:20px 22px;gap:10px}.auth-brand>img{width:39px;height:39px}.auth-brand strong{font-size:20px;letter-spacing:1px}.auth-brand span{font-size:8px;letter-spacing:1px}.auth-scene-caption{left:22px;bottom:18px}.auth-scene-caption>span{display:none}.auth-scene-caption h2{font-size:23px;letter-spacing:1px}.auth-scene-caption p{font-size:10px;margin-top:6px;letter-spacing:1px}.auth-gallery{padding:13px 17px 15px;gap:12px}.auth-gallery img{height:76px;border-radius:5px}.auth-gallery figcaption{font-size:10px;margin-top:5px}.auth-panel{padding:30px 24px 26px}.auth-panel-heading{margin-bottom:24px}.auth-panel h1{font-size:24px}.auth-panel-heading p{font-size:12px}.auth-panel form{gap:17px}.auth-panel-footer{margin-top:27px;padding-top:17px}.auth-page-footer{font-size:10px;margin-top:16px}}
@media(max-width:360px){.auth-page{padding:15px 12px}.auth-panel{padding:26px 20px}.auth-scene{height:222px;min-height:222px}.auth-brand{padding:18px 19px}.auth-scene-caption{left:20px}.auth-scene-caption h2{font-size:21px}.auth-gallery img{height:65px}.auth-masthead{font-size:11px}}
@media(max-width:1000px){.shell{grid-template-columns:167px 1fr}.sidebar{padding:22px 9px}.page{padding:22px 20px}.topbar{padding:0 20px}.stats{gap:10px}.stat{padding:16px}.form-grid{grid-template-columns:1fr}.form-grid .full{grid-column:auto}.deployment-info{grid-template-columns:1fr}}
@media(max-width:700px){.shell{display:block}.sidebar{height:auto;position:relative;border-right:0;padding:15px}.sidebar .brand-lockup{margin-bottom:14px}.sidebar nav{display:flex;overflow-x:auto;gap:8px}.sidebar nav button{white-space:nowrap;padding:8px 12px}.side-foot{display:none}.topbar{height:49px;font-size:12px}.page{padding:20px 14px}.stats{grid-template-columns:1fr 1fr}.work-card{padding:18px 15px}.page-title small{display:none}.page-title h1{font-size:21px}.login-box{padding:26px}.toolbar input{flex:1;min-width:120px;width:auto}.form-actions{flex-wrap:wrap}}
