@keyframes highlightPulseGold{0%{box-shadow:0 0 0 0 rgba(255,193,7,.7);transform:scale(1)}50%{box-shadow:0 0 0 10px transparent;transform:scale(1.02)}to{box-shadow:0 0 0 0 transparent;transform:scale(1)}}.calendar-year-nav{z-index:100;border-bottom:2px solid #dee2e6}.calendar-year-nav.sticky-top{top:var(--calendar-header-height, 0px);background:#fff!important}.calendar-year-nav h3{font-size:1.75rem;color:#444}.calendar-legend,.calendar-month{border:1px solid #dee2e6}.calendar-legend h5{font-size:1rem;font-weight:700}.calendar-legend .legend-item .legend-color{width:30px;height:30px;border-radius:4px;border:1px solid #dee2e6;flex-shrink:0}.calendar-month{background:#fff;border-radius:8px;overflow:hidden;box-shadow:0 2px 4px rgba(0,0,0,.05)}.calendar-month .month-header{background:#2196f3;color:#fff;padding:1rem}.calendar-month .month-header h4{margin:0;font-size:1.25rem;font-weight:600}.calendar-month .calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:1px;background:#dee2e6}.calendar-month .calendar-grid .day-header{background:#f8f9fa;font-weight:700;text-align:center;padding:.5rem;font-size:.875rem;border-bottom:2px solid #dee2e6;min-height:40px;overflow-wrap:anywhere}.calendar-cell{min-width:0;min-height:70px;background:#fff;position:relative;display:flex;flex-direction:column;justify-content:center}.calendar-cell.empty-cell{background:#fafafa}.calendar-cell.day-header{min-height:40px;display:flex;align-items:center;justify-content:center}.day-cell{padding:.25rem}.day-cell:hover{transform:scale(1.05);box-shadow:0 4px 8px rgba(0,0,0,.15);z-index:10}.day-cell.selecting{background-color:rgba(33,150,243,.2)!important;border:2px solid #2196f3!important}.day-cell .day-number{font-weight:700;font-size:1rem;position:absolute;top:.25rem;right:.25rem}.day-cell .day-country{margin-bottom:.25rem;line-height:1.2}.day-cell .day-count,.day-cell .day-country,.day-cell .day-visa-count{text-align:center;font-size:.75rem;font-weight:600}.day-cell .day-overstay,.day-cell .day-wait{text-align:center;font-size:.7rem;margin-top:.125rem}.no-travel{background-color:#fff;color:#444}.outside-schengen{background-color:#e9ecef;color:#495057}.day-cell.has-travel .day-country small{display:inline-block;max-width:100%;color:inherit;font-weight:700;overflow:hidden;text-overflow:ellipsis}.in-schengen-safe{background-color:#e8f5d9;color:#3d5a1f}.overstay{background-color:#f8d7da;color:#721c24;border:2px solid #f0acb2!important}.waiting-period{background-color:#fff3cd;color:#856404;border:2px solid #ffe79a!important}.waiting-period .day-wait{color:#856404}.day-cell.current-day{border:2px solid #2196f3!important}.day-cell.current-day .day-number{color:#2196f3;font-weight:900}@media (max-width:768px){.calendar-cell{min-height:50px}.day-cell{padding:.125rem}.day-cell .day-number{font-size:.875rem;top:.125rem;right:.125rem}.day-cell .day-country{margin-top:1.25rem;font-size:.65rem}.day-cell .day-count{font-size:.65rem}.calendar-month{margin-bottom:2rem}.calendar-year-nav h3{font-size:1.25rem}.calendar-year-nav .btn{font-size:.875rem;padding:.375rem .75rem}}@media (max-width:480px){.calendar-cell{min-height:50px}.day-cell .day-number{font-size:.75rem}.day-cell .day-count,.day-cell .day-country{font-size:.6rem}.day-cell .day-overstay,.day-cell .day-wait{font-size:.55rem}}#calendar-feedback{position:fixed;bottom:1rem;left:50%;transform:translateX(-50%);width:-moz-max-content;width:max-content;max-width:calc(100vw - 2rem);z-index:1060}#calendar-day-info-content{font-size:.9rem;line-height:1.6}.calendar-sidebar,.calendar-sidebar.sticky-top{z-index:50}.calendar-sidebar{scrollbar-width:thin;scrollbar-color:rgba(0,0,0,.2) transparent}.calendar-sidebar::-webkit-scrollbar{width:6px}.calendar-sidebar::-webkit-scrollbar-track{background:0 0}.calendar-sidebar::-webkit-scrollbar-thumb{background-color:rgba(0,0,0,.2);border-radius:3px}.calendar-sidebar::-webkit-scrollbar-thumb:hover{background-color:rgba(0,0,0,.3)}.day-cell{-webkit-user-select:none;-moz-user-select:none;user-select:none;scroll-margin-block:calc(var(--calendar-header-height, 0px) + var(--calendar-year-nav-height, 0px) + 1rem) 80px}.day-cell,.day-cell.clickable{cursor:pointer}.day-cell.clickable:hover{transform:scale(1.05);box-shadow:0 4px 8px rgba(0,0,0,.15);z-index:10}.day-cell.selecting{outline:2px dashed #2196f3;outline-offset:-2px}.day-cell:focus-visible{outline:3px solid var(--bs-primary);outline-offset:2px}.highlight-day{animation:highlightPulseGold 1s ease-in-out 3;border:2px solid #ffc107!important;position:relative;z-index:10}.day-cell{transition:border .3s ease,transform .3s ease}@media (max-width:767px){.tooltip .tooltip-inner{max-width:300px;font-size:.95rem;padding:.75rem;text-align:left}.tooltip{z-index:1060}.day-cell:hover{transform:none;box-shadow:none}}.calculator-page-title{font-size:2rem;font-weight:600;color:#444;margin-top:1rem}@media (max-width:768px){.calculator-page-title{font-size:1.5rem;margin-top:.5rem}}