/* Revolut Helper – shared color scheme (blue / neutral) */
@import url('https://fonts.googleapis.com/css2?family=Roboto:wght@400;500;700&display=swap');

html,
body {
    font-family: 'Roboto', sans-serif;
}

:root {
    /* Revolut-style: Cornflower Blue (#7F84F6) + darker hover */
    --rev-primary: #7F84F6;
    --rev-primary-hover: #6368e8;
    /* Dark theme */
    --rev-bg: #0f172a;
    --rev-surface: #1e293b;
    --rev-text: #f1f5f9;
    --rev-muted: #94a3b8;
    --rev-border: #475569;
    --rev-table-header: #334155;
    --rev-badge-bg: rgba(127, 132, 246, 0.25);
    --rev-badge-text: #a5b4fc;
    --rev-shadow: 0 4px 24px rgba(0, 0, 0, 0.4);
    /* Colored blur overlay (primary tint) */
    --rev-blur-tint: rgba(127, 132, 246, 0.28);
}

/* Colored blur overlay on page background (primary-tinted) */
body.rev-blur-bg {
    position: relative;
}
body.rev-blur-bg::before {
    content: '';
    position: fixed;
    inset: 0;
    z-index: 0;
    pointer-events: none;
    background: radial-gradient(ellipse 80% 60% at 50% 0%, var(--rev-blur-tint) 0%, transparent 55%);
    filter: blur(24px);
}
body.rev-blur-bg > * {
    position: relative;
    z-index: 1;
}

/* Dark theme: tables and inputs */
.pure-table th,
.pure-table td {
    border-color: var(--rev-border) !important;
    color: var(--rev-text) !important;
    background: var(--rev-surface) !important;
}
.pure-table thead th {
    color: var(--rev-text) !important;
    background: var(--rev-table-header) !important;
}
.pure-table-striped tbody tr:nth-child(odd) td {
    background: var(--rev-surface) !important;
}
.pure-table-striped tbody tr:nth-child(even) td {
    background: rgba(255, 255, 255, 0.05) !important;
    color: var(--rev-text) !important;
}
input[type="text"],
input[type="search"],
input[type="file"],
select,
textarea {
    background: var(--rev-surface) !important;
    border-color: var(--rev-border) !important;
    color: var(--rev-text) !important;
}
input::placeholder {
    color: var(--rev-muted);
}

/* Base: all Pure buttons get consistent shape and reset */
.pure-button {
    border-radius: 8px;
    padding: 0.55em 1.1em;
    font-size: 0.95rem;
    border: 1px solid transparent;
    cursor: pointer;
    text-decoration: none;
    display: inline-block;
    line-height: 1.4;
}

.pure-button-primary {
    background: var(--rev-primary) !important;
    border-color: var(--rev-primary) !important;
    color: #fff !important;
}
.pure-button-primary:hover {
    background: var(--rev-primary-hover) !important;
    border-color: var(--rev-primary-hover) !important;
    color: #fff !important;
}

/* Secondary = same blue as primary, for alternate actions */
.button-secondary {
    background: var(--rev-primary) !important;
    border-color: var(--rev-primary) !important;
    color: #fff !important;
}
.button-secondary:hover {
    background: var(--rev-primary-hover) !important;
    border-color: var(--rev-primary-hover) !important;
    color: #fff !important;
}

/* Neutral = gray outline for low-emphasis actions (e.g. "Neu starten") */
.button-neutral,
.pure-button:not(.pure-button-primary):not(.button-secondary) {
    background: var(--rev-surface) !important;
    border: 1px solid var(--rev-border) !important;
    color: var(--rev-text) !important;
}
.button-neutral:hover,
.pure-button:not(.pure-button-primary):not(.button-secondary):hover {
    background: var(--rev-table-header) !important;
    border-color: var(--rev-muted) !important;
    color: var(--rev-text) !important;
}

/* Dark: ensure links (e.g. in tables) are visible */
a:not(.pure-button) {
    color: var(--rev-primary);
}
a:not(.pure-button):hover {
    color: var(--rev-primary-hover);
}