.codex-control {max-width:1180px;margin:0 auto;}
.codex-notice {padding:12px 16px;margin:0 0 20px;border-left:3px solid #32896c;background:#edf6f2;color:#246951;font-size:14px;}
.codex-notice.is-error {background:#fff0e8;color:#923c21;border-color:#b46240;}
.codex-layout {display:grid;grid-template-columns:minmax(0,1.6fr) minmax(260px,1fr);gap:20px;align-items:start;margin-bottom:20px;}
.codex-editor form {display:grid;gap:16px;}
.codex-editor label {display:grid;gap:7px;font-size:14px;font-weight:600;}
.codex-editor input,.codex-editor select,.codex-editor textarea {width:100%;box-sizing:border-box;min-height:44px;border:1px solid #d8d5cf;border-radius:6px;background:#fff;padding:10px 12px;font:inherit;font-weight:400;min-width:0;}
.codex-editor textarea {resize:vertical;line-height:1.65;}
.codex-fields {display:grid;grid-template-columns:1fr 1fr;gap:14px;}
.codex-form-actions {display:flex;gap:12px;align-items:center;}
.codex-help {margin-top:18px;line-height:1.7;}
.codex-label {font-size:12px;color:#32896c;background:#edf6f2;padding:4px 9px;border-radius:4px;}
.codex-device {display:flex;gap:10px;padding:16px 0;border-bottom:1px solid #ebe6de;}
.codex-device:last-child {border-bottom:0;}
.codex-device strong,.codex-device small {display:block;overflow-wrap:anywhere;}
.codex-device small {color:#777;line-height:1.7;margin-top:4px;}
.codex-dot {flex-shrink:0;width:8px;height:8px;margin-top:7px;background:#aaa;border-radius:50%;}
.codex-dot.online {background:#32896c;}
#codexPairing {padding:14px;background:#f8f5f0;margin:12px 0;}
#codexPairing code {display:block;font-size:26px;letter-spacing:3px;margin:12px 0;}
.codex-plans>.panel-title {gap:12px;flex-wrap:wrap;}
#codexUpdated {color:#777;font-size:12px;}
.codex-job {padding:20px 0;border-top:1px solid #e7e1d9;}
.codex-job-head {display:flex;justify-content:space-between;gap:16px;align-items:flex-start;}
.codex-job-head strong {font-size:16px;overflow-wrap:anywhere;min-width:0;}
.codex-state {white-space:nowrap;flex-shrink:0;padding:5px 9px;background:#f0eee9;color:#666;border-radius:4px;font-size:12px;}
.state-scheduled,.state-claimed,.state-sending {background:#edf2f9;color:#356099;}
.state-submitted {background:#edf6f2;color:#246951;}
.state-failed,.state-uncertain {background:#fff0e8;color:#923c21;}
.codex-job-meta {display:flex;gap:12px;flex-wrap:wrap;font-size:12px;color:#777;margin:10px 0;}
.codex-job-message {white-space:pre-wrap;overflow-wrap:anywhere;font-size:14px;line-height:1.7;margin:10px 0;max-height:160px;overflow:auto;}
.codex-job-error {font-size:13px;color:#923c21;overflow-wrap:anywhere;}
.codex-job-actions {display:flex;gap:8px;flex-wrap:wrap;align-items:center;}
.codex-job-actions small {margin-left:auto;color:#999;}
.codex-event {border-bottom:1px solid #e7e1d9;padding:12px 0;}
.codex-event small {color:#888;}
.codex-event p {overflow-wrap:anywhere;}
.codex-control button:disabled {opacity:.55;cursor:wait;}
.codex-inbox {margin-bottom:20px;}
.codex-count {font:600 12px sans-serif;background:#a7553d;color:white;padding:3px 7px;border-radius:9px;vertical-align:middle;}
.codex-push-settings {display:flex;justify-content:space-between;align-items:center;gap:16px;border-block:1px solid #e7e1d9;padding:16px 0;margin-top:16px;}
.codex-push-settings p {margin:6px 0 0;}
.codex-push-settings .is-error {color:#923c21;}
.codex-push-buttons {display:flex;gap:8px;flex-wrap:wrap;flex-shrink:0;}
.codex-push-help {margin:12px 0 18px;}
.codex-result {border-top:1px solid #e7e1d9;}
.codex-result-open {display:block;width:100%;padding:18px 0;background:none;border:0;text-align:left;color:inherit;font:inherit;cursor:pointer;}
.codex-result.is-unread .codex-result-open {border-left:3px solid #a7553d;padding-left:12px;}
.codex-result small {display:block;color:#888;margin-top:9px;}
.codex-result p {font-size:14px;line-height:1.65;overflow-wrap:anywhere;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;}
.codex-result-link {font-size:13px;color:#a7553d;}
.codex-result-dialog {width:min(850px,92vw);}
#codexResultText {font-family:inherit;font-size:14px;line-height:1.8;white-space:pre-wrap;overflow-wrap:anywhere;margin:0;}
@media(max-width:760px){.codex-push-settings{align-items:stretch;flex-direction:column;}.codex-push-buttons button{min-height:44px;}.codex-inbox .panel-title{flex-wrap:wrap;gap:10px;}.codex-inbox h2{font-size:19px;}}
@media(max-width:760px) {
 .codex-layout {grid-template-columns:1fr;gap:16px;}
 .codex-control .panel {padding:18px;}
 .codex-control .page-heading h1 {font-size:26px;}
 .codex-control input,.codex-control select,.codex-control textarea {font-size:16px;}
 .codex-form-actions button {min-height:46px;}
 .codex-job-actions button {min-height:40px;padding:8px 12px;}
 .codex-control .page-heading {align-items:flex-start;}
}
.codex-android-settings { border:1px solid #cfe1d8; background:#f7fbf8; border-radius:16px; padding:18px; margin:18px 0; }
.codex-android-settings .panel-title { flex-wrap:wrap; gap:8px; }
.codex-android-steps { padding-left:22px; line-height:1.8; }
.codex-android-steps li { margin:8px 0; }
.codex-android-steps small { display:block; color:var(--muted,#687c73); }
.codex-text-link,.codex-android-steps a { color:#2c6855; text-decoration:underline; }
.codex-ntfy-open { display:inline-flex; align-items:center; justify-content:center; text-decoration:none; padding:10px 14px; border-radius:10px; color:white; background:#2f6956; }
.codex-ntfy-open[hidden],#codexAndroidManual[hidden] { display:none; }
.codex-android-settings details { margin-top:14px; }
.codex-android-settings label { display:block; margin:10px 0; font-size:13px; }
.codex-android-settings input { display:block; width:100%; min-width:0; margin:5px 0; font:12px monospace; }
.codex-browser-push { margin:12px 0 20px; }
.codex-browser-push summary,.codex-android-settings summary { cursor:pointer; color:#52685c; }
@media(max-width:600px) { .codex-android-settings { padding:14px; } .codex-android-settings .codex-push-buttons>* { flex:1 1 150px; } }
