@import"https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@600;700&display=swap";:root{font-family:DM Sans,sans-serif;color:#19231f;background:#f3f6f1;font-synthesis:none}*{box-sizing:border-box}body{margin:0;min-width:320px}main{width:min(1180px,calc(100% - 40px));margin:0 auto;padding:48px 0 72px}header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:30px}.eyebrow{color:#65736c;font-size:11px;font-weight:700;letter-spacing:.15em}h1,h2,h3{font-family:Manrope,sans-serif;margin:0}h1{font-size:clamp(30px,4vw,46px);letter-spacing:-.045em;margin-top:7px}header p,.section-title p{color:#68756e;margin:8px 0 0}.ops-tabs{display:flex;gap:5px;overflow-x:auto;margin:0 0 20px;padding:5px;border:1px solid #dce3de;border-radius:14px;background:#e9eee9;scrollbar-width:none}.ops-tabs button{width:auto;flex:0 0 auto;padding:10px 15px;color:#617068;background:transparent;border-radius:9px}.ops-tabs button:hover{color:#26352e;background:#ffffff94}.ops-tabs button.active{color:#173d30;background:#fff;box-shadow:0 1px 5px #20342a1a}.ops-subtabs{display:flex;gap:24px;overflow-x:auto;margin:-6px 4px 22px;border-bottom:1px solid #d7dfda;scrollbar-width:none}.ops-subtabs button{position:relative;width:auto;flex:0 0 auto;padding:10px 2px 12px;color:#738078;background:transparent;border-radius:0;font-size:12px}.ops-subtabs button:hover{color:#245543;background:transparent}.ops-subtabs button.active{color:#173d30}.ops-subtabs button.active:after{content:"";position:absolute;right:0;bottom:-1px;left:0;height:2px;border-radius:2px 2px 0 0;background:#277351}.tab-content{display:none}.tab-content.active{display:block}.admin-header-actions{display:flex;flex-direction:column;align-items:flex-end;gap:9px}.admin-header-actions small{color:#65736c}.admin-header-actions .logout{width:auto;padding:8px 12px;color:#435049;background:transparent;border:1px solid #cfd8d2}.admin-login{min-height:100vh;display:grid;place-items:center;padding:24px}.admin-login-card{width:min(440px,100%);padding:32px;border:1px solid #dce3de;border-radius:18px;background:#fff;box-shadow:0 18px 60px #20342a1a}.admin-login-card>p{color:#68756e;line-height:1.5}.admin-login-card form{display:grid;gap:16px;margin-top:24px}.admin-login-card label{display:grid;gap:7px;color:#56645d;font-size:13px;font-weight:600}.admin-login-card input{width:100%;border:1px solid #cfd8d2;border-radius:10px;padding:12px 13px;color:#19231f;background:#fff;font:inherit}.admin-checking{margin-top:20px;font-size:13px}.health{border:1px solid #c7ddd0;background:#edf8f1;color:#207044;border-radius:999px;padding:10px 14px;font-size:13px;font-weight:600}.health i{display:inline-block;width:8px;height:8px;border-radius:50%;background:#27a565;margin-right:7px}.health.down{color:#9c392f;background:#fff0ee;border-color:#efcac5}.health.down i{background:#d65649}.metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:18px}.metrics article,.panel{background:#fff;border:1px solid #dce3de;box-shadow:0 2px 10px #20342a09;border-radius:16px}.metrics article{padding:20px 22px}.metrics span{display:block;color:#77827c;font-size:12px;text-transform:uppercase;letter-spacing:.06em}.metrics strong{display:block;font-family:Manrope,sans-serif;font-size:27px;margin-top:8px}.panel{padding:26px;margin-top:18px}.section-title{display:flex;justify-content:space-between;align-items:center;margin-bottom:22px}.schedule-control{display:flex;align-items:center;justify-content:flex-end;gap:10px;flex-wrap:wrap}.section-title h2{font-size:20px}.section-title p{font-size:14px}.working{color:#815e14;background:#fff6d8;border-radius:99px;padding:7px 10px;font-size:12px}.database-state{border-radius:99px;padding:7px 10px;font-size:10px;font-weight:700;letter-spacing:.06em}.database-state.up{color:#167044;background:#e6f7ed}.database-state.unknown{color:#735c27;background:#fff3c8}.services{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.service{border:1px solid #e1e6e2;border-radius:14px;padding:17px}.service-top{display:flex;justify-content:space-between;align-items:center;gap:10px}.service-top h3{font-size:14px}.service>p{color:#849089;font-size:12px;margin:8px 0 17px}.service-stats{display:grid;grid-template-columns:1fr 1fr;gap:8px}.service-stats div{background:#f6f8f6;padding:10px;border-radius:9px}.service-stats span{display:block;color:#8a958f;font-size:10px;text-transform:uppercase;letter-spacing:.05em}.service-stats strong{display:block;font-family:Manrope,sans-serif;font-size:15px;margin-top:5px}.infrastructure,.container-stats{grid-template-columns:repeat(2,1fr)}.service small{display:block;color:#8a6b21;line-height:1.4;margin-top:10px}.controls{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:13px}.controls button{padding:9px}.controls .start{background:#173d30}.controls .stop{color:#9b3a31;background:#fff;border:1px solid #e7c5c1}.controls .stop:hover{background:#fff1ef}.runtime-empty{color:#7a8580;font-size:13px;padding:20px}.jobs{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.job{border:1px solid #e1e6e2;border-radius:14px;padding:20px}.job-head{display:flex;justify-content:space-between;align-items:center}.source-icon{display:grid;place-items:center;width:39px;height:39px;color:#fff;background:#173d30;border-radius:11px;font-weight:700;font-size:12px}.job h3{margin-top:17px;font-size:17px}.job>p{min-height:40px;color:#77827c;font-size:13px;line-height:1.5}.status{padding:6px 9px;border-radius:99px;font-size:10px;font-weight:700;letter-spacing:.07em;background:#eef1ef;color:#6a756f}.status.running{background:#fff3c8;color:#7e5a00}.status.succeeded{background:#e6f7ed;color:#167044}.status.failed{background:#ffebe8;color:#a33c31}dl{display:grid;gap:8px;background:#f7f9f7;padding:12px;border-radius:10px;margin:16px 0}dl div{display:grid;grid-template-columns:70px 1fr;gap:8px;font-size:12px}dt{color:#89938e}dd{margin:0;color:#435049;overflow-wrap:anywhere}button{width:100%;border:0;border-radius:10px;padding:11px 14px;background:#173d30;color:#fff;font:inherit;font-size:13px;font-weight:600;cursor:pointer}button:hover{background:#245543}button:disabled{opacity:.5;cursor:not-allowed}.inline-action{width:auto;white-space:nowrap}.quota-action{margin-top:12px}.endpoint-table-wrap{overflow-x:auto}.endpoint-table{width:100%;border-collapse:collapse;font-size:12px}.endpoint-table th{color:#77827c;font-size:10px;letter-spacing:.06em;text-align:left;text-transform:uppercase;padding:10px 12px;border-bottom:1px solid #dfe5e1}.endpoint-table td{min-width:90px;padding:13px 12px;border-bottom:1px solid #edf0ee;vertical-align:top}.endpoint-table td:nth-child(3){min-width:280px}.endpoint-table code{color:#405049;font-size:11px;overflow-wrap:anywhere}.endpoint-table small{display:block;color:#7b8780;margin-top:7px;max-width:220px}.status.passed,.status.yes{background:#e6f7ed;color:#167044}.status.not_run,.status.no,.status.not_configured{background:#fff3c8;color:#7e5a00}.coverage{display:grid;grid-template-columns:repeat(2,1fr);gap:26px}.country h3{display:flex;justify-content:space-between;padding-bottom:12px;border-bottom:1px solid #e6ebe7;font-size:15px}.country h3 span{color:#5c6962}.count-row{display:flex;justify-content:space-between;padding:9px 2px;font-size:13px;border-bottom:1px solid #f0f2f0}.count-row span{color:#4d5a53}.count-row small{color:#9aa39e;margin-left:5px}.error{display:flex;gap:14px;background:#fff0ee;color:#8c342b;border:1px solid #efcac5;border-radius:12px;padding:14px 16px;margin-bottom:18px;font-size:13px}.quota{background:#f6f8f6;border-radius:12px;padding:16px;margin-bottom:16px}.quota>div:first-child{display:flex;justify-content:space-between;font-size:13px}.quota small{display:block;color:#78847d;margin-top:9px}.progress{height:9px;overflow:hidden;border-radius:99px;background:#dfe7e1;margin-top:11px}.progress i{display:block;height:100%;background:#27a565;border-radius:inherit}.markets{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-bottom:16px}.market-window{display:grid;grid-template-columns:1fr auto;gap:6px 12px;border:1px solid #e1e6e2;border-radius:12px;padding:14px}.market-window span:last-child{grid-column:1 / -1;color:#77827c;font-size:12px}.price-jobs{grid-template-columns:repeat(4,1fr)}.status.enabled,.status.open{background:#e6f7ed;color:#167044}.status.disabled,.status.closed{background:#eef1ef;color:#6a756f}.plan-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.ai-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:16px}.ai-metrics article{border:1px solid #e1e6e2;border-radius:12px;padding:15px}.ai-metrics span{display:block;color:#77827c;font-size:10px;text-transform:uppercase;letter-spacing:.06em}.ai-metrics strong{display:block;font-family:Manrope,sans-serif;font-size:20px;margin-top:7px}.usage-days{display:grid;grid-template-columns:repeat(7,1fr);gap:8px}.usage-days div{background:#f6f8f6;border-radius:10px;padding:11px}.usage-days span,.usage-days small{display:block;color:#7a8580;font-size:10px}.usage-days strong{display:block;margin:6px 0 4px;font-size:13px}.usage-note{color:#7a6124;background:#fff7da;border-radius:10px;padding:11px 13px;font-size:12px;margin:14px 0 0}.plan-editor{border:1px solid #e1e6e2;border-radius:14px;padding:18px}.plan-editor-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.plan-editor-head>div>span{display:block;color:#77827c;font-size:10px;font-weight:700;letter-spacing:.1em}.plan-editor input,.plan-editor textarea,.plan-editor select{width:100%;border:1px solid #dce3de;border-radius:8px;background:#f8faf8;padding:8px;color:#26332d;font:inherit}.plan-editor-head input{border:0;background:transparent;padding:4px 0;font-family:Manrope,sans-serif;font-size:18px;font-weight:700}.plan-editor textarea{min-height:70px;margin:12px 0;resize:vertical}.switch{display:flex;align-items:center;gap:5px;font-size:11px;color:#5d6963}.switch input{width:auto}.price-fields{display:grid;grid-template-columns:1fr 1fr 70px;gap:7px}.price-fields label,.entitlements label{color:#7a8580;font-size:10px;text-transform:uppercase;letter-spacing:.04em}.price-fields input{margin-top:5px}.entitlements{display:grid;gap:7px;margin:14px 0}.entitlements label{display:grid;grid-template-columns:1fr 95px;gap:8px;align-items:center}.entitlements input,.entitlements select{padding:6px;font-size:12px}.current-ip-card{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:22px;border-radius:14px;background:#edf6f0;border:1px solid #cfe1d5}.current-ip-card span,.current-ip-card small{display:block;color:#65736c;font-size:12px}.current-ip-card strong{display:block;margin:7px 0;font-family:Manrope,sans-serif;font-size:25px;letter-spacing:-.02em}.allowlist-form{margin-top:22px}.allowlist-form>label{display:block;margin-bottom:8px;color:#435049;font-size:13px;font-weight:700}.allowlist-form>div{display:flex;gap:9px}.allowlist-form input{min-width:0;flex:1;padding:11px 13px;border:1px solid #cfd8d2;border-radius:10px;color:#19231f;background:#fff;font:inherit}.allowlist-form small{display:block;margin-top:8px;color:#7a8580;font-size:11px}.notice{margin-top:18px;padding:13px 15px;border:1px solid #c7ddd0;border-radius:11px;color:#207044;background:#edf8f1;font-size:13px}.allowed-addresses{margin-top:25px;padding-top:20px;border-top:1px solid #e1e6e2}.allowed-addresses h3{margin-bottom:12px;font-size:14px}.allowed-addresses code{display:inline-block;margin:0 8px 8px 0;padding:8px 10px;border-radius:8px;color:#384a41;background:#f3f6f3;font-size:12px}@media (max-width: 1000px){.plan-grid{grid-template-columns:1fr}.usage-days{grid-template-columns:repeat(4,1fr)}}@media (max-width: 850px){.services,.infrastructure{grid-template-columns:1fr}}@media (max-width: 1000px){.price-jobs{grid-template-columns:repeat(2,1fr)}}@media (max-width: 720px){main{width:min(100% - 24px,1180px);padding-top:28px}header{display:block}.admin-header-actions{align-items:flex-start;margin-top:18px}.health{display:inline-block}.metrics,.ai-metrics{grid-template-columns:1fr}.usage-days{grid-template-columns:repeat(2,1fr)}.jobs,.coverage,.markets{grid-template-columns:1fr}.section-title{align-items:flex-start;gap:12px}.current-ip-card{align-items:flex-start;flex-direction:column}.current-ip-card button{width:100%}}
