:root{font-family:Inter,"PingFang SC","Microsoft YaHei",system-ui,sans-serif;color:#202822;background:#f5f7f5;font-synthesis:none;--green:#208650;--line:#e6ebe7;--muted:#7a847d}*{box-sizing:border-box}body{margin:0;font-size:14px;line-height:1.6}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a,input,select,textarea{outline-offset:4px}button{cursor:pointer}h1,h2,p{margin:0}h1{font-size:29px;letter-spacing:-1px;line-height:1.5}h2{font-size:17px;letter-spacing:-.3px}small,.small{font-size:12px}.muted,.field-help{color:var(--muted)}.text-green{color:var(--green)}.text-amber{color:#aa7426}.admin-shell{display:flex;min-height:100vh}.sidebar{width:218px;background:#fff;border-right:1px solid var(--line);padding:36px 22px;position:fixed;inset:0 auto 0 0;display:flex;flex-direction:column}.brand-word{font-size:25px;font-weight:850;letter-spacing:-1px;display:block}.brand-word span{display:block;font-size:9px;letter-spacing:2.1px;font-weight:600;color:#909a92;margin-top:2px}.sidebar-section{font-size:11px;color:#a0a8a2;letter-spacing:2px;margin:44px 14px 12px}.nav-item{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;margin:6px 0;border-radius:10px;color:#78817b;font-weight:500}.nav-item:hover{background:#f4f7f4}.nav-item.active{color:var(--green);background:#eaf5ee;font-weight:700}.nav-count{font-size:11px;padding:0 7px;border-radius:6px;background:#d8ecdf}.sidebar-bottom{margin-top:auto;padding-top:40px;font-size:11px;color:#929a94}.sidebar-bottom p{margin:10px 0 20px}.sidebar-bottom a{color:#3f5546;display:block}.sidebar-bottom small{font-size:10px;display:block;margin-top:5px}.community-label{color:#518763;background:#f1f8f2;border-radius:5px;padding:6px 8px}.workspace{margin-left:218px;flex:1;min-width:0}.topbar{height:78px;padding:0 42px;background:#fff;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.breadcrumb{font-size:12px;color:#6e7971}.breadcrumb span{color:#b8c1ba;margin:0 17px}.account{display:flex;align-items:center;gap:18px;font-size:12px}.environment{color:var(--green);background:#eff7f1;border-radius:20px;padding:4px 11px}.main-content{max-width:1500px;padding:27px 42px 40px;margin:auto}.demo-banner{display:flex;align-items:center;gap:8px;font-size:11px;color:#7a887e;margin-bottom:20px}.status-dot{width:5px;height:5px;background:#65a478;border-radius:50%}.page-heading{display:flex;align-items:center;justify-content:space-between;gap:24px;margin:0 0 28px}.page-heading .muted{font-size:12px;margin-top:8px}.eyebrow{color:#88958a;font-size:10px;letter-spacing:2px;margin-bottom:6px;font-weight:600}.button{border:1px solid #dfe6e0;border-radius:9px;background:#fff;color:#415348;display:inline-flex;align-items:center;justify-content:center;padding:10px 19px;font-size:12px;font-weight:650;white-space:nowrap;min-height:42px;transition:background .15s}.button:hover{background:#f1f6f2}.button.primary{background:var(--green);border-color:var(--green);color:#fff}.button.primary:hover{background:#196d40}.button:disabled{opacity:.6;cursor:wait}.wide{width:100%}.text-link,.text-button,.row-actions a{color:var(--green);font-size:12px}.text-button{border:0;background:none;padding:0}.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-bottom:26px}.stat-card{padding:22px 24px;background:#fff;border:1px solid var(--line);border-radius:15px;display:flex;flex-direction:column}.stat-card>span{font-size:12px;color:#78847b}.stat-card strong{font-size:37px;line-height:1.3;margin:13px 0 9px;font-weight:650;letter-spacing:-1px}.stat-card small{font-size:10px;color:#a0a9a2}.accent-card{background:#edf6ef;border-color:#deeee2}.accent-card strong{color:var(--green)}.dashboard-columns{display:grid;grid-template-columns:minmax(0,1fr) 290px;gap:24px;align-items:start}.panel{background:#fff;border:1px solid var(--line);border-radius:15px;overflow:hidden}.panel-heading{padding:24px 25px;display:flex;justify-content:space-between;align-items:center;gap:12px}.panel-heading p{font-size:11px;color:#939d95;margin-top:4px}.spot-list{padding:0 25px 10px}.spot-row{display:flex;align-items:center;gap:16px;padding:17px 0;border-top:1px solid #f0f3f0}.spot-row img{width:71px;height:60px;object-fit:cover;border-radius:10px}.spot-row strong{font-size:13px;font-weight:650}.spot-row p{font-size:11px;color:#909a92;margin-top:6px}.spot-row-labels{margin-left:auto;display:flex;gap:6px;align-items:flex-end;flex-direction:column}.badge{display:inline-flex;align-items:center;padding:3px 9px;border-radius:5px;font-size:10px;font-weight:500;white-space:nowrap;color:#7f8882;background:#f0f3f1}.badge-free,.badge-approved,.badge-uploaded,.badge-demo{color:#338b52;background:#edf7ef}.badge-paid,.badge-pending,.badge-queued{color:#ac8132;background:#fcf5e6}.badge-failed{color:#b25151;background:#f9eded}.badge-running{color:#527cad;background:#edf3fa}.launch-card{background:#222a24;color:#fff;border-radius:15px;padding:24px}.launch-card .eyebrow{color:#95ad9c;font-size:9px}.launch-card h2{font-size:19px;margin:8px 0}.launch-card>p:not(.eyebrow){font-size:11px;color:#a4b0a8;line-height:1.9;margin-bottom:17px}.connection-row{display:flex;justify-content:space-between;font-size:11px;padding:9px 0;border-top:1px solid #394139;color:#a1b0a6}.connection-row b{font-weight:500;color:#dce6dd}.launch-card .button{margin-top:17px;background:#63ba80;color:#152f1d;border:0}.launch-card small{font-size:9px;color:#92a198;display:block;text-align:center;margin-top:11px}.compact-panel{margin-top:18px;padding:21px 24px}.plain-list{padding:0;list-style:none;font-size:11px;color:#88948b;margin:10px 0 0}.plain-list li{padding:6px 0}.activity-panel{margin-top:24px}.activity-row{display:flex;gap:14px;align-items:center;margin:0 25px;padding:14px 0;border-top:1px solid #f0f3f0;font-size:11px}.activity-row strong{font-size:12px;font-weight:500}.activity-row p{color:#909b92;font-size:11px;margin-top:3px}.activity-row>span:not(.activity-dot){margin-left:auto;color:#89958c}.activity-row time{color:#9ca49d;min-width:75px;text-align:right}.activity-dot{width:6px;height:6px;border-radius:50%;background:#b0c7b6;flex-shrink:0}.footer{padding:0 42px 24px;color:#a4aca5;font-size:10px;display:flex;justify-content:space-between}.filter-bar{display:flex;gap:15px;align-items:flex-end;padding:24px;flex-wrap:wrap}.filter-bar label:first-of-type{flex:1;min-width:180px}.filter-bar label{font-size:11px;min-width:110px}.filter-bar .text-link{padding:12px 0}label{display:flex;flex-direction:column;gap:8px;font-size:12px;color:#5f6e64}input,select,textarea{border:1px solid #dfe6e0;background:#fff;border-radius:8px;min-width:0;width:100%;padding:10px 12px;font-size:12px;color:#394b40}input:focus,select:focus,textarea:focus{outline:2px solid #c4e4cf;outline-offset:1px;border-color:#6eaf85}input::placeholder,textarea::placeholder{color:#acb4ae}input[type=checkbox],input[type=radio]{width:16px;height:16px;accent-color:var(--green);flex-shrink:0}input[readonly]{background:#f5f7f5;color:#8b988f}.table-wrap{overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:12px;text-align:left;white-space:nowrap}th{font-weight:500;font-size:11px;background:#f7f9f7;color:#8a968d;padding:13px 24px}td{padding:20px 24px;border-bottom:1px solid #eef2ee}.name-cell strong{font-weight:600}.name-cell small{display:block;max-width:260px;overflow:hidden;text-overflow:ellipsis;color:#919c93;font-size:11px;margin-top:5px}.row-actions{display:flex;gap:14px;align-items:center}.pagination{padding:18px 24px;display:flex;justify-content:space-between;color:#9aa39c;font-size:11px}.pagination a{margin-left:20px;color:var(--green)}.form-panel{padding:26px}.form-stack{display:flex;flex-direction:column;gap:21px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.radio-fieldset{border:0;padding:0;margin:0;display:flex;gap:25px;font-size:12px}.radio-fieldset legend{color:#5f6e64;margin-bottom:12px}.radio-fieldset label{flex-direction:row;align-items:center;gap:8px}.field-help{font-size:11px;line-height:1.8;margin-top:-8px}.form-actions{display:flex;align-items:center;gap:18px;border-top:1px solid var(--line);padding-top:23px}.release-steps{display:grid;grid-template-columns:repeat(3,1fr);background:#fff;border:1px solid var(--line);border-radius:13px;margin-bottom:24px;padding:22px 28px;gap:20px}.step{display:flex;gap:13px;align-items:center;color:#a2aca5}.step>span{border:1px solid #e2e9e3;border-radius:50%;width:32px;height:32px;display:grid;place-items:center;font-size:12px}.step strong{font-size:12px;font-weight:600;display:block}.step small{font-size:10px;display:block;margin-top:3px}.step.current{color:#30854e}.step.current>span{background:#eaf6ee;border-color:#eaf6ee}.release-columns{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:24px;align-items:start;margin-bottom:24px}.release-help{background:#fdfefd}.check-row{display:flex;align-items:center;justify-content:space-between;padding:17px 0;border-bottom:1px solid var(--line);font-size:12px;color:#7c8b81}.check-row b{font-size:11px;font-weight:500}.release-help>p{margin-top:20px}.upload-drop{border:1px dashed #a9c8b2;background:#f6faf7;border-radius:12px;min-height:160px;display:flex;align-items:center;justify-content:center;position:relative;cursor:pointer;text-align:center;padding:22px;gap:8px}.upload-drop input{position:absolute;inset:0;opacity:0;cursor:pointer}.upload-drop:focus-within{outline:2px solid #77ad88}.upload-drop.dragover{background:#e7f4eb;border-color:#27874b}.upload-label{color:#35774c;font-size:14px;font-weight:600}.upload-drop small{font-size:10px;color:#96a59b}.file-name{font-size:11px;color:#7d9385;word-break:break-all}.checkbox-row{flex-direction:row;align-items:flex-start;font-size:11px;line-height:1.8}.soft-notice{padding:14px 16px;border-radius:8px;background:#fcf7ec;color:#9c844f;font-size:11px;line-height:1.9;margin-top:20px}.padded{padding:0 24px 24px}.job-log{white-space:pre-wrap;max-width:430px;overflow-wrap:anywhere;font-size:11px;color:#78847c}.job-log summary{cursor:pointer;color:var(--green)}.empty-state{text-align:center;padding:48px 25px;color:#a1aaa3;font-size:12px}.deploy-list{margin:0;padding:0;list-style:none}.deploy-list li{display:flex;justify-content:space-between;padding:18px 0;border-bottom:1px solid var(--line);gap:20px}.deploy-list li:last-child{border:0}.notice{padding:13px 17px;border-radius:9px;margin-bottom:20px;font-size:12px;background:#e9f5ed;color:#337f4b}.notice-error{background:#fff0ed;color:#b06051}.login-shell{min-height:100vh;display:grid;place-items:center;padding:30px;background:#f0f5f0}.login-card{width:460px;max-width:100%;background:#fff;border:1px solid var(--line);border-radius:22px;padding:42px}.login-card .brand-word{margin-bottom:40px}.login-card h1{font-size:23px}.login-card>.muted{font-size:12px;margin:12px 0 27px}.login-card>.small{margin-bottom:0}.small-button{padding:5px 10px;font-size:11px}.release-help a{color:var(--green)}code{font-family:ui-monospace,monospace;font-size:.95em}pre{white-space:pre-wrap;overflow-wrap:anywhere}
@media(min-width:1450px){.dashboard-columns{grid-template-columns:minmax(0,1fr) 330px}.launch-card{padding:28px}.spot-row{padding:22px 0}}
@media(max-width:1100px){.sidebar{width:184px;padding:28px 16px}.workspace{margin-left:184px}.main-content{padding:25px}.topbar{padding:0 25px}.dashboard-columns{grid-template-columns:minmax(0,1fr) 255px;gap:18px}.stat-card{padding:20px}.release-columns{grid-template-columns:minmax(0,1fr) 260px}.panel-heading,.spot-list{padding-left:20px;padding-right:20px}.spot-row{gap:10px}.spot-row img{width:55px;height:55px}.spot-row strong{font-size:12px}.release-steps{padding:20px}.step small{font-size:9px}}
@media(max-width:850px){.sidebar{width:150px;padding:25px 12px}.brand-word{font-size:21px}.brand-word span{font-size:8px;letter-spacing:1.2px}.workspace{margin-left:150px}.nav-item{padding:11px 13px}.sidebar-bottom{font-size:10px}.main-content{padding:22px}.stats-grid{gap:10px}.stat-card{padding:16px}.stat-card strong{font-size:31px}.dashboard-columns,.release-columns{grid-template-columns:1fr}.dashboard-side{display:grid;grid-template-columns:1fr 1fr;gap:18px}.compact-panel{margin:0}.step small{display:none}.release-help{display:block}.account{gap:10px}.page-heading h1{font-size:25px}.stat-card small{font-size:9px}.spot-row-labels{flex-direction:row}.footer{padding:0 22px 24px}}
@media(max-width:600px){.admin-shell{display:block}.sidebar{position:static;width:100%;padding:16px;border-right:0;border-bottom:1px solid var(--line)}.sidebar .brand-word{font-size:22px}.sidebar .brand-word span{display:none}.sidebar-section,.sidebar-bottom{display:none}.sidebar nav{display:flex;overflow:auto;gap:5px;margin-top:10px}.nav-item{white-space:nowrap;padding:8px 11px;font-size:12px;margin:0}.nav-count{margin-left:6px}.workspace{margin:0}.topbar{height:52px;padding:0 18px}.breadcrumb{font-size:10px}.account{font-size:10px}.environment{display:none}.main-content{padding:18px}.demo-banner{font-size:9px;gap:6px}.page-heading{gap:12px;margin-bottom:20px}.page-heading h1{font-size:23px}.page-heading .muted{font-size:11px}.page-heading .button{padding:8px 12px;font-size:11px}.eyebrow{font-size:9px}.stats-grid{grid-template-columns:repeat(2,1fr);gap:12px;margin-bottom:18px}.stat-card{padding:17px}.stat-card strong{font-size:33px;margin:7px 0}.dashboard-side{grid-template-columns:1fr}.spot-row-labels{flex-direction:column}.spot-row img{width:48px;height:52px}.panel-heading{padding:20px 17px}.panel-heading h2{font-size:15px}.spot-list{padding:0 17px 7px}.spot-row p{font-size:10px}.spot-row strong{font-size:11px}.activity-row{margin:0 17px;gap:9px}.activity-row>span:not(.activity-dot){display:none}.activity-row p{max-width:210px;overflow-wrap:anywhere}.release-steps{padding:17px 12px;gap:7px}.step{gap:7px}.step>span{width:24px;height:24px;flex-shrink:0;font-size:10px}.step strong{font-size:10px}.form-panel{padding:20px}.form-grid{gap:14px}.upload-drop{padding:20px 10px}.upload-drop small{font-size:9px}.form-actions{flex-direction:column;align-items:flex-start;gap:12px}.filter-bar{padding:20px;gap:12px}.filter-bar label{flex:1;min-width:110px}.filter-bar label:first-of-type{flex-basis:100%}.footer{font-size:9px}.login-card{padding:30px}.table-wrap{border-radius:0}.deploy-list li{font-size:12px}.activity-row time{font-size:9px;min-width:66px}}
