/* Styles owned by WS-F (service logs, service status, messages, EPP messages).
   Linked from index.html after portal.css; scope every rule to that workstream's own views and classes. */

/* Service status (B13): one tile per service. */
.service-status-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;margin:12px 0}
.service-status-grid .status-tile{display:flex;flex-direction:column;gap:6px;padding:14px 16px;border:1px solid var(--border);border-left-width:4px;border-radius:var(--r-md);background:var(--surface)}
.service-status-grid .status-tile.success{border-left-color:var(--ok)}
.service-status-grid .status-tile.error{border-left-color:var(--err)}
.service-status-grid .status-tile.muted{border-left-color:var(--border-strong)}
.service-status-grid .badge.success{background:var(--ok-bg);color:var(--ok)}
.service-status-grid .badge.error{background:var(--err-bg);color:var(--err)}
.service-status-grid .badge.muted{background:var(--surface-3);color:var(--muted)}

/* Service logs (B12): filters, results and the redacted EPP exchange. */
.service-log-results{margin-top:12px}
.service-log-frame{margin-top:16px}
.service-log-frame pre.frame-xml{white-space:pre-wrap;word-break:break-all;max-height:360px;overflow:auto;padding:10px 12px;border:1px solid var(--border);border-radius:var(--r-md);background:var(--surface-2);font-size:.78rem}
/* System Logs (journal.mjs): legacy range label + channel toggles (active = the legacy warning colour). */
.journal-range-row{display:flex;flex-wrap:wrap;gap:8px 12px;align-items:center;margin:6px 0 10px}
.journal-range{font-weight:600}
.journal-custom{display:flex;flex-wrap:wrap;gap:8px}
.journal-toggles{display:flex;flex-wrap:wrap;gap:6px}
.journal-toggle{border:1px solid var(--border);background:var(--surface,#fff);border-radius:var(--r-sm,6px);padding:6px 12px;font-weight:600}
.journal-toggle.active{background:#f59e0b;border-color:#d97706;color:#111}
.journal-results-head{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px;align-items:center}
.journal-xml{white-space:pre-wrap;overflow-wrap:anywhere;max-height:420px;overflow:auto;background:var(--surface-2,#f8fafc);padding:10px;border-radius:var(--r-sm,6px);font-size:.8rem}
/* Manage Servers (views/servers.mjs): the legacy row with type / location / status badges. */
.server-rows{list-style:none;margin:0;padding:0}
.server-row{display:grid;grid-template-columns:minmax(120px,1.2fr) minmax(140px,1.2fr) auto auto auto minmax(0,1fr);gap:8px 14px;align-items:center;padding:10px 4px;border-bottom:1px solid var(--border)}
.server-endpoint{font-family:var(--mono,ui-monospace,monospace);font-size:.85rem;overflow-wrap:anywhere}
.server-type-epp{background:#dbeafe;color:#1e3a8a}.server-type-whois{background:#dcfce7;color:#14532d}.server-type-rdap{background:#ede9fe;color:#4c1d95}
.server-location-local{background:#e2e8f0;color:#1e293b}.server-location-remote{background:#fef3c7;color:#78350f}
.server-status-active,.server-status-ready{background:#dcfce7;color:#14532d}.server-status-error{background:#fee2e2;color:#7f1d1d}
.server-status-disabled{background:#e5e7eb;color:#374151}.server-status-starting,.server-status-restarting{background:#fef3c7;color:#78350f}
@media(max-width:760px){.server-row{grid-template-columns:minmax(0,1fr) auto}}
/* Service Monitor (views/daemon.mjs) */
.daemon-online{background:#dcfce7;color:#14532d}.daemon-offline{background:#fee2e2;color:#7f1d1d}
.daemon-chart{width:100%;height:auto;max-height:220px;background:var(--surface-2,#f8fafc);border-radius:var(--r-sm,6px)}
.daemon-line{stroke-width:2}.daemon-line.daemon-system{stroke:#d97706}.daemon-line.daemon-domain{stroke:#16a34a}
.daemon-legend{display:flex;gap:16px}.daemon-key::before{content:"";display:inline-block;width:12px;height:3px;margin-right:6px;vertical-align:middle}
.daemon-key.daemon-system::before{background:#d97706}.daemon-key.daemon-domain::before{background:#16a34a}
.daemon-console{white-space:pre-wrap;overflow-wrap:anywhere;max-height:320px;overflow:auto;background:#0f172a;color:#e2e8f0;padding:10px;border-radius:var(--r-sm,6px);font-size:.8rem}
