:root{--color-primary: #2C3E50;--color-primary-text: #FFFFFF;--color-secondary: #1ABC9C;--color-background: #ECF0F1;--color-text: #34495E;--color-accent: #E67E22;--color-success: #27AE60;--color-error: #E74C3C;--color-white: #FFFFFF;--color-surface: #FFFFFF;--color-border: #d5d8dc;--color-hover-bg: #2C3E50;--color-hover-text: #FFFFFF;--color-modal-overlay: rgba(44, 62, 80, .5)}[data-theme=dark]{--color-primary: #E8E8E8;--color-primary-text: #1A1A1A;--color-secondary: #1ABC9C;--color-background: #1A1A1A;--color-text: #E8E8E8;--color-accent: #E67E22;--color-success: #27AE60;--color-error: #E74C3C;--color-white: #FFFFFF;--color-surface: #2C2C2C;--color-border: #404040;--color-hover-bg: #3C3C3C;--color-hover-text: #E8E8E8;--color-modal-overlay: rgba(0, 0, 0, .7)}:root{font-family:Open Sans,sans-serif;color:var(--color-text)}h1,h2,h3,h4,h5,h6{font-family:Montserrat,sans-serif;font-weight:700;color:var(--color-primary)}body{margin:0;min-height:100vh;background-color:var(--color-background);color:var(--color-text);font-weight:300;transition:background-color .3s ease,color .3s ease}.app-container{min-height:100vh;display:flex;flex-direction:column}.container{max-width:1200px;margin:0 auto;padding:0 1.5rem}.app-header{background-color:transparent;padding:.75rem 0}.header-content{display:flex;justify-content:space-between;align-items:center}.header-controls{display:flex;align-items:center;gap:1rem}.mobile-menu-button{display:none;background-color:transparent;border:1px solid var(--color-primary);color:var(--color-primary);padding:.5rem;border-radius:4px;cursor:pointer;min-width:44px;min-height:44px;align-items:center;justify-content:center;transition:all .3s ease}.mobile-menu-button:hover{background-color:var(--color-hover-bg);color:var(--color-hover-text)}.hamburger{display:flex;flex-direction:column;justify-content:space-around;width:24px;height:18px;cursor:pointer}.hamburger span{display:block;height:2px;width:100%;background-color:currentColor;border-radius:2px;transition:all .3s ease}.hamburger.is-active span:nth-child(1){transform:rotate(45deg) translate(5px,5px)}.hamburger.is-active span:nth-child(2){opacity:0}.hamburger.is-active span:nth-child(3){transform:rotate(-45deg) translate(7px,-6px)}.mobile-menu-overlay{display:none;position:fixed;top:0;left:0;right:0;bottom:0;background-color:var(--color-modal-overlay);z-index:998;opacity:0;transition:opacity .3s ease;pointer-events:none}.mobile-menu-overlay.is-active{opacity:1;pointer-events:all}.mobile-menu-drawer{display:none;position:fixed;top:0;right:-100%;width:300px;max-width:85vw;height:100vh;background-color:var(--color-surface);box-shadow:-2px 0 12px #00000026;z-index:999;transition:right .3s ease;overflow-y:auto;-webkit-overflow-scrolling:touch;border-left:1px solid var(--color-border)}.mobile-menu-drawer.is-open{right:0}.mobile-menu-header{display:flex;justify-content:space-between;align-items:center;padding:1.25rem 1rem;border-bottom:2px solid var(--color-border);background-color:var(--color-primary);color:var(--color-primary-text);box-shadow:0 2px 4px #0000001a}.mobile-menu-title{margin:0;font-size:1.25rem;font-weight:700;font-family:Montserrat,sans-serif;color:var(--color-primary-text);letter-spacing:.5px}.mobile-menu-close{background:transparent;border:1px solid rgba(255,255,255,.3);color:var(--color-primary-text);font-size:1.75rem;line-height:1;cursor:pointer;padding:0;width:44px;height:44px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:all .2s ease;font-weight:300}.mobile-menu-close:hover,.mobile-menu-close:active{background-color:#ffffff26;border-color:#ffffff80;transform:scale(1.05)}.mobile-menu-content{padding:1.5rem 1rem}.mobile-menu-item{margin-bottom:2rem;padding-bottom:1.5rem;border-bottom:1px solid var(--color-border)}.mobile-menu-item:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0}.mobile-menu-label{display:block;margin-bottom:.75rem;font-weight:600;color:var(--color-text);font-size:.875rem;font-family:Montserrat,sans-serif;text-transform:uppercase;letter-spacing:.5px;opacity:.8}.mobile-menu-control{display:flex;width:100%}.mobile-menu-control .field{width:100%;margin:0}.mobile-menu-control .select,.mobile-menu-control .country-select{width:100%}.mobile-menu-control .country-select,.mobile-menu-control .select select{width:100%;background-color:var(--color-surface);border:1px solid var(--color-border);color:var(--color-text);padding:.75rem;border-radius:4px;font-size:.9375rem;transition:all .2s ease;font-family:Open Sans,sans-serif}.mobile-menu-control .country-select:focus,.mobile-menu-control .select select:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px #2c3e501a;outline:none}.mobile-menu-control .share-button-icon,.mobile-menu-control .dark-mode-toggle{width:100%;justify-content:center;padding:.75rem;background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:4px;transition:all .2s ease;min-height:48px;font-size:1rem}.mobile-menu-control .share-button-icon:hover,.mobile-menu-control .dark-mode-toggle:hover{background-color:var(--color-background);border-color:var(--color-primary);transform:translateY(-1px);box-shadow:0 2px 4px #0000001a}.mobile-menu-control .share-button-icon:active,.mobile-menu-control .dark-mode-toggle:active{transform:translateY(0)}.mobile-menu-settings-button{width:100%;justify-content:center;background-color:var(--color-primary);color:var(--color-primary-text)!important;border:1px solid var(--color-primary);font-weight:600;padding:.875rem 1rem;transition:all .2s ease;font-size:.875rem;min-height:48px;white-space:normal;word-wrap:break-word;overflow-wrap:break-word;text-align:center;line-height:1.4;display:flex;align-items:center;text-overflow:ellipsis}.mobile-menu-settings-button:hover{background-color:var(--color-hover-bg);border-color:var(--color-hover-bg);color:var(--color-hover-text)!important;transform:translateY(-1px);box-shadow:0 2px 6px #00000026}.mobile-menu-settings-button:active{transform:translateY(0);box-shadow:0 1px 3px #0000001a}[data-theme=dark] .mobile-menu-settings-button{background-color:var(--color-primary);color:var(--color-primary-text)!important}[data-theme=dark] .mobile-menu-settings-button:hover{background-color:var(--color-hover-bg);color:var(--color-hover-text)!important}.header-country-selector{display:flex;align-items:center}.country-selector-compact,.country-selector-compact .field{margin:0}.country-select-wrapper{position:relative;display:inline-block}.country-select-wrapper:after,.country-select-wrapper.select:after,.country-select-wrapper.select:not(.is-multiple):not(.is-loading):after{display:none!important;content:none!important}.country-select{font-family:Open Sans,sans-serif;font-size:.9rem;color:transparent;border-color:var(--color-primary);background-color:transparent;padding:0;border-radius:4px;cursor:pointer;transition:all .3s ease;appearance:none;-webkit-appearance:none;-moz-appearance:none;min-width:2.5rem;width:2.5rem;height:2.5rem;text-indent:-9999px;box-sizing:border-box;opacity:.8}.country-select:hover{background-color:var(--color-hover-bg);opacity:1}.country-flag-display{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);pointer-events:none;font-size:1.2rem;z-index:2;line-height:1}.country-select:focus{border-color:var(--color-secondary);box-shadow:0 0 0 .125em #1abc9c40;outline:none}.share-button-icon{background-color:transparent;border:1px solid var(--color-primary);color:var(--color-primary);padding:0;border-radius:4px;cursor:pointer;font-size:1rem;transition:all .3s ease;opacity:.8;display:flex;align-items:center;justify-content:center;min-width:2.5rem;width:2.5rem;height:2.5rem;box-sizing:border-box}.share-button-icon:hover{background-color:var(--color-hover-bg);color:var(--color-hover-text);opacity:1}.share-button-icon.is-success{background-color:var(--color-success);border-color:var(--color-success);color:var(--color-white)}.app-title{font-family:Montserrat,sans-serif;font-size:1.25rem;font-weight:400;color:var(--color-primary);margin:0}.dark-mode-toggle{background-color:transparent;border:1px solid var(--color-primary);color:var(--color-primary);padding:0;border-radius:4px;cursor:pointer;font-size:1rem;transition:all .3s ease;opacity:.8;display:flex;align-items:center;justify-content:center;min-width:2.5rem;width:2.5rem;height:2.5rem;box-sizing:border-box}.dark-mode-toggle:hover{background-color:var(--color-hover-bg);color:var(--color-hover-text);opacity:1}.config-button{background-color:transparent;border:1px solid var(--color-primary);color:var(--color-primary);padding:0;border-radius:4px;cursor:pointer;font-size:1rem;transition:all .3s ease;opacity:.8;display:flex;align-items:center;justify-content:center;min-width:2.5rem;width:2.5rem;height:2.5rem}.config-button:hover{background-color:var(--color-hover-bg);color:var(--color-hover-text);opacity:1}.app-main{flex:1;padding:1rem 0}.stats-section{margin-top:2rem;margin-bottom:2rem}.stats-section .columns{display:flex;align-items:stretch}.stats-section .column{display:flex}.stats-card{background-color:var(--color-surface);border-radius:8px;padding:1.5rem;box-shadow:0 2px 8px #0000001a;transition:transform .3s ease,box-shadow .3s ease;text-align:center;width:100%;display:flex;flex-direction:column;height:100%}.stats-card:hover{transform:translateY(-4px);box-shadow:0 4px 16px #00000026}.stats-card-label{font-family:Open Sans,sans-serif;font-size:.9rem;font-weight:400;color:var(--color-text);text-transform:uppercase;letter-spacing:.5px;margin-bottom:.5rem}.stats-card-value{font-family:Montserrat,sans-serif;font-size:3.5rem;font-weight:800;color:var(--color-primary);line-height:1;margin:1rem 0}.stats-card-value.accent-text{color:var(--color-accent)}.stats-card-description{font-family:Open Sans,sans-serif;font-size:.85rem;font-weight:300;color:var(--color-text);opacity:.7;margin-top:.5rem}.highlight-card{border:2px solid var(--color-secondary)}.progress-bar-container{width:100%;height:8px;background-color:var(--color-background);border-radius:4px;margin-top:1.5rem;overflow:hidden}.progress-bar-fill{height:100%;background-color:var(--color-success);border-radius:4px;transition:width .5s ease}.progress-bar-fill.working-days-progress{background-color:#5dade2}.progress-bar-fill.holidays-progress{background-color:#27ae60}.progress-bar-fill.current-quarter-progress{background-color:var(--color-accent)}.calendar-section{margin-top:1rem}.calendar-card{background-color:var(--color-surface);border-radius:8px;padding:1rem;box-shadow:0 2px 8px #0000001a}.calendar-view{width:100%}.calendar-table-fixed{height:500px;overflow:hidden}.calendar-table{height:500px;table-layout:fixed;width:100%}.calendar-table thead tr{height:40px}.calendar-table tbody{height:460px}.calendar-table tbody tr{height:calc(460px / 6)}.week-number-header{width:60px;font-weight:600;color:var(--color-text);background-color:var(--color-surface);border-right:2px solid var(--color-border)}.week-number-cell{width:60px;text-align:center;font-weight:600;color:var(--color-text);background-color:var(--color-background);border-right:2px solid var(--color-border);vertical-align:middle;font-size:.9rem;font-family:Montserrat,sans-serif}.week-number-cell.is-current-week{background-color:#e67e2233;font-weight:700}.calendar-day{height:100%;box-sizing:border-box}.calendar-day-empty{background-color:transparent!important;border:1px solid transparent!important;cursor:default!important;visibility:hidden}.calendar-day-empty:hover{transform:none!important;box-shadow:none!important}.calendar-day{position:relative;min-height:80px;padding:.5rem;cursor:pointer;transition:all .2s ease;vertical-align:top;background-color:var(--color-surface);border:1px solid var(--color-border)}.calendar-day:hover{background-color:var(--color-background);transform:scale(1.02);z-index:1;box-shadow:0 2px 8px #0000001a}.calendar-day.is-other-month{background-color:var(--color-background);opacity:.5}.calendar-day.is-weekend{background-color:#9b59b6;color:var(--color-white)}.calendar-day.is-weekend:not(.is-holiday){background-color:#9b59b6;color:var(--color-white)}.calendar-day.is-holiday{background-color:#27ae60;color:var(--color-white);font-weight:600;border:2px solid #1E8449}.calendar-day.is-working-day:not(.is-holiday):not(.is-weekend){background-color:#5dade2;color:#34495e;font-weight:500}.calendar-day.is-selected{background-color:var(--color-secondary);border:2px solid var(--color-primary);color:var(--color-white)}.calendar-day.is-holiday.is-weekend{background-color:#27ae60;border:2px solid #1E8449;color:var(--color-white)}.calendar-day.is-today{background-color:#e67e22!important;color:var(--color-white)!important;font-weight:700!important;border:2px solid var(--color-primary)!important}.calendar-day-number{font-size:1rem;font-weight:600;font-family:Montserrat,sans-serif}.calendar-day-indicator{position:absolute;bottom:.25rem;right:.25rem;font-size:.75rem}.holiday-indicator{color:var(--color-white)}.working-indicator{color:var(--color-white);font-size:.6rem;font-weight:700}.weekend-indicator{color:var(--color-white);font-size:.6rem}.calendar-day-small{position:relative;min-height:50px;padding:.25rem;cursor:pointer;transition:all .2s ease;vertical-align:top;font-size:.75rem;background-color:var(--color-surface);border:1px solid var(--color-border)}.calendar-day-small:hover{background-color:var(--color-background);transform:scale(1.05);z-index:1}.calendar-day-small.is-other-month{background-color:var(--color-background);opacity:.5}.calendar-day-small.is-weekend{background-color:#9b59b6;color:var(--color-white)}.calendar-day-small.is-weekend:not(.is-holiday){background-color:#9b59b6;color:var(--color-white)}.calendar-day-small.is-holiday{background-color:#27ae60;color:var(--color-white);font-weight:600;border:1px solid #1E8449}.calendar-day-small.is-working-day:not(.is-holiday):not(.is-weekend){background-color:#5dade2;color:#34495e;font-weight:500}.calendar-day-small.is-selected{background-color:var(--color-secondary);border:1px solid var(--color-primary);color:var(--color-white)}.calendar-day-small.is-holiday.is-weekend{background-color:#27ae60;border:1px solid #1E8449;color:var(--color-white)}.calendar-day-small.is-today{background-color:#e67e22!important;color:var(--color-white)!important;font-weight:700!important}.calendar-day-number-small{font-size:.7rem;font-weight:600;font-family:Montserrat,sans-serif}.holiday-dot,.working-dot,.weekend-dot{font-size:.5rem;position:absolute;bottom:.1rem;right:.1rem}.weekend-dot{color:var(--color-white)}.week-number-header-small,.week-number-header-tiny{width:30px;font-weight:600;color:var(--color-text);background-color:var(--color-surface);border-right:2px solid var(--color-border);font-size:.7rem}.week-number-cell-small,.week-number-cell-tiny{width:30px;text-align:center;font-weight:600;color:var(--color-text);background-color:var(--color-background);border-right:2px solid var(--color-border);vertical-align:middle;font-size:.65rem;font-family:Montserrat,sans-serif;padding:.25rem .15rem}.week-number-cell-small.is-current-week,.week-number-cell-tiny.is-current-week{background-color:#e67e2233;font-weight:700}.week-number-cell-tiny{font-size:.55rem;padding:.15rem .1rem}.calendar-day-tiny{position:relative;min-height:30px;padding:.15rem;cursor:pointer;transition:all .2s ease;vertical-align:top;font-size:.6rem;background-color:var(--color-surface);border:1px solid var(--color-border)}.calendar-day-tiny:hover{background-color:var(--color-background);transform:scale(1.1);z-index:1}.calendar-day-tiny.is-other-month{background-color:var(--color-background);opacity:.5}.calendar-day-tiny.is-weekend{background-color:#9b59b6;color:var(--color-white)}.calendar-day-tiny.is-weekend:not(.is-holiday){background-color:#9b59b6;color:var(--color-white)}.calendar-day-tiny.is-holiday{background-color:#27ae60;color:var(--color-white);font-weight:600;border:1px solid #1E8449}.calendar-day-tiny.is-working-day:not(.is-holiday):not(.is-weekend){background-color:#5dade2;color:#34495e;font-weight:500}.calendar-day-tiny.is-selected{background-color:var(--color-secondary);border:1px solid var(--color-primary);color:var(--color-white)}.calendar-day-tiny.is-holiday.is-weekend{background-color:#27ae60;border:1px solid #1E8449;color:var(--color-white)}.calendar-day-tiny.is-today{background-color:#e67e22!important;color:var(--color-white)!important;font-weight:700!important}.calendar-day-number-tiny{font-size:.6rem;font-weight:600;font-family:Montserrat,sans-serif}.holiday-dot-tiny,.working-dot-tiny,.weekend-dot-tiny{font-size:.4rem;position:absolute;bottom:.05rem;right:.05rem}.weekend-dot-tiny{color:var(--color-white)}.calendar-legend{display:flex;gap:1rem;flex-wrap:wrap;margin-bottom:1.5rem}.calendar-legend .tag{display:flex;align-items:center;gap:.5rem;background-color:var(--color-surface);color:var(--color-text);border:1px solid var(--color-border);font-family:Open Sans,sans-serif;font-weight:400}.legend-dot{display:inline-block;width:12px;height:12px;border-radius:50%;margin-right:.25rem}.selected-indicator{display:inline-block;width:12px;height:12px;background-color:var(--color-secondary);border:1px solid var(--color-primary);border-radius:2px}.calendar-view .level{margin-bottom:1.5rem}.calendar-view .button{background-color:var(--color-primary);color:var(--color-white);border:none;transition:all .3s ease;font-family:Montserrat,sans-serif;font-weight:600}.calendar-view .button:hover{background-color:var(--color-secondary);transform:translateY(-2px);box-shadow:0 4px 8px #0003}.calendar-view .button.is-active,.calendar-view .button.is-primary{background-color:var(--color-secondary)}.calendar-view .button:not(.is-primary):not(.is-active){background-color:var(--color-background);color:var(--color-primary);border:1px solid var(--color-primary)}.calendar-view .button:not(.is-primary):not(.is-active):hover{background-color:var(--color-primary);color:var(--color-white)}.calendar-view .title{color:var(--color-primary);font-family:Montserrat,sans-serif}.app-footer{background-color:var(--color-background);color:var(--color-text);padding:1.5rem 0;text-align:left;position:relative;z-index:99;margin-top:0}.footer-content{font-family:Open Sans,sans-serif;font-weight:300;font-size:.9rem;opacity:.7}.modal{z-index:9999!important;position:fixed!important}.modal.is-active{z-index:9999!important}.modal-background{background-color:var(--color-modal-overlay);z-index:9998!important;position:fixed!important;transition:background-color .3s ease}.modal-card{border-radius:8px;box-shadow:0 4px 16px #0003;background-color:var(--color-surface);color:var(--color-text);z-index:10000!important;position:relative;transition:background-color .3s ease,color .3s ease}.modal-card-head{background-color:transparent;color:var(--color-primary);border-bottom:1px solid var(--color-border);border-radius:8px 8px 0 0;padding:1.5rem}.modal-card-title{font-family:Montserrat,sans-serif;color:var(--color-primary);font-weight:600;font-size:1.5rem}.modal-card-head .delete{background-color:transparent;border:1px solid var(--color-primary);opacity:.6;transition:all .3s ease}.modal-card-head .delete:hover{opacity:1;background-color:var(--color-primary);border-color:var(--color-primary)}.modal-card-head .delete:before,.modal-card-head .delete:after{background-color:var(--color-primary);transition:background-color .3s ease}.modal-card-body{background-color:var(--color-surface);color:var(--color-text);padding:1.5rem;transition:background-color .3s ease,color .3s ease}.modal-card-foot{background-color:var(--color-surface);border-top:1px solid var(--color-border);border-radius:0 0 8px 8px;padding:1rem 1.5rem}.modal-card-foot .button{background-color:var(--color-primary);color:var(--color-white);border:none;transition:all .3s ease;font-family:Montserrat,sans-serif;font-weight:600}.modal-card-foot .button:hover{background-color:var(--color-secondary);transform:translateY(-2px);box-shadow:0 4px 8px #0003}.label{color:var(--color-text);font-family:Montserrat,sans-serif;font-weight:600;font-size:.9rem}.input,.select select{border-color:var(--color-border);background-color:var(--color-surface);transition:border-color .3s ease,background-color .3s ease,color .3s ease;color:var(--color-text);font-family:Open Sans,sans-serif}.input:focus,.select select:focus{border-color:var(--color-secondary);box-shadow:0 0 0 .125em #1abc9c40}.select select{background-color:var(--color-surface)}.help{color:var(--color-text);opacity:.7;font-family:Open Sans,sans-serif}.help a{color:var(--color-secondary);text-decoration:none}.help a:hover{color:var(--color-primary);text-decoration:underline}.button.is-primary{background-color:var(--color-secondary);color:var(--color-white);transition:all .3s ease;border:none;font-family:Montserrat,sans-serif;font-weight:600}.button.is-primary:hover{background-color:var(--color-primary);color:var(--color-white);transform:translateY(-2px);box-shadow:0 4px 8px #0003}[data-theme=dark] .button.is-primary:hover{background-color:#16a085;color:var(--color-white)}.button.is-light{background-color:var(--color-surface);color:var(--color-text);border:1px solid var(--color-border);font-family:Montserrat,sans-serif;font-weight:400}.button.is-light:hover{background-color:var(--color-hover-bg);border-color:var(--color-primary);color:var(--color-hover-text)}.button.is-success{background-color:var(--color-success);color:var(--color-white);border:none;font-family:Montserrat,sans-serif;font-weight:600}.button.is-success:hover{background-color:#229954;transform:translateY(-2px);box-shadow:0 4px 8px #0003}.box{background-color:var(--color-surface);border-radius:8px;box-shadow:0 2px 8px #0000001a}.box .title{color:var(--color-primary);font-family:Montserrat,sans-serif}.table{background-color:var(--color-surface)}.table thead th{color:var(--color-primary);font-family:Montserrat,sans-serif;font-weight:600}.table tbody tr:hover{background-color:var(--color-background)}.tag{background-color:var(--color-background);color:var(--color-text)}.tag.is-info{background-color:var(--color-secondary);color:var(--color-white)}.tag.holiday-tag{background-color:var(--color-accent);color:var(--color-white);font-weight:500}@media (max-width: 768px){.container{padding:0 .75rem}.app-title{font-size:1.25rem}.app-header{padding:.5rem 0}.header-content{flex-wrap:wrap;gap:.5rem}.desktop-controls{display:none!important}.mobile-menu-button{display:flex!important}.mobile-menu-overlay,.mobile-menu-drawer{display:block}.header-controls{display:none}.header-country-selector{width:auto}.country-select{width:auto;min-width:80px;font-size:.875rem}.config-button,.share-button-icon,.dark-mode-toggle{min-width:44px;min-height:44px;font-size:1.2rem}.app-main{padding:.5rem 0;padding-bottom:0}.calendar-section{margin:.5rem 0}.calendar-card{padding:.75rem;overflow-x:auto;-webkit-overflow-scrolling:touch}.table-container{overflow-x:auto;-webkit-overflow-scrolling:touch;width:100%;-ms-overflow-style:-ms-autohiding-scrollbar}.calendar-table-fixed{overflow-x:auto;-webkit-overflow-scrolling:touch;min-height:300px;max-height:70vh;width:100%;-ms-overflow-style:-ms-autohiding-scrollbar}.calendar-table{width:max-content;min-width:100%;height:auto}.calendar-table{min-width:100%;font-size:.875rem;height:auto}.calendar-table-fixed{height:70vh;display:block}.calendar-table{height:100%;display:table;table-layout:fixed}.calendar-table thead{height:40px;display:table-header-group}.calendar-table tbody{height:calc(70vh - 40px);display:table-row-group}.calendar-table tbody tr{height:calc(11.67vh - 6.67px);display:table-row}.calendar-table tbody tr{min-height:calc(11.67vh - 6.67px);max-height:calc(11.67vh - 6.67px)}.calendar-table th{padding:.5rem .25rem;font-size:.75rem}.week-number-header{width:40px;font-size:.75rem}.week-number-cell{width:40px;font-size:.75rem;padding:.25rem}.calendar-day{min-height:50px;padding:.25rem;touch-action:manipulation;-webkit-tap-highlight-color:rgba(0,0,0,.1)}.calendar-day:hover{transform:none}.calendar-day:active{background-color:var(--color-background);transform:scale(.98)}.calendar-day-number{font-size:.875rem}.calendar-day-indicator{width:6px;height:6px}.calendar-view .level{flex-wrap:wrap;gap:.5rem}.calendar-view .button{min-height:44px;padding:.5rem .75rem;font-size:.875rem;touch-action:manipulation}.stats-section{margin:.5rem 0}.stats-section .columns{flex-direction:column;margin:0}.stats-section .column{padding:.5rem}.stats-card{padding:1rem;margin-bottom:.75rem}.stats-card-title{font-size:.875rem}.stats-card-value{font-size:2rem}.stats-card-description{font-size:.75rem}.progress-bar-container{margin-top:1rem}.calendar-legend{flex-wrap:wrap;gap:.5rem;font-size:.75rem}.calendar-legend .tag{font-size:.7rem;padding:.25rem .5rem}.app-footer{margin-top:0;padding:.75rem 0;font-size:.875rem}.calendar-day-small{min-height:35px;padding:.2rem;font-size:.7rem}.calendar-day-tiny{min-height:25px;padding:.15rem;font-size:.6rem}.modal-card{width:95%!important;max-width:95%!important;margin:1rem auto;max-height:90vh;overflow-y:auto;-webkit-overflow-scrolling:touch}.modal-card-body{padding:1rem;max-height:calc(90vh - 120px);overflow-y:auto;-webkit-overflow-scrolling:touch}.modal-card-foot{padding:.75rem;flex-wrap:wrap}.modal-card-foot .button{min-height:44px;flex:1;min-width:120px}}@media (max-width: 480px){.app-title{font-size:1.1rem}.container{padding:0 .5rem}.calendar-day{min-height:45px;padding:.2rem}.calendar-day-number{font-size:.8rem}.calendar-table th{padding:.4rem .15rem;font-size:.7rem}.week-number-header,.week-number-cell{width:35px;font-size:.7rem}.stats-card-value{font-size:1.75rem}.calendar-view .button{font-size:.8rem;padding:.4rem .6rem}}@media (hover: none) and (pointer: coarse){.calendar-day:hover{transform:none;box-shadow:none}.calendar-day:active{background-color:var(--color-background);transform:scale(.95)}.button:hover{transform:none}.button:active{transform:scale(.95)}.calendar-day{min-height:50px}.button{min-height:44px;min-width:44px}}.calendar-day,.button,.config-button,.share-button-icon,.dark-mode-toggle{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-touch-callout:none}
