.calendar-page{background-color:#f4f7fb;min-height:100vh;padding-top:4rem;padding-bottom:8rem;font-family:Inter,system-ui,sans-serif}.page-header{text-align:center;flex-direction:column;align-items:center;margin-bottom:4rem;display:flex}.page-header h1{color:#1f3c80;margin:0;font-size:clamp(2rem,4vw,3rem)}.title-underline{background-color:#ffbf00;border-radius:4px;width:60px;height:4px;margin:1.5rem 0}.calendar-container{background:#fff;border:1px solid #0000000a;border-radius:16px;max-width:1000px;margin:0 auto;padding:2rem;box-shadow:0 4px 20px #002f6c0d}.calendar-header{justify-content:space-between;align-items:center;margin-bottom:2rem;display:flex}.calendar-header h2{color:#1f3c80;text-transform:uppercase;margin:0;font-size:1.5rem}.nav-btn{color:#1f3c80;cursor:pointer;background:0 0;border:none;padding:.5rem 1rem;font-size:1.5rem;transition:color .2s,transform .2s}.nav-btn:hover{color:#ffbf00;transform:scale(1.1)}.weekdays{box-sizing:border-box;background-color:#1f3c80;border-top:2px solid #fff;border-left:2px solid #fff;grid-template-columns:repeat(7,1fr);display:grid}.weekdays div{color:#fff;text-align:center;box-sizing:border-box;background-color:#1f3c80;border-bottom:2px solid #fff;border-right:2px solid #fff;padding:.5rem;font-size:.95rem;font-weight:600}.days-grid{box-sizing:border-box;grid-template-columns:repeat(7,1fr);grid-auto-rows:minmax(120px,auto);display:grid;background:0 0!important;border:none!important;border-left:2px solid #fff!important;gap:0!important}.day{box-sizing:border-box;flex-direction:column;gap:.5rem;width:100%;padding:.4rem;display:flex;overflow-y:auto;box-shadow:none!important;background-color:#92a3bc!important;border:2px solid #fff!important;border-top:none!important;border-left:none!important;outline:none!important}.day.other-month{background-color:#c7d1df!important}.date-number{color:#1a3069;align-self:flex-start;font-size:1.1rem;font-weight:400;line-height:1}.day::-webkit-scrollbar{width:4px}.day::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:4px}.event-button{color:#fff;cursor:pointer;text-align:left;white-space:nowrap;text-overflow:ellipsis;background-color:#1f3c80;border:none;border-radius:4px;padding:.4rem;font-size:.75rem;font-weight:600;transition:background-color .2s;overflow:hidden}.event-button:hover{color:#1f3c80;background-color:#fff}.modal{border:none;border-radius:16px;width:90%;max-width:500px;padding:0;box-shadow:0 10px 40px #0003}.modal::backdrop{backdrop-filter:blur(4px);background-color:#1f3c8066}.modal-box{padding:2.5rem;position:relative}.close-btn{cursor:pointer;color:#64748b;background:0 0;border:none;font-size:2rem;position:absolute;top:1rem;right:1.5rem}.close-btn:hover{color:#1f3c80}#modal-title{color:#1f3c80;text-transform:uppercase;margin:0 0 1.5rem;font-size:1.5rem}.modal-tags{gap:.5rem;margin-bottom:1.5rem;display:flex}.tag{text-transform:uppercase;border-radius:20px;padding:.35rem .8rem;font-size:.72rem;font-weight:800}.tag-weapon{color:#fff;background-color:#1f3c80}.tag-category{color:#1f3c80;background-color:#ffbf00}.modal-details{color:#334155;flex-direction:column;gap:.8rem;margin:0 0 2rem;padding:0;list-style:none;display:flex}.deadline-text{color:#d90429;font-weight:700}.action-btn{color:#fff;text-transform:uppercase;background-color:#1f3c80;border-radius:8px;padding:.8rem 1.5rem;font-size:.9rem;font-weight:700;text-decoration:none;transition:transform .2s;display:inline-block}.action-btn:hover{color:#1f3c80;background-color:#fff;border:2px solid #1f3c80;transform:translateY(-2px)}.modal-actions{flex-wrap:wrap;gap:1rem;display:flex}.outline-btn{color:#1f3c80;cursor:pointer;background-color:#0000;border:2px solid #1f3c80}.outline-btn:hover{color:#fff;background-color:#1f3c80;transform:translateY(-2px)}@media (width<=850px){.calendar-page{min-height:auto;padding-bottom:2rem}.calendar-container{border-radius:8px;padding:.5rem}.calendar-header{margin-bottom:1rem}.calendar-header h2{font-size:1.2rem}.weekdays div{text-overflow:ellipsis;white-space:nowrap;padding:.3rem 0;font-size:.65rem;overflow:hidden}.day{min-height:60px;padding:.15rem}.days-grid{grid-auto-rows:minmax(60px,auto)}.date-number{font-size:.85rem}.event-button{white-space:normal;word-wrap:break-word;padding:.2rem;font-size:.6rem;line-height:1.2}.modal-box{padding:1.5rem}#modal-title{margin-bottom:1rem;padding-right:2rem;font-size:1.2rem}.modal-tags{flex-wrap:wrap;margin-bottom:1rem}.modal-actions{flex-direction:column;gap:.6rem}.action-btn{text-align:center;width:100%;padding:.7rem;font-size:.85rem}}
