/* Operator monitoring UI, grounded in the project's navy-and-sand visual system */
.mon-main{min-height:90vh;padding:50px 0 85px;background:linear-gradient(165deg,#f5f7fa,#eef3f7)}
.mon-topline{display:flex;align-items:center;justify-content:space-between;gap:15px}
.mon-eyebrow,.mon-private{font-size:10px;letter-spacing:.13em;font-weight:850;color:#a38b5e}
.mon-private{border:1px solid #e3e6eb;background:#fff;color:#60798d;letter-spacing:0;padding:8px 12px;border-radius:100px}
.mon-head{display:flex;justify-content:space-between;align-items:center;gap:25px;margin:16px 0 27px}
.mon-head h1{font-size:clamp(30px,4vw,45px);letter-spacing:-.04em;color:#102542;margin:0 0 10px}
.mon-head p{font-size:13px;line-height:1.7;color:#718493;max-width:720px;margin:0}
.mon-outline-link{font-family:inherit;font-weight:800;font-size:11px;white-space:nowrap;padding:14px 18px;border:1px solid #bacbd8;border-radius:9px;color:#244b67;background:#fff;cursor:pointer}
.mon-outline-link:hover{background:#f2f7fb;border-color:#648ea9}
.mon-login{display:flex;align-items:end;gap:14px;padding:20px 23px;background:#fff;border:1px solid #e0e8ee;border-radius:15px;box-shadow:0 6px 30px rgba(20,43,65,.03)}
.mon-login div{flex:1}
.mon-login label,.mon-add-form label{font-size:11px;font-weight:800;color:#304b64}
.mon-login p{margin:5px 0 0;color:#96a1aa;font-size:10px;line-height:1.5}
.mon-login input,.mon-add-form input,.mon-add-form select{height:45px;border-radius:9px;background:#fff;border:1px solid #d4e0e8;padding:0 15px;font-family:inherit;font-size:12px;color:#2e4558;min-width:0}
.mon-login input{min-width:260px}
.mon-blue-button{height:45px;background:#194a7f;border:0;border-radius:9px;color:#fff;padding:0 22px;font-size:11px;font-weight:800;cursor:pointer;font-family:inherit;white-space:nowrap}
.mon-blue-button:hover{background:#103761}.mon-blue-button:disabled,.mon-outline-link:disabled{opacity:.6;cursor:not-allowed}
.mon-notice{margin:12px 0 25px;padding:12px 17px;border-radius:10px;background:#e8f0f7;color:#4b6680;font-size:11px;line-height:1.6}
.mon-notice.is-error{background:#faeceb;color:#924e47}
.mon-overview{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px;margin:22px 0}
.mon-summary{padding:24px;border:1px solid #e1e8ed;border-radius:15px;box-shadow:0 4px 18px rgba(20,43,65,.03);background:#fff;min-height:150px}
.mon-summary-accent{background:linear-gradient(145deg,#fff,#fffaf0);border-color:#e8ddc8}
.mon-summary span,.mon-summary small{display:block;color:#758593;font-size:11px}
.mon-summary strong{display:block;margin:12px 0;font-size:37px;letter-spacing:-.04em;line-height:1.15;color:#102c49}
.mon-summary .mon-summary-text{font-size:17px;letter-spacing:-.02em;margin:20px 0;overflow-wrap:anywhere}
.mon-summary small{font-size:10px;color:#9ba8b0}
.mon-section{background:#fff;border:1px solid #e0e8ed;border-radius:17px;box-shadow:0 4px 20px rgba(19,39,59,.03);padding:27px}
.mon-section-title{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:20px}
.mon-section-title span{font-weight:850;letter-spacing:.12em;color:#a18c65;font-size:9px}
.mon-section-title h2{font-size:20px;letter-spacing:-.025em;color:#17364f;margin:5px 0 8px}
.mon-section-title p{max-width:660px;font-size:11px;line-height:1.6;color:#7d8f9d;margin:0}
.mon-add-form{display:flex;align-items:end;gap:12px;background:#f7f9fb;border-radius:12px;padding:18px;margin-bottom:20px}
.mon-add-form > div:first-child{flex:1.4}.mon-add-form>div:nth-child(2){flex:.75}
.mon-add-form label{display:block;margin-bottom:8px}.mon-add-form input,.mon-add-form select{width:100%}
.mon-table-wrap{overflow-x:auto;border:1px solid #e9eef2;border-radius:10px}
.mon-table{width:100%;border-collapse:collapse;font-size:11px;color:#4d6373}
.mon-table th{text-align:left;padding:12px 14px;background:#f7f9fb;font-size:9px;text-transform:uppercase;letter-spacing:.05em;color:#788997;white-space:nowrap}
.mon-table td{border-top:1px solid #e9eef2;padding:15px 14px;vertical-align:middle}
.mon-table td:first-child{min-width:190px}.mon-table strong{display:block;color:#1e3a53;font-size:12px;margin-bottom:5px}
.mon-table small{font-size:10px;color:#8194a3}.mon-table .mon-inn{color:#6889a2;text-decoration:underline}
.mon-state{display:inline-block;padding:6px 9px;border-radius:100px;font-size:9px;font-weight:800;background:#f1f4f6;color:#6d7e8a;white-space:nowrap}
.mon-state.good{background:#eaf6ef;color:#42835c}.mon-state.warn{background:#fff3e0;color:#a47b3d}.mon-state.bad{background:#fbe9e9;color:#a45757}
.mon-text-button{background:none;border:0;color:#9b6260;text-decoration:underline;font-size:10px;font-weight:750;cursor:pointer}
.mon-lower{margin-top:18px;display:grid;grid-template-columns:minmax(0,1.6fr) minmax(260px,1fr);gap:18px;align-items:start}
.mon-aside{display:grid;gap:18px}.mon-empty{font-size:12px;color:#8092a0;line-height:1.8;margin:0}
.mon-events{display:grid}.mon-event{display:flex;gap:12px;padding:19px 0;border-top:1px solid #e9eef2}
.mon-event:first-child{border-top:0}.mon-event-mark{flex:0 0 32px;height:32px;background:#e9f1f7;color:#32688d;border-radius:10px;font-size:18px;display:grid;place-items:center}
.mon-event-mark.gold{background:#fbf3e2;color:#ac8846}.mon-event-body{min-width:0;flex:1}
.mon-event strong{font-size:12px;color:#244259;line-height:1.5;display:block;overflow-wrap:anywhere}.mon-event p{font-size:11px;line-height:1.65;color:#647887;margin:5px 0}
.mon-event small{font-size:9px;color:#9cabb3}.mon-event a{color:#23587a;text-decoration:underline}
.mon-source{display:flex;align-items:start;gap:12px;padding:13px 0;border-top:1px solid #eef1f4}
.mon-source-dot{width:10px;height:10px;border-radius:50%;background:#9eabb5;flex:0 0 auto;margin-top:5px}
.mon-source-dot.active{background:#6baa7b}.mon-source-gold{background:#c3a46c}
.mon-source strong{font-size:12px;color:#2c465c}.mon-source p{font-size:10px;color:#8b9aa6;line-height:1.55;margin:5px 0 0}
.mon-callout{font-size:10px;line-height:1.7;background:#fbf7ee;border:1px solid #f1e5d0;padding:13px 14px;border-radius:9px;color:#977e50;margin:18px 0 0}
.mon-runs{display:grid;gap:9px}.mon-run{border:1px solid #edf0f2;background:#fbfcfd;padding:12px;border-radius:9px}
.mon-run strong{display:block;color:#3a5468;font-size:11px}.mon-run small{font-size:9px;color:#8a9ba7;line-height:1.6}
.mon-bottom-note{padding:24px 8px 0;text-align:center;color:#9cabb6;font-size:10px;line-height:1.75}
@media(max-width:1100px){.mon-overview{grid-template-columns:repeat(2,minmax(0,1fr))}.mon-lower{grid-template-columns:1fr}.mon-login{flex-wrap:wrap}.mon-login div{flex-basis:100%}}
@media(max-width:690px){.mon-main{padding:30px 0 55px}.mon-head{display:block}.mon-head .mon-outline-link{display:inline-block;margin-top:20px}.mon-login{display:grid;gap:12px}.mon-login input{min-width:0;width:100%}.mon-login .mon-blue-button{width:100%}.mon-overview{gap:9px}.mon-summary{padding:17px;min-height:130px}.mon-summary strong{font-size:27px}.mon-summary .mon-summary-text{font-size:13px}.mon-section{padding:18px}.mon-section-title{align-items:start;display:block}.mon-section-title .mon-outline-link{margin-top:12px}.mon-add-form{display:grid}.mon-add-form button{width:100%}.mon-head h1{font-size:31px}.mon-table{min-width:680px}}

/* On narrow screens the watchlist is a readable stack, not a clipped desktop table. */
@media(max-width:690px){
  .mon-table-wrap{overflow:visible;border:0;background:transparent}
  .mon-table{min-width:0;width:100%;display:block}
  .mon-table thead{display:none}
  .mon-table tbody{display:block}
  .mon-table tbody tr{display:block;border:1px solid #e4eaf0;border-radius:12px;overflow:hidden;margin-bottom:12px;background:#fff}
  .mon-table tbody td{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:12px 13px;line-height:1.4;border-top:1px solid #edf1f4;min-width:0}
  .mon-table tbody td:first-child{display:block;background:#f8fafc;border-top:0;min-width:0}
  .mon-table tbody td:first-child strong{margin-bottom:4px}
  .mon-table tbody td:not(:first-child)::before{content:attr(data-label);flex:0 0 78px;color:#8d9ba5;font-size:9px;font-weight:800;text-transform:uppercase;line-height:1.4}
  .mon-table tbody td:nth-child(3){display:grid;grid-template-columns:78px 1fr}
  .mon-table tbody td:nth-child(3)::before{grid-column:1;grid-row:1/3}
  .mon-table tbody td:nth-child(3) .mon-state{justify-self:start;grid-column:2}
  .mon-table tbody td:nth-child(3) div{grid-column:2}
  .mon-table tbody td:last-child .mon-text-button{margin-left:auto}
}
