/* AeroForge Minimal SaaS — workspace visual adapter v0.1.
   App mechanics, responsive visibility, form behavior and JS stay in the legacy CSS/JS.
   This stylesheet is intentionally loaded AFTER legacy CSS and Tom Select. */

body {
    background: var(--af-canvas);
    background-image: none;
    color: var(--af-ink);
}

.app-header {
    background: var(--af-surface);
    border-bottom: 1px solid var(--af-line);
    box-shadow: 0 1px 2px rgba(15, 23, 42, 0.025);
}

.header-brand h1 {
    font-weight: 700;
    letter-spacing: -0.035em;
}

.header-subtitle {
    letter-spacing: 0.03em;
    text-transform: none;
    color: var(--af-ink-subtle);
}

.logo-icon {
    border: 1px solid var(--af-line);
    border-radius: var(--af-radius-md);
    background: var(--af-brand-tint);
    box-shadow: none;
}

.panel-input {
    background: var(--af-canvas);
    border-right: 1px solid var(--af-line);
}

.panel-results {
    background: var(--af-canvas);
}

.form-section,
.metric-card,
.result-summary,
.trace-card {
    border: 1px solid var(--af-line);
    background: var(--af-surface);
    border-radius: var(--af-radius-md);
    box-shadow: var(--af-shadow);
}

.form-section:hover,
.metric-card:hover,
.trace-card:hover {
    border-color: var(--af-line-strong);
}

.form-section .section-toggle {
    color: var(--af-ink);
    font-weight: 600;
    padding: 0.85rem 0.95rem;
}

.form-section .section-toggle:hover {
    background: var(--af-surface-raised);
}

.field label {
    color: var(--af-ink-muted);
    font-size: 0.74rem;
    font-weight: 600;
    letter-spacing: 0;
    text-transform: none;
    margin-bottom: 0.35rem;
}

.field input,
.field select,
.field textarea {
    background-color: var(--af-control);
    border: 1px solid var(--af-line-strong);
    color: var(--af-ink);
    border-radius: var(--af-radius-sm);
    padding: 0.55rem 0.65rem;
    min-height: 36px;
}

.field input:focus,
.field select:focus,
.field textarea:focus {
    border-color: var(--af-brand);
    box-shadow: var(--af-focus);
}

.btn {
    border-radius: var(--af-radius-sm);
    font-weight: 600;
    transition: background-color 0.18s ease, border-color 0.18s ease, box-shadow 0.18s ease;
}

.btn-primary,
.btn-primary:hover {
    background: var(--af-action-primary);
    color: var(--af-action-on-primary) !important;
    box-shadow: none;
}

.btn-primary:hover {
    background: var(--af-action-primary-hover);
    transform: none;
    box-shadow: 0 2px 8px rgba(79, 70, 229, 0.16);
}

.btn-primary:disabled:hover {
    background: var(--af-action-primary);
    box-shadow: none;
}

.btn-ghost,
.btn-outline {
    background: var(--af-surface);
    border: 1px solid var(--af-line-strong);
    color: var(--af-ink-muted);
}

.btn-ghost:hover,
.btn-outline:hover {
    border-color: var(--af-brand);
    background: var(--af-brand-tint);
    color: var(--af-ink);
}

.metric-card::before {
    background: var(--af-brand);
    height: 2px;
}

.metric-card:hover {
    transform: none;
    box-shadow: var(--af-shadow);
}

.metric-label,
.stat-title {
    color: var(--af-ink-muted);
    letter-spacing: 0;
    text-transform: none;
}

.metric-value,
.summary-name {
    color: var(--af-ink);
    font-weight: 700;
}

.finding-card:hover,
.rec-card:hover {
    transform: none;
}

.results-nav-bar {
    background: var(--af-canvas);
    backdrop-filter: none;
    border-color: var(--af-line);
}

.results-nav-bar .nav-btn {
    background: var(--af-surface);
    border-color: var(--af-line);
    color: var(--af-ink-muted);
}

.results-nav-bar .nav-btn:hover {
    background: var(--af-brand-tint);
    border-color: var(--af-brand);
    color: var(--af-brand);
}

/* The legacy Tom Select skin used opaque dark backgrounds even in light mode. */
.ts-control,
.ts-wrapper.single .ts-control {
    background: var(--af-control);
    color: var(--af-ink);
    border: 1px solid var(--af-line-strong);
    border-radius: var(--af-radius-sm);
    box-shadow: none;
}

.ts-dropdown {
    background: var(--af-surface) !important;
    border: 1px solid var(--af-line-strong);
    border-radius: var(--af-radius-md);
    color: var(--af-ink);
    box-shadow: var(--af-shadow);
}

.ts-dropdown .option {
    background: var(--af-surface) !important;
    color: var(--af-ink);
}

.ts-dropdown .option:hover,
.ts-dropdown .active {
    background: var(--af-surface-raised) !important;
    color: var(--af-ink);
}

.ts-dropdown .optgroup-header {
    background: var(--af-surface-raised);
    color: var(--af-ink-muted);
    border-color: var(--af-line);
}

@media (max-width: 900px) {
    .panel-input,
    .panel-results {
        border-right: 0;
    }
}
