/* Shared CertOrbis operations scale: calm surfaces, one ink-blue accent. */
.op-body { font-size:14px; line-height:1.45; }
.op-body h1 { font-size:22px; line-height:28px; letter-spacing:-.025em; }
.op-body h2 { font-size:16px; line-height:24px; font-weight:600; }
.op-body h3 { font-size:14px; line-height:20px; font-weight:600; }
.op-body p { margin:0; }
.op-shell { display:grid; grid-template-columns:208px minmax(0,1fr); max-width:1480px; margin:auto; min-height:520px; }
.op-sidebar { padding:28px 16px; border-right:1px solid var(--line); background:#f4f6f9; }
.op-sidebar-label { color:var(--muted); font-size:12px; margin:0 12px 12px; }
.op-nav { display:grid; gap:4px; }
.op-nav a { display:flex; gap:12px; align-items:center; padding:10px 12px; border-radius:6px; color:#566171; font-weight:500; }
.op-nav a svg { width:18px; height:18px; flex:none; }
.op-nav a[aria-current] { color:var(--blue-dark); background:#e5ebf5; box-shadow:inset 3px 0 var(--blue); }
.op-nav a:hover { background:#e9edf3; }
.op-sidebar-foot { border-top:1px solid var(--line); margin:28px 12px 0; padding-top:16px; color:var(--muted); font-size:12px; }
.op-main { padding:28px 32px 36px; min-width:0; }
.op-page-head { display:flex; align-items:flex-start; justify-content:space-between; gap:20px; margin-bottom:24px; }
.op-page-head h1 { margin:0 0 6px; }
.op-subtitle { color:var(--muted); font-size:14px; }
.op-actions { display:flex; flex-wrap:wrap; gap:8px; align-items:center; }
.op-btn { display:inline-flex; align-items:center; justify-content:center; gap:7px; min-height:36px; padding:7px 12px; border:1px solid var(--line); border-radius:6px; background:#fff; color:var(--ink); font-size:13px; font-weight:500; line-height:20px; white-space:nowrap; }
.op-btn:hover { background:#f1f4f8; }
.op-btn-primary { background:var(--blue); border-color:var(--blue); color:white; }
.op-btn-primary:hover { background:var(--blue-dark); color:white; }
.op-btn-small { min-height:30px; padding:4px 10px; font-size:12px; }
.op-btn:disabled { opacity:.55; cursor:wait; }
.op-btn svg { width:15px; height:15px; }
.op-metrics { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); border:1px solid var(--line); border-radius:8px; background:white; margin-bottom:24px; }
.op-metric { padding:18px 20px; border-right:1px solid var(--line); }
.op-metric:last-child { border:0; }
.op-metric-label { font-size:12px; color:var(--muted); }
.op-metric-value { font-size:28px; line-height:34px; font-weight:600; letter-spacing:-.03em; margin:4px 0; }
.op-metric-hint { font-size:12px; color:var(--muted); }
.op-panel { border:1px solid var(--line); border-radius:8px; background:white; margin-bottom:24px; overflow:hidden; }
.op-panel-head { display:flex; flex-wrap:wrap; gap:12px; justify-content:space-between; align-items:center; padding:16px 20px; border-bottom:1px solid var(--line); }
.op-panel-head h2 { margin:0; }
.op-panel-head p { margin-top:3px; color:var(--muted); font-size:12px; }
.op-panel-body { padding:20px; }
.op-table-scroll { overflow:auto; }
.op-table { width:100%; border-collapse:collapse; font-size:13px; text-align:left; }
.op-table th { padding:10px 20px; font-size:12px; color:var(--muted); font-weight:500; background:#fafbfd; white-space:nowrap; border-bottom:1px solid var(--line); }
.op-table td { padding:13px 20px; border-bottom:1px solid #e8ebf0; vertical-align:middle; }
.op-table tr:last-child td { border:0; }
.op-table tbody tr:hover { background:#fafbfd; }
.op-name { display:block; font-weight:500; color:var(--ink); }
.op-name:hover { color:var(--blue-dark); }
.op-secondary { display:block; color:var(--muted); font-size:12px; margin-top:3px; }
.op-number { font-variant-numeric:tabular-nums; white-space:nowrap; }
.op-badge { display:inline-flex; align-items:center; gap:6px; font-size:12px; font-weight:500; padding:3px 8px; border-radius:5px; border:1px solid #dee4ed; background:#f1f4f8; color:#506079; white-space:nowrap; }
.op-badge::before { content:""; width:5px; height:5px; border-radius:50%; background:currentColor; flex:none; }
.op-badge-blue { background:#edf2fb; border-color:#d9e3f4; color:#4167a8; }
.op-badge-green { background:#edf5f0; border-color:#d3e6db; color:#347051; }
.op-badge-amber { background:#fbf5e9; border-color:#eee1c3; color:#8c6928; }
.op-badge-red { background:#fbefef; border-color:#efd5d5; color:#9e4b4b; }
.op-empty { padding:40px 24px; text-align:center; }
.op-empty h2 { margin:0 0 6px; }
.op-empty p { max-width:440px; margin:0 auto 18px; color:var(--muted); font-size:14px; }
.op-split { display:grid; grid-template-columns:minmax(0,1.55fr) minmax(260px,1fr); gap:24px; align-items:start; }
.op-pipeline { list-style:none; margin:0; padding:0; }
.op-pipeline li { display:grid; grid-template-columns:110px minmax(40px,1fr) 24px; gap:12px; align-items:center; padding:12px 0; font-size:13px; }
.op-bar { background:#eff2f7; border-radius:2px; height:6px; overflow:hidden; }
.op-bar span { display:block; height:100%; background:#91a6cd; }
.op-bar[data-count="0"] span { width:0; }
.op-link { color:var(--blue-dark); font-weight:500; }
.op-link:hover { text-decoration:underline; }
.op-note { padding:12px 16px; border:1px solid var(--line); border-radius:6px; color:var(--muted); font-size:12px; background:#f6f8fb; margin-bottom:20px; }
.op-alert { border:1px solid #ead5c4; background:#fcf6ee; padding:12px 16px; border-radius:6px; margin-bottom:20px; color:#745536; font-size:13px; }
.op-alert button { margin-top:8px; }
.op-success { border-color:#cfe1d5; background:#f0f7f2; color:#365e46; }
.op-tabs { display:flex; flex-wrap:wrap; gap:20px; border-bottom:1px solid var(--line); margin:-4px 0 24px; }
.op-tabs a { padding:10px 0; border-bottom:2px solid transparent; color:var(--muted); font-size:14px; font-weight:500; }
.op-tabs a[aria-selected="true"] { color:var(--ink); border-color:var(--blue); font-weight:600; }
.op-back { display:inline-flex; gap:6px; font-size:12px; color:var(--muted); margin-bottom:14px; }
.op-description { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; margin:0; }
.op-description dt { color:var(--muted); font-size:12px; margin-bottom:4px; }
.op-description dd { margin:0; font-size:14px; overflow-wrap:anywhere; white-space:pre-wrap; }
.op-attention { display:flex; gap:14px; align-items:flex-start; padding:14px 20px; border-bottom:1px solid #e8ebf0; }
.op-attention:last-child { border:0; }
.op-attention-content { flex:1; min-width:0; }
.op-dot { width:7px; height:7px; background:#b78b44; border-radius:50%; margin-top:6px; flex:none; }
.op-toolbar { display:flex; justify-content:space-between; gap:12px; padding:12px 20px; border-bottom:1px solid var(--line); }
.op-search { border:1px solid var(--line); border-radius:6px; min-height:36px; padding:7px 10px; width:min(300px,100%); font-size:13px; background:#fff; color:var(--ink); }
.op-dialog { color:var(--ink); background:#fff; border:1px solid var(--line); border-radius:10px; padding:0; width:min(620px,calc(100% - 32px)); max-height:calc(100dvh - 40px); box-shadow:0 24px 80px #16223530; }
.op-dialog::backdrop { background:#101c3155; }
.op-dialog-head { display:flex; justify-content:space-between; align-items:center; padding:20px 24px; border-bottom:1px solid var(--line); }
.op-dialog-head h2 { margin:0; }
.op-dialog-body { padding:20px 24px; }
.op-form-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
.op-field { display:flex; flex-direction:column; gap:6px; min-width:0; }
.op-field-wide { grid-column:1/-1; }
.op-label { font-size:14px; line-height:20px; font-weight:500; }
.op-field input:not([type="hidden"]),.op-field textarea { border:1px solid #d2d9e4; border-radius:6px; padding:8px 10px; background:white; color:var(--ink); min-height:38px; font:400 14px/20px var(--font); width:100%; }
.op-field textarea { min-height:76px; resize:vertical; }
.op-field input:disabled { background:#f5f6f8; color:var(--muted); }
.op-help { font-size:12px; color:var(--muted); line-height:19px; }
.op-dialog-foot { display:flex; justify-content:flex-end; gap:8px; padding:16px 24px; border-top:1px solid var(--line); background:#fafbfd; }
.op-choice { position:relative; }
.op-choice-trigger { display:flex; justify-content:space-between; gap:10px; align-items:center; width:100%; min-height:38px; text-align:left; border:1px solid #d2d9e4; background:white; border-radius:6px; padding:8px 10px; color:var(--ink); font-size:14px; line-height:20px; }
.op-choice-trigger:disabled { background:#f5f6f8; color:var(--muted); cursor:default; }
.op-choice-panel { position:absolute; z-index:30; list-style:none; margin:4px 0 0; padding:4px; width:100%; background:#fff; border:1px solid var(--line); box-shadow:0 8px 24px #17253b20; border-radius:7px; max-height:200px; overflow:auto; }
.op-choice-panel button { display:block; width:100%; text-align:left; background:#fff; padding:8px; border-radius:4px; font-size:13px; color:var(--ink); }
.op-choice-panel button:hover,.op-choice-panel button:focus { background:#edf1f8; }
.op-choice-panel button[aria-selected="true"] { font-weight:600; color:var(--blue-dark); background:#edf1f8; }
.op-choice-panel button[aria-selected="true"]::after { content:"✓"; float:right; }
.op-history { list-style:none; padding:0; margin:0; }
.op-history li { display:grid; grid-template-columns:150px minmax(0,1fr); gap:16px; padding:14px 20px; border-bottom:1px solid #e8ebf0; }
.op-history li:last-child { border:0; }
.op-history time { font-size:12px; color:var(--muted); }
.op-money-good { color:#347051; }.op-money-bad { color:#a44d4d; }
.op-initial { padding:48px 32px; max-width:1200px; margin:auto; }
.op-body :focus-visible { outline:2px solid var(--blue); outline-offset:3px; }
.op-body [hidden] { display:none!important; }
@media(max-width:1050px) { .op-shell { grid-template-columns:170px minmax(0,1fr); }.op-main { padding:24px; }.op-split { grid-template-columns:1fr;gap:0; }.op-sidebar { padding:24px 10px; } }
@media(max-width:700px) { .op-shell { display:block;min-height:0; }.op-sidebar { padding:8px 12px;border-right:0;border-bottom:1px solid var(--line); }.op-sidebar-label,.op-sidebar-foot { display:none; }.op-nav { display:flex;gap:3px;overflow:auto; }.op-nav a { padding:9px 10px;white-space:nowrap;font-size:12px;gap:6px; }.op-nav a svg { width:15px;height:15px; }.op-nav a[aria-current] { box-shadow:inset 0 -2px var(--blue); }.op-main { padding:20px 16px; }.op-page-head { flex-wrap:wrap;gap:14px;margin-bottom:20px; }.op-page-head > .op-actions { width:100%; }.op-metrics { grid-template-columns:repeat(2,minmax(0,1fr)); }.op-metric { padding:14px 16px; }.op-metric:nth-child(2) { border-right:0; }.op-metric:nth-child(-n+2) { border-bottom:1px solid var(--line); }.op-metric-value { font-size:26px; }.op-panel-head { padding:14px 16px; }.op-panel-body { padding:16px; }.op-table td,.op-table th { padding:12px 16px; }.op-tabs { gap:16px; }.op-tabs a { font-size:13px; }.op-description { gap:16px; }.op-attention { padding:14px 16px; }.op-history li { grid-template-columns:1fr;gap:4px;padding:14px 16px; }.op-form-grid { grid-template-columns:1fr; }.op-field-wide { grid-column:auto; }.op-dialog-head,.op-dialog-body,.op-dialog-foot { padding:16px; }.op-toolbar { padding:12px 16px; }.op-body .infra-footer { margin-top:0; }.op-pipeline li { grid-template-columns:100px minmax(0,1fr) 20px; } }
@media(prefers-reduced-motion:reduce) { .op-body { scroll-behavior:auto; } }

.op-next-steps { display:grid;gap:16px; }.op-metrics-inner { border:0;margin-bottom:0; }.op-metric-value { overflow-wrap:anywhere; }.op-progress { width:100%;height:6px;border:0;border-radius:2px;appearance:none;background:#eff2f7; }.op-progress::-webkit-progress-bar { background:#eff2f7;border-radius:2px; }.op-progress::-webkit-progress-value { background:#91a6cd;border-radius:2px; }.op-progress::-moz-progress-bar { background:#91a6cd;border-radius:2px; }.op-body .sr-only { position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0; }
@media(max-width:600px) { .op-body .infra-header nav { flex-wrap:wrap;gap:12px; }.op-body .infra-header nav a { font-size:12px; }.op-body .infra-foundation { font-size:11px; } }

.op-history-detail { margin-top:8px;font-size:12px;color:var(--muted); }.op-history-detail summary { cursor:pointer;color:var(--blue-dark); }.op-history-detail ul { margin:8px 0 0;padding:0;list-style:none; }.op-history-detail li { display:block;padding:4px 0;border:0;overflow-wrap:anywhere; }
.op-note-text { margin:0;white-space:pre-wrap;overflow-wrap:anywhere; }
.op-hash { font-family:"IBM Plex Mono",monospace;font-size:12px;overflow-wrap:anywhere; }
.op-reference-list { margin:0;padding:0;list-style:none; }.op-reference-list li { padding:4px 0;overflow-wrap:anywhere; }.op-reference-list code { font-size:12px;overflow-wrap:anywhere; }
.op-checklist { border:0;padding:0;margin:0;display:grid;gap:6px; }.op-checklist label { display:flex;gap:8px;align-items:center;font-size:14px; }
