/* Inter Font */
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;900&display=swap');

:root {
    --color-primary-orange: #ff4d00; /* rgb(255, 77, 0) */
    --color-primary-orange-dark: #cc3d00; /* Darker shade for hover */
    
    --color-bg-dark: #171717; /* rgb(23, 23, 23) */
    --color-bg-card: #1c1c1c; /* rgb(28, 28, 28) */
    --color-bg-element-hover: #2a2a2a;

    --color-text-light: #dedede; /* rgb(222, 222, 222) */
    --color-text-muted: rgba(222, 222, 222, 0.65);
    --color-text-dark-on-light-bg: #111111; /* For text on orange buttons */

    --color-border: rgba(255, 255, 255, 0.15);
    --color-border-strong: rgba(255, 255, 255, 0.25);
    --color-border-orange-focus: rgba(255, 77, 0, 0.5);

    --color-success: #4ade80; /* Tailwind green-400 - good contrast on dark */
    --color-danger: #f87171;  /* Tailwind red-400 - good contrast on dark */
    --color-warning: #facc15; /* Tailwind yellow-400 - good contrast on dark */
    --color-info: #60a5fa;   /* Tailwind blue-400 */

    --font-family: 'Inter', system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
}

body {
    background-color: var(--color-bg-dark);
    color: var(--color-text-light);
    font-family: var(--font-family);
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    scroll-behavior: smooth;
    background-image: radial-gradient(circle, rgba(255,255,255,0.02) 1px, transparent 1.1px); /* Subtle dot pattern */
    background-size: 20px 20px;
}

/* Scrollbar Styling (Optional, for a more themed look) */
::-webkit-scrollbar {
    width: 8px;
    height: 8px;
}
::-webkit-scrollbar-track {
    background: var(--color-bg-dark);
}
::-webkit-scrollbar-thumb {
    background: var(--color-primary-orange);
    border-radius: 4px;
}
::-webkit-scrollbar-thumb:hover {
    background: var(--color-primary-orange-dark);
}

/* Animation base classes */
.animate-on-scroll {
    opacity: 0;
    transition: opacity 0.5s ease-out, transform 0.5s ease-out;
}
.fade-in-up { transform: translateY(20px); }
.fade-in { /* opacity only */ }

.is-visible {
    opacity: 1;
    transform: translateY(0);
}

/* Navbar styling (Tailwind will handle most, this is for specific overrides/additions) */
#navbar {
    background: linear-gradient(180deg, var(--color-bg-dark) 70%, rgba(23, 23, 23, 0) 100%);
}
#navbar.scrolled {
    background-color: var(--color-bg-dark);
    box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.3), 0 2px 4px -1px rgba(0, 0, 0, 0.16);
}

/* Headings */
h1, h2, h3, h4, h5, h6 {
    color: var(--color-text-light);
}
h2 { /* Page section titles */
    border-bottom-color: var(--color-primary-orange);
}

/* Cards */
.card {
    background-color: var(--color-bg-card);
    border: 1px solid var(--color-border);
    /* No distinct left border unless specifically desired */
}
.card h3 { /* Card titles */
    color: var(--color-primary-orange);
}
.card p.metric-value { /* Large text in summary cards */
    color: var(--color-text-light);
}
.card .details {
    color: var(--color-text-muted);
}

/* Tables */
.table-responsive-wrapper {
    background-color: var(--color-bg-card);
    border: 1px solid var(--color-border);
    border-radius: 0.5rem; /* Tailwind's rounded-lg */
    overflow-x: auto; /* THIS IS KEY FOR MOBILE TABLES */
    overflow-y: hidden; /* Prevent vertical scrollbar on the wrapper itself if content fits */
    -webkit-overflow-scrolling: touch; /* Smooth scrolling on iOS */
}
table {
    border-collapse: separate; 
    border-spacing: 0;
    min-width: 600px; /* Ensure table has a minimum width to trigger scroll on small screens if needed */
}
th {
    background-color: var(--color-bg-element-hover); 
    color: var(--color-text-light);
    font-weight: 600;
    white-space: nowrap; /* Prevent headers from wrapping too aggressively */
}
td {
    border-top: 1px solid var(--color-border);
    white-space: nowrap; /* Data cells can wrap if needed, but often good to keep them from breaking too much */
}
tbody tr:hover {
    background-color: var(--color-bg-element-hover);
}
tbody tr:first-child td {
    border-top: none; 
}

/* Clickable table cells with links */
td a.table-cell-link {
    display: block; /* Make the link fill the cell */
    padding: inherit; /* Inherit padding from td for consistent spacing */
    margin: -1rem; /* Counteract td padding to make link truly fill (adjust if td padding changes) */
    padding: 1rem;  /* Re-apply padding to the link itself */
    color: var(--color-text-light); /* Default text color */
    text-decoration: none;
    transition: color 0.2s ease-in-out;
}
td a.table-cell-link:hover {
    color: var(--color-primary-orange); /* Hover color for model names */
}


/* Score Bars */
.score-bar-container {
    background-color: var(--color-bg-element-hover); /* Darker grey for container */
}
.score-bar {
    background-color: var(--color-primary-orange);
    color: var(--color-text-dark-on-light-bg); /* White or very light grey for text on orange */
    font-weight: 600;
}
.score-bar.adh { /* If we want a different color for adherence, define here */
    /* background-color: var(--color-info); */ /* Example if using a different color */
}

/* Buttons */
a.button-link, button.button-style {
    transition: background-color 0.2s ease-in-out, border-color 0.2s ease-in-out, color 0.2s ease-in-out, transform 0.1s ease-out;
    will-change: transform;
}
a.button-link:hover, button.button-style:hover {
    transform: translateY(-2px);
}

a.button-link.view, button.button-style.primary { /* Orange filled */
    background-color: var(--color-primary-orange);
    color: var(--color-text-dark-on-light-bg); /* Darker text for contrast on orange */
    border-color: var(--color-primary-orange);
}
a.button-link.view:hover, button.button-style.primary:hover {
    background-color: var(--color-primary-orange-dark);
    border-color: var(--color-primary-orange-dark);
}

a.button-link.secondary, button.button-style.secondary { /* Outline style */
    background-color: transparent;
    color: var(--color-primary-orange);
    border: 1px solid var(--color-primary-orange);
}
a.button-link.secondary:hover, button.button-style.secondary:hover {
    background-color: rgba(255, 77, 0, 0.1); /* Slight orange tint on hover */
    color: var(--color-primary-orange);
}

a.button-link.neutral, button.button-style.neutral { /* Dark grey filled */
    background-color: var(--color-bg-element-hover);
    color: var(--color-text-light);
    border: 1px solid var(--color-border-strong);
}
a.button-link.neutral:hover, button.button-style.neutral:hover {
    background-color: #3a3a3a; /* Slightly lighter grey */
    border-color: var(--color-border-strong);
}


/* Forms */
.suggestion-form-container label {
    color: var(--color-text-muted);
}
.suggestion-form-container input[type="text"],
.suggestion-form-container input[type="email"],
.suggestion-form-container textarea {
    background-color: var(--color-bg-element-hover);
    border: 1px solid var(--color-border-strong);
    color: var(--color-text-light);
    border-radius: 0.375rem; /* Tailwind's rounded-md */
}
.suggestion-form-container input[type="text"]:focus,
.suggestion-form-container input[type="email"]:focus,
.suggestion-form-container textarea:focus {
    outline: none;
    border-color: var(--color-primary-orange);
    box-shadow: 0 0 0 2px var(--color-border-orange-focus);
}
.suggestion-form-container button[type="submit"] {
    background-color: var(--color-primary-orange);
    color: var(--color-text-dark-on-light-bg);
}
.suggestion-form-container button[type="submit"]:hover {
    background-color: var(--color-primary-orange-dark);
}

/* Status messages from suggest_prompt.js */
#suggestionStatus.success {
    background-color: rgba(74, 222, 128, 0.1); /* success color with alpha */
    color: var(--color-success);
    border: 1px solid var(--color-success);
}
#suggestionStatus.error {
    background-color: rgba(248, 113, 113, 0.1); /* danger color with alpha */
    color: var(--color-danger);
    border: 1px solid var(--color-danger);
}
#suggestionStatus.submitting {
    background-color: rgba(96, 165, 250, 0.1); /* info color with alpha */
    color: var(--color-info);
    border: 1px solid var(--color-info);
}

/* Prompt Detail Page Specifics */
pre.prompt-description-display {
    background: var(--color-bg-element-hover);
    border: 1px solid var(--color-border);
    color: var(--color-text-muted);
    white-space: pre-wrap; /* Ensure long lines wrap */
    word-break: break-word; /* Break long words if necessary */
}
.check-data {
    background-color: var(--color-bg-element-hover);
    border: 1px solid var(--color-border);
    color: var(--color-text-muted);
    white-space: pre-wrap; /* Allow wrapping */
    word-break: break-all; /* Break long unbroken strings */
}
code {
    background-color: var(--color-bg-element-hover);
    color: var(--color-info); /* Brighter color for code elements */
    padding: 0.1em 0.3em;
    border-radius: 0.25rem;
    word-break: break-all; /* Break long code segments if needed */
}
.status-pass { color: var(--color-success); font-weight: 500; } /* For prompt detail checks */
.status-fail { color: var(--color-danger); font-weight: 500; }
.status-warn { color: var(--color-warning); font-weight: 500; }

.status-row-fail td { background-color: rgba(220, 38, 38, 0.05) !important; }
.status-row-warn td { background-color: rgba(245, 158, 11, 0.05) !important; }


/* Footer specific styles */
footer a:hover {
    color: var(--color-primary-orange);
}
footer .social-icon svg {
    transition: fill 0.2s ease-in-out;
}
footer .social-icon:hover svg {
    fill: var(--color-primary-orange);
}

/* Breadcrumbs */
.breadcrumb-separator, .current-page-breadcrumb {
    color: var(--color-text-muted);
}

/* Mobile Menu Overlay */
#mobile-menu {
    background-color: var(--color-bg-card); /* Slightly different from page bg for depth */
}

/* Specific text colors for status in tables */
.status-success { color: var(--color-success); }
.status-failure, .status-error { color: var(--color-danger); } /* For model_detail status column */

/* Ensure links in content are styled properly */
main a:not(.button-link):not(.table-cell-link) { /* Exclude table cell links */
    color: var(--color-primary-orange);
    text-decoration: underline;
    text-underline-offset: 2px;
}
main a:not(.button-link):not(.table-cell-link):hover {
    color: var(--color-primary-orange-dark);
}

