/*
 * GRC360 panel theme — plain CSS layered over Filament's own stylesheet (no build step).
 * Colours come from the panel palette (--primary-*, --danger-*, --warning-*, --gray-*);
 * only the tones Filament has no variable for are declared here.
 * Published by `php artisan filament:assets`.
 */
:root {
    --grc-ink: #1a1416;
    --grc-ink-raised: #33272a;
    --grc-on-ink: #d2cccd;
    --grc-ground: #f6f6f7;
    --grc-line: #e3e3e6;
    --grc-display: 'Archivo', var(--font-family), ui-sans-serif, system-ui, sans-serif;
}

/* Brand */
.grc-brand { font-family: var(--grc-display); font-size: 1.5rem; font-weight: 600; line-height: 1; color: var(--grc-ink); }
.grc-brand__mark { color: var(--primary-600); }
.dark .grc-brand, .fi-topbar .grc-brand, .grc-auth-aside .grc-brand { color: #fff; }
.dark .grc-brand__mark, .fi-topbar .grc-brand__mark, .grc-auth-aside .grc-brand__mark { color: #f0414b; }

/* Ground */
.fi-body { background-color: var(--grc-ground); }
.dark .fi-body { background-color: var(--gray-950); }

/* Top bar: ink in both modes */
.fi-topbar { background-color: var(--grc-ink); box-shadow: none; }
.fi-topbar .fi-topbar-item-btn { border-radius: .375rem; }
.fi-topbar .fi-topbar-item-label,
.fi-topbar .fi-topbar-item-icon,
.fi-topbar .fi-topbar-group-toggle-icon { color: var(--grc-on-ink); }
.fi-topbar .fi-topbar-item-btn:hover,
.fi-topbar .fi-topbar-item-btn:focus-visible,
.fi-topbar .fi-topbar-item.fi-active .fi-topbar-item-btn { background-color: var(--grc-ink-raised); }
.fi-topbar .fi-topbar-item.fi-active .fi-topbar-item-label,
.fi-topbar .fi-topbar-item.fi-active .fi-topbar-item-icon { color: #fff; }
.fi-topbar .fi-topbar-end .fi-icon-btn { color: var(--grc-on-ink); }
.fi-topbar .fi-topbar-end .fi-icon-btn:hover { background-color: var(--grc-ink-raised); color: #fff; }
.fi-topbar .fi-global-search-field .fi-input-wrp { background-color: var(--grc-ink-raised); box-shadow: none; }
.fi-topbar .fi-global-search-field .fi-input { color: #fff; }
.fi-topbar .fi-global-search-field .fi-input::placeholder,
.fi-topbar .fi-global-search-field .fi-icon { color: var(--grc-on-ink); }

/* Titles */
.fi-header-heading,
.fi-simple-header-heading { font-family: var(--grc-display); font-weight: 500; letter-spacing: -0.01em; }
.fi-section-header-heading,
.fi-modal-heading { font-family: var(--grc-display); font-weight: 500; font-size: 1.125rem; }

/* Cards: a hairline, no shadow */
.fi-section:not(.fi-section-not-contained),
.fi-ta-ctn,
.fi-wi-stats-overview-stat { box-shadow: none; border: 1px solid var(--grc-line); border-radius: .625rem; }
.dark .fi-section:not(.fi-section-not-contained),
.dark .fi-ta-ctn,
.dark .fi-wi-stats-overview-stat { border-color: color-mix(in oklab, white 10%, transparent); }

/* Controls keep Filament's behaviour; only radius and weight change */
.fi-btn { border-radius: .375rem; font-weight: 600; }
.fi-input-wrp { border-radius: .375rem; }
.fi-badge { border-radius: .25rem; }

/* Tables: quiet header, mono references */
.fi-ta-header-cell { background-color: #fafafb; }
.dark .fi-ta-header-cell { background-color: transparent; }
.fi-ta-header-cell-label { font-size: .75rem; letter-spacing: .04em; text-transform: uppercase; color: var(--gray-600); }
.dark .fi-ta-header-cell-label { color: var(--gray-400); }
.grc-ref, .fi-ta-text-item.grc-ref { font-family: var(--mono-font-family), ui-monospace, monospace; font-size: .8125rem; }

/* Sign-in: ink panel beside the form */
.grc-auth-aside { display: none; }
@media (min-width: 64rem) {
    .fi-simple-layout { display: grid; grid-template-columns: minmax(24rem, 40rem) 1fr; }
    .grc-auth-aside { display: flex; flex-direction: column; gap: 1.5rem; min-height: 100vh; padding: 3.5rem 4rem; background: var(--grc-ink); color: var(--grc-on-ink); }
    .grc-auth-aside__claim { margin-top: auto; font-family: var(--grc-display); font-size: 3rem; font-weight: 500; line-height: 1.1; color: #fff; }
    .grc-auth-aside__note { font-size: .8125rem; }
}
.fi-simple-main { box-shadow: none; border: 1px solid var(--grc-line); border-radius: .625rem; }
.dark .fi-simple-main { border-color: color-mix(in oklab, white 10%, transparent); }

/* Shared small pieces */
.grc-muted { font-size: .8125rem; color: var(--gray-600); }
.dark .grc-muted { color: var(--gray-400); }
.grc-eyebrow { font-size: .75rem; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; color: var(--gray-600); }
.dark .grc-eyebrow { color: var(--gray-400); }
.grc-link { font-size: .8125rem; font-weight: 600; color: var(--primary-600); }
.grc-link:hover { color: var(--primary-700); }
.dark .grc-link { color: var(--primary-400); }
.grc-notice { border-radius: .5rem; padding: .75rem 1rem; font-size: .8125rem; background: var(--warning-100); color: var(--warning-700); }
.dark .grc-notice { background: color-mix(in oklab, var(--warning-400) 15%, transparent); color: var(--warning-200); }

/* Journey gauge: one segment per step */
.grc-gauge { display: grid; gap: .3rem; min-width: 10rem; }
.fi-ta-cell .grc-gauge { padding: .75rem; }
.grc-gauge__track { display: flex; gap: 3px; }
.grc-gauge__seg { flex: 1; height: 5px; border-radius: 3px; background: var(--gray-200); }
.grc-gauge__seg--done { background: var(--grc-ink); }
.grc-gauge__seg--active { background: var(--primary-600); }
.grc-gauge--stopped .grc-gauge__seg--done,
.grc-gauge--stopped .grc-gauge__seg--active { background: var(--gray-400); }
.grc-gauge__label { font-size: .78125rem; color: var(--gray-600); }
.dark .grc-gauge__seg { background: color-mix(in oklab, white 12%, transparent); }
.dark .grc-gauge__seg--done { background: var(--gray-300); }
.dark .grc-gauge__seg--active { background: var(--primary-500); }
.dark .grc-gauge__label { color: var(--gray-400); }

/* Journey rail (mission view) */
.grc-rail { display: grid; gap: 1.25rem; }
.grc-rail__steps { display: grid; gap: .25rem; list-style: none; margin: 0; padding: 0; }
.grc-rail__step { display: flex; align-items: center; gap: .875rem; padding: .625rem .75rem; border: 1px solid transparent; border-radius: .5rem; color: var(--gray-600); }
.grc-rail__marker { display: flex; align-items: center; justify-content: center; flex-shrink: 0; width: 1.75rem; height: 1.75rem; border: 1px solid var(--gray-300); border-radius: 50%; font-family: var(--mono-font-family), ui-monospace, monospace; font-size: .8125rem; }
.grc-rail__check { width: 1rem; height: 1rem; }
.grc-rail__name { font-size: .875rem; font-weight: 500; }
.grc-rail__meta { font-family: var(--mono-font-family), ui-monospace, monospace; font-size: .71875rem; color: var(--gray-600); }
.grc-rail__step--completed { color: var(--gray-950); }
.grc-rail__step--completed .grc-rail__marker { border-color: var(--grc-ink); background: var(--grc-ink); color: #fff; }
.grc-rail__step--completed .grc-rail__name { font-weight: 600; }
.grc-rail__step--active { border-color: var(--primary-600); color: var(--primary-600); }
.grc-rail__step--active .grc-rail__marker { border: 2px solid var(--primary-600); }
.grc-rail__step--active .grc-rail__name { font-weight: 600; }
.dark .grc-rail__step { color: var(--gray-400); }
.dark .grc-rail__marker { border-color: var(--gray-600); }
.dark .grc-rail__meta { color: var(--gray-400); }
.dark .grc-rail__step--completed { color: #fff; }
.dark .grc-rail__step--completed .grc-rail__marker { border-color: var(--gray-200); background: var(--gray-200); color: var(--gray-950); }
.dark .grc-rail__step--active { border-color: var(--primary-500); color: var(--primary-400); }
.dark .grc-rail__step--active .grc-rail__marker { border-color: var(--primary-500); }

/* Exit conditions */
.grc-guards { display: grid; gap: .75rem; }
.grc-guards__list { display: grid; list-style: none; margin: 0; padding: 0; }
.grc-guards__item { display: flex; gap: .75rem; padding: .75rem 0; border-top: 1px solid var(--gray-100); font-size: .875rem; }
.grc-guards__item:first-child { border-top: 0; padding-top: 0; }
.grc-guards__item:last-child { padding-bottom: 0; }
.grc-guards__icon { flex-shrink: 0; width: 1.375rem; height: 1.375rem; }
.grc-guards__icon--ok { color: var(--success-600); }
.grc-guards__icon--ko { color: var(--danger-600); }
.grc-guards__label { font-weight: 600; color: var(--gray-950); }
.grc-guards__fail { font-size: .8125rem; color: var(--danger-600); }
.grc-guards__detail { font-size: .8125rem; color: var(--gray-600); }
.dark .grc-guards__item { border-color: color-mix(in oklab, white 10%, transparent); }
.dark .grc-guards__label { color: #fff; }
.dark .grc-guards__icon--ko, .dark .grc-guards__fail { color: var(--danger-400); }
.dark .grc-guards__detail { color: var(--gray-400); }

/* Dashboard */
.grc-dash { display: grid; gap: .875rem; align-content: start; }
.grc-dash__head { display: flex; align-items: baseline; justify-content: space-between; gap: 1rem; }
.grc-dash__head:not(:first-child) { margin-top: .875rem; }
.grc-card { display: grid; gap: .875rem; padding: 1.25rem 1.5rem; border: 1px solid var(--grc-line); border-radius: .625rem; background: #fff; }
.grc-card--link:hover { border-color: var(--gray-400); }
.grc-card--list { gap: 0; padding-block: .375rem; }
.grc-card--ai { gap: .5rem; border-style: dashed; border-color: var(--gray-400); background: #fafafb; }
.grc-card__top { display: flex; align-items: baseline; gap: .875rem; }
.grc-card__title { flex: 1; font-family: var(--grc-display); font-size: 1.1875rem; font-weight: 500; color: var(--gray-950); }
.grc-card__status { font-size: .8125rem; font-weight: 500; }
.grc-card__status--blocked { color: var(--danger-600); }
.grc-card__status--ready { color: var(--success-700); }
.grc-task { display: grid; gap: .125rem; padding: .875rem 0; border-top: 1px solid var(--gray-100); }
.grc-task:first-child { border-top: 0; }
.grc-task__title { font-size: .875rem; font-weight: 600; color: var(--gray-950); }
.grc-ai-tag { padding: .125rem .4375rem; border-radius: .25rem; background: var(--grc-ink); color: #fff; font-family: var(--mono-font-family), ui-monospace, monospace; font-size: .6875rem; }
.dark .grc-card { border-color: color-mix(in oklab, white 10%, transparent); background: var(--gray-900); }
.dark .grc-card--ai { border-color: var(--gray-500); }
.dark .grc-card__title, .dark .grc-task__title { color: #fff; }
.dark .grc-card__status--blocked { color: var(--danger-400); }
.dark .grc-card__status--ready { color: var(--success-400); }
.dark .grc-task { border-color: color-mix(in oklab, white 10%, transparent); }
.dark .grc-ai-tag { background: var(--gray-200); color: var(--gray-950); }

/* Page-level tabs (relation managers): an underlined row, not a floating pill */
.fi-sc-tabs:not(.fi-contained) > .fi-tabs { margin-inline: 0; padding: 0; gap: .125rem; border-radius: 0; border-bottom: 1px solid var(--grc-line); background: transparent; box-shadow: none; }
.fi-sc-tabs:not(.fi-contained) > .fi-tabs .fi-tabs-item { margin-bottom: -1px; border-bottom: 2px solid transparent; border-radius: 0; background: transparent; }
.fi-sc-tabs:not(.fi-contained) > .fi-tabs .fi-tabs-item.fi-active { border-bottom-color: var(--primary-600); }
.dark .fi-sc-tabs:not(.fi-contained) > .fi-tabs { border-color: color-mix(in oklab, white 10%, transparent); }

/* Copilot suggestion not yet decided: dashed frame, never styled like mission data */
.grc-ai { padding: .75rem 1rem; border: 1px dashed var(--gray-400); border-radius: .625rem; background: #fafafb; }
.dark .grc-ai { border-color: var(--gray-500); background: transparent; }

/* Interview screen: guide navigation | current section | attention points and copilot */
.grc-hidden { display: none !important; }
.grc-guide-nav { position: sticky; top: 5rem; display: grid; gap: 1rem; max-height: calc(100vh - 6rem); overflow-y: auto; padding-right: .25rem; }
.grc-guide-nav__section { display: grid; gap: 1px; }
.grc-guide-nav__title { padding: .375rem .625rem; border-radius: .375rem; text-align: left; font-size: .75rem; font-weight: 600; color: var(--gray-600); }
.grc-guide-nav__title:hover { background: var(--gray-100); }
.grc-guide-nav__title--current { background: #fff; color: var(--primary-600); box-shadow: inset 2px 0 0 var(--primary-600); }
.grc-guide-nav__question { display: flex; align-items: center; gap: .5rem; min-height: 2.25rem; padding: .375rem .625rem; border-radius: .375rem; text-align: left; font-size: .8125rem; color: var(--gray-800); }
.grc-guide-nav__question:hover { background: var(--gray-100); }
.grc-guide-nav__question--hidden { color: var(--gray-400); }
.grc-guide-nav__ref { flex-shrink: 0; min-width: 2.75rem; font-family: var(--mono-font-family), ui-monospace, monospace; font-size: .6875rem; color: var(--gray-500); }
.grc-guide-nav__label { flex: 1; overflow: hidden; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; }
.grc-guide-nav__dot { flex-shrink: 0; width: .5rem; height: .5rem; border-radius: 50%; background: var(--grc-ink); }
.grc-guide-nav__dot--attention { background: var(--warning-500); }
.grc-question { display: grid; gap: .75rem; padding-bottom: 1.25rem; border-bottom: 1px solid var(--gray-100); scroll-margin-top: 6rem; }
.grc-question:last-child { padding-bottom: 0; border-bottom: 0; }
.grc-interview-aside .fi-section { background: #fafafb; }
.grc-interview-aside .grc-ai { background: #fff; }
.dark .grc-guide-nav__title, .dark .grc-guide-nav__ref { color: var(--gray-400); }
.dark .grc-guide-nav__title--current { background: var(--gray-900); color: var(--primary-400); box-shadow: inset 2px 0 0 var(--primary-500); }
.dark .grc-guide-nav__question { color: var(--gray-200); }
.dark .grc-guide-nav__question--hidden { color: var(--gray-600); }
.dark .grc-guide-nav__title:hover, .dark .grc-guide-nav__question:hover { background: color-mix(in oklab, white 6%, transparent); }
.dark .grc-guide-nav__dot { background: var(--gray-200); }
.dark .grc-question { border-color: color-mix(in oklab, white 10%, transparent); }
.dark .grc-interview-aside .fi-section, .dark .grc-interview-aside .grc-ai { background: transparent; }
.grc-attention { display: grid; gap: .5rem; padding-top: .75rem; border-top: 1px solid var(--gray-200); }
.grc-attention:first-child { padding-top: 0; border-top: 0; }
.dark .grc-attention { border-color: color-mix(in oklab, white 10%, transparent); }
