*{box-sizing:border-box}body{margin:0;font-family:Arial,Helvetica,sans-serif;background:#f4f6f8;color:#1f252e}.shell{max-width:1280px;margin:0 auto;padding:28px}.topbar{display:flex;justify-content:space-between;gap:20px;align-items:flex-start;margin-bottom:22px}.brandHeader,.loginBrand{display:flex;align-items:center;gap:14px}.brandIcon{width:56px;height:56px;border-radius:13px;flex:0 0 auto;box-shadow:0 8px 22px rgba(15,23,42,.16)}.loginBrand{align-items:flex-start;margin-bottom:8px}.loginBrand h1{padding-top:2px}h1{margin:0;font-size:30px;letter-spacing:0}h2{font-size:17px;margin:0 0 14px}p{margin:8px 0 0;color:#5f6b7a;line-height:1.45}.topActions{display:flex;align-items:center;gap:10px}.userPill{background:#fff;border:1px solid #dce2ea;border-radius:999px;padding:8px 12px;color:#354052;font-size:13px}.secondaryBtn,.primaryBtn,button{font:inherit;border-radius:5px;border:1px solid #20242b;padding:10px 12px;min-height:40px;text-decoration:none;display:inline-flex;align-items:center;justify-content:center}.secondaryBtn{background:#fff;color:#20242b}.primaryBtn,button{background:#20242b;color:#fff;cursor:pointer;font-weight:700}.primaryBtn[disabled],button[disabled]{opacity:.55;cursor:wait}.linkBtn{width:100%;margin-top:16px}.stateBand{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:14px}.stateCard{background:#fff;border:1px solid #dfe4ec;border-left:5px solid #8b95a5;border-radius:6px;padding:16px;min-height:116px}.stateCard span{display:block;color:#647084;font-size:12px;text-transform:uppercase;font-weight:700;letter-spacing:.04em}.stateCard strong{display:block;font-size:20px;margin-top:8px;line-height:1.25;overflow-wrap:anywhere}.stateCard.safe{border-left-color:#1f9d55}.stateCard.warn{border-left-color:#d99019}.stateCard.danger{border-left-color:#d64545}.mcpPanel{margin-bottom:18px}.panelHeader{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:14px}.panelHeader h2{margin-bottom:0}.copyGrid{display:grid;gap:12px}.copyGrid label{margin:0}.copyGrid label>span{display:block;margin-bottom:5px}.copyRow{display:grid;grid-template-columns:minmax(0,1fr) 88px;gap:8px}.copyRow input{font-family:Menlo,Consolas,monospace;font-size:13px;color:#1f2937;background:#f8fafc}.copyRow button{padding-left:10px;padding-right:10px}.metricGrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(145px,1fr));gap:12px;margin-bottom:18px}.metric{background:#fff;border:1px solid #dfe4ec;border-radius:6px;padding:16px}.metric strong{display:block;font-size:25px}.metric span{display:block;margin-top:4px;color:#647084}.layout{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(360px,.8fr);gap:16px}.panel{background:#fff;border:1px solid #dfe4ec;border-radius:6px;padding:18px}.operationList{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.operationList form{border:1px solid #e5eaf1;border-radius:6px;padding:12px;display:grid;gap:10px;background:#fafbfc}.operationList form button{width:100%}label{display:block;font-size:12px;font-weight:700;color:#536173;margin-bottom:5px}.checkRow{display:flex;align-items:center;gap:8px;margin:2px 0 4px;color:#374151}.checkRow input{width:16px;min-height:16px;padding:0}.checkRow span{line-height:1.25}input{width:100%;font:inherit;border-radius:5px;border:1px solid #cdd5df;padding:10px 11px;min-height:40px;background:#fff}table{width:100%;border-collapse:collapse;margin-bottom:18px;font-size:14px}th,td{border-bottom:1px solid #edf0f4;padding:8px;text-align:left}td{text-align:right;color:#344053}pre{margin:0;background:#101318;color:#e6edf5;padding:16px;border-radius:6px;overflow:auto;min-height:140px}.outputPanel{margin-top:16px}.loginBody{background:#eef2f6}.loginWrap{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:20px}.loginBox{width:100%;max-width:430px;background:#fff;border:1px solid #d9e2ec;border-radius:8px;padding:24px;box-shadow:0 12px 34px rgba(22,34,51,.08)}.loginBox h1{font-size:24px;line-height:1.18}.loginBox label{margin-top:14px}.loginBox .primaryBtn{width:100%;margin-top:18px}.formError{min-height:20px;margin-top:12px;color:#9b1c1c;font-weight:700}
@media (max-width: 900px){.topbar,.topActions{align-items:stretch}.topbar{flex-direction:column}.brandHeader{align-items:flex-start}.brandIcon{width:48px;height:48px;border-radius:11px}.stateBand,.layout,.operationList{grid-template-columns:1fr}.shell{padding:18px}}
.campaignPanel{margin-bottom:16px}.campaignTable{table-layout:fixed}.campaignTable th,.campaignTable td{text-align:left;vertical-align:top}.campaignTable th:first-child{width:28%}.campaignTable td{color:#263244}.campaignTable strong{display:block;line-height:1.25}.muted{display:block;color:#687587;font-size:12px;margin-top:4px}.campaignResult{padding-top:6px;border-top:1px solid #edf0f4}.campaignResult.fresh{color:#174ea6;font-weight:700}.mono{font-family:Menlo,Consolas,monospace;overflow-wrap:anywhere}.statusPill{display:inline-flex;align-items:center;min-height:26px;border:1px solid #d8e0ea;border-radius:999px;padding:3px 9px;background:#f8fafc;color:#344053;font-size:12px;font-weight:700}.compact{margin:0 0 6px}.dateGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.campaignControlForm button{width:100%}@media(max-width:820px){.campaignTable,.campaignTable thead,.campaignTable tbody,.campaignTable tr,.campaignTable th,.campaignTable td{display:block;width:100%}.campaignTable thead{display:none}.campaignTable tr{border-bottom:1px solid #e5eaf1;padding:12px 0}.dateGrid{grid-template-columns:1fr}}

.cronPanel,.runtimePanel{margin-bottom:16px}.cronPanel table td{text-align:left}.runtimeForm{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;align-items:end}.runtimeForm .checkRow{min-height:40px}.campaignActions{position:relative;min-height:40px}.simulationState{padding-right:44px}.actionMenu{position:absolute;right:0;top:0;z-index:6}.actionMenu[open]{z-index:1000}.actionMenu summary{list-style:none;width:38px;height:38px;border:1px solid #cdd5df;border-radius:6px;background:#fff;color:#1f252e;display:flex;align-items:center;justify-content:center;font-size:24px;line-height:1;cursor:pointer;user-select:none}.actionMenu summary::-webkit-details-marker{display:none}.actionMenu[open] summary{background:#20242b;color:#fff;border-color:#20242b}.actionMenuPanel{position:absolute;right:0;top:44px;width:272px;max-width:min(272px,calc(100vw - 40px));display:grid;gap:8px;padding:10px;border:1px solid #d8e0ea;border-radius:7px;background:#fff;box-shadow:0 16px 38px rgba(15,23,42,.18)}.actionMenuPanel form{display:grid;gap:7px;border:1px solid #e5eaf1;border-radius:6px;padding:8px;background:#fafbfc}.actionMenuPanel button{width:100%;min-height:34px;padding:7px 9px}.actionMenuPanel input{min-height:34px;padding:7px 9px}.actionMenuPanel input[type=file]{padding:6px;background:#fff}.actionMenuPanel label{margin-bottom:0}.actionMenuPanel .importForm{border-color:#d6e2f0;background:#f8fbff}.chartGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.chartBox{min-height:320px;border:1px solid #e2e8f0;border-radius:7px;padding:14px;background:#fff}.chartBox.wide{grid-column:1/-1}.tableWrap{overflow:auto}.tableWrap table{min-width:760px}.tableWrap a{color:#234dd6;word-break:break-all}.runtimeForm select{min-height:40px;border:1px solid #cdd5df;border-radius:6px;padding:8px 10px;background:#fff;color:#20242b}@media(max-width:900px){.runtimeForm,.chartGrid{grid-template-columns:1fr}.chartBox.wide{grid-column:auto}}@media(max-width:820px){.actionMenu{position:relative;right:auto;top:auto}.actionMenuPanel{left:0;right:auto}.simulationState{padding-right:0;margin-bottom:8px}}
.automaticReplyForm{display:grid;gap:7px;grid-column:1/-1;border:1px solid #d6e2f0;border-radius:6px;padding:10px;background:#f8fbff}.automaticReplyForm textarea{width:100%;min-height:152px;resize:vertical;border:1px solid #cdd5df;border-radius:6px;padding:8px 10px;font:13px/1.45 Menlo,Consolas,monospace;color:#20242b;background:#fff}.automaticReplyForm button{justify-self:start}
.appTooltip{position:fixed;z-index:5000;max-width:min(360px,calc(100vw - 24px));padding:9px 11px;border-radius:6px;background:#111827;color:#fff;font-size:12px;line-height:1.38;box-shadow:0 12px 28px rgba(15,23,42,.25);pointer-events:none}
.templateFieldsBox{margin-top:18px;border-top:1px solid #edf0f4;padding-top:16px}.templateFieldsBox h3{margin:0 0 4px;font-size:15px}.fieldTable{margin-top:10px;margin-bottom:0}.fieldTable code{display:inline-block;padding:3px 6px;border:1px solid #d8e0ea;border-radius:4px;background:#f8fafc;color:#1f2937;font-family:Menlo,Consolas,monospace;font-size:12px;white-space:nowrap}.fieldTable td{text-align:left}
.actionMenuPanel .menuAction{width:100%;margin:0;border:0;border-radius:6px;padding:10px 12px;background:#222832;color:#fff;font:inherit;font-weight:700;cursor:pointer}.transferDialog{width:min(760px,calc(100vw - 28px));max-height:calc(100vh - 28px);margin:auto;border:1px solid #cdd5df;border-radius:8px;padding:0;background:#fff;color:#20242b;box-shadow:0 24px 70px rgba(15,23,42,.3)}.transferDialog::backdrop{background:rgba(15,23,42,.42)}.transferDialogHeader{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding:18px 20px 14px;border-bottom:1px solid #e1e7ee}.transferDialogHeader h3{margin:0;font-size:18px}.transferDialogHeader p{margin:4px 0 0;color:#64748b;font-size:13px}.dialogClose{width:32px;height:32px;border:1px solid #cdd5df;border-radius:6px;background:#fff;color:#20242b;font-size:24px;line-height:1;cursor:pointer}.transferGrid{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:18px;padding:20px}.transferColumn{min-width:0}.transferColumn+ .transferColumn{border-left:1px solid #e1e7ee;padding-left:18px}.transferColumn h4{margin:0;font-size:15px}.transferColumn p{min-height:36px;margin:5px 0 12px;color:#64748b;font-size:12px;line-height:1.45}.transferColumn form{display:grid;gap:10px}.transferColumn label{display:grid;gap:4px;color:#526276;font-size:12px;font-weight:700}.transferColumn input:not([type=checkbox]){width:100%;box-sizing:border-box;border:1px solid #cdd5df;border-radius:6px;padding:8px 10px;background:#fff;color:#20242b;font:inherit}.transferColumn input[type=file]{padding:6px}.transferColumn .checkRow{display:flex;align-items:center;gap:8px}.transferColumn .checkRow input{width:auto}.transferColumn button:not(.dialogClose){width:100%;border:0;border-radius:6px;padding:10px 12px;background:#222832;color:#fff;font:inherit;font-weight:700;cursor:pointer}.transferColumn button:not(.dialogClose):disabled{opacity:.65;cursor:wait}@media(max-width:680px){.transferDialog{width:calc(100vw - 20px)}.transferDialogHeader{padding:15px}.transferGrid{grid-template-columns:1fr;gap:16px;padding:15px}.transferColumn+.transferColumn{border-top:1px solid #e1e7ee;border-left:0;padding-top:16px;padding-left:0}.transferColumn p{min-height:0}}
.actionMenuPanel .simulationActions{display:grid;gap:7px;border:1px solid #d6e2f0;border-radius:6px;padding:8px;background:#f4f8fc}.actionMenuPanel .simulationActions form{border:0;padding:0;background:transparent}
.actionMenuPanel .reconcileActions{display:grid;gap:7px;border:1px solid #dfe5ec;border-radius:6px;padding:8px;background:#f8fafc}.actionMenuPanel .reconcileActions form{border:0;padding:0;background:transparent}
.actionMenuPanel{width:420px;max-width:min(420px,calc(100vw - 40px))}.actionMenuPanel .lifecycleActions{display:grid;gap:8px;border:1px solid #dfe5ec;border-radius:6px;padding:8px;background:#f8fafc}.actionMenuPanel .lifecycleActions label{display:grid;gap:4px}.actionMenuPanel .lifecycleActions .dateGrid{gap:8px}.actionMenuPanel .lifecycleActions .muted{font-size:12px;line-height:1.35}
.actionMenuPanel .lifecycleActions .campaignControlForm{border:0;padding:0;background:transparent}
.actionMenuPanel{position:fixed;right:auto;top:12px;left:12px;z-index:1001;box-sizing:border-box;max-height:calc(100dvh - 24px);overflow-y:auto;overscroll-behavior:contain}
.campaignTable th:nth-child(2),.campaignTable td:nth-child(2){width:92px;white-space:nowrap}@media(max-width:820px){.campaignTable th:nth-child(2),.campaignTable td:nth-child(2){width:100%}}
