:root {
    --surface: rgba(255, 255, 255, 0.88);
    --stroke: rgba(15, 23, 42, 0.08);
    --accent: #0f172a;
    --accent-soft: #10b981;
}

body {
    background:
        radial-gradient(circle at top left, rgba(16, 185, 129, 0.14), transparent 30%),
        radial-gradient(circle at top right, rgba(15, 23, 42, 0.10), transparent 28%),
        linear-gradient(180deg, #f8fafc 0%, #eef2ff 100%);
}

.glass-card {
    background: var(--surface);
    backdrop-filter: blur(14px);
    border: 1px solid var(--stroke);
}

.brand-grid {
    background-image:
        linear-gradient(rgba(148, 163, 184, 0.09) 1px, transparent 1px),
        linear-gradient(90deg, rgba(148, 163, 184, 0.09) 1px, transparent 1px);
    background-size: 22px 22px;
}

.modal-shell {
    opacity: 0;
    transition: opacity 220ms ease;
}

.modal-shell-visible {
    opacity: 1;
}

.modal-card {
    transform: translateY(28px) scale(0.96);
    opacity: 0;
    transition: transform 260ms cubic-bezier(0.22, 1, 0.36, 1), opacity 220ms ease;
}

.modal-card-visible {
    transform: translateY(0) scale(1);
    opacity: 1;
}

.modal-thumb {
    transition: transform 180ms ease, box-shadow 180ms ease;
}

.modal-thumb:hover {
    transform: translateY(-2px);
}

button:disabled,
input:disabled,
textarea:disabled,
select:disabled {
    opacity: 0.55;
    cursor: not-allowed;
}