@import"https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap";:root{--primary: #2563eb;--primary-hover: #1d4ed8;--bg-gradient: linear-gradient(135deg, #0f172a 0%, #1e293b 100%);--glass: rgba(255, 255, 255, .03);--glass-border: rgba(255, 255, 255, .1);--text-main: #f8fafc;--text-muted: #94a3b8;--error: #ef4444;--success: #10b981}*{margin:0;padding:0;box-sizing:border-box;font-family:Inter,sans-serif}body{background:var(--bg-gradient);color:var(--text-main);min-height:100vh;display:flex;flex-direction:column}#root{flex:1;display:flex;flex-direction:column}.landing-shell{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:40px 24px;background:radial-gradient(circle at top right,rgba(37,99,235,.08),transparent 22%),linear-gradient(180deg,#ffffff 0%,#f8fafc 100%)}.landing-content{width:100%;max-width:980px}.landing-logo-wrap{display:flex;justify-content:center;margin-bottom:28px}.landing-logo{width:min(320px,70vw);height:auto;object-fit:contain}.landing-card{padding:64px 56px;text-align:center;background:rgba(255,255,255,.92);border:1px solid #e2e8f0;border-radius:28px;box-shadow:0 24px 80px #0f172a14}.landing-kicker{margin-bottom:14px;color:#2563eb;font-size:.9rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase}.landing-title{margin-bottom:18px;color:#0f172a;font-size:clamp(2.4rem,5.8vw,4.8rem);line-height:1.02;letter-spacing:-.04em}.landing-copy{max-width:680px;margin:0 auto 20px;color:#475569;font-size:1.08rem;line-height:1.8}.landing-highlight{max-width:620px;margin:0 auto;padding:18px 24px;border:1px solid #dbeafe;border-radius:18px;background:#f8fbff;color:#0f172a;font-size:1rem;line-height:1.6;font-weight:500}.glass-card{background:var(--glass);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid var(--glass-border);border-radius:24px;box-shadow:0 8px 32px #0000005e;overflow:hidden}.login-grid{display:grid;grid-template-columns:1fr 1fr;min-height:600px}.login-form-side{padding:48px;display:flex;flex-direction:column;justify-content:center}.login-image-side{position:relative;background-size:cover;background-position:center;background-repeat:no-repeat;clip-path:polygon(15% 0%,100% 0%,100% 100%,0% 100%);background-image:url(/assets/login-bg-cafe973d.png)}@media (max-width: 768px){.landing-shell{padding:20px}.landing-card{padding:36px 24px;text-align:left}.landing-logo-wrap{justify-content:flex-start;margin-bottom:22px}.landing-copy,.landing-highlight{margin-left:0}.login-grid{grid-template-columns:1fr}.login-image-side{display:none}}.btn-primary{background:var(--primary);color:#fff;border:none;padding:12px 24px;border-radius:8px;font-weight:600;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;gap:8px}.btn-primary:hover{background:var(--primary-hover);transform:translateY(-1px)}.input-field{background:rgba(0,0,0,.2);border:1px solid var(--glass-border);border-radius:8px;padding:12px;color:#fff;width:100%;margin:8px 0;outline:none;transition:border-color .2s}.input-field:focus{border-color:var(--primary)}.label{font-size:.875rem;font-weight:500;color:var(--text-muted)}.container{max-width:1200px;margin:0;padding:24px}.app-layout{display:flex;min-height:100vh}.sidebar{width:260px;background:rgba(15,23,42,.8);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-right:1px solid var(--glass-border);display:flex;flex-direction:column;position:sticky;top:0;height:100vh;z-index:100}.sidebar-brand{padding:28px 20px 20px;display:flex;align-items:center;justify-content:center}.sidebar-menu{flex:1;padding:0 12px}.sidebar-item{display:flex;align-items:center;padding:12px 16px;margin-bottom:4px;border-radius:8px;color:var(--text-muted);text-decoration:none;font-size:.95rem;transition:all .2s ease}.sidebar-item:hover{background:var(--glass);color:var(--text-main)}.sidebar-item.active{background:var(--primary);color:#fff;box-shadow:0 4px 12px #2563eb4d}.main-content{flex:1;background:var(--bg-gradient);overflow-y:auto}@media (max-width: 768px){.sidebar{width:60px}.sidebar-item span{display:none}.sidebar-brand{padding:20px 8px 12px}}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.fade-in{animation:fadeIn .4s ease-out forwards}.calendar-container{display:flex;flex-direction:column;gap:20px;height:calc(100vh - 120px)}.calendar-header{display:flex;justify-content:space-between;align-items:center;padding:0 10px}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:1px;background:var(--glass-border);border:1px solid var(--glass-border);border-radius:12px;overflow:hidden;flex:1}.calendar-day-header{background:rgba(255,255,255,.05);padding:12px;text-align:center;font-weight:600;font-size:.85rem;color:var(--text-muted)}.calendar-day{background:rgba(10,11,14,.4);min-height:120px;padding:10px;display:flex;flex-direction:column;gap:6px;transition:all .2s ease;position:relative}.calendar-day:hover{background:rgba(255,255,255,.05)}.calendar-day.other-month{opacity:.3}.calendar-day.today{background:rgba(var(--primary-rgb),.05)}.day-number{font-size:.9rem;font-weight:500;color:var(--text-muted);margin-bottom:4px}.today .day-number{color:var(--primary);font-weight:700}.calendar-event{padding:6px 10px;border-radius:8px;font-size:.75rem;cursor:pointer;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transition:transform .1s ease,filter .2s ease;border-left:3px solid transparent}.calendar-event:hover{transform:translateY(-1px);filter:brightness(1.2)}.event-venta{background:rgba(59,130,246,.2);color:#93c5fd;border-color:#3b82f6}.event-operativo{background:rgba(16,185,129,.2);color:#6ee7b7;border-color:#10b981}.view-switcher,.filter-switcher{display:flex;background:rgba(255,255,255,.05);padding:4px;border-radius:10px;border:1px solid var(--glass-border)}.switcher-btn{padding:6px 16px;border-radius:8px;border:none;background:none;color:var(--text-muted);cursor:pointer;font-size:.85rem;transition:all .2s ease}.switcher-btn.active{background:var(--primary);color:#fff;box-shadow:0 4px 12px rgba(var(--primary-rgb),.3)}.nav-btn{background:none;border:1px solid var(--glass-border);color:var(--text-main);padding:8px;border-radius:8px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.nav-btn:hover{background:rgba(255,255,255,.05);border-color:var(--primary)}
