/* Solutions Analyzer – entity page styles */
:root {
    --ms-blue: #0078d4;
    --ms-dark: #1b1a19;
    --ms-gray: #605e5c;
    --ms-light: #f3f2f1;
    --ms-border: #e1dfdd;
}
* { box-sizing: border-box; }
body {
    font-family: 'Segoe UI', system-ui, -apple-system, sans-serif;
    margin: 0; padding: 0;
    color: #333; background: #faf9f8;
}

/* Navbar (matches interactive index) */
.navbar {
    background: var(--ms-blue);
    padding: 8px 20px;
    display: flex; align-items: center; justify-content: space-between;
}
.navbar-brand {
    color: #fff; font-weight: 600; font-size: 1.05rem;
}
.navbar-nav-links { display: flex; gap: 16px; align-items: center; }
.navbar-nav-links a {
    color: rgba(255,255,255,0.85); text-decoration: none; font-size: 0.85rem;
}
.navbar-nav-links a:hover { color: #fff; }

/* Content area */
.doc-content {
    max-width: 1100px; margin: 24px auto; padding: 28px 36px;
    background: #fff; border-radius: 8px;
    box-shadow: 0 1px 4px rgba(0,0,0,0.07);
    line-height: 1.65;
}

/* Typography */
h1 { color: var(--ms-blue); border-bottom: 2px solid var(--ms-border); padding-bottom: 8px; margin-top: 0; }
h2 { color: #333; margin-top: 1.6em; border-bottom: 1px solid var(--ms-border); padding-bottom: 6px; }
h3 { color: #444; margin-top: 1.3em; }
h4 { color: var(--ms-gray); margin-top: 1.1em; }

a { color: var(--ms-blue); text-decoration: none; }
a:hover { text-decoration: underline; }

/* Tables */
table { border-collapse: collapse; width: 100%; margin: 14px 0; font-size: 0.9rem; }
th, td { border: 1px solid var(--ms-border); padding: 8px 12px; text-align: left; }
th { background: var(--ms-light); font-weight: 600; }
tr:hover { background: #f5f5f5; }

/* Code */
code {
    background: #f0f0f0; padding: 2px 6px; border-radius: 3px; font-size: 0.88em;
    font-family: 'Cascadia Code', 'Consolas', monospace;
}
pre { background: #f5f5f5; padding: 14px 18px; border-radius: 6px; overflow-x: auto; }
pre code { background: none; padding: 0; }

/* Horizontal rules */
hr { border: none; border-top: 1px solid var(--ms-border); margin: 1.5em 0; }

/* Lists */
ul, ol { padding-left: 1.5em; }
li { margin: 4px 0; }

/* Images */
img { max-width: 100%; height: auto; }

/* Responsive */
@media (max-width: 768px) {
    .doc-content { margin: 10px; padding: 18px; }
    table { font-size: 0.82rem; }
    th, td { padding: 5px 8px; }
}

/* DataTable overrides for schema tables */
table.dataTable thead th {
    background: var(--ms-light);
    font-weight: 600;
    white-space: nowrap;
}
table.dataTable thead tr.filters th {
    background: #fff;
    padding: 4px 6px;
}
table.dataTable thead tr.filters input {
    width: 100%;
    padding: 2px 6px;
    font-size: 0.82rem;
    border: 1px solid var(--ms-border);
    border-radius: 3px;
}
table.dataTable thead tr.filters input:focus {
    outline: none;
    border-color: var(--ms-blue);
}
table.dataTable tbody tr:hover {
    background: #e8f4fd !important;
}
.dataTables_filter { margin-bottom: 6px; }
