/* Use the scheduler's existing blue-grey palette and typography. */
.operations-shell { grid-template-columns:210px minmax(0,1fr); max-width:1500px }
.operations-page .workspace-main { padding-bottom:48px }
.operations-page .nav-link { text-decoration:none }
.ops-nav { display:flex; flex-direction:column; gap:4px }
.ops-nav .nav-link>span { width:18px; text-align:center; font-size:18px }
.ops-console-link { margin-top:22px }
.operations-page .sidebar-bottom .btn { margin-left:0; font-size:12px }
.ops-header { display:flex; align-items:start; justify-content:space-between; gap:24px; margin:0 0 26px }
.ops-header h1 { font-size:30px; line-height:1.25; margin:0 0 10px; font-weight:650 }
.ops-header p { margin:0; color:var(--ink-soft); font-size:13px }
.ops-refresh-area { display:flex; align-items:flex-end; flex-direction:column; gap:9px; flex-shrink:0 }
.ops-refresh-area>span { font-size:11px; color:var(--ink-soft) }
.ops-status { position:sticky; top:10px; z-index:5; padding:10px 14px; margin:0 0 18px; border-left:3px solid var(--accent); background:#e4e9fc; color:#283b8d; font-size:13px }
.ops-status-error { border-color:#a54751; background:#f9e9ec; color:#8e3540 }
.ops-connection { display:grid; grid-template-columns:1fr 1fr 1fr; background:#e5e9f2; border-radius:12px; padding:20px 22px 14px; gap:14px 24px }
.ops-signal { display:flex; flex-direction:column; gap:5px }
.ops-signal>span { color:var(--ink-soft); font-size:11px }
.ops-signal strong { display:flex; align-items:center; gap:8px; font-size:16px; font-weight:600 }
.ops-dot { width:7px; height:7px; display:inline-block; background:#8f99aa; border-radius:50% }
.ops-dot-ok { background:#327557 }
.ops-dot-bad { background:#a54751 }
.ops-connection-note { grid-column:1/-1; border-top:1px solid #ccd4e2; padding-top:11px; display:flex; gap:8px 24px; flex-wrap:wrap }
.ops-connection-note p { margin:0; color:#647083; font-size:11px }
.ops-summary { display:flex; gap:0; margin:18px 0 22px; border-bottom:1px solid var(--line) }
.ops-summary>a { display:flex; align-items:center; justify-content:space-between; flex:1; gap:12px; text-decoration:none; color:var(--ink-soft); padding:10px 18px 12px; border-bottom:2px solid transparent }
.ops-summary>a:first-child { padding-left:0 }
.ops-summary>a:last-child { padding-right:0 }
.ops-summary>a:hover { border-bottom-color:var(--accent); color:var(--accent) }
.ops-summary strong { background:#e1e5ed; border-radius:6px; min-width:28px; padding:1px 7px; text-align:center; font-size:14px; color:#647083 }
.ops-summary .ops-has-items strong { color:#98424a; background:#f2dfe3 }
.ops-summary .ops-has-items { color:var(--ink) }
.ops-exceptions { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:20px; align-items:start }
.ops-panel { background:var(--card); border:1px solid var(--line); border-radius:12px; overflow:hidden; scroll-margin-top:20px }
.ops-panel-heading { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:20px 22px 10px }
.ops-panel h2,.ops-maintenance h2 { margin:0; font-size:17px; letter-spacing:0 }
.ops-badge { display:inline-flex; align-items:center; border-radius:5px; padding:2px 7px; line-height:1.5; font-size:11px; white-space:nowrap; font-weight:500 }
.ops-muted { color:#657080; background:#edf0f5 }
.ops-attention { color:#7d5a20; background:#f7efd8 }
.ops-danger { color:#963c47; background:#f8e7eb }
.ops-section-note { font-size:12px; line-height:1.75; color:var(--ink-soft); margin:0; padding:0 22px 14px }
.ops-priority-note { color:#963c47 }
.ops-list { list-style:none; padding:0; margin:0 }
.ops-entry { padding:17px 22px; border-top:1px solid #e9ecf2 }
.ops-entry-priority { border-left:3px solid #bc717a; padding-left:19px }
.ops-entry-heading { display:flex; align-items:start; justify-content:space-between; gap:14px; overflow-wrap:anywhere }
.ops-entry-heading>strong { font-size:14px; font-weight:600 }
.ops-entry-meta { margin:5px 0 0; font-size:11px; color:var(--ink-soft); overflow-wrap:anywhere }
.ops-entry-meta>span { margin-left:7px }
.ops-entry-note { font-size:12px; line-height:1.75; margin:9px 0 0; color:#536175; overflow-wrap:anywhere }
.ops-entry-footer { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:9px; margin-top:12px; color:#7a8698; font-size:11px }
.ops-entry-footer a { text-decoration:none; font-size:12px }
.ops-actions { display:flex; align-items:center; gap:15px }
.ops-actions .btn { font-size:11px; min-height:32px; padding:6px 9px }
.ops-change-detail { margin:10px 0 0; font-size:12px }
.ops-change-detail>summary { cursor:pointer; color:var(--accent); width:fit-content }
.ops-change-detail ul { list-style:none; margin:8px 0; padding:10px 12px; background:#f3f5f9; border-radius:6px }
.ops-change-detail li+li { margin-top:12px }
.ops-change-detail p { margin:4px 0; font-size:11px; color:#657080 }
.ops-footnote { font-size:11px; color:var(--ink-soft); line-height:1.65; margin:8px 0 0; overflow-wrap:anywhere }
.ops-panel>.ops-footnote { padding:0 22px 16px }
.ops-empty { display:flex; gap:10px; align-items:center; color:var(--ink-soft); font-size:12px; padding:21px 22px 26px; margin:0 }
.ops-empty>span { color:#46755c; font-size:16px }
.ops-record-id { max-width:40%; overflow:hidden; text-overflow:ellipsis; white-space:nowrap }
.ops-maintenance { padding:20px 0 4px; margin-top:22px; border-top:1px solid var(--line) }
.ops-maintenance>div { display:flex; align-items:center; gap:12px }
.ops-maintenance h2 { font-size:15px }
.ops-maintenance>p { font-size:12px; color:var(--ink-soft); margin:9px 0 12px; overflow-wrap:anywhere }
.ops-maintenance dl { display:flex; flex-wrap:wrap; gap:12px 30px; margin:0; font-size:11px }
.ops-maintenance dl>div { display:flex; flex-direction:column; gap:2px }
.ops-maintenance dt { color:var(--ink-soft) }
.ops-maintenance dd { margin:0 }
.ops-settings { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); align-items:start; gap:20px; margin-top:22px }
.ops-settings-panel { background:#fff; border:1px solid var(--line); border-radius:12px; min-width:0 }
.ops-settings-panel>summary { display:flex; align-items:center; justify-content:space-between; cursor:pointer; list-style:none; padding:18px 22px; gap:12px }
.ops-settings-panel>summary::-webkit-details-marker { display:none }
.ops-settings-panel>summary strong { font-size:14px; display:block; font-weight:600 }
.ops-settings-panel>summary small { color:var(--ink-soft); font-size:11px; display:block; margin-top:4px }
.ops-settings-panel>summary>span:last-child { color:var(--accent); font-size:20px }
.ops-settings-panel[open]>summary>span:last-child { transform:rotate(45deg) }
.ops-settings-content { padding:0 22px 20px }
.ops-settings-content>.ops-section-note { padding:0 0 14px }
.ops-setting-list { display:flex; flex-direction:column; gap:8px }
.ops-effort-form { display:flex; align-items:end; gap:9px; padding:0; margin:0 }
.ops-effort-form>label,.ops-foundry-row { display:grid; align-items:center; grid-template-columns:minmax(70px,1fr) minmax(150px,1.6fr); gap:12px; flex:1; min-width:0 }
.ops-effort-form label>span,.ops-foundry-row>span { overflow-wrap:anywhere; color:var(--ink); font-size:12px }
.ops-effort-form select,.ops-foundry-row select { width:100%; min-width:0; font-size:12px }
.ops-effort-form .btn { font-size:12px; padding:9px 11px }
.ops-form-footer { display:flex; flex-wrap:wrap; justify-content:space-between; align-items:center; gap:12px; margin-top:17px; font-size:11px }
.ops-form-footer .btn { font-size:12px }
.ops-plugin-panel { grid-column:1/-1 }
.ops-plugin-choice { display:flex; align-items:center; gap:9px; color:var(--ink); margin-bottom:10px }
.ops-plugin-choice input { width:17px; height:17px; margin:0 }
#ops-plugins-form>.ops-section-note { padding:0; max-width:70ch }
.ops-loading { padding:40px 0; color:var(--ink-soft) }
.ops-access-message { background:#fff; border:1px solid var(--line); padding:28px; border-radius:12px; max-width:620px }
.ops-access-message h2 { margin:0 0 12px }
.ops-access-message p { color:var(--ink-soft); margin-bottom:24px }
.ops-access-message .btn { display:inline-block; text-decoration:none }
@media(max-width:1100px) { .operations-shell { grid-template-columns:180px minmax(0,1fr) } .operations-page .workspace-main { padding:28px 22px } .ops-exceptions,.ops-settings { gap:14px } .ops-panel-heading,.ops-entry { padding-left:17px; padding-right:17px } .ops-section-note { padding-left:17px; padding-right:17px } .ops-entry-priority { padding-left:14px } .ops-entry-heading { flex-wrap:wrap; gap:5px } }
@media(max-width:850px) { .ops-exceptions,.ops-settings { grid-template-columns:1fr } .ops-header { flex-direction:column; gap:16px } .ops-refresh-area { flex-direction:row; align-items:center; gap:15px } .ops-summary>a { padding-left:10px; padding-right:10px; font-size:12px; gap:5px } .ops-summary strong { min-width:23px } }
@media(max-width:620px) { .operations-shell { display:block } .operations-page .workspace-sidebar { position:static; height:auto; padding:15px 16px 11px; border-right:0; border-bottom:1px solid var(--line); display:block } .operations-page .workspace-sidebar .site-brand { padding:0 0 12px; font-size:20px } .ops-nav { flex-direction:row; overflow-x:auto; gap:4px } .ops-nav .nav-link { flex-shrink:0; width:auto; font-size:11px; min-height:36px; gap:5px; padding:7px 9px } .ops-nav .nav-link>span { display:none } .ops-console-link { margin:0 } .operations-page .sidebar-bottom { display:none } .operations-page .workspace-main { padding:24px 16px 36px } .ops-header h1 { font-size:26px } .ops-header p { font-size:12px } .ops-connection { padding:16px; gap:14px 10px } .ops-signal strong { font-size:13px; gap:5px } .ops-signal>span { font-size:10px } .ops-connection-note { display:block } .ops-connection-note p+p { margin-top:5px } .ops-summary { flex-wrap:wrap; margin-top:14px } .ops-summary>a { flex:1 0 50%; padding:8px 10px!important } .ops-summary>a:nth-child(odd) { padding-left:0!important } .ops-summary>a:nth-child(even) { padding-right:0!important } .ops-settings-content { padding-left:17px; padding-right:17px } .ops-settings-panel>summary { padding-left:17px; padding-right:17px } .ops-effort-form>label,.ops-foundry-row { grid-template-columns:minmax(55px,1fr) minmax(140px,1.8fr); gap:8px } .ops-effort-form .btn { padding:9px 8px } .ops-entry-meta>span { display:block; margin-left:0; margin-top:2px } }
@media(prefers-reduced-motion:reduce) { .operations-page * { transition:none!important; scroll-behavior:auto!important } }
@media(max-width:620px) { .operations-page .sidebar-bottom { display:block; padding:4px 0 0 } .operations-page .sidebar-bottom>.hint { display:none } .operations-page .sidebar-bottom .btn { margin:5px 0 0; font-size:11px } }
