/* /cybersecurity/css/directory.css — directory hub + entity pages (breadcrumb,
   stat tiles, tables, entity grids). Theme-aware, no inline styles. */

.cy-crumb { margin: 0 0 14px; }
.cy-crumb ol { list-style: none; display: flex; flex-wrap: wrap; gap: 6px; padding: 0; margin: 0; font-size: 13px; }
.cy-crumb li { color: var(--text-mute); }
.cy-crumb li::after { content: "›"; margin-left: 6px; color: var(--text-mute); }
.cy-crumb li:last-child::after { content: ""; }
.cy-crumb a { color: var(--text-dim); text-decoration: none; }
.cy-crumb a:hover { color: var(--text); }

.cy-tiles { display: grid; grid-template-columns: repeat(auto-fit, minmax(120px, 1fr)); gap: 12px; margin: 16px 0; }
.cy-tile { background: var(--panel-light); border: 1px solid var(--border); border-radius: 12px; padding: 14px; text-align: center; }
.cy-tile__v { font-size: 1.5rem; font-weight: 800; color: var(--text-strong); word-break: break-word; }
.cy-tile__l { font-size: 12px; color: var(--text-dim); margin-top: 4px; text-transform: uppercase; letter-spacing: .03em; }
.cy-tile.bad .cy-tile__v { color: var(--danger); }
.cy-tile.warn .cy-tile__v { color: var(--warn); }
.cy-tile.good .cy-tile__v { color: var(--success); }

.cy-tablewrap { overflow-x: auto; }
.cy-table { width: 100%; border-collapse: collapse; font-size: 14px; margin: 10px 0; }
.cy-table th, .cy-table td { text-align: left; padding: 8px 10px; border-bottom: 1px solid var(--border); white-space: nowrap; }
.cy-table th { color: var(--text-dim); font-weight: 600; }
.cy-table td.wrap { white-space: normal; }
.cy-table a { color: var(--accent); text-decoration: none; }
.cy-table a:hover { text-decoration: underline; }

.cy-taglist { display: flex; flex-wrap: wrap; gap: 6px; margin: 8px 0; }
.cy-entity-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(230px, 1fr)); gap: 14px; }
.cy-entity { background: var(--panel-light); border: 1px solid var(--border); border-radius: 12px; padding: 16px; }
.cy-entity h3 { margin: 0 0 6px; font-size: 1.02rem; }
.cy-entity h3 a { color: var(--text-strong); text-decoration: none; }
.cy-entity h3 a:hover { color: var(--accent); }
.cy-entity p { margin: 0; color: var(--text-dim); font-size: 13px; line-height: 1.5; }
.cy-prose p { color: var(--text); line-height: 1.65; }
.cy-muted { color: var(--text-mute); font-size: 13px; }
.cy-code { background: var(--bg-deep); border: 1px solid var(--border); border-radius: 8px; padding: 12px 14px;
    overflow-x: auto; font-family: ui-monospace, Menlo, Consolas, monospace; font-size: 13px; color: var(--text);
    white-space: pre; margin: 10px 0; }
code { background: var(--overlay-1); padding: 1px 6px; border-radius: 5px;
    font-family: ui-monospace, Menlo, Consolas, monospace; font-size: .92em; }

/* Exposure score in the company-profiles table (band colours, no report.css needed). */
.cy-sc { font-weight: 700; color: var(--text-strong); }
.cy-sc.good { color: var(--success); }
.cy-sc.fair { color: var(--accent); }
.cy-sc.poor { color: var(--warn); }
.cy-sc.critical { color: var(--danger); }
