body { font-family: Arial, Helvetica, sans-serif; margin: 0; background: #f5f6f8; color: #222; }
header { background: #1a2b4c; color: white; padding: 24px 32px; }
header h1 { margin: 0; font-size: 22px; }
.subtitle { margin: 4px 0 0; font-size: 13px; color: #c7ccd9; }
main { padding: 24px 32px; }
.upload-form { background: white; padding: 20px; border-radius: 6px; max-width: 520px; display: flex; flex-direction: column; gap: 10px; box-shadow: 0 1px 3px rgba(0,0,0,0.1); }
.upload-form label { font-size: 13px; font-weight: bold; }
.upload-form .checkbox { display: flex; align-items: center; gap: 6px; font-weight: normal; }
button, .download-btn { background: #1a2b4c; color: white; border: none; padding: 10px 16px; border-radius: 4px; cursor: pointer; text-decoration: none; font-size: 14px; display: inline-block; }
.results-header { display: flex; justify-content: space-between; align-items: center; margin-top: 28px; }
table { width: 100%; border-collapse: collapse; margin-top: 12px; background: white; font-size: 13px; }
th, td { border: 1px solid #ddd; padding: 6px 8px; text-align: left; }
th { background: #eef0f4; }
.row-expired { background: #fdeaea; }
.row-error { background: #fff6e0; }
.flash { background: #fdeaea; padding: 10px; border-radius: 4px; margin-bottom: 16px; }

.sources { display: flex; align-items: center; gap: 20px; flex-wrap: wrap; }
.or-divider { font-size: 13px; color: #888; font-weight: bold; }
.tanium-btn { background: #2a6b3f; }

.tabs { margin-top: 8px; }
.tabs a { color: #cdd6ef; font-size: 13px; text-decoration: underline; }
.hint { font-size: 13px; color: #666; max-width: 600px; }
.tenants-table { width: 100%; max-width: 900px; border-collapse: collapse; background: white; margin-bottom: 24px; }
.tenants-table th, .tenants-table td { border: 1px solid #ddd; padding: 6px 8px; text-align: left; }
.tenants-table th { background: #eef0f4; }
.tenants-table input[type="text"], .tenants-table input[type="password"] { width: 100%; box-sizing: border-box; padding: 4px; }
.tenants-table .actions { white-space: nowrap; }
.tenants-table .empty { text-align: center; color: #888; }
.danger-btn { background: #a13030; margin-left: 6px; }

.mapping-form { max-width: 640px; }
.mapping-form select { padding: 6px; font-size: 14px; }
.required { color: #a13030; }
.preview-wrapper { overflow-x: auto; margin-bottom: 20px; max-width: 100%; }
.preview-table { border-collapse: collapse; background: white; font-size: 12px; white-space: nowrap; }
.preview-table th, .preview-table td { border: 1px solid #ddd; padding: 4px 8px; }
.preview-table th { background: #eef0f4; }

.raw-json { background: #1e1e1e; color: #d4d4d4; padding: 16px; border-radius: 6px; overflow-x: auto; max-width: 100%; font-size: 12px; white-space: pre-wrap; word-break: break-word; }

.drilldown-table .group-row { cursor: pointer; background: #f5f6f8; }
.drilldown-table .group-row:hover { background: #e9ebf0; }
.drilldown-table .toggle-cell { width: 18px; text-align: center; color: #666; }
.drilldown-table .detail-row td { color: #444; }

.support-dot { display: inline-block; width: 10px; height: 10px; border-radius: 50%; margin-right: 6px; vertical-align: middle; }
.support-dot.support-supported { background: #2a6b3f; }
.support-dot.support-warning { background: #e0a020; }
.support-dot.support-unsupported { background: #a13030; }
.support-dot.support-unknown { background: #999; }
.support-label { font-size: 12px; vertical-align: middle; }
