:root{color-scheme:light;--ink:#162235;--muted:#68768a;--line:#e1e7ef;--blue:#2359dc;--blue-weak:#edf3ff;--green:#087f5b;--red:#b42318;--bg:#f4f7fb;--panel:#fff;--shadow:0 8px 26px rgba(24,44,78,.06)}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:15px/1.5 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}.topbar{display:flex;align-items:center;gap:22px;padding:22px max(22px,calc((100vw - 1180px)/2));background:#fff;border-bottom:1px solid var(--line)}h1,h2,h3,p{margin-top:0}h1{font-size:26px;letter-spacing:-.035em;margin:1px 0 0}h2{font-size:20px;margin:0;letter-spacing:-.02em}h3{font-size:17px;margin-bottom:8px}.eyebrow{font-size:10px;letter-spacing:.13em;font-weight:800;color:#63738e}.back{display:inline-flex;align-items:center;justify-content:center;white-space:nowrap;text-decoration:none;color:var(--blue);font-weight:700;border:1px solid var(--line);border-radius:9px;padding:9px 13px}.who{margin-left:auto;color:var(--muted);font-size:13px}.workspace{width:min(1180px,calc(100% - 36px));margin:24px auto 50px}.notice{padding:14px 17px;border:1px solid #dbe6fb;background:#f9fbff;border-radius:12px;color:#354660;margin-bottom:18px}.notice strong{color:#1d3358}.tabs{display:flex;gap:8px;padding:5px;background:#e9eef6;border-radius:12px;width:max-content;margin-bottom:18px}.tab{border:0;background:transparent;color:#5b6c82;font-size:14px;font-weight:700;font-family:inherit;padding:11px 20px;border-radius:9px;cursor:pointer}.tab.active{background:#fff;color:#1b3260;box-shadow:0 2px 8px rgba(22,40,70,.08)}.status-strip{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin-bottom:18px}.status-strip>div{display:flex;flex-direction:column;gap:4px;background:#fff;border:1px solid var(--line);border-radius:11px;padding:13px 15px;min-width:0}.label,.hint,.small,.subtle{font-size:12px;color:var(--muted)}.status-strip strong{overflow-wrap:anywhere;font-size:14px}.panel{padding:22px;background:var(--panel);border:1px solid var(--line);border-radius:15px;box-shadow:var(--shadow);margin-bottom:16px}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:16px}.section-heading>div{display:flex;align-items:center;gap:11px}.step{width:29px;height:29px;display:inline-flex;align-items:center;justify-content:center;border-radius:8px;background:var(--blue-weak);color:var(--blue);font-weight:800;font-size:12px}.export-row,.import-row{display:flex;align-items:end;gap:12px;flex-wrap:wrap}.export-row label{display:flex;flex-direction:column;gap:7px;flex:1;min-width:230px;font-size:13px;font-weight:650}.btn,select{font:inherit;border-radius:9px;min-height:42px}.btn{border:1px solid transparent;padding:10px 15px;cursor:pointer;font-weight:750;transition:background .15s,transform .15s}.btn:hover:not(:disabled){transform:translateY(-1px)}.btn:disabled{opacity:.45;cursor:not-allowed}.btn.primary{color:#fff;background:var(--blue)}.btn.primary:hover:not(:disabled){background:#1948c2}.btn.secondary{color:#283750;background:#fff;border-color:#cfd8e6}.btn.danger{color:#fff;background:#b42318}.btn.danger:hover:not(:disabled){background:#901d15}select{padding:10px 12px;border:1px solid #cfd8e6;background:#fff;color:var(--ink)}.subtle{margin:12px 0 0;line-height:1.55}.small{display:inline-block;margin-top:8px}.message{border-radius:10px;margin-bottom:16px;padding:13px 15px;font-size:14px;background:#edf3ff;border:1px solid #ccdcff;color:#26426f;white-space:pre-wrap;overflow-wrap:anywhere}.message.error{background:#fff1f0;border-color:#ffd2cf;color:#8a1c14}.message.success{background:#ebf8f1;border-color:#b7e5cc;color:#116444}.hidden{display:none!important}textarea{width:100%;resize:vertical;border:1px solid #ccd6e4;border-radius:10px;padding:13px 14px;font:13px/1.6 ui-monospace,SFMono-Regular,Consolas,monospace;color:#1a2d48;background:#fbfcfe;min-height:200px}textarea:focus,select:focus{outline:3px solid #dbe7ff;border-color:#6387e8}.actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:14px}.actions .small{margin:0}.file-picker{display:inline-flex;align-items:center;gap:8px;min-height:42px;max-width:100%;padding:9px 12px;border:1px dashed #9baec8;border-radius:9px;color:#2f4260;font-weight:650;cursor:pointer}.file-picker input{max-width:250px;font-size:12px}.preview{border-top:1px solid var(--line);margin-top:20px;padding-top:19px}.table-wrap{overflow:auto;border:1px solid var(--line);border-radius:10px;margin-top:12px}table{width:100%;border-collapse:collapse;text-align:left;font-size:13px}th,td{padding:11px 12px;border-bottom:1px solid var(--line);vertical-align:top}th{background:#f6f8fc;color:#63718a;font-weight:750;white-space:nowrap}tbody tr:last-child td{border-bottom:0}.path-cell{font:12px ui-monospace,SFMono-Regular,Consolas,monospace;overflow-wrap:anywhere;min-width:180px}.diff{font:12px/1.5 ui-monospace,SFMono-Regular,Consolas,monospace;white-space:pre-wrap;overflow-wrap:anywhere;max-width:560px}.action-tag{display:inline-block;font-size:11px;font-weight:800;padding:3px 7px;border-radius:6px;background:#eef2f7;color:#374a64;white-space:nowrap}.action-tag.create{background:#e8f7ef;color:#086547}.action-tag.replace{background:#eef3ff;color:#254ec5}.action-tag.delete{background:#fff0ef;color:#a12219}.rollback-row{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:15px 0 18px;border-bottom:1px solid var(--line)}.rollback-row p{max-width:760px}.history-item{display:grid;grid-template-columns:minmax(150px,1fr) minmax(130px,.8fr) minmax(90px,.5fr) auto;gap:12px;align-items:center;padding:13px 0;border-bottom:1px solid var(--line);font-size:13px}.history-item:last-child{border-bottom:0}.history-main{min-width:0;overflow-wrap:anywhere}.history-main strong{display:block}.history-meta{color:var(--muted);font-size:12px}.status-pill{font-size:11px;font-weight:800;display:inline-block;border-radius:30px;padding:4px 7px;background:#edf2f8;color:#4b5e76;white-space:nowrap}.status-pill.ok{color:#126644;background:#e8f7ef}.status-pill.rejected,.status-pill.rolled-back{color:#a22219;background:#fff0ef}.history-item .btn{font-size:12px;min-height:34px;padding:6px 10px}footer{font-size:12px;color:var(--muted);padding:3px 2px 0}code{font:12px ui-monospace,SFMono-Regular,Consolas,monospace;background:#eef2f7;padding:2px 5px;border-radius:4px}.denied{margin:30px auto;width:min(700px,calc(100% - 32px))}@media(max-width:760px){.topbar{align-items:flex-start;flex-wrap:wrap;padding:18px}.who{width:100%;margin-left:0}.workspace{width:calc(100% - 20px);margin:12px auto 30px}.panel{padding:16px}.status-strip{grid-template-columns:repeat(2,minmax(0,1fr))}.section-heading{align-items:flex-start;flex-wrap:wrap}.history-item{grid-template-columns:1fr auto}.history-item .history-main{grid-column:1}.history-item .history-detail{grid-column:1}.history-item .history-action{grid-column:2;grid-row:1/3}.rollback-row{align-items:flex-start;flex-direction:column}.file-picker{align-items:flex-start;flex-direction:column;width:100%}.file-picker input{max-width:100%}}

.approver-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:14px}.approver-grid label{display:flex;flex-direction:column;gap:6px;font-size:13px;font-weight:650}.approver-grid input{width:100%;min-height:40px;border:1px solid #cfd8e6;border-radius:9px;padding:9px 11px;font:inherit;color:var(--ink);background:#fff}.approver-grid input:focus{outline:3px solid #dbe7ff;border-color:#6387e8}@media(max-width:760px){.approver-grid{grid-template-columns:1fr}}

.history-more{margin-top:8px}.history-more summary{cursor:pointer;color:var(--blue);font-size:12px;font-weight:700}.history-more pre{margin:7px 0 0;padding:10px;background:#f6f8fc;border:1px solid var(--line);border-radius:8px;white-space:pre-wrap;overflow-wrap:anywhere;max-height:300px;overflow:auto;font:12px/1.5 ui-monospace,SFMono-Regular,Consolas,monospace}

.error-log-output { max-height: 520px; overflow: auto; white-space: pre-wrap; overflow-wrap: anywhere; padding: 12px; background: #111827; color: #f3f4f6; border-radius: 10px; font-size: 12px; }

.test-results{max-height:360px;overflow:auto;white-space:pre-wrap;overflow-wrap:anywhere;padding:12px;background:#111827;color:#f3f4f6;border-radius:10px;font:12px/1.55 ui-monospace,SFMono-Regular,Consolas,monospace;margin:12px 0 0}.status-pill.pending-verification,.status-pill.pending-restart{color:#7a4b00;background:#fff5d6}

.env-editor{border-top:1px solid var(--line);margin-top:20px;padding-top:18px}.env-grid{display:grid;grid-template-columns:minmax(180px,1fr) minmax(160px,.7fr) minmax(220px,1.5fr);gap:12px;margin-top:14px}.env-grid label{display:flex;flex-direction:column;gap:6px;font-size:13px;font-weight:650}.env-grid input{width:100%;min-height:40px;border:1px solid #cfd8e6;border-radius:9px;padding:9px 11px;font:inherit;color:var(--ink);background:#fff}.env-grid input:focus{outline:3px solid #dbe7ff;border-color:#6387e8}.env-grid input:disabled{opacity:.5;background:#f3f5f8}@media(max-width:760px){.env-grid{grid-template-columns:1fr}}
