/* ============================================================ App INTRANET — Executive Suite Design System Paleta: Fondo blanco, tarjetas joya sofisticadas ============================================================ */ /* Fonts: Inter (titulares) + Outfit (cuerpo) */ @import url('https://fonts.googleapis.com/css2?family=Outfit:wght@300;400;500;600;700;900&family=Inter:wght@400;600;700;800;900&display=swap'); /* ── Design Tokens ─────────────────────────────────────── */ :root { /* ── Fondo y superficies (LIGHT MODE) ── */ --bg-page: #F5F4F1; /* Blanco cálido / ivory */ --bg-surface: #FFFFFF; /* Superficie limpia */ --bg-surface-2: #F0EEE9; /* Superficies secundarias */ /* ── Colores joya para tarjetas sofisticadas ── */ --card-navy: #0D1B2A; /* Azul marino profundo */ --card-plum: #1A0E2E; /* Ciruela / Violeta oscuro */ --card-viridian: #0A2520; /* Verde Viridian / Bosque profundo */ --card-espresso: #1C0E08; /* Espresso / Marrón ébano */ /* ── Acentos elegantes ── */ --gold-luxe: #C9973C; /* Oro antiguo (visible en blanco) */ --gold-dark: #A67C28; --gold-light: #F0C060; /* Destellos dorados en tarjetas */ --indigo-rich: #3730A3; /* Índigo profundo */ --sapphire: #1E3A8A; /* Zafiro */ --emerald-deep: #065F46; /* Esmeralda profundo */ /* ── Neon (login / accents) ── */ --neon-blue: #0EA5E9; --neon-cyan: #06B6D4; /* ── Textos (dark on white) ── */ --text-primary: #0F0D0A; /* Negro cálido */ --text-secondary: #44403C; /* Marrón oscuro */ --text-muted: #78716C; /* Gris cálido */ --text-placeholder: #A8A29E; /* ── Bordes / divisores ── */ --border-light: rgba(15, 13, 10, 0.08); --border-medium: rgba(15, 13, 10, 0.14); --border-gold: rgba(201, 151, 60, 0.30); /* Legacy aliases */ --bg-dark: #0D1B2A; --bg-card: rgba(17, 22, 41, 0.70); --bg-card-solid: #111629; --accent-cyan: #0EA5E9; --accent-magenta: hsl(320, 100%, 50%); --accent-purple: hsl(262, 80%, 60%); --bg-deep-dark: #02040A; --text-light: #FFFFFF; --text-muted-old: #858FA3; } /* ── Base ──────────────────────────────────────────────── */ *, *::before, *::after { box-sizing: border-box; } html { font-size: 16px; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; } body { margin: 0; font-family: 'Outfit', 'Inter', sans-serif; font-weight: 400; background: var(--bg-page); color: var(--text-primary); min-height: 100vh; overflow-x: hidden; } /* ── Typography ─────────────────────────────────────────── */ h1, h2, h3, h4, .font-display { font-family: 'Inter', 'Outfit', sans-serif; font-weight: 900; margin: 0; } /* ── Glass Panel (adaptado a fondo blanco) ─────────────── */ .glass-panel { background: var(--bg-surface); border: 1px solid var(--border-light); border-radius: 16px; box-shadow: 0 1px 3px rgba(15, 13, 10, 0.06), 0 8px 24px rgba(15, 13, 10, 0.06); transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1); } .glass-panel-hover:hover { transform: translateY(-2px); border-color: var(--border-medium); box-shadow: 0 2px 6px rgba(15, 13, 10, 0.08), 0 12px 32px rgba(15, 13, 10, 0.10); } /* ── Tarjetas Joya (Blackjack) ─────────────────────────── */ /* Clase base compartida — el color de fondo se pasa por variable */ .card-blackjack { position: relative; border-radius: 20px; overflow: hidden; transition: all 0.22s cubic-bezier(0.34, 1.56, 0.64, 1); cursor: pointer; } .card-blackjack::before { content: ''; position: absolute; inset: 10px; border: 1px solid rgba(255, 255, 255, 0.12); border-radius: 12px; pointer-events: none; z-index: 0; transition: border-color 0.2s; } .card-blackjack:hover { transform: translateY(-5px) scale(1.02); box-shadow: 0 20px 60px rgba(0, 0, 0, 0.35), 0 0 0 1px rgba(255, 255, 255, 0.08); } .card-blackjack:hover::before { border-color: rgba(255, 255, 255, 0.22); } /* ── KPI Cards (light mode) ────────────────────────────── */ .kpi-card { background: var(--bg-surface); border: 1px solid var(--border-light); border-radius: 14px; padding: 20px 22px; display: flex; flex-direction: column; gap: 4px; box-shadow: 0 1px 4px rgba(15, 13, 10, 0.06); transition: all 0.2s; } .kpi-card:hover { border-color: var(--border-medium); box-shadow: 0 4px 16px rgba(15, 13, 10, 0.10); transform: translateY(-1px); } /* ── Borders ────────────────────────────────────────────── */ .neon-border-gold { border: 1px solid rgba(201, 151, 60, 0.25); } .neon-border-gold:hover { border-color: var(--gold-luxe); } .neon-border-blue { border: 1px solid rgba(59, 130, 246, 0.20); } .neon-border-blue:hover { border-color: var(--sapphire); } /* Legacy borders */ .neon-border-cyan { border: 1px solid rgba(14, 165, 233, 0.20); } .neon-border-magenta { border: 1px solid rgba(240, 12, 147, 0.15); } .neon-border-purple { border: 1px solid rgba(124, 58, 237, 0.15); } /* ── Typography Colors ──────────────────────────────────── */ .text-gold { color: var(--gold-luxe); } .text-neon-cyan { color: var(--indigo-rich); } .text-neon-magenta { color: hsl(320, 70%, 45%); } .text-neon-purple { color: var(--indigo-rich); } .text-muted { color: var(--text-muted); } /* ── Inputs ─────────────────────────────────────────────── */ /* Light mode input */ .input-luxe { height: 52px; width: 100%; padding: 0 22px; background: var(--bg-surface); border: 1px solid var(--border-medium); border-radius: 9999px; color: var(--text-primary); font-family: 'Outfit', sans-serif; font-size: 14px; font-weight: 400; outline: none; transition: border-color 0.2s, box-shadow 0.2s; box-sizing: border-box; } .input-luxe::placeholder { color: var(--text-placeholder); } .input-luxe:focus { border-color: var(--gold-luxe); box-shadow: 0 0 0 3px rgba(201, 151, 60, 0.12); } /* Dashboard search inputs (light) */ .input-cyberpunk { height: 44px; width: 100%; padding: 0 18px; background: var(--bg-surface); border: 1px solid var(--border-medium); border-radius: 9999px; color: var(--text-primary); font-family: 'Outfit', sans-serif; font-size: 13px; outline: none; transition: border-color 0.2s, box-shadow 0.2s; box-sizing: border-box; } .input-cyberpunk::placeholder { color: var(--text-placeholder); } .input-cyberpunk:focus { border-color: var(--gold-luxe); box-shadow: 0 0 0 3px rgba(201, 151, 60, 0.10); } /* Dark input (for login, dark bg sections) */ .input-dark { height: 54px; width: 100%; padding: 0 25px; background: rgba(255, 255, 255, 0.05); border: 1px solid rgba(255, 255, 255, 0.10); border-radius: 9999px; color: #fff; font-family: 'Outfit', sans-serif; font-size: 14px; outline: none; transition: border-color 0.2s, box-shadow 0.2s; box-sizing: border-box; } .input-dark::placeholder { color: rgba(255, 255, 255, 0.35); } .input-dark:focus { border-color: rgba(201, 151, 60, 0.55); box-shadow: 0 0 0 3px rgba(201, 151, 60, 0.12); } /* ── Buttons ─────────────────────────────────────────────── */ /* Gold gradient (primary) */ .btn-gold { display: inline-flex; align-items: center; justify-content: center; gap: 8px; height: 48px; padding: 0 28px; border-radius: 9999px; background: linear-gradient(135deg, #C9973C, #A67C28); border: none; color: #fff; font-family: 'Inter', sans-serif; font-size: 11px; font-weight: 800; letter-spacing: 0.14em; text-transform: uppercase; cursor: pointer; transition: transform 0.2s, box-shadow 0.2s; box-shadow: 0 4px 16px rgba(166, 124, 40, 0.30); } .btn-gold:hover { transform: translateY(-2px); box-shadow: 0 8px 24px rgba(166, 124, 40, 0.45); } /* Dark (CTA on dark backgrounds, e.g. login) */ .btn-cyan { display: inline-flex; align-items: center; justify-content: center; height: 48px; padding: 0 24px; border-radius: 9999px; background: linear-gradient(135deg, #C9973C, #A67C28); border: none; color: #fff; font-family: 'Inter', sans-serif; font-size: 11px; font-weight: 900; letter-spacing: 0.14em; text-transform: uppercase; cursor: pointer; transition: transform 0.2s, box-shadow 0.2s; box-shadow: 0 4px 16px rgba(201, 151, 60, 0.30); } .btn-cyan:hover { transform: translateY(-2px); box-shadow: 0 6px 22px rgba(201, 151, 60, 0.45); } /* Indigo solid */ .btn-indigo { display: inline-flex; align-items: center; justify-content: center; gap: 8px; height: 48px; padding: 0 24px; border-radius: 9999px; background: var(--indigo-rich); border: none; color: #fff; font-family: 'Inter', sans-serif; font-size: 11px; font-weight: 800; letter-spacing: 0.12em; text-transform: uppercase; cursor: pointer; transition: transform 0.2s, box-shadow 0.2s; box-shadow: 0 4px 16px rgba(55, 48, 163, 0.30); } .btn-indigo:hover { transform: translateY(-2px); } /* Ghost on white */ .btn-ghost { display: inline-flex; align-items: center; justify-content: center; gap: 8px; height: 46px; padding: 0 22px; border-radius: 9999px; background: transparent; border: 1.5px solid var(--border-medium); color: var(--text-secondary); font-family: 'Outfit', sans-serif; font-size: 12px; font-weight: 600; cursor: pointer; transition: background 0.2s, border-color 0.2s; } .btn-ghost:hover { background: var(--bg-surface-2); border-color: var(--border-medium); color: var(--text-primary); } /* Legacy purple */ .btn-purple { display: inline-flex; align-items: center; justify-content: center; height: 44px; padding: 0 20px; border-radius: 9999px; background: var(--indigo-rich); border: none; color: #fff; font-weight: 800; font-size: 11px; letter-spacing: 0.10em; text-transform: uppercase; cursor: pointer; transition: transform 0.2s; } .btn-purple:hover { transform: translateY(-1px); } /* ── Scrollbar ─────────────────────────────────────────── */ ::-webkit-scrollbar { width: 6px; height: 6px; } ::-webkit-scrollbar-track { background: var(--bg-surface-2); } ::-webkit-scrollbar-thumb { background: rgba(15, 13, 10, 0.15); border-radius: 4px; } ::-webkit-scrollbar-thumb:hover { background: rgba(201, 151, 60, 0.45); } /* ── Utilities ─────────────────────────────────────────── */ .animate-fadeIn { animation: fadeIn 0.35s ease-out forwards; } @keyframes fadeIn { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: translateY(0); } } .sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }