.calendar-module{display:grid;gap:20px;grid-template-columns:1fr}@media (min-width:768px){.calendar-module{grid-template-columns:repeat(2,1fr)}}@media (min-width:1136px){.calendar-module{grid-template-columns:repeat(4,1fr)}}.card{background:#17363c;border:2px solid transparent;border-radius:12px;color:#f3f1ec;display:flex;flex-direction:column;justify-content:space-between;min-height:300px;min-width:230px;overflow:hidden;padding:20px;position:relative;transition:all .3s ease}.card[data-type=directo]{background:#17363c;border-color:#f9502d}.card[data-type=entrenamiento]{background:#17363c;border-color:#a8ff43}.card[data-type=bonus]{background:#17363c;border-color:#ffb427}.card[data-type=regalo]{background:#17363c;border-color:#5d1ef8}.card__meta{align-items:center;display:flex;justify-content:space-between}.card__type-icon{flex-shrink:0;height:32px;width:32px}.card__tag{background:#fff;border-radius:6px;color:#17363c;font-family:var(--font-secondary,system-ui,Arial,sans-serif);font-size:12px;font-weight:600;line-height:normal;margin-left:8px;opacity:.9;padding:2px 8px}.card[data-type=directo] .card__type-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill='none' viewBox='0 0 24 24'%3E%3Cpath stroke='%23f9502d' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M17.806 20.796H7.863a4.03 4.03 0 0 1-4.029-4.03V11.31a4.03 4.03 0 0 1 4.03-4.029h9.942a4.03 4.03 0 0 1 4.028 4.03v5.456a4.03 4.03 0 0 1-4.028 4.029'/%3E%3Cpath stroke='%23f9502d' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M15.036 15.18a8.8 8.8 0 0 1-2.563 1.609c-.827.326-1.52-.08-1.622-.896a16 16 0 0 1 0-3.427c.111-.847.875-1.207 1.622-.892a8.6 8.6 0 0 1 2.563 1.607c.637.58.653 1.4 0 2' clip-rule='evenodd'/%3E%3Cpath stroke='%23f9502d' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='m17.387 3.207-4.553 4.075-4.438-4.075'/%3E%3C/svg%3E");background-position:50%;background-repeat:no-repeat;background-size:contain}.card[data-type=entrenamiento] .card__type-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill='none' viewBox='0 0 24 24'%3E%3Cpath stroke='%23a8ff43' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='m3 8.565 7.917-3.868a2.55 2.55 0 0 1 2.239 0l7.02 3.43c1.099.536 1.099 2.102 0 2.638l-7.02 3.43a2.55 2.55 0 0 1-2.239 0l-3.278-1.6a.558.558 0 0 0-.803.5v3.579c0 .936.55 1.808 1.42 2.15 2.485.974 4.96.987 7.425.006.865-.343 1.408-1.212 1.408-2.143v-4.403'/%3E%3Cpath stroke='%23a8ff43' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M3.451 16.495v-4.078c0-.876.638-1.623 1.505-1.759l3.752-.588'/%3E%3C/svg%3E");background-position:50%;background-repeat:no-repeat;background-size:contain}.card[data-type=bonus] .card__type-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill='none' viewBox='0 0 24 24'%3E%3Cpath stroke='%23ffb427' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='m13.103 5.084 1.828 3.653c.18.36.528.608.927.664l4.09.59a1.211 1.211 0 0 1 .682 2.071l-2.958 2.842c-.291.277-.424.68-.354 1.076l.7 4.012a1.228 1.228 0 0 1-1.788 1.28l-3.654-1.894a1.25 1.25 0 0 0-1.147 0l-3.656 1.895a1.228 1.228 0 0 1-1.787-1.28l.7-4.013a1.2 1.2 0 0 0-.354-1.075L3.37 12.063a1.211 1.211 0 0 1 .682-2.072l4.09-.589c.399-.056.746-.304.928-.664l1.83-3.654a1.24 1.24 0 0 1 2.202 0' clip-rule='evenodd'/%3E%3C/svg%3E");background-position:50%;background-repeat:no-repeat;background-size:contain}.card[data-type=regalo] .card__type-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill='none' viewBox='0 0 24 24'%3E%3Cpath stroke='%235d1ef8' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M11.999 7.142S11.199 3 8.396 3c-1.105 0-2.001.927-2.001 2.071s.896 2.07 2 2.07'/%3E%3Cpath stroke='%235d1ef8' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M15.601 7.142c1.105 0 2.001-.927 2.001-2.07 0-1.145-.896-2.072-2.001-2.072-2.802 0-3.603 4.142-3.603 4.142'/%3E%3Cpath stroke='%235d1ef8' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M16.873 20.999H7.127c-2.15 0-3.486-1.602-3.486-3.87V11.01c0-2.268 1.336-3.87 3.487-3.87h9.745c2.15 0 3.486 1.602 3.486 3.87v6.118c0 2.27-1.344 3.87-3.486 3.87M11.998 7.14 9.77 10.837M11.998 7.14l2.227 3.696M3.64 16.242h16.718'/%3E%3C/svg%3E");background-position:50%;background-repeat:no-repeat;background-size:contain}.card__time{color:#fff;font-family:var(--font-secondary,system-ui,Arial,sans-serif);font-size:15px;font-weight:500;line-height:normal;opacity:.8}.card__content{display:flex;flex-direction:column;gap:8px;margin-bottom:12px}.card__badge{background:#ff4040;border-radius:8px;color:#fff;font:var(--caption-c2);padding:2px 8px}.card__title{color:#f3f1ec;font-size:20px;font-style:normal;font-weight:600;line-height:26px}.card__description,.card__title{font-family:var(--font-secondary,system-ui,Arial,sans-serif);margin:0}.card__description{color:#fff;font-size:16px;font-weight:500;line-height:20px;opacity:.8}.card__desc{font:var(--body-b2);margin:0 0 20px;opacity:.95}.btn{align-items:center;border:none;border-radius:12px;display:inline-flex;font-family:var(--font-secondary,system-ui,Arial,sans-serif);font-size:16px;font-weight:600;height:44px;justify-content:center;line-height:normal;outline:none;padding:8px;position:relative;text-align:center;text-decoration:none;width:100%;z-index:1}.btn--active{background:#c9ff4d;color:#17363c;cursor:pointer}.btn--replay{background:red;color:#fff;cursor:pointer}.card[data-type=directo] .btn--active{background:#f9502d;color:#fff}.card[data-type=entrenamiento] .btn--active{background:#a8ff43;color:#17363c}.card[data-type=bonus] .btn--active{background:#ffb427;color:#17363c}.card[data-type=regalo] .btn--active{background:#5d1ef8;color:#fff}.btn--live{background:#f03034;color:#fff;cursor:pointer}.btn--disabled{background:#e6e6e6;color:#a0a0a0;cursor:not-allowed;pointer-events:none}.btn--disabled:hover{background:#e6e6e6;color:#a0a0a0;transform:none}.card.is-live .card__day{background:#f03034;color:#fff}.card__bgnum{color:#e9e6dd1a;font-family:var(--font-primary,system-ui,Arial,sans-serif);font-size:217px;font-weight:500;line-height:normal;pointer-events:none;position:absolute;right:10px;top:27px;user-select:none;z-index:0}.calendar-modal{align-items:center;bottom:0;display:flex;justify-content:center;left:0;padding:20px;position:fixed;right:0;top:0;z-index:9999}.calendar-modal__backdrop{backdrop-filter:blur(4px);background:rgba(0,0,0,.6);bottom:0;left:0;position:absolute;right:0;top:0}.calendar-modal__content{animation:modalSlideIn .2s ease-out;background:#fff;border-radius:16px;box-shadow:0 20px 25px -5px rgba(0,0,0,.1),0 10px 10px -5px rgba(0,0,0,.04);max-height:90vh;max-width:400px;overflow:hidden;position:relative;width:100%}@keyframes modalSlideIn{0%{opacity:0;transform:scale(.95) translateY(-20px)}to{opacity:1;transform:scale(1) translateY(0)}}.calendar-modal__header{align-items:center;border-bottom:1px solid #e5e7eb;display:flex;justify-content:space-between;padding:20px 24px}.calendar-modal__title{color:#111827;font-family:var(--font-secondary,system-ui,Arial,sans-serif);font-size:20px;font-weight:600;margin:0}.calendar-modal__close{align-items:center;background:#f3f4f6;border:none;border-radius:8px;color:#6b7280;cursor:pointer;display:flex;font-size:18px;height:32px;justify-content:center;line-height:1;transition:all .2s ease;width:32px}.calendar-modal__close:hover{background:#e5e7eb;color:#374151}.calendar-modal__body{padding:24px}.calendar-modal__description{color:#6b7280;font-family:var(--font-secondary,system-ui,Arial,sans-serif);font-size:16px;line-height:1.5;margin:0 0 20px}.calendar-modal__options{display:grid;gap:8px}.calendar-modal__option{align-items:center;border:1px solid #e5e7eb;border-radius:12px;color:#111827;cursor:pointer;display:flex;font-family:var(--font-secondary,system-ui,Arial,sans-serif);font-size:16px;font-weight:500;justify-content:center;padding:16px;text-decoration:none;transition:all .2s ease}.calendar-modal__option:hover{background:#f8fafc;border-color:#c7d2fe;transform:translateY(-1px)}.calendar-modal__text{text-align:center}@media (max-width:480px){.calendar-modal{padding:16px}.calendar-modal__content{border-radius:12px;max-width:none}.calendar-modal__body,.calendar-modal__header{padding:20px}.calendar-modal__option{padding:14px}}