/* Feline Union branding for GoToSocial pages (login, authorize, settings) */

:root {
    --bg: #0a0a0f;
    --bg-accent: #111118;
    --border: #1e1e2e;
    --accent1: #a78bfa;
    --accent2: #c4b5fd;
    --fg: #f0e6d3;
    --fg-reduced: #999;
    --error: #d62828;
    --success: #1b8a2a;
    --br: 0.5rem;
}

body {
    background: var(--bg) !important;
    color: var(--fg) !important;
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif !important;
}

/* Import Inter font */
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap');

/* Page headers */
.page-header h1 {
    color: var(--accent1) !important;
}

.page-header a {
    color: var(--accent1) !important;
    text-decoration: none !important;
}

/* Forms */
input[type="text"],
input[type="email"],
input[type="password"],
textarea,
select {
    background: var(--bg-accent) !important;
    border: 1px solid var(--border) !important;
    color: var(--fg) !important;
    border-radius: var(--br) !important;
    padding: 0.6rem 0.8rem !important;
}

input:focus,
textarea:focus,
select:focus {
    border-color: var(--accent1) !important;
    outline: none !important;
    box-shadow: 0 0 0 2px rgba(167, 139, 250, 0.2) !important;
}

/* Buttons */
button[type="submit"],
.btn,
input[type="submit"] {
    background: var(--accent1) !important;
    color: #000 !important;
    border: none !important;
    border-radius: var(--br) !important;
    font-weight: 700 !important;
    padding: 0.6rem 1.5rem !important;
    cursor: pointer !important;
    transition: background 0.2s !important;
}

button[type="submit"]:hover,
.btn:hover,
input[type="submit"]:hover {
    background: var(--accent2) !important;
}

/* Cards and containers */
.page,
main,
section {
    background: transparent !important;
}

/* Login/authorize pages: narrow centered layout */
.page:not(.settings-page) {
    max-width: 480px !important;
    margin: 0 auto !important;
    padding: 0 20px !important;
}

.page-content:not(.settings-page .page-content),
.settings-content {
    background: var(--bg-accent) !important;
    border: 1px solid var(--border) !important;
    border-radius: var(--br) !important;
}

/* Settings page: full-width layout for sidebar + content */
.settings-page .page-content {
    background: transparent !important;
    border: none !important;
    width: 100% !important;
    max-width: 100% !important;
    padding: 0 !important;
}

.settings-page #root {
    width: 100% !important;
    max-width: 100% !important;
}

.settings-page #root .sidebar {
    background: var(--bg-accent) !important;
    border: 1px solid var(--border) !important;
    border-radius: var(--br) !important;
    padding: 1rem !important;
}

.settings-page #root section.with-sidebar {
    background: var(--bg-accent) !important;
    border: 1px solid var(--border) !important;
    border-radius: var(--br) !important;
}

/* Links */
a {
    color: var(--accent1) !important;
}

a:hover {
    color: var(--accent2) !important;
}

/* Footer */
.page-footer {
    color: var(--fg-reduced) !important;
    border-top: 1px solid var(--border) !important;
}

/* Labels */
label {
    color: var(--fg) !important;
    font-weight: 600 !important;
}