:root {
    --primary-color: #AD1C42; 
    --secondary-color: #8A1635;
    --accent-color: #ffc107;
    --text-color: #212121;
    --text-light-color: #616161;
    --bg-color: #f5f5f5;
    --white-color: #ffffff;
    --gray-color: #bdbdbd;
    --green-color: #4caf50;
    --header-height: 55px;
    --highlight-1: #03a9f4;
    --highlight-2: #ff9800;
    --highlight-3: #9c27b0;
    --highlight-4: #e91e63;
    --highlight-5: #8bc34a;
    --dev-banner-height: 0px;
    --demo-banner-height: 0px;
}
* { 
    margin: 0; 
    padding: 0; 
    box-sizing: border-box; 
    -webkit-tap-highlight-color: transparent;
}
body {
    font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;
    background-color: var(--bg-color);
    color: var(--text-color);
    padding-top: calc(var(--header-height) + var(--dev-banner-height) + var(--demo-banner-height));
    font-size: 14px;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
}
a {
    color: var(--primary-color);
    text-decoration: none;
    font-weight: 600;
    transition: color 0.2s ease, text-decoration-color 0.2s ease;
}
a:hover {
    color: var(--secondary-color);
    text-decoration: underline;
}
.dev-banner{background-color:var(--accent-color);color:#000;text-align:center;font-weight:700;font-size:.8rem;padding:3px;position:fixed;width:100%;top:0;left:0;z-index:2000}
.demo-banner{background-color:var(--secondary-color);color:var(--white-color);text-align:center;font-weight:500;font-size:.85rem;padding:8px 1rem;position:fixed;width:100%;top:var(--dev-banner-height);left:0;z-index:2000;display:flex;justify-content:center;align-items:center;gap:1rem;flex-wrap:wrap}
.btn-upgrade-demo{background-color:var(--accent-color);color:#000;padding:3px 10px;border-radius:15px;text-decoration:none;font-weight:700;font-size:.75rem;white-space:nowrap;transition:transform .2s}
.btn-upgrade-demo:hover{transform:scale(1.05);text-decoration:none;color:#000}
.toast{position:fixed;top:20px;left:50%;background-color:#2c3e50;color:var(--white-color);padding:1rem;border-radius:8px;box-shadow:0 4px 15px rgba(0,0,0,.2);display:flex;flex-direction:column;gap:.8rem;z-index:3000;width:90%;max-width:380px;transform:translate(-50%,-200px);opacity:0;visibility:hidden;pointer-events:none;transition:transform .5s cubic-bezier(.68,-.55,.27,1.55),opacity .5s ease}
.toast.show{transform:translate(-50%,calc(var(--dev-banner-height) + var(--demo-banner-height)));opacity:1;visibility:visible;pointer-events:auto}
.toast.compact{padding:.8rem 1rem;top:calc(var(--dev-banner-height) + var(--demo-banner-height) + 20px)}
.toast.compact .fa-check{color:var(--green-color)}
.toast-content{display:flex;align-items:center;gap:1rem}
.toast-content .fa-bell{color:var(--accent-color);font-size:1.5rem}
.toast-content p{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;line-height:1.4}
.toast-content strong{font-size:1.1em}
.toast-actions{display:flex;gap:.5rem;justify-content:flex-end}
.toast-btn{border:none;padding:.5rem 1rem;border-radius:5px;cursor:pointer;font-weight:700;transition:background-color .2s}
.toast-btn.update{background-color:var(--accent-color);color:#000}
.toast-btn.update:hover{background-color:#ffd700}
.toast-btn.ignore{background-color:#7f8c8d;color:var(--white-color)}
.toast-btn.ignore:hover{background-color:#95a5a6}
.sticky-header{background-color:var(--primary-color);color:var(--white-color);position:fixed;top:calc(var(--dev-banner-height) + var(--demo-banner-height));left:0;width:100%;z-index:1000;box-shadow:0 2px 4px rgba(0,0,0,.2)}
.header-content{display:flex;justify-content:space-between;align-items:center;height:var(--header-height);max-width:1200px;margin:0 auto;padding:0 .8rem}
.logo-area{display:flex;align-items:center;gap:.8rem}
.app-name-link{text-decoration:none;color:inherit}
.app-logo{height:30px;width:auto;display:block}
.latest-result-display{display:flex;align-items:center;gap:.4rem;background-color:rgba(255,255,255,.15);padding:.3rem .6rem;border-radius:15px;font-size:.9rem;cursor:pointer;transition:background-color .2s}
.latest-result-display:hover,.latest-result-display.is-active{background-color:rgba(255,255,255,.25)}
.latest-result-display .fa-trophy{color:var(--accent-color);font-size:.8rem}
.latest-result-display .numero{font-weight:600;letter-spacing:.5px}
.ball{display:inline-block;width:10px;height:10px;border-radius:50%;border:1px solid rgba(0,0,0,.1);vertical-align:middle}
.ball-gray{background-color:var(--gray-color)}
.ball-green{background-color:var(--green-color)}
.menu-toggle{background:0 0;border:none;color:var(--white-color);font-size:1.5rem;cursor:pointer;padding:.5rem}
.header-main-actions{display:flex;align-items:center;gap:.5rem}
.header-dropdown{background-color:var(--secondary-color);position:absolute;width:100%;overflow:hidden;max-height:0;opacity:0;transition:max-height .4s ease-out,opacity .3s ease-in-out;padding:0 .8rem}
.header-dropdown.is-active{max-height:400px;opacity:1;padding:1rem .8rem;border-top:1px solid var(--primary-color);box-shadow:inset 0 3px 5px rgba(0,0,0,.1)}
.header-dropdown .results-columns{display:flex;gap:1rem}
.header-dropdown .results-column h3{color:var(--white-color);border-bottom:1px solid var(--accent-color);padding-bottom:.5rem;margin-bottom:.5rem;font-size:1rem}
.header-dropdown .draw-item{background:0 0;padding:.4rem 0}
.header-dropdown .time{color:#e0e0e0}
.header-dropdown .number{color:var(--white-color)}
.header-dropdown .placeholder{color:rgba(255,255,255,.5)}
.main-menu{display:none;position:absolute;top:var(--header-height);left:0;width:100%;background-color:var(--primary-color);border-top:1px solid var(--secondary-color);box-shadow:0 3px 5px rgba(0,0,0,.2)}
.main-menu.menu-open{display:block}
.main-menu ul{list-style:none}
.main-menu a{display:block;color:var(--white-color);text-decoration:none;padding:.9rem 1rem;border-bottom:1px solid var(--secondary-color);transition:background-color .2s;font-size:.95rem}
.main-menu a:hover{background-color:var(--secondary-color)}
.main-menu a i{width:25px;text-align:center;margin-right:8px;color:var(--accent-color)}
.main-menu.is-locked a{color:rgba(255,255,255,.5);pointer-events:none;cursor:not-allowed}
.main-menu.is-locked a[href="logout.php"]{color:var(--white-color);pointer-events:auto;cursor:pointer}
.notifications-bell{position:relative;color:var(--white-color);font-size:1.5rem;cursor:pointer;padding:.5rem}
.notification-badge{position:absolute;top:5px;right:5px;background-color:var(--accent-color);color:#000;width:18px;height:18px;border-radius:50%;display:flex;justify-content:center;align-items:center;font-size:.7rem;font-weight:700;border:2px solid var(--primary-color)}
.notifications-panel{display:none;position:absolute;top:var(--header-height);right:0;width:100%;max-width:380px;max-height:70vh;overflow-y:auto;background-color:var(--white-color);border-radius:0 0 8px 8px;box-shadow:0 5px 15px rgba(0,0,0,.2);z-index:999;color:var(--text-color);font-size:.9rem}
.notifications-panel.is-open{display:block}
.notification-item{display:flex;gap:1rem;padding:1rem;border-bottom:1px solid #f0f0f0;align-items:flex-start}
.notification-item:last-child{border-bottom:none}
.notification-item.empty{justify-content:center;color:var(--text-light-color);font-style:italic}
.notification-read-dot{width:8px;height:8px;background-color:transparent;border-radius:50%;flex-shrink:0;margin-top:5px}
.notification-item.unread .notification-read-dot{background-color:var(--highlight-1)}
.notification-icon{font-size:1.5rem;width:30px;text-align:center;color:var(--text-light-color);margin-top:3px}
.notification-icon.type-equipo{color:var(--primary-color)}
.notification-icon.type-ganador{color:var(--accent-color)}
.notification-icon.type-sugerencia{color:var(--highlight-1)}
.notification-icon.type-dato{color:var(--highlight-5)}
.notification-icon.type-personalizada{color:var(--highlight-3)}
.notification-content p{font-weight:500;line-height:1.4;margin:0 0 .25rem}
.notification-time{font-size:.75rem;color:var(--text-light-color)}
.collapsible-header{display:flex;justify-content:space-between;align-items:center;cursor:pointer}
.collapse-icon{font-size:.9rem;transition:transform .3s ease}
.is-open .collapse-icon{transform:rotate(180deg)}
.collapsible .results-columns,.collapsible .numbers-container,.collapsible .frequency-content,.collapsible .historical-content,.collapsible .context-list{display:none}
.collapsible.is-open .results-columns,.collapsible.is-open .numbers-container,.collapsible.is-open .frequency-content,.collapsible.is-open .historical-content,.collapsible.is-open .context-list{display:flex;margin-top:1rem}
main{padding:1rem .8rem}
main>section,main>div:first-of-type{margin-top:1rem}
main>section:first-child{margin-top:0}
.page-header{margin-bottom:1rem;padding-bottom:.5rem;border-bottom:1px solid #ddd}
.page-header.discreet{border-bottom-color:#eee}
.page-header.discreet h1{font-size:1.2rem;color:var(--text-light-color);font-weight:600}
.page-header.discreet p{font-size:.9rem}
.page-header h1{font-size:1.5rem;color:var(--primary-color);margin-bottom:.25rem}
.page-header p{color:var(--text-light-color)}
.results-section{background-color:var(--white-color);padding:1rem;border-radius:8px;box-shadow:0 1px 3px rgba(0,0,0,.08)}
.results-section h2{font-size:1rem;border-bottom:2px solid var(--accent-color);padding-bottom:.4rem;color:var(--primary-color)}
.results-columns{flex-direction:row;justify-content:space-between;gap:.8rem}
.results-column{flex:1;min-width:0}
.results-column h3{display:flex;align-items:center;gap:.5rem;margin-bottom:.8rem;font-size:.9rem;color:var(--text-light-color)}
.results-list{display:flex;flex-direction:column;gap:.5rem}
.draw-item{display:flex;align-items:center;justify-content:space-between;background-color:#f9f9f9;padding:.5rem .6rem;border-radius:4px}
.time{font-weight:600;color:var(--text-light-color);flex-basis:55px;font-size:.8rem}
.draw-result{display:flex;align-items:center;gap:.6rem}
.number{font-size:1rem;font-weight:500;letter-spacing:1px}
.placeholder{color:var(--gray-color);font-size:1rem;font-weight:500}
.api-content-wrapper{margin-top:1rem;display:flex;flex-direction:column;gap:1rem}
.waiting-message{display:flex;align-items:center;gap:.75rem;background-color:var(--secondary-color);color:var(--white-color);padding:.8rem 1rem;border-radius:8px;font-weight:500}
.waiting-message .fa-clock{color:var(--accent-color)}
.api-sections-wrapper{display:flex;flex-direction:column;gap:1rem}
.api-section{background-color:var(--white-color);padding:1rem;border-radius:8px;box-shadow:0 1px 3px rgba(0,0,0,.08)}
.api-section h2{font-size:1rem;border-bottom:2px solid var(--accent-color);padding-bottom:.4rem;color:var(--primary-color)}
.numbers-container{display:flex;flex-wrap:wrap;gap:.4rem}
.api-number{flex-shrink:0;background-color:#e0e0e0;color:var(--text-color);padding:.2rem .5rem;border-radius:4px;font-weight:600;letter-spacing:1px;font-size:.85rem}
.api-error{color:var(--text-light-color);font-style:italic}
.frequency-section,.coincidencias-section,.historical-section, .settings-container{background-color:var(--white-color);padding:1.5rem;border-radius:8px;box-shadow:0 1px 3px rgba(0,0,0,.08);margin-top:1rem}
.frequency-section h2,.coincidencias-section h2,.historical-section h2, .settings-section h3{font-size:1.2rem;color:var(--primary-color);margin-top:0;margin-bottom:1.5rem;padding-bottom:.75rem;border-bottom:1px solid #eee}
.frequency-section h2 span,.coincidencias-section h2 span,.historical-section h2 span{flex-grow:1}
.header-icon-btn{background:0 0;border:none;font-size:1.1rem;color:var(--text-light-color);cursor:pointer;padding:.3rem;transition:color .2s}
.header-icon-btn:hover{color:var(--primary-color)}
.frequency-content,.historical-content{display:flex;flex-direction:column;gap:1rem}
.freq-table-container{position:relative;overflow-x:auto;border:1px solid #e0e0e0;border-radius:8px}
.freq-table-container+.freq-table-container{margin-top:1.5rem}
.freq-table-container h4{padding:.8rem 1rem;font-size:.9rem;background-color:#f9f9f9;border-bottom:1px solid #e0e0e0;color:var(--text-light-color);font-weight:600}
.freq-table{width:100%;border-collapse:collapse;text-align:center}
.freq-table th{background-color:var(--secondary-color);color:var(--white-color);padding:.8rem .2rem;font-size:.9rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px}
.freq-table td{padding:.7rem .2rem;border:none;border-bottom:1px solid #e8e8e8;font-weight:600;font-size:1rem;cursor:pointer;transition:background-color .2s,transform .1s}
.freq-table tr:last-child td{border-bottom:none}
.freq-table tr:hover td{background-color:#f9f9f9}
.freq-table td:active{transform:scale(.95)}
.freq-table td.hit{background-color:var(--green-color)!important;color:var(--white-color)!important;font-weight:700}
.freq-table td.hit .freq-count{color:var(--white-color)!important;opacity:.8}
.freq-count{font-size:.55rem;color:var(--text-light-color);font-weight:400;margin-left:4px}
.freq-lastseen{font-size:.55rem;color:var(--primary-color);font-weight:400;margin-left:0px}
td.highlight-accent{background-color:#ffc10780!important}
td.highlight-primary{background-color:#ad1c4280!important}
td.highlight-green{background-color:#4caf5080!important}
.loader-overlay{position:absolute;top:0;left:0;width:100%;height:100%;background-color:rgba(255,255,255,.7);display:none;justify-content:center;align-items:center;z-index:5}
.loader-spinner{border:4px solid #f3f3f3;border-top:4px solid var(--primary-color);border-radius:50%;width:40px;height:40px;animation:spin 1s linear infinite}
@keyframes spin{0%{transform:rotate(0)}100%{transform:rotate(360deg)}}
.modal{display:none;position:fixed;z-index:1500;left:0;top:0;width:100%;height:100%;overflow:auto;background-color:rgba(0,0,0,.5);align-items:center;justify-content:center}
.modal.is-open{display:flex}
.modal-content{background-color:#fefefe;margin:auto;padding:20px;border:1px solid #888;width:90%;max-width:600px;border-radius:8px;box-shadow:0 5px 15px rgba(0,0,0,.3);animation:fadeIn .3s}
@keyframes fadeIn{from{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}
.modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}
.modal-header h3{margin:0;color:var(--primary-color)}
.modal-close-btn{background:0 0;border:none;font-size:1.5rem;cursor:pointer;color:#aaa}
.modal-close-btn:hover{color:#000}
.modal-body p{margin-bottom:1rem;text-align:left;line-height:1.6}
.modal-body .pricing-list,.modal-body .features-list{list-style:none;padding:0;text-align:left;margin:1rem 0}
.modal-body .pricing-list li{padding:.2rem 0}
.modal-body .features-list li{padding-left:1.5rem;position:relative;margin-bottom:.5rem}
.modal-body .features-list li::before{content:"\f00c";font-family:"Font Awesome 6 Free";font-weight:900;color:var(--green-color);position:absolute;left:0}
.freq-controls{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1.2rem;align-items:end}
.control-group{display:flex;flex-direction:column;gap:.3rem}
.control-group label{font-size:.85rem;font-weight:600;color:var(--text-light-color)}
.freq-select{width:100%;padding:.5rem;border:1px solid #ccc;border-radius:4px;background-color:#fff}
.toggle-switch{position:relative;display:inline-block;height:34px}
.toggle-switch.small{width:30px;height:28px}
.toggle-switch.large{width:150px}
.toggle-input{display:none}
.toggle-label{width:60px;position:absolute;cursor:pointer;top:0;left:0;right:0;bottom:0;background-color:#ccc;transition:.4s;border-radius:34px}
.toggle-label::before{position:absolute;content:"";height:26px;width:26px;left:4px;bottom:4px;background-color:#fff;transition:.4s;border-radius:50%}
.toggle-switch.small .toggle-label::before{height:20px;width:20px}
.toggle-input:checked+.toggle-label{background-color:var(--primary-color)}
.toggle-input:checked+.toggle-label::before{transform:translateX(calc(100% + 2px))}
.toggle-switch.small .toggle-input:checked+.toggle-label::before{transform:translateX(42px)}
.toggle-switch.large .toggle-input:checked+.toggle-label::before{transform:translateX(116px)}
.color-picker{display:flex;flex-direction:column;gap:.3rem}
.color-picker-buttons{display:flex;align-items:center;gap:.5rem}
.color-picker .color-btn{width:30px;height:30px;border-radius:50%;border:3px solid transparent;cursor:pointer;box-shadow:0 1px 3px rgba(0,0,0,.2);transition:all .2s;display:flex;justify-content:center;align-items:center}
.color-picker .color-btn.active{border-color:#000}
.color-picker .eraser-btn{background-color:#f2f2f2;color:var(--text-light-color);font-size:1rem}
.date-tabs{display:flex;justify-content:center;border-bottom:1px solid #ddd;margin-bottom:1rem}
.date-tabs a{text-decoration:none;color:var(--text-light-color);padding:.5rem 1rem;font-weight:600;border-bottom:3px solid transparent;transition:all .2s}
.date-tabs a:hover{color:var(--text-color)}
.date-tabs a.active{color:var(--primary-color);border-bottom-color:var(--primary-color)}
.coincidencias-section,.historical-section{display:flex;flex-direction:column;gap:1rem}
.match-header,.year-header{display:flex;justify-content:space-between;align-items:center;padding-bottom:.5rem;margin-bottom:1rem;border-bottom:1px solid #eee}
.match-title,.year-title{font-size:1.1rem;color:var(--primary-color);font-weight:600}
.header-actions{display:flex;align-items:center;gap:.75rem}
.match-indicators{display:flex;gap:.5rem}
.indicator{display:flex;align-items:center;gap:.4rem;padding:.2rem .5rem;border-radius:10px;font-size:.7rem;font-weight:700;cursor:help}
.indicator .fa-solid{font-size:.6rem}
.indicator.same-date{background-color:var(--highlight-1);color:var(--white-color)}
.indicator.same-dow{background-color:var(--highlight-5);color:var(--white-color)}
.match-title-group{display:flex;align-items:center;flex-wrap:wrap;gap:.5rem;flex-grow:1}
.eraser-btn-group{background:0 0;border:none;color:var(--text-light-color);font-size:1.1rem;cursor:pointer}
.eraser-btn-group:hover{color:var(--primary-color)}
.historical-results-list,.match-context-list{display:flex;flex-direction:column;gap:.5rem}
.historical-item{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:1rem;padding:.5rem;border-radius:4px}
.historical-item:nth-child(odd){background-color:#f9f9f9}
.historical-info{display:flex;flex-direction:column;text-align:right;white-space:nowrap}
.historical-time{font-size:.8rem;font-weight:700;color:var(--text-light-color)}
.historical-date{font-size:.8rem;color:var(--gray-color)}
.historical-number{display:flex;gap:1px;letter-spacing:2px;font-size:1.2rem;font-weight:500}
.historical-number .digit{cursor:pointer;padding:.1rem .2rem;border-radius:3px;transition:background-color .2s,color .2s}
.no-results-message{text-align:center;font-style:italic;color:var(--text-light-color);padding:2rem}
.digit.highlight-color-1{background-color:var(--highlight-1);color:#fff}
.digit.highlight-color-2{background-color:var(--highlight-2);color:#fff}
.digit.highlight-color-3{background-color:var(--highlight-3);color:#fff}
.digit.highlight-color-4{background-color:var(--highlight-4);color:#fff}
.digit.highlight-color-5{background-color:var(--highlight-5);color:#fff}
.exact-match-banner{background-color:var(--accent-color);color:#000;font-weight:700;padding:.8rem 1rem;text-align:center;display:flex;justify-content:center;align-items:center;gap:.75rem;position:sticky;top:calc(var(--dev-banner-height) + var(--demo-banner-height));z-index:999;margin-top:calc(-1rem - var(--header-height));margin-bottom:1rem}
.match-date{font-size:.8rem;color:var(--text-light-color);font-weight:400;margin-left:.5rem}
.context-subtitle{font-size:.8rem;text-transform:uppercase;color:var(--text-light-color);padding:.8rem .5rem .3rem;font-weight:700}
.context-subtitle.matched-subtitle{color:var(--secondary-color)}
.historical-item.matched-row{background-color:var(--accent-color)!important;border-radius:4px;color:#000}
.matched-row .historical-date{color:#424242}
.historical-number .is-match-highlight{font-weight:700;color:var(--primary-color);padding:.1rem .2rem;background-color:rgba(0,0,0,.05);border-radius:3px}
.context-toggle-header{display:flex;justify-content:space-between;align-items:center;cursor:pointer;padding:.5rem;border-radius:4px;transition:background-color .2s;font-size:.8rem;text-transform:uppercase;color:var(--text-light-color);font-weight:700}
.context-toggle-header:hover{background-color:#f0f0f0}
.context-toggle-header .collapse-icon{font-size:.8rem;transition:transform .3s ease}
.context-toggle-header.is-open .collapse-icon{transform:rotate(180deg)}
.context-list{flex-direction:column;gap:.5rem;overflow:hidden;max-height:0;transition:max-height .4s ease-out,padding .4s ease-out,margin .4s ease-out;padding:0 .5rem;margin-top:0}
.context-list.is-open{max-height:1000px;padding:.5rem;margin-top:.5rem}
.info-modal-backdrop{position:fixed;top:0;left:0;width:100%;height:100%;background-color:rgba(0,0,0,.6);z-index:4000;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .3s}
.info-modal-backdrop.is-visible{opacity:1}
.info-modal-content{background-color:var(--white-color);padding:1rem 1.5rem;border-radius:8px;box-shadow:0 5px 20px rgba(0,0,0,.3);max-width:300px;text-align:center;transform:scale(.9);transition:transform .3s}
.info-modal-backdrop.is-visible .info-modal-content{transform:scale(1)}
.auth-container{display:flex;justify-content:center;align-items:flex-start;min-height:100vh;background-color:var(--bg-color);padding:0.1rem 1rem 1rem}
.auth-box,.payment-box{background-color:var(--white-color);padding:2rem;border-radius:8px;box-shadow:0 4px 20px rgba(0,0,0,.1);width:100%;max-width:400px;text-align:center}
.auth-logo{max-width:180px;height:auto;margin-bottom:1.5rem}
.auth-info-links { display: flex; justify-content: center; gap: 1.5rem; margin-bottom: 1.5rem; }
.info-link { background: none; border: none; color: var(--text-light-color); font-weight: 600; cursor: pointer; text-decoration: underline; font-size: 0.9rem; }
.info-link:hover { color: var(--primary-color); }
.auth-box h2{margin-bottom:1.5rem;color:var(--primary-color)}
.form-group{margin-bottom:1rem;text-align:left}
.form-group.password-group { position: relative; }
.password-toggle-btn { position: absolute; top: 55%; right: 0; transform: translateY(-50%); background: none; border: none; font-size: 1.1rem; cursor: pointer; color: #999; padding: 0.8rem; height: 100%; }
.form-group label{display:block;margin-bottom:.5rem;font-weight:600;font-size:.9rem}
.form-input{width:100%;padding:.8rem;border:1px solid #ccc;border-radius:4px;font-size:1rem}
.form-input[type="password"] { padding-right: 3rem; }
.form-input[type="checkbox"]{width:1.2em;height:1.2em;accent-color:var(--primary-color)}
.form-btn{width:100%;padding:.9rem;border:none;border-radius:4px;background-color:var(--primary-color);color:var(--white-color);font-size:1rem;font-weight:700;cursor:pointer;transition:background-color .2s;margin-top:1rem}
.form-btn:hover{background-color:var(--secondary-color)}
.form-btn.danger-btn{background-color:var(--text-light-color)}
.form-btn.danger-btn:hover{background-color:#d32f2f}
.form-feedback,.form-message{margin-top:1rem;padding:.8rem 1rem;border-radius:4px;font-weight:500;display:block;font-size:.9rem}
.form-feedback{display:none}
.form-message.error,.form-feedback.error{background-color:#f8d7da;color:#721c24}
.form-message.success,.form-feedback.success{background-color:#d4edda;color:#155724}
.form-btn .fa-spin{margin-right:.5rem}
.auth-switch{margin-top:1.5rem;font-size:.9rem}
.payment-page-section{display:flex;justify-content:center;align-items:flex-start;padding-top:2rem}
.payment-box{max-width:500px}
.payment-intro{color:var(--text-light-color);margin-bottom:2rem}
.payment-options{display:flex;flex-direction:column;gap:1.5rem;margin-bottom:2rem}
.payment-method h3{font-size:1rem;color:var(--primary-color);margin-bottom:.5rem}
.payment-detail{display:flex;justify-content:center;align-items:center;background-color:var(--bg-color);padding:.8rem;border-radius:6px;font-size:1.2rem;font-weight:700;letter-spacing:1px}
#copy-clabe-btn{background:0 0;border:none;font-size:1.2rem;color:var(--text-light-color);cursor:pointer;margin-left:1rem}
.memberships{margin-bottom:2rem}
.memberships ul{list-style:none;padding:0}
.memberships li{margin:.3rem 0}
.whatsapp-btn{display:inline-flex;align-items:center;gap:.75rem;background-color:#25d366;color:#fff;padding:.8rem 1.5rem;border-radius:25px;text-decoration:none;font-weight:700;transition:transform .2s}
.whatsapp-btn:hover{transform:scale(1.05)}
.whatsapp-btn .fa-whatsapp{font-size:1.5rem}
.admin-section{background-color:var(--white-color);padding:1.5rem;border-radius:8px;box-shadow:0 1px 3px rgba(0,0,0,.08);margin-top:1rem}
.admin-panel-group{margin-bottom:2.5rem}
.admin-panel-group h3{font-size:1.2rem;color:var(--primary-color);border-bottom:2px solid #eee;padding-bottom:.5rem;margin-bottom:1rem}
.admin-controls-header{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem;margin-bottom:1rem}
.admin-search-form{display:flex;border:1px solid #ccc;border-radius:20px;overflow:hidden;background-color:#fff}
.admin-search-form input{border:none;padding:.5rem 1rem;font-size:.9rem;outline:0}
.admin-search-form button{background-color:#eee;border:none;padding:0 1rem;cursor:pointer}
.admin-table-container{overflow-x:auto}
.admin-table{width:100%;border-collapse:collapse}
.admin-table td,.admin-table th{padding:.8rem;text-align:left;border-bottom:1px solid #eee;white-space:nowrap}
.admin-table th a{text-decoration:none;color:inherit;display:flex;align-items:center;gap:.5rem}
.admin-table th a:hover{color:var(--white-color)}
.admin-table th{font-size:.8rem;text-transform:uppercase;color:var(--text-light-color)}
.admin-table tbody tr.status-inactive{background-color:#fafafa;color:#999}
.status-dot{display:inline-block;width:10px;height:10px;border-radius:50%;background-color:var(--gray-color);margin-right:.5rem;vertical-align:middle}
.status-dot.active{background-color:var(--green-color)}
.actions-cell{display:flex;gap:.5rem}
.action-btn{background:#eee;border:none;width:35px;height:35px;border-radius:50%;cursor:pointer;font-size:.9rem;color:#555;display:flex;justify-content:center;align-items:center;transition:background-color .2s}
.action-btn.edit:hover{background-color:var(--highlight-1);color:#fff}
.action-btn.password:hover{background-color:var(--highlight-2);color:#fff}
.action-btn.delete:hover{background-color:var(--primary-color);color:#fff}
.delete-form{margin:0}
.settings-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:1rem}
.settings-list li{display:flex;justify-content:space-between;align-items:center}
.checkbox-group{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:.8rem}
.checkbox-wrapper{display:flex;align-items:center;gap:.5rem;background-color:#f9f9f9;padding:.5rem;border-radius:4px}
.main-footer{text-align:center;padding:1.5rem 1rem;color:#888;font-size:.8rem}
.main-footer strong { color: var(--text-color); }
.main-footer a { color: var(--primary-color); }
.main-footer a:hover { color: var(--secondary-color); }
.info-modal-backdrop{position:fixed;top:0;left:0;width:100%;height:100%;background-color:rgba(0,0,0,.6);z-index:4000;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .3s}
.info-modal-backdrop.is-visible{opacity:1}
.info-modal-content{background-color:var(--white-color);padding:1rem 1.5rem;border-radius:8px;box-shadow:0 5px 20px rgba(0,0,0,.3);max-width:300px;text-align:center;transform:scale(.9);transition:transform .3s}
.info-modal-backdrop.is-visible .info-modal-content{transform:scale(1)}

.modal-content.text-center {
    text-align: center;
}
.whatsapp-btn.large-wa-btn {
    margin-top: 1rem;
    margin-bottom: 1rem;
    padding: 0.9rem 1.8rem;
}
.settings-description {
    color: var(--text-light-color);
    line-height: 1.6;
    margin-bottom: 1.5rem;
}

.analyzer-controls {
    display: flex;
    flex-direction: column;
    gap: 1rem;
    max-width: 400px;
    margin-bottom: 2rem;
}
.analyzer-section {
    background-color: var(--white-color);
    padding: 1.5rem;
    border-radius: 8px;
    box-shadow: 0 1px 3px rgba(0,0,0,0.08);
}
#tercia-results-container {
    position: relative;
    min-height: 100px;
}
.tercia-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 1.5rem;
    margin-bottom: 1.5rem;
}
.tercia-card {
    border: 1px solid #eee;
    border-radius: 8px;
    padding: 1.2rem;
    background-color: #fcfcfc;
}
.tercia-card h3 {
    font-size: 1.1rem;
    color: var(--primary-color);
    display: flex;
    align-items: center;
    gap: 0.5rem;
    margin: 0;
}
.card-description {
    font-size: 0.85rem;
    color: var(--text-light-color);
    margin: 0.5rem 0 1rem 0;
    line-height: 1.5;
    border-left: 3px solid var(--accent-color);
    padding-left: 0.8rem;
}
.tercia-full-list {
    border: 1px solid #eee;
    border-radius: 8px;
    padding: 1rem;
}
.tercia-full-list h4 {
    font-size: 1rem;
    color: var(--text-color);
    margin-bottom: 1rem;
}
.tercia-full-list .numbers-container {
    max-height: 250px;
    overflow-y: auto;
    padding-right: 0.5rem;
}
#tercia-loader {
    border-radius: 8px;
}
@media (min-width: 768px) {
    .analyzer-controls {
        flex-direction: row;
        align-items: flex-end;
    }
    .tercia-grid { grid-template-columns: 1fr 1fr; }
}

.confirm-actions {
    display: flex;
    justify-content: center;
    gap: 1rem;
    margin-top: 1.5rem;
}
.confirm-actions .form-btn {
    margin-top: 0;
}
.form-btn.secondary-btn {
    background-color: var(--gray-color);
}
.form-btn.secondary-btn:hover {
    background-color: var(--text-light-color);
}
.form-input[type="tel"],.form-input[type="text"],.form-input[type="email"],.form-input[type="password"],.form-input[type="number"],textarea.form-input{width:100%;padding:.8rem;border:1px solid #ccc;border-radius:4px;font-size:1rem}

/* --- Nuevo login --- */

.demo-promo-box {
    background-color: #fff3cd;
    border: 1px solid #ffeeba;
    color: #856404;
    padding: 1rem;
    border-radius: 6px;
    margin-bottom: 1.5rem;
}
.demo-promo-box p {
    margin: 0;
    text-align: center;
}
.slideshow-handle i {
    transition: transform 0.3s ease;
}
.slideshow-handle .fa-chevron-up {
    transform: rotate(180deg);
}
.login-winner-wrapper {
    margin-bottom: 1.5rem;
    display: flex;
    justify-content: center;
    position: relative;
}
.latest-result-display.login-version {
    background-color: var(--white-color);
    color: var(--text-color);
    border: 1px solid #ddd;
    box-shadow: 0 1px 3px rgba(0,0,0,0.05);
}
.latest-result-display.login-version:hover, .latest-result-display.login-version.is-active {
    background-color: #f9f9f9;
}
.latest-result-display.login-version .fa-trophy {
    color: var(--primary-color);
}
.latest-result-display.login-version .numero, .latest-result-display.login-version .ball {
    color: var(--text-color);
}
#login-header-dropdown {
    position: absolute;
    top: calc(100% + 0.5rem);
    background-color: var(--secondary-color);
    width: 100%;
    max-width: 380px;
    border-radius: 8px;
    z-index: 10;
}
#login-header-dropdown .results-column h3 { color: var(--white-color); }
#login-header-dropdown .draw-item { background-color: rgba(255,255,255,0.1); }
#login-header-dropdown .time, #login-header-dropdown .number, #login-header-dropdown .placeholder { color: var(--white-color); }

.login-winner-wrapper {
    margin-bottom: 1.5rem;
    display: flex;
    justify-content: center;
    position: relative;
}
.latest-result-display.login-version {
    background-color: var(--white-color);
    color: var(--text-color);
    border: 1px solid #ddd;
    box-shadow: 0 1px 3px rgba(0,0,0,0.05);
}
.latest-result-display.login-version:hover, .latest-result-display.login-version.is-active {
    background-color: #f9f9f9;
}
.latest-result-display.login-version .fa-trophy {
    color: var(--primary-color);
}
.latest-result-display.login-version .numero {
    color: var(--text-color);
}
#login-header-dropdown {
    position: absolute;
    top: calc(100% + 0.5rem);
    background-color: var(--secondary-color);
    width: 100%;
    max-width: 380px;
    border-radius: 8px;
    z-index: 10;
}
#login-header-dropdown .results-column h3 { color: var(--white-color); }
#login-header-dropdown .draw-item { background-color: rgba(255,255,255,0.1); }
#login-header-dropdown .time, #login-header-dropdown .number, #login-header-dropdown .placeholder { color: var(--white-color); }

.demo-promo-box {
    background-color: #fff3cd;
    border: 1px solid #ffeeba;
    color: #856404;
    padding: 1rem;
    border-radius: 6px;
    margin-bottom: 1.5rem;
}
.demo-promo-box p {
    margin: 0;
    text-align: center;
}

.floating-notification {
    position: fixed;
    bottom: 1rem;
    right: 1rem;
    width: 90%;
    max-width: 350px;
    background-color: var(--white-color);
    border-radius: 8px;
    box-shadow: 0 5px 20px rgba(0,0,0,0.2);
    border: 1px solid #eee;
    z-index: 1000;
    opacity: 0;
    transform: translateY(30px);
    transition: opacity 0.4s ease-out, transform 0.4s ease-out;
}
.floating-notification.is-visible {
    opacity: 1;
    transform: translateY(0);
}
.floating-notification-header {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    padding: 0.75rem 1rem;
    border-bottom: 1px solid #f0f0f0;
}
.floating-notification-header .fa-solid {
    color: var(--accent-color);
    font-size: 1.2rem;
}
.floating-notification-header h4 {
    margin: 0;
    font-size: 0.9rem;
    font-weight: 700;
}
.floating-notification-body {
    padding: 1rem;
}
.floating-notification-body p {
    margin: 0;
    font-size: 0.85rem;
    line-height: 1.6;
    color: var(--text-light-color);
}
.floating-notification-close {
    position: absolute;
    top: 5px;
    right: 5px;
    background: none;
    border: none;
    font-size: 1rem;
    color: #ccc;
    cursor: pointer;
    padding: 0.5rem;
}
.floating-notification-close:hover {
    color: var(--text-color);
}




@media (min-width:768px){body{font-size:16px}.header-content{padding:0 2rem}.app-name{font-size:1.8rem}.header-dropdown .results-columns{max-width:1200px;margin:0 auto}.results-column{width:45%}.historical-item{grid-template-columns:120px 1fr auto}.historical-info{text-align:left}}