:root{--brand-color: #10b981;--brand-color-hover: #059669}body{font-family:Inter,sans-serif;background-color:#eef5ee;background-image:url("data:image/svg+xml,%3Csvg width='40' height='40' viewBox='0 0 40 40' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='%23d3e3d3' fill-opacity='0.6' fill-rule='evenodd'%3E%3Cpath d='M0 40L40 0H20L0 20M40 40V20L20 40'/%3E%3C/g%3E%3C/svg%3E")}.app-title{color:var(--brand-color)}.btn-brand{background-color:var(--brand-color);transition:background-color .2s ease-in-out}.btn-brand:hover{background-color:var(--brand-color-hover)}.main-header{background:linear-gradient(135deg,#2c5282,#2a4365,#2c5282);background-size:400% 400%;animation:gradient-animation 10s ease infinite}.title-main{display:block;color:#fff;font-size:1.5rem;font-weight:700;line-height:1.2;text-transform:uppercase;letter-spacing:.05em;text-shadow:1px 1px 3px rgba(0,0,0,.4)}.title-subtitle{display:block;color:#e6c589;font-size:1.125rem;font-weight:500;text-transform:uppercase;letter-spacing:.15em}@media (min-width: 640px){.title-main{font-size:1.875rem}.title-subtitle{font-size:1.25rem}}#month-year,#calendar-day-names{color:var(--brand-color)}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:10px;-webkit-user-select:none;user-select:none}.day-cell{padding:4px;text-align:left;border-radius:8px;background-color:#fff;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f;transition:all .2s ease-in-out;cursor:pointer;min-height:54px;display:flex;flex-direction:column;justify-content:flex-end;position:relative}.day-cell .day-number{padding-left:4px}.day-cell:hover{transform:translateY(-2px);box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d}.day-cell.other-month{color:#d1d5db;background-color:#f9fafb;cursor:default}.day-cell.other-month:hover{transform:none;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f}.day-cell.booked-day{background-color:#dcfce7}.day-cell.private-day{background-color:#dbeafe;color:#1e40af;font-weight:600}.day-cell.canceled-day-full{background-color:#fee2e2;color:#991b1b;font-weight:600}.day-cell.today-cell{border:3px solid #FBBF24;font-weight:700}.day-cell.today-cell.private-day{border-color:#93c5fd}.day-cell.today-cell.canceled-day-full{border-color:#ef4444}.day-cell.past-day{background-color:#f3f4f6;color:#a1a1aa}.day-cell.past-day.booked-day,.day-cell.past-day.private-day,.day-cell.past-day.canceled-day-full{opacity:.6}.day-cell.past-day:hover{transform:none}.match-day-winner-day{background:linear-gradient(135deg,#fef9c3,#fde047,#fef9c3);border:2px solid #facc15}.animated-winner{animation:pulse-gold 2s infinite}.day-cell.match-day-winner-day .day-number{color:#a16207;font-weight:700;text-shadow:none}.legend-private-day{background-color:#dbeafe;border:1px solid #93c5fd}.legend-canceled-day{background-color:#fee2e2;border:1px solid #f87171}.modal-container{max-height:90vh;overflow-y:auto}.booking-item.canceled{opacity:.6;text-decoration:line-through;background-color:#fee2e2}select.placeholder-selected{color:#9ca3af}.modal{transition:opacity .3s ease-out}.modal-content{transition:transform .3s ease-out}.modal.hidden{opacity:0;pointer-events:none}.modal.hidden .modal-content{transform:scale(.95)}.detail-icon,.court-icon-svg{width:1.5rem;height:1.5rem;margin-right:.75rem;flex-shrink:0}.horizontal-scroll{-ms-overflow-style:none;scrollbar-width:none}.horizontal-scroll::-webkit-scrollbar{display:none}#toggle-obor-links-btn i{transition:transform .3s ease}#toggle-obor-links-btn.is-open i{transform:rotate(180deg)}#obor-buttons-container{max-height:0;overflow:hidden;transition:max-height .3s ease-in-out}#obor-buttons-container.is-open{max-height:100px}.booking-item-animated-bg{background:linear-gradient(135deg,#f0fdf4,#e0f2f1,#f0fdf4);background-size:400% 400%;animation:gradient-animation 10s ease infinite}.bouncing-ball-container{position:absolute;top:10px;right:15px;width:60px;height:100px;z-index:20}.bouncing-ball{width:60px;height:60px;animation:bounce 2s infinite cubic-bezier(.5,.05,.55,.95)}.explosive-title,#open-match-day-modal-btn{background:linear-gradient(45deg,#f97316,#ef4444,#f59e0b);background-size:200% 200%;animation:fire-gradient 3s ease infinite;color:#fff;text-shadow:1px 1px 2px rgba(0,0,0,.3)}.winner-card{position:relative;overflow:hidden;animation:winner-reveal .8s cubic-bezier(.25,.46,.45,.94) forwards}.winner-card:before{content:"✨";position:absolute;top:-20px;left:-20px;font-size:40px;animation:sparkle-1 1.5s ease-out .5s infinite}.winner-card:after{content:"🎉";position:absolute;bottom:-10px;right:-10px;font-size:30px;animation:sparkle-2 1.5s ease-out 1s infinite}.winner-tag{background-color:#fef9c3;color:#a16207;font-weight:600;padding:2px 8px;border-radius:9999px;box-shadow:0 0 8px 2px #fde047;animation:pulse-gold 2s infinite}html.dark .winner-tag{color:#a16207!important}@keyframes gradient-animation{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}@keyframes bounce{0%,20%,50%,80%,to{transform:translateY(0)}40%{transform:translateY(-40px)}60%{transform:translateY(-20px)}90%{transform:scaleY(1.1)}}@keyframes fire-gradient{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}@keyframes winner-reveal{0%{transform:scale(.3) rotate(-15deg);opacity:0}to{transform:scale(1) rotate(0);opacity:1}}@keyframes sparkle-1{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.5);opacity:0}}@keyframes sparkle-2{0%,to{transform:scale(1) rotate(0);opacity:1}50%{transform:scale(1.5) rotate(20deg);opacity:0}}@keyframes pulse-gold{0%{box-shadow:0 0 #facc15b3}70%{box-shadow:0 0 0 10px #facc1500}to{box-shadow:0 0 #facc1500}}html.dark body{background-color:#1a202c;background-image:url("data:image/svg+xml,%3Csvg width='40' height='40' viewBox='0 0 40 40' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='%232d3748' fill-opacity='0.6' fill-rule='evenodd'%3E%3Cpath d='M0 40L40 0H20L0 20M40 40V20L20 40'/%3E%3C/g%3E%3C/svg%3E")}html.dark .bg-white{background-color:#2d3748;border-color:#4a5568}html.dark .text-emerald-800{color:#68d391}html.dark .text-gray-800{color:#e2e8f0}html.dark .text-gray-700,html.dark label,html.dark .text-gray-600,html.dark .text-gray-500{color:#a0aec0}html.dark .font-semibold{color:#f7fafc}html.dark .text-emerald-700{color:#68d391}html.dark .day-cell{background-color:#4a5568;box-shadow:0 4px 6px -1px #0006,0 2px 4px -1px #0000004d}html.dark .day-cell.other-month{background-color:#2d3748;color:#718096}html.dark .day-cell.booked-day{background-color:#2c5282}html.dark .day-cell.private-day{background-color:#4c3b6d;color:#c3b6e0}html.dark .day-cell.canceled-day-full{background-color:#4a3a3a;color:#fc8181}html.dark .day-cell.past-day{background-color:#2d3748;color:#718096}html.dark .day-cell.today-cell{border-color:#f6e05e}html.dark .day-cell.today-cell.canceled-day-full{border-color:#e53e3e}html.dark .match-day-winner-day{background:linear-gradient(135deg,#b7791f,#d69e2e,#b7791f);border-color:#f6e05e}html.dark .day-cell .day-number{color:#e2e8f0}html.dark .day-cell.match-day-winner-day .day-number{color:#f7fafc}html.dark .legend-private-day{background-color:#4c3b6d;border:1px solid #6d5b99}html.dark .legend-canceled-day{background-color:#4a3a3a;border:1px solid #e53e3e}html.dark .modal-content{background-color:#2d3748}html.dark input,html.dark select,html.dark textarea{background-color:#4a5568;color:#f7fafc;border-color:#718096}html.dark select.placeholder-selected{color:#a0aec0}html.dark .bg-gray-50,html.dark .bg-gray-100{background-color:#4a5568}html.dark .border-gray-200{border-color:#4a5568}html.dark .bg-emerald-50,html.dark .bg-green-50,html.dark .bg-blue-50{background-color:#2a4365}html.dark .bg-emerald-100{background-color:#2c5282}html.dark .bg-orange-50{background-color:#4a2a10}html.dark .text-orange-800{color:#f6ad55}html.dark .bg-yellow-100{background-color:#423d24}html.dark .text-yellow-700{color:#f6e05e}html.dark #email-verification-banner{border-color:#f6e05e}html.dark .p-4.bg-gray-50{background-color:#1a202c}html.dark .bg-white\/60{background-color:#4a556899}html.dark .font-bold.text-xs.text-emerald-700{color:#a7f3d0}html.dark .text-lg.font-bold{color:#f0fff4}html.dark .text-blue-800{color:#90cdf4}html.dark .booking-item-animated-bg{background:linear-gradient(135deg,#2d4953,#316d81,#2d4953);background-size:400% 400%;animation:gradient-animation 10s ease infinite}html.dark .booking-item.canceled{background-color:#4a3a3a;border-color:#e53e3e}html.dark .booking-item .text-gray-800,html.dark .booking-item .text-gray-700,html.dark .booking-item .text-gray-600{color:#e2e8f0}html.dark .booking-item .detail-icon{color:#90cdf4}html.dark .booking-item .fa-lock{color:#f6e05e}html.dark .booking-item .fa-users{color:#68d391}html.dark .booking-item .fa-map-marker-alt{color:#fc8181}html.dark .booking-item .fa-barcode{color:#a0aec0}html.dark .booking-item .fa-info-circle{color:#63b3ed}html.dark .btn-brand{background-color:#319795}html.dark .btn-brand:hover{background-color:#2c7a7b}html.dark .main-header{background:linear-gradient(135deg,#2d3748,#1a202c);background-size:400% 400%;animation:gradient-animation 10s ease infinite;border-bottom:1px solid #4a5568}html.dark .title-main{color:#e2e8f0}html.dark .title-subtitle{color:#f6e05e}html.dark #google-signin-btn,html.dark #google-signin-btn-register{background-color:#4a5568;color:#e2e8f0;border-color:#718096}html.dark #google-signin-btn:hover,html.dark #google-signin-btn-register:hover{background-color:#2d3748}html.dark #vote-not-started-message,html.dark #team-voted-message{background-color:#4a2a10;color:#f6ad55}html.dark #teams-display .font-medium{color:#e2e8f0}html.dark #open-register-directly-btn,html.dark #goto-register-btn,html.dark #goto-login-btn,html.dark #goto-reset-btn,html.dark #back-to-login-btn{color:#68d391}html.dark #open-register-directly-btn:hover,html.dark #goto-register-btn:hover,html.dark #goto-login-btn:hover,html.dark #goto-reset-btn:hover,html.dark #back-to-login-btn:hover{text-decoration:underline}html.dark #open-match-day-modal-btn{background:linear-gradient(45deg,#dd6b20,#c53030,#d69e2e);background-size:200% 200%;animation:fire-gradient 3s ease infinite}html.dark .winner-card{background:linear-gradient(135deg,#fef9c3,#fde047,#fef9c3);border-color:#facc15}html.dark .winner-card .text-yellow-900{color:#92400e}html.dark #pre-login-view p{color:#cbd5e0}html.dark #match-day-modal .bg-gray-50,html.dark #match-day-modal .bg-green-50,html.dark #match-day-modal .bg-blue-50,html.dark #match-day-modal .bg-orange-50{background-color:#2d3748!important;border:1px solid #4a5568!important}html.dark #match-day-modal h5,html.dark #match-day-modal li,html.dark #match-day-modal p{color:#a0aec0!important}html.dark #match-day-modal .font-semibold.text-gray-700{color:#e2e8f0!important}#match-day-modal #generate-teams-btn,#match-day-modal #add-manual-team-btn,#match-day-modal #team-vote-btn{background:linear-gradient(45deg,#f97316,#ef4444,#f59e0b);background-size:200% 200%;animation:fire-gradient 3s ease infinite;color:#fff;text-shadow:1px 1px 2px rgba(0,0,0,.3);border:none;transition:filter .2s ease}#match-day-modal #generate-teams-btn:hover,#match-day-modal #add-manual-team-btn:hover,#match-day-modal #team-vote-btn:hover{filter:brightness(1.1)}html.dark #match-day-modal #generate-teams-btn,html.dark #match-day-modal #add-manual-team-btn,html.dark #match-day-modal #team-vote-btn{background:linear-gradient(45deg,#dd6b20,#c53030,#d69e2e);background-size:200% 200%}#match-day-modal #generate-teams-btn:disabled{background:#e5e7eb;animation:none;cursor:not-allowed;text-shadow:none;color:#9ca3af}html.dark #match-day-modal #generate-teams-btn:disabled{background:#4a5568!important;color:#718096!important;animation:none!important}
