:root{--bg:#f5f7f9;--panel:#fff;--ink:#192935;--muted:#78848e;--line:#e5eaf0;--primary:#2563eb;--primary-light:#eff6ff;--nav:#152642;--red:#b34442;--amber:#a4721e}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:14px/1.65 -apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Microsoft YaHei",sans-serif}a{color:inherit;text-decoration:none}button,.button{font:inherit;cursor:pointer;border:1px solid var(--line);background:white;border-radius:7px;padding:9px 15px;display:inline-flex;justify-content:center;align-items:center;gap:6px;color:var(--ink);transition:.15s}button:hover,.button:hover{border-color:#93b4f4;background:#eff6ff}button:disabled{opacity:.45;cursor:not-allowed}.primary{background:var(--primary);color:#fff;border-color:var(--primary)}.primary:hover{background:#1d4ed8;color:white}.text-button{border:0;background:none;color:var(--muted)}input,select{font:inherit;color:var(--ink);border:1px solid #dce3e9;border-radius:6px;padding:10px 12px;background:#fff;width:100%;outline:0}input:focus,select:focus{border-color:var(--primary);box-shadow:0 0 0 3px #2563eb12}input::placeholder{color:#a0a9b1}label{display:block;margin:17px 0 0;font-weight:500}label>input,label>select{margin-top:6px}small{display:block;font-size:12px;color:var(--muted);font-weight:400;margin-top:5px}h1,h2,h3,p{margin:0}h1{font-size:28px;line-height:1.35;letter-spacing:-.7px;margin-bottom:10px}h2{font-size:16px;font-weight:650}h3{font-size:17px}.muted{color:var(--muted)}.fine{font-size:12px;color:var(--muted);margin-top:14px}.eyebrow{color:#7b8b92;font-size:10px;font-weight:700;letter-spacing:2px;margin-bottom:9px}.hidden{display:none!important}.app-shell{display:flex;min-height:100vh}.sidebar{width:222px;position:fixed;inset:0 auto 0 0;background:var(--nav);color:#e6edfa;padding:32px 20px;display:flex;flex-direction:column}.brand{display:flex;align-items:center;gap:12px;font-weight:650;font-size:17px}.brand small{font-size:9px;color:#91a8ce;letter-spacing:1.8px}.brand-mark{width:54px;height:54px;border-radius:13px;background:#bfdbfe;color:#1e40af;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:28px;position:relative}.brand-mark span{font-size:17px;align-self:flex-start;margin-top:6px}.brand-mark.small{width:38px;height:38px;border-radius:8px;font-size:23px}.brand-mark.small span{font-size:14px}.nav-label{font-size:11px;color:#8ba0c2;margin:45px 15px 10px}nav a{display:flex;gap:14px;align-items:center;padding:12px 14px;margin:5px 0;border-radius:7px;color:#b4c5e0}nav a.active,nav a:hover{color:#eff6ff;background:#254573}nav a span{font-size:20px;width:20px}.sidebar-bottom{margin-top:auto;padding:20px 12px 0;font-size:12px;color:#bacbe5;border-top:1px solid #304665}.local-dot{display:inline-block;background:#93c5fd;width:6px;height:6px;border-radius:50%;margin-right:6px}.sidebar-bottom small{font-size:10px;color:#8fa6cc}.main-shell{margin-left:222px;width:calc(100% - 222px)}.topbar{height:56px;padding:0 38px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;background:white;font-size:12px;color:var(--muted)}.topbar>div{display:flex;align-items:center;gap:20px}.worker-state{font-size:11px}.worker-state.online{color:var(--primary)}main{max-width:1500px;margin:auto;padding:20px 38px 40px;min-height:calc(100vh - 111px)}.page-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px;gap:16px}.page-heading .eyebrow{display:none}.page-heading h1{font-size:22px;line-height:1.4;letter-spacing:-.3px;margin-bottom:3px}.page-heading .muted{font-size:12px}.page-heading>.button{flex-shrink:0;padding:7px 12px;font-size:12px}.metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:17px;margin-bottom:26px}.metrics article{background:white;border:1px solid var(--line);border-radius:9px;padding:20px 23px}.metrics article>span{font-size:12px;color:#66737e}.metrics strong{display:block;font-size:31px;font-weight:600;margin-top:7px}.metrics small{font-size:11px}.metrics article:last-child strong{color:var(--amber)}.panel{background:var(--panel);border:1px solid var(--line);border-radius:9px;overflow:hidden}.panel-heading{padding:19px 23px;display:flex;align-items:center;justify-content:space-between;gap:10px;border-bottom:1px solid var(--line)}.search{display:flex;gap:8px}.search input{padding:7px 11px;width:230px;font-size:12px}.search button{padding:6px 13px;font-size:12px}.table-scroll{overflow:auto}table{width:100%;border-collapse:collapse;white-space:nowrap;text-align:left}th{background:#fbfcfd;color:#849099;font-size:11px;font-weight:500;padding:12px 20px}td{padding:19px 20px;border-bottom:1px solid #edf0f3;font-size:12px}td strong{display:block;font-size:13px;font-weight:600}td small{font-size:11px}td a{color:var(--primary);font-weight:600}.pill{display:inline-flex;gap:5px;align-items:center;font-size:11px;padding:4px 9px;border-radius:5px;background:#edf1f5;color:#667880;white-space:nowrap}.pill:before{content:"";height:5px;width:5px;border-radius:50%;background:currentColor}.pill.succeeded{color:#167150;background:#eaf6ed}.pill.running{color:#247f9b;background:#e7f5fa}.pill.waiting{color:#9a6c20;background:#fbf4e6}.pill.failed,.pill.needs_attention{color:#b24c42;background:#fbedeb}.pagination{display:flex;align-items:center;justify-content:space-between;padding:14px 22px;color:var(--muted);font-size:11px}.pagination button{font-size:11px;padding:5px 11px;margin-left:6px}.empty{text-align:center;padding:50px 20px;color:var(--muted)}.empty>div{font-size:35px;color:#86a7dc;margin-bottom:10px}.empty p{margin:8px 0 20px}.create-grid{display:grid;grid-template-columns:minmax(400px,1.6fr) minmax(270px,1fr);gap:25px}.form-panel{padding:25px 29px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:20px}.form-actions{border-top:1px solid var(--line);margin-top:25px;padding-top:23px;display:flex;justify-content:flex-end}fieldset{border:0;padding:0;margin:23px 0}legend{font-weight:500}.radio-card{display:flex;gap:12px;padding:13px;border:1px solid var(--line);border-radius:7px;margin-top:10px;cursor:pointer}.radio-card:has(input:checked){border-color:#709cec;background:#f3f7ff}.radio-card input{width:auto;accent-color:var(--primary);margin:4px}.radio-card strong{font-size:13px;font-weight:550}.radio-card small{margin-top:2px}.purchase-box{padding:16px;background:#f5f8fa;border-radius:7px}.purchase-box p{margin-top:10px}.deployment-preview{padding:27px;align-self:start}.deployment-preview h2{margin:15px 0 9px;font-size:19px}.deployment-preview ol{padding-left:20px;margin:25px 0;color:#5e7077}.deployment-preview li{padding-left:5px;margin:17px 0}.notice{padding:14px 17px;background:#eff6ff;border:1px solid #dbeafe;border-radius:6px;font-size:12px;color:#3b5c8e;white-space:pre-wrap;overflow-wrap:anywhere}.error{color:var(--red);margin-top:15px;font-size:13px}.settings-section{padding:25px 29px;margin-bottom:22px}.settings-section>p{margin:5px 0 17px}.settings-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 25px}.settings-grid label{font-size:12px}.settings-grid input{font-size:12px}.sticky-actions{position:sticky;bottom:15px;background:white;padding:16px 23px;border:1px solid var(--line);border-radius:8px;box-shadow:0 5px 20px #182f3d08;display:flex;justify-content:space-between;align-items:center;gap:15px}.sticky-actions span{font-size:12px;color:var(--muted)}.back{display:inline-block;color:var(--muted);font-size:12px;margin-bottom:18px}.detail-meta{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-bottom:23px}.detail-meta>div{font-size:12px;color:var(--muted)}.detail-meta strong{display:block;font-weight:500;color:var(--ink);overflow-wrap:anywhere;margin-top:5px}.detail-actions{display:flex;gap:10px;align-items:center;margin:20px 0;font-size:11px}.detail-actions button{font-size:12px}.detail-grid{display:grid;grid-template-columns:350px minmax(0,1fr);gap:22px;margin-top:20px}.steps{list-style:none;margin:0;padding:15px 22px}.steps li{display:flex;gap:13px;padding:11px 0}.step-icon{height:25px;min-width:25px;border-radius:50%;background:#f0f3f5;display:flex;align-items:center;justify-content:center;font-size:11px;color:#91a0a6}.steps li.succeeded .step-icon{background:var(--primary-light);color:var(--primary)}.steps li.running .step-icon{background:#e4f2fa;color:#247f9b}.steps li.failed .step-icon,.steps li.needs_attention .step-icon{background:#fbeceb;color:var(--red)}.steps li.waiting .step-icon{background:#fcf1d9;color:var(--amber)}.steps li strong{font-size:12px;font-weight:500}.steps li small{font-size:10px;margin-top:1px}.steps li p{font-size:11px;color:var(--red);overflow-wrap:anywhere;margin-top:4px}.log-panel{align-self:start}.log-output{height:580px;overflow:auto;background:#17263e;padding:18px 22px;font:11px/1.9 ui-monospace,SFMono-Regular,Consolas,monospace;color:#cfddf2;white-space:pre-wrap;overflow-wrap:anywhere}.log-output .time{color:#8fa7c9}.log-footer{font-size:10px;padding:12px 20px;color:var(--muted)}.live-label{font-size:10px;color:var(--primary)}footer{max-width:1500px;margin:auto;border-top:1px solid var(--line);padding:15px 38px;font-size:10px;letter-spacing:1px;color:#98a3aa;display:flex;justify-content:space-between}footer span{letter-spacing:0}.toast{position:fixed;right:25px;top:22px;background:#1e3a66;color:#fff;padding:12px 23px;border-radius:8px;z-index:100;box-shadow:0 5px 25px #0002;max-width:min(600px,90vw)}.toast.bad{background:#84382f}.login-wrap{min-height:100vh;display:flex;align-items:center;justify-content:center;background:radial-gradient(ellipse at 30% 40%,#e0ecff,transparent 60%),var(--bg)}.login-card{width:430px;padding:40px;border:1px solid var(--line);background:white;border-radius:15px;box-shadow:0 20px 60px #1e3a6610}.login-card .brand-mark{margin-bottom:26px}.login-card h1{font-size:25px}.wide{width:100%;margin-top:23px}.login-card>.fine{text-align:center;margin-top:25px}@media(max-width:1150px){main{padding:20px 23px 32px}.sidebar{width:185px;padding:27px 15px}.main-shell{margin-left:185px;width:calc(100% - 185px)}.brand{font-size:15px}.detail-grid{grid-template-columns:290px minmax(0,1fr)}.metrics article{padding:15px}.create-grid{grid-template-columns:1fr}.deployment-preview{display:none}.detail-meta{grid-template-columns:repeat(2,1fr)}}@media(max-width:760px){.sidebar{position:static;width:100%;padding:17px;display:block}.sidebar .brand{font-size:14px}.sidebar .brand-mark{height:30px;width:30px}.nav-label,.sidebar-bottom{display:none}nav{display:flex;margin-top:12px}nav a{padding:7px 12px;font-size:12px}nav a span{font-size:15px;width:12px}.app-shell{display:block}.main-shell{margin:0;width:100%}.topbar{padding:10px 20px;height:50px}.topbar>span{display:none}.topbar>div{width:100%;justify-content:space-between}main{padding:16px}.page-heading{align-items:flex-start;gap:12px}.page-heading h1{font-size:20px}h1{font-size:23px}.page-heading .muted{font-size:12px}.metrics{grid-template-columns:repeat(2,1fr);gap:10px}.metrics strong{font-size:26px}.settings-grid,.form-row{grid-template-columns:1fr;gap:0}.form-panel,.settings-section{padding:22px}.panel-heading{padding:16px}.search input{width:150px}.detail-grid{grid-template-columns:1fr}.log-output{height:350px}.sticky-actions span{max-width:55%;font-size:10px}.login-card{margin:18px;padding:30px}.detail-actions{flex-wrap:wrap}.create-grid{grid-template-columns:minmax(0,1fr)}footer{padding:15px 20px}.notice{font-size:11px}.step-count{font-size:10px}}
/* Managed applications and releases */
.management-actions{display:flex;flex-wrap:wrap;align-items:center;gap:12px;padding:18px;margin:18px 0 10px}.management-actions select{width:auto;max-width:330px;margin:0}.management-history{margin-top:24px}.management-record{display:flex;flex-wrap:wrap;align-items:center;gap:12px;padding:18px 23px;border-bottom:1px solid var(--line)}.management-record small{flex-basis:100%}.health-message{white-space:normal;min-width:180px;max-width:400px}.operation-card{margin-bottom:20px}.operation-body{padding:18px 23px}.operation-body .notice{margin:12px 0}.operation-log{max-height:350px;overflow:auto;background:#17263e;color:#d4e0f2;padding:16px;white-space:pre-wrap;overflow-wrap:anywhere;font:11px/1.8 monospace}.sql-resolution{max-width:650px;padding:16px;margin:15px 0;background:#f7f9fc;border:1px solid var(--line);border-radius:6px}.sql-resolution button{margin-top:12px}textarea{width:100%;box-sizing:border-box;padding:10px;border:1px solid var(--line);border-radius:6px;font:inherit;margin-top:7px}#site-rows input,#site-select-page{width:16px;height:16px;margin:0}.pill.paused{color:#9a6c20;background:#fbf4e6}.pill.cancelled{color:#73818a;background:#edf1f5}@media(max-width:760px){nav{flex-wrap:wrap;gap:0}nav a{padding:7px 10px}.management-actions select{max-width:100%;width:100%}.management-actions button{font-size:12px}.management-record{padding:15px}.operation-body{padding:15px}.operation-card .panel-heading{align-items:flex-start}}

.enrollment-card{width:480px;max-width:calc(100% - 36px);margin:18px auto}.enrollment-qr{display:block;width:250px;height:250px;max-width:100%;object-fit:contain;margin:20px auto}.enrollment-secret{display:block;overflow-wrap:anywhere;user-select:all;padding:12px;background:var(--bg);margin-top:10px;font-size:15px}.enrollment-card summary{cursor:pointer;color:var(--primary)}
