:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light;color:#213547;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}body{margin:0;min-width:320px;min-height:100vh;background-color:#f6f7fb;color:#213547}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#646cff;color:#fff;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}@media (prefers-color-scheme: light){a:hover{color:#747bff}}#root{margin:0 auto;text-align:center}.logo{height:6em;padding:1.5em;will-change:filter;transition:filter .3s}.logo:hover{filter:drop-shadow(0 0 2em #646cffaa)}.logo.react:hover{filter:drop-shadow(0 0 2em #61dafbaa)}@keyframes logo-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media (prefers-reduced-motion: no-preference){a:nth-of-type(2) .logo{animation:logo-spin infinite 20s linear}}.card{padding:2em}.read-the-docs{color:#888}.auth-container{min-height:100vh;display:flex;align-items:center;justify-content:center;background:#f6f7fb}.auth-card{width:100%;max-width:380px;background:#fff;border-radius:12px;padding:1.5rem;box-shadow:0 10px 30px #00000014}.auth-title{margin:0 0 1rem}.auth-form{display:flex;flex-direction:column;gap:.75rem}.auth-field{display:flex;flex-direction:column;gap:.4rem;text-align:left}.auth-field label{font-weight:600;font-size:.9rem}.auth-field input{border:1px solid #d7dbe7;border-radius:8px;padding:.7rem .9rem;font-size:1rem;outline:none}.auth-field input:focus{border-color:#646cff;box-shadow:0 0 0 3px #646cff26}.auth-error{color:#b71c1c;background:#fdecec;border:1px solid #f5c2c2;padding:.6rem .8rem;border-radius:8px;font-size:.9rem;text-align:left}.auth-submit{background:#646cff;color:#fff;border:none;border-radius:10px;padding:.8rem 1rem;font-weight:600;cursor:pointer}.auth-submit:disabled{opacity:.7;cursor:not-allowed}.auth-footer{margin-top:.75rem;color:#6b7280}.auth-success{color:#0f5132;background:#d1e7dd;border:1px solid #badbcc;padding:.6rem .8rem;border-radius:8px;font-size:.9rem;text-align:left}.site-header{position:sticky;top:0;z-index:20;width:100%;-webkit-backdrop-filter:saturate(180%) blur(6px);backdrop-filter:saturate(180%) blur(6px);background:#ffffffd9;border-bottom:1px solid #eef2f7}.site-header .container{display:flex;align-items:center;justify-content:space-between;max-width:1200px;margin:0 auto;padding:.75rem 1rem}.brand{display:inline-flex;align-items:center;gap:.5rem;cursor:pointer}.brand-logo{width:28px;height:28px;display:grid;place-items:center;border-radius:6px;background:#e9edff;color:#646cff;font-size:16px}.brand-name{font-weight:800}.nav-links{display:flex;gap:1rem}.nav-links a{color:#48536b}.nav-links a.active{color:#111827;font-weight:700;border-bottom:2px solid #fbbf24}.nav-right{display:flex;align-items:center;gap:.5rem}.icon-btn{background:#f3f4f6;color:#111827;padding:.5rem .6rem;border-radius:8px}.admin-menu{position:relative}.admin-btn{background:#111827;color:#fff;padding:.5rem .7rem;border-radius:8px}.admin-menu:hover .admin-dropdown{display:block}.admin-dropdown{display:none;position:absolute;right:0;margin-top:.5rem;background:#fff;border:1px solid #e5e7eb;border-radius:10px;min-width:220px;box-shadow:0 10px 30px #00000014;padding:.4rem}.admin-dropdown a,.admin-dropdown button{display:block;width:100%;text-align:left;padding:.6rem .8rem;border-radius:8px;color:#111827}.admin-dropdown a.active{background:#fef3c7;color:#92400e;font-weight:700}.admin-dropdown a:hover,.admin-dropdown button:hover{background:#f3f4f6}.dropdown-logout{background:transparent}.admin-body{display:block;margin-left:260px;min-height:calc(100vh - 60px)}.admin-sidebar{background:#f8fafc;border-right:1px solid #eef2f7;padding:1rem;position:fixed;left:0;top:65px;width:227px;height:calc(100vh - 60px);overflow:auto;z-index:100;-webkit-overflow-scrolling:touch;box-shadow:2px 0 10px #0000001a}.admin-brand{display:flex;align-items:center;gap:.6rem;margin-bottom:1rem}.admin-brand .brand-logo{width:28px;height:28px;display:grid;place-items:center;border-radius:6px;background:#e9edff;color:#646cff}.admin-brand .muted{color:#6b7280;font-size:.85rem}.admin-nav{display:grid;gap:.4rem}.admin-nav a{padding:.6rem .8rem;border-radius:8px;color:#111827}.admin-nav a.active{background:#eef2ff;color:#3730a3;font-weight:700}.admin-content{background:#fff;min-height:calc(100vh - 60px);padding:1rem;box-sizing:border-box}.form-grid{display:grid;gap:1rem;margin-top:.75rem;margin:1rem}.form-block{display:grid;gap:.4rem;text-align:left}.form-block label{font-weight:600}.input,.textarea,.input.file{border:1px solid #e5e7eb;border-radius:10px;padding:.7rem .9rem;font-size:1rem}.textarea{resize:vertical}.grid-2{display:grid;gap:1rem;grid-template-columns:1fr 1fr}.toolbar{display:flex;gap:.5rem}.btn-outline{background:#60a5fa;border:1px solid #e5e7eb;border-radius:8px;padding:.5rem .8rem}.btn-outline-delete{background:#ff5d5d;border:1px solid #e5e7eb;border-radius:8px;padding:.5rem .8rem}.btn-primary{background:#60a5fa;color:#fff;border:none;border-radius:10px;padding:.8rem 1rem;font-weight:700}.form-actions{display:flex;justify-content:center;margin-top:.5rem}.page .container{max-width:1200px;margin:0 auto;padding:1.25rem 1rem}.page-title{font-size:2.4rem;margin:1rem 0 .25rem}.page-subtitle{color:#6b7280;margin:0 0 1rem}.lottery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.25rem}.lottery-card{background:#fff;border-radius:14px;box-shadow:0 10px 30px #0000000f;overflow:hidden;display:flex;flex-direction:column;height:85%;transition:transform .18s ease,box-shadow .18s ease,filter .18s ease;will-change:transform;transform-origin:center}.lottery-image{background:#e5e7eb;width:100%;aspect-ratio:4 / 3;display:grid;place-items:center;overflow:hidden}.lottery-image img{width:100%;height:100%;object-fit:cover;display:block}.lottery-image .ph{font-size:48px;color:#9ca3af}.lottery-body{text-align:left;padding:1rem 1.25rem 1.25rem;display:flex;flex-direction:column;height:100%}.lottery-title{margin:0 0 .5rem;font-size:1.5rem;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;word-break:break-word}.lottery-desc{color:#6b7280;margin:0 0 .75rem;display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden;word-break:break-word}.lottery-price{color:#1f2937;margin:0 0 .75rem}.lottery-countdown{background:#eef2f7;border-radius:12px;padding:.75rem;margin:auto 0 1rem}.lottery-countdown .head{color:#6b7280;margin-bottom:.4rem}.lottery-countdown .vals{display:flex;align-items:center;gap:.9rem}.lottery-countdown .val{display:grid;justify-items:center}.lottery-countdown .val span{font-size:1.6rem;color:#5fa8ff;font-weight:800}.lottery-countdown .val small{color:#6b7280}.lottery-countdown .sep{color:#93c5fd;font-weight:700}.btn-cta{background:#fbbf24;border:none;color:#111827;font-weight:700;padding:.9rem;border-radius:10px;width:100%;margin-top:0}.lottery-prize{margin-top:.6rem;font-size:1.25rem;font-weight:800;text-align:center;color:#0f172a}.qty-control{display:flex;align-items:center;justify-content:center;gap:.5rem;margin:.5rem 0}.qty-control input{width:90px;text-align:center;border:1px solid #e5e7eb;border-radius:8px;padding:.4rem}.qty-label{font-weight:600}.qty-btn{background:#f3f4f6;border:1px solid #e5e7eb;border-radius:8px;padding:.35rem .6rem;font-size:1rem}@media (max-width: 1200px){.lottery-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width: 720px){.lottery-grid{grid-template-columns:1fr}}.lottery-grid:hover .lottery-card{filter:saturate(.96);opacity:.98}.lottery-card:hover,.lottery-card:focus-within{transform:translateY(-6px) scale(1.02);box-shadow:0 18px 40px #0000001f;filter:none;opacity:1;z-index:1}.admin-lists{display:grid;gap:1rem;grid-template-columns:1fr}.admin-list ul{list-style:none;padding:0;margin:.4rem 0 0;display:grid;gap:.35rem}.admin-participants{margin-top:1.25rem}.table{width:100%;border-collapse:collapse;background:#fff;border-radius:8px;overflow:hidden}.table th,.table td{padding:.6rem .8rem;border-bottom:1px solid #eef2f7;text-align:left}.table thead{background:#f8fafc}.tabs{display:flex;gap:.5rem;margin:.5rem 1rem}.tab{background:#a5a5a5;border:1px solid #e5e7eb;border-radius:999px;padding:.5rem .9rem;font-weight:600}.tab.active{background:#111827;color:#fff;border-color:#111827}.chip{background:#676767;border-radius:999px;padding:.1rem .5rem;margin-left:.4rem;font-size:.85em}.lotteries-rows{display:grid;gap:.6rem;margin:.5rem}.lottery-row{display:grid;grid-template-columns:120px 1fr auto;gap:.9rem;align-items:center;background:#fff;border:1px solid #eef2f7;border-radius:12px;padding:.6rem}.lottery-row-thumb{width:120px;aspect-ratio:4/3;background:#eef2f7;border-radius:10px;overflow:hidden;display:grid;place-items:center}.lottery-row-thumb img{width:100%;height:100%;object-fit:cover;display:block}.lottery-row-thumb .ph{color:#9ca3af;font-size:12px}.lottery-row-title{font-weight:700;font-size:1.05rem;text-align:left}.lottery-row-meta{color:#6b7280;display:flex;gap:.6rem;flex-wrap:wrap}.lottery-row-meta .dot{width:4px;height:4px;background:#d1d5db;border-radius:999px;align-self:center}.lottery-row-right{display:grid;gap:.4rem;justify-items:end}.badge{padding:.25rem .6rem;border-radius:999px;font-weight:700;font-size:.8rem}.badge.activas{background:#d1fae5;color:#065f46}.badge.futuras{background:#dbeafe;color:#1e40af}.badge.pasadas{background:#fee2e2;color:#991b1b}.btn-outline.small,.btn-outline-delete.small{padding:.35rem .6rem}.admin-toolbar{display:flex;gap:.75rem;align-items:center;justify-content:space-between;margin:.5rem 1rem;flex-wrap:wrap}.search-input{flex:1 1 280px;border:1px solid #e5e7eb;border-radius:999px;padding:.55rem .9rem;font-size:1rem}.sorters{display:flex;gap:.5rem;align-items:center}.sorters select{margin-left:.35rem;border:1px solid #e5e7eb;border-radius:8px;padding:.4rem .6rem}.dashboard-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:2rem;flex-wrap:wrap;gap:1rem}.dashboard-title{flex:1}.dashboard-nav{display:flex;gap:.75rem}.nav-btn{display:flex;align-items:center;gap:.5rem;background:#fff;border:1px solid #e5e7eb;border-radius:8px;padding:.75rem 1rem;font-weight:600;color:#374151;cursor:pointer;transition:all .2s ease}.nav-btn:hover{background:#f9fafb;border-color:#d1d5db}.nav-btn.active{background:#111827;color:#fff;border-color:#111827}.nav-icon{font-size:1.1rem}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.5rem;margin-bottom:2.5rem}.stat-card{background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:1.5rem;display:flex;justify-content:space-between;align-items:center;box-shadow:0 1px 3px #0000001a;transition:transform .2s ease,box-shadow .2s ease}.stat-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px #00000026}.stat-content{flex:1}.stat-number{font-size:2.5rem;font-weight:800;color:#111827;line-height:1;margin-bottom:.5rem}.stat-label{color:#6b7280;font-size:.9rem;font-weight:500}.stat-icon{font-size:2.5rem;opacity:.8}.recent-entries{background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:1.5rem;box-shadow:0 1px 3px #0000001a}.section-title{font-size:1.5rem;font-weight:700;color:#111827;margin:0 0 1.5rem;text-align:left}.entries-table{border:1px solid #e5e7eb;border-radius:8px;overflow:hidden}.table-header{display:grid;grid-template-columns:2fr 1fr 1fr;background:#f8fafc;border-bottom:1px solid #e5e7eb}.table-row{display:grid;grid-template-columns:2fr 1fr 1fr;border-bottom:1px solid #f3f4f6;transition:background-color .2s ease}.table-row:hover{background-color:#f9fafb}.table-row:last-child{border-bottom:none}.table-cell{padding:1rem;text-align:left;display:flex;align-items:center}.table-header .table-cell{font-weight:600;color:#374151;font-size:.9rem}.lottery-name{font-weight:600;color:#111827}.purchase-date{color:#6b7280}.status{justify-content:center}.status-badge{padding:.25rem .75rem;border-radius:999px;font-size:.8rem;font-weight:600;text-transform:uppercase}.status-badge.active{background:#dbeafe;color:#1e40af}.status-badge.won{background:#d1fae5;color:#065f46}.status-badge.lost{background:#fee2e2;color:#991b1b}.no-entries{padding:2rem;text-align:center;color:#6b7280}@media (max-width: 768px){.dashboard-header{flex-direction:column;align-items:stretch}.dashboard-nav{justify-content:center}.stats-grid{grid-template-columns:1fr}.table-header,.table-row{grid-template-columns:1fr;gap:.5rem}.table-header .table-cell{display:none}.table-cell{padding:.75rem}.table-cell:before{content:attr(data-label);font-weight:600;color:#374151;margin-right:.5rem;min-width:80px}}.profile-header{margin-bottom:2rem}.profile-content{display:grid;gap:2rem}.profile-section{background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:1.5rem;box-shadow:0 1px 3px #0000001a}.profile-info{display:grid;gap:1rem}.info-row{display:flex;justify-content:space-between;align-items:center;padding:.75rem;background:#f9fafb;border-radius:8px}.info-label{font-weight:600;color:#374151}.info-value{color:#111827;font-family:monospace}.section-description{color:#6b7280;margin-bottom:1.5rem;line-height:1.6}.referral-container{display:grid;gap:1.5rem}.referral-link-box{display:flex;gap:.75rem;align-items:center}.referral-input{flex:1;border:1px solid #e5e7eb;border-radius:8px;padding:.75rem;font-family:monospace;font-size:.9rem;background:#f9fafb;color:#374151}.copy-btn{background:#3b82f6;color:#fff;border:none;border-radius:8px;padding:.75rem 1.5rem;font-weight:600;cursor:pointer;transition:all .2s ease;white-space:nowrap}.copy-btn:hover{background:#2563eb}.copy-btn.copied{background:#10b981}.referral-actions{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem}.share-btn{display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.75rem 1rem;border:1px solid #e5e7eb;border-radius:8px;font-weight:600;cursor:pointer;transition:all .2s ease;text-decoration:none;color:inherit}.share-btn.native{background:#8b5cf6;color:#fff;border-color:#8b5cf6}.share-btn.native:hover{background:#7c3aed;border-color:#7c3aed}.benefits-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.5rem}.benefit-card{background:#f8fafc;border:1px solid #e5e7eb;border-radius:8px;padding:1.5rem;text-align:center;transition:transform .2s ease}.benefit-card:hover{transform:translateY(-2px)}.benefit-icon{font-size:2.5rem;margin-bottom:1rem}.benefit-card h3{color:#111827;margin:0 0 .75rem;font-size:1.1rem}.benefit-card p{color:#6b7280;margin:0;line-height:1.5}.referral-notice{background:#dbeafe;border:1px solid #93c5fd;border-radius:8px;padding:1rem;margin-bottom:1.5rem;text-align:center}.referral-notice p{margin:.25rem 0;color:#1e40af;font-weight:500}.referral-expiry{background:#fef3c7;border:1px solid #f59e0b;border-radius:8px;padding:.75rem;margin-bottom:1.5rem;text-align:center;color:#92400e;font-size:.9rem}@media (max-width: 768px){.referral-link-box{flex-direction:column;align-items:stretch}.referral-actions,.benefits-grid{grid-template-columns:1fr}.info-row{flex-direction:column;align-items:flex-start;gap:.5rem}}
