@import"https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@0,400;0,500;0,600;0,700;1,400;1,500;1,700&family=EB+Garamond:ital,wght@0,400;0,500;1,400;1,500&display=swap";.hamburger-button{display:none;position:fixed;top:1rem;left:1rem;z-index:1001;width:44px;height:44px;padding:.5rem;background:var(--surface);border:1px solid var(--border);border-radius:4px;cursor:pointer;align-items:center;justify-content:center}.hamburger-button:hover{background:var(--border)}.hamburger-icon{font-size:1.5rem;line-height:1}.mobile-menu-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000b3;z-index:999;animation:fadeIn .3s}.mobile-menu{position:fixed;left:-280px;top:0;bottom:0;width:280px;background:var(--surface);border-right:1px solid var(--border);z-index:1000;display:flex;flex-direction:column;transition:left .3s ease-in-out;overflow-y:auto}.mobile-menu.open{left:0}.mobile-menu-header{display:flex;align-items:center;justify-content:space-between;padding:1.5rem 1rem;border-bottom:1px solid var(--border)}.mobile-menu-header h2{font-size:1.25rem;font-weight:600;margin:0}.close-button{width:44px;height:44px;padding:.5rem;font-size:1.5rem;display:flex;align-items:center;justify-content:center;background:transparent;border:none;cursor:pointer;color:var(--text)}.close-button:hover{background:var(--border)}.mobile-menu-links{flex:1;display:flex;flex-direction:column;gap:.5rem;padding:1rem}.mobile-menu-links a{display:flex;align-items:center;padding:1rem;text-decoration:none;color:var(--text);border-radius:4px;min-height:44px;font-size:1rem;transition:all .2s}.mobile-menu-links a:hover{background:var(--border)}.mobile-menu-links a.active{background:var(--primary);color:#fff}.mobile-menu-footer{display:flex;flex-direction:column;gap:1rem;padding:1.5rem 1rem;border-top:1px solid var(--border)}.mobile-user-email{font-size:.875rem;color:var(--text-dim);text-align:center;word-break:break-all}.mobile-logout-btn{width:100%;min-height:44px}@media (max-width: 768px){.hamburger-button{display:flex}}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000bf;display:flex;align-items:center;justify-content:center;z-index:2000;padding:1rem;animation:fadeIn .2s ease-out}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal-content{background:var(--surface);border:1px solid var(--border);border-radius:8px;max-width:500px;width:100%;max-height:90vh;overflow-y:auto;animation:slideUp .2s ease-out;box-shadow:0 20px 25px -5px #0000004d}@keyframes slideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.modal-warning{border-left:4px solid var(--warning)}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem;border-bottom:1px solid var(--border)}.modal-header h3{margin:0;font-size:1.25rem;font-weight:600}.modal-close{background:transparent;border:none;font-size:2rem;line-height:1;color:var(--text-dim);padding:0;width:2rem;height:2rem;cursor:pointer;transition:color .2s}.modal-close:hover{color:var(--text);background:transparent}.modal-body{padding:1.5rem}.modal-body p{margin:0 0 1rem;line-height:1.6;color:var(--text)}.modal-body p:last-child{margin-bottom:0}.modal-input{margin-top:1rem;width:100%;padding:.75rem;font-size:1rem}.modal-actions{display:flex;justify-content:flex-end;gap:.75rem;padding:1.5rem;border-top:1px solid var(--border)}.modal-actions button{min-width:100px}.config-form .form-group{margin-bottom:1.5rem}.config-form .form-group:last-of-type{margin-bottom:1rem}.config-form label{display:block;margin-bottom:.5rem;font-weight:500;color:var(--text)}.config-form .modal-input{margin-top:0}.config-form .info-text{margin-top:1rem;padding:1rem;background:var(--surface-secondary, rgba(255, 255, 255, .05));border-radius:4px;border-left:3px solid var(--primary)}.config-form .info-text p{margin:0;font-size:.875rem;color:var(--text-dim)}.config-form .error-banner{padding:.75rem;background:#dc26261a;border:1px solid rgba(220,38,38,.3);border-radius:4px;color:#dc2626;font-size:.875rem;margin-bottom:1rem}.home{display:flex;flex-direction:column;gap:2rem}.home-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:2rem}.timer-card{text-align:center}.timer{font-size:3rem;font-weight:700;margin:2rem 0;color:var(--primary);font-variant-numeric:tabular-nums}.timer-card button{width:100%;padding:1rem;font-size:1.125rem;font-weight:600}.flex-card{text-align:center}.flex-value{font-size:2rem;font-weight:700;margin:2rem 0;font-variant-numeric:tabular-nums}.flex-value.positive{color:var(--success)}.flex-value.negative{color:var(--danger)}.favorites-card h3{margin-bottom:1rem}.favorites{display:flex;flex-wrap:wrap;gap:.5rem}.pill{padding:.5rem 1rem;border-radius:20px;font-size:.875rem;background:var(--surface);border:1px solid var(--border)}.pill:hover:not(:disabled){border-color:var(--primary)}.pill.active{background:var(--primary);color:#fff;border-color:var(--primary)}.pill:disabled{opacity:.5;cursor:not-allowed}@media (max-width: 768px){.home{gap:1.5rem}.home-grid{grid-template-columns:1fr;gap:1rem}.timer{font-size:2.5rem;margin:1.5rem 0}.flex-value{font-size:1.75rem;margin:1.5rem 0}.timer-card button{padding:.875rem;font-size:1rem}}@media (max-width: 480px){.home{gap:1rem}.timer{font-size:2rem;margin:1rem 0}.flex-value{font-size:1.5rem;margin:1rem 0}.favorites{gap:.75rem}.pill{min-height:44px;display:flex;align-items:center;justify-content:center}}.history-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.history-top h1{margin:0}.info-banner{background:var(--surface);border:1px solid var(--border);border-left:3px solid var(--primary);padding:1rem;border-radius:4px;margin-bottom:1.5rem;color:var(--text-dim)}.history-header{display:flex;align-items:center;justify-content:center;gap:1rem;margin-bottom:2rem}.month-year-display{font-size:1.5rem;font-weight:600;min-width:250px;text-align:center}.nav-arrow{width:3rem;height:3rem;font-size:1.5rem;display:flex;align-items:center;justify-content:center;padding:0}.today-btn{margin-left:auto}.calendar-day.outside-month{opacity:.3;pointer-events:none}.calendar{display:flex;flex-direction:column;gap:1px;background:var(--border);border:1px solid var(--border);border-radius:8px;overflow:hidden}.calendar-header{display:grid;grid-template-columns:repeat(7,1fr);background:var(--surface);gap:1px}.calendar-day-name{padding:.75rem;text-align:center;font-weight:600;font-size:.875rem;background:var(--surface)}.calendar-week{display:grid;grid-template-columns:repeat(7,1fr);gap:1px}.calendar-day{aspect-ratio:1;padding:.5rem;background:var(--surface);cursor:pointer;display:flex;flex-direction:column;justify-content:space-between;transition:opacity .2s}.calendar-day:hover{opacity:.8}.calendar-day.status-workday{border-left:3px solid var(--workday)}.calendar-day.status-weekend{border-left:3px solid var(--weekend)}.calendar-day.status-vacation{border-left:3px solid var(--vacation)}.calendar-day.status-sick{border-left:3px solid var(--sick)}.calendar-day.status-not_worked{border-left:3px solid var(--not-worked)}.day-number{font-weight:600;font-size:.875rem}.day-progress{width:100%;height:4px;background:var(--border);border-radius:2px;overflow:hidden}.drawer-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem}.drawer-header button{font-size:2rem;padding:0;width:2.5rem;height:2.5rem;background:transparent;border:none}.drawer-content{display:flex;flex-direction:column;gap:2rem}.day-summary{display:flex;justify-content:space-between;padding:1rem;background:var(--bg);border-radius:4px}.summary-item{display:flex;flex-direction:column;gap:.25rem}.summary-item span{font-size:.875rem;color:var(--text-dim)}.section h3{margin-bottom:1rem}.status-buttons{display:flex;flex-wrap:wrap;gap:.5rem}.status-btn{padding:.5rem 1rem;border-radius:4px;font-size:.875rem;text-transform:capitalize}.status-btn.status-workday{border-color:var(--workday)}.status-btn.status-workday.active{background:var(--workday);color:#fff}.status-btn.status-weekend{border-color:var(--weekend)}.status-btn.status-weekend.active{background:var(--weekend);color:#fff}.status-btn.status-vacation{border-color:var(--vacation)}.status-btn.status-vacation.active{background:var(--vacation);color:#fff}.status-btn.status-sick{border-color:var(--sick)}.status-btn.status-sick.active{background:var(--sick);color:#fff}.status-btn.status-not_worked{border-color:var(--not-worked)}.status-btn.status-not_worked.active{background:var(--not-worked);color:#fff}.sessions-list{display:flex;flex-direction:column;gap:.5rem}.session-item{display:flex;justify-content:space-between;align-items:center;padding:.75rem;background:var(--bg);border-radius:4px}.session-item.clickup-session{border-left:3px solid var(--primary)}.session-info{display:flex;flex-direction:column;gap:.25rem;flex:1}.session-time{display:flex;align-items:center;gap:.5rem;font-weight:500}.session-task{font-size:.875rem;color:var(--text-dim)}.clickup-badge{font-size:.75rem;padding:.125rem .5rem;background:var(--primary);color:#fff;border-radius:4px;font-weight:600}.empty-text{color:var(--text-dim);font-size:.875rem}.add-session-form{display:flex;flex-direction:column;gap:1rem}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.form-row label{display:block;margin-bottom:.5rem;font-size:.875rem;color:var(--text-dim)}@media (max-width: 768px){.history-top{flex-direction:column;align-items:stretch;gap:1rem}.history-top h1{font-size:1.5rem}.history-top button{width:100%}.history-header{flex-wrap:wrap;margin-bottom:1.5rem}.month-year-display{font-size:1.25rem;min-width:180px}.nav-arrow{width:2.5rem;height:2.5rem;font-size:1.25rem}.calendar-day-name{font-size:.75rem;padding:.5rem .25rem}.calendar-day{padding:.25rem;min-height:60px}.day-number{font-size:.75rem}.day-progress{height:3px}.status-buttons{flex-direction:column;gap:.75rem}.status-btn{width:100%;min-height:44px}.drawer-header button{min-width:44px;min-height:44px}.form-row{grid-template-columns:1fr;gap:1rem}.day-summary{flex-direction:column;gap:1rem}.session-item{flex-direction:column;align-items:flex-start;gap:.75rem}}@media (max-width: 480px){.history-top h1{font-size:1.25rem}.month-year-display{font-size:1.125rem;min-width:150px}.nav-arrow{width:2.25rem;height:2.25rem;font-size:1.125rem}.calendar-day-name{font-size:.625rem;padding:.375rem .125rem}.calendar-day{padding:.15rem;font-size:.625rem}.drawer-content{gap:1.5rem}}.stats{display:flex;flex-direction:column;gap:2rem}.stats h1{margin:0}.tabs{display:flex;gap:.5rem;border-bottom:2px solid var(--border);padding-bottom:.5rem}.tab{padding:.75rem 1.5rem;background:transparent;border:none;border-bottom:2px solid transparent;font-size:1rem;font-weight:500;color:var(--text-dim);cursor:pointer;transition:all .2s;margin-bottom:-.5rem}.tab:hover{color:var(--text);background:transparent}.tab.active{color:var(--primary);border-bottom-color:var(--primary)}.current-period-card{background:linear-gradient(135deg,var(--surface) 0%,#252525 100%)}.current-period-card h2{margin-bottom:1.5rem;font-size:1.25rem}.period-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:2rem}.stat-item{text-align:center}.stat-value{font-size:2.5rem;font-weight:700;color:var(--primary);font-variant-numeric:tabular-nums}.stat-label{font-size:.875rem;color:var(--text-dim);margin-top:.5rem;text-transform:uppercase;letter-spacing:.05em}.chart-card h3{margin-bottom:1.5rem;font-size:1.125rem}.empty-chart{height:400px;display:flex;align-items:center;justify-content:center}.empty-chart p{color:var(--text-dim);font-size:1rem}@media (max-width: 768px){.stats{gap:1.5rem}.stats h1{font-size:1.5rem}.tabs{justify-content:center;flex-wrap:wrap}.tab{padding:.75rem 1rem;font-size:.875rem;min-height:44px}.period-stats{grid-template-columns:1fr;gap:1.5rem}.stat-value{font-size:2rem}.chart-card h3{font-size:1rem;margin-bottom:1rem}.empty-chart{height:300px}}@media (max-width: 480px){.stats h1{font-size:1.25rem}.current-period-card h2{font-size:1rem}.stat-value{font-size:1.75rem}.stat-label{font-size:.75rem}}.tasks-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem}.tasks-header-actions{display:flex;gap:.75rem;flex-wrap:wrap}.info-banner{background:var(--surface);border:1px solid var(--border);border-left:3px solid var(--warning);padding:1rem;border-radius:4px;margin-bottom:2rem;color:var(--text-dim)}.info-banner strong{color:var(--text);font-weight:600}.tasks-list{display:flex;flex-direction:column;gap:1rem}.task-card{padding:1.5rem}.task-header{display:flex;justify-content:space-between;align-items:start;margin-bottom:1rem}.task-header h3{margin-bottom:.25rem}.task-description{font-size:.875rem;color:var(--text-dim);margin:0}.task-badges{display:flex;gap:.5rem}.favorite-badge{background:var(--warning);color:#fff}.today-badge{background:var(--primary);color:#fff}.task-actions{display:flex;gap:.5rem;flex-wrap:wrap}.task-actions button{flex:1;min-width:120px}@media (max-width: 768px){.tasks-header{flex-direction:column;align-items:stretch;gap:1rem}.tasks-header h1{font-size:1.5rem}.tasks-header-actions{width:100%}.tasks-header-actions button{flex:1}.task-card{padding:1rem}.task-header{flex-direction:column;gap:1rem}.task-badges{justify-content:flex-start}.task-actions button{flex:1 1 100%;min-height:44px}}.settings h1{margin-bottom:2rem}.settings-form{display:flex;flex-direction:column;gap:2rem}.section h2{margin-bottom:1.5rem;font-size:1.25rem}.form-group{margin-bottom:1.5rem}.form-group:last-child{margin-bottom:0}.form-group label{display:block;margin-bottom:.5rem;font-weight:500}.form-group small{display:block;margin-top:.25rem;font-size:.875rem;color:var(--text-dim)}.info-box{background:var(--bg);padding:1rem;border-radius:4px;border-left:3px solid var(--primary);margin-top:1rem}.info-box strong{display:block;margin-bottom:.5rem}.info-box p{margin:.5rem 0;font-size:.875rem}.info-box ul{margin:.5rem 0;padding-left:1.5rem;font-size:.875rem}.info-box code{background:var(--surface);padding:.125rem .375rem;border-radius:2px;font-family:Courier New,monospace;font-size:.875rem}.save-button{width:100%;padding:1rem;font-size:1.125rem;font-weight:600}.danger-zone{margin-top:2rem;border-color:var(--danger)}.danger-zone h2{color:var(--danger)}.danger-zone button:disabled{opacity:.5;cursor:not-allowed}.clickup-connected{display:flex;justify-content:space-between;align-items:center;padding:1rem;background:var(--bg);border-radius:4px;border-left:3px solid var(--primary)}.connection-status{display:flex;align-items:center;gap:1rem}.status-badge{padding:.375rem .75rem;border-radius:4px;font-size:.875rem;font-weight:600}.status-badge.connected{background:#22c55e1a;color:#22c55e;border:1px solid rgba(34,197,94,.3)}.connection-info{display:flex;flex-direction:column;gap:.25rem}.connection-info strong{font-size:1rem}.connection-info small{font-size:.875rem;color:var(--text-dim)}.clickup-setup{display:flex;flex-direction:column;gap:1rem}@media (max-width: 768px){.settings h1{font-size:1.5rem}.section h2{font-size:1.125rem}.clickup-connected{flex-direction:column;align-items:stretch;gap:1rem}.connection-status{flex-direction:column;align-items:flex-start;gap:.75rem}.form-group label{font-size:.875rem}.form-group input{font-size:16px}.save-button{padding:.875rem}}.auth-container{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:2rem;background:var(--bg)}.auth-card{width:100%;max-width:400px;background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:2.5rem}.auth-card h1{text-align:center;margin-bottom:.5rem;color:var(--primary);font-size:2rem}.auth-card h2{text-align:center;margin-bottom:2rem;font-size:1.25rem;color:var(--text-dim);font-weight:500}.auth-form{display:flex;flex-direction:column;gap:1.5rem}.auth-form .form-group{display:flex;flex-direction:column;gap:.5rem}.auth-form label{font-size:.875rem;font-weight:500;color:var(--text)}.auth-form input{padding:.75rem;font-size:1rem;border:1px solid var(--border);border-radius:4px;background:var(--bg);color:var(--text)}.auth-form input:focus{outline:none;border-color:var(--primary)}.auth-form small{font-size:.75rem;color:var(--text-dim)}.auth-button{width:100%;padding:.875rem;font-size:1rem;font-weight:600;margin-top:.5rem}.auth-button:disabled{opacity:.6;cursor:not-allowed}.auth-link{text-align:center;margin-top:1.5rem;font-size:.875rem;color:var(--text-dim)}.auth-link a{color:var(--primary);text-decoration:none;font-weight:500}.auth-link a:hover{text-decoration:underline}@media (max-width: 768px){.auth-container{padding:1rem}.auth-card{padding:1.5rem}.auth-card h1{font-size:1.75rem}.auth-card h2{font-size:1.125rem}.auth-form input{font-size:16px}}.vm-page{margin:-2rem;min-height:calc(100vh - 60px);background-color:#f5f0e0;background-image:radial-gradient(ellipse at 20% 30%,rgba(201,168,76,.07) 0%,transparent 55%),radial-gradient(ellipse at 80% 70%,rgba(107,28,46,.06) 0%,transparent 55%),url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='300' height='300'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='300' height='300' filter='url(%23noise)' opacity='0.035'/%3E%3C/svg%3E");position:relative;color:#2e1a0e;font-family:EB Garamond,Georgia,Times New Roman,serif;overflow-x:hidden}.vm-page:before{content:"";position:fixed;top:0;left:0;width:100%;height:100%;pointer-events:none;background:radial-gradient(ellipse 70% 60% at 50% 20%,rgba(255,190,80,.13) 0%,rgba(255,160,60,.07) 35%,transparent 70%);z-index:0}.vm-container{position:relative;z-index:1;max-width:680px;margin:0 auto;padding:4rem 2.5rem 5rem}@keyframes vm-fade-in{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}.vm-header{animation:vm-fade-in 1.1s ease both}.vm-section:nth-child(1){animation:vm-fade-in 1.2s ease .15s both}.vm-section:nth-child(2){animation:vm-fade-in 1.2s ease .25s both}.vm-section:nth-child(3){animation:vm-fade-in 1.2s ease .35s both}.vm-section:nth-child(4){animation:vm-fade-in 1.2s ease .45s both}.vm-section:nth-child(5){animation:vm-fade-in 1.2s ease .55s both}.vm-section:nth-child(6){animation:vm-fade-in 1.2s ease .65s both}.vm-footer{animation:vm-fade-in 1.2s ease .75s both}.vm-header{text-align:center;padding-bottom:2.5rem}.vm-top-ornament{font-size:1.3rem;color:#c9a84c;letter-spacing:.5em;margin-bottom:1.5rem;display:block;opacity:.8}.vm-title{font-family:Playfair Display,Georgia,serif;font-size:clamp(2rem,6vw,3.2rem);font-weight:600;color:#2e1a0e;letter-spacing:.04em;margin:0 0 .4rem;line-height:1.2}.vm-heart{color:#6b1c2e;font-size:1.2rem;display:block;margin:.5rem 0;opacity:.85}.vm-subtitle{font-family:EB Garamond,Georgia,serif;font-style:italic;font-size:1.25rem;color:#5c3d2e;letter-spacing:.12em;margin:0 0 2rem}.vm-header-rule{display:flex;align-items:center;gap:1rem;margin:0 auto;max-width:420px}.vm-header-rule:before,.vm-header-rule:after{content:"";flex:1;height:1px;background:linear-gradient(to right,transparent,#c9a84c,transparent)}.vm-header-rule-gem{color:#c9a84c;font-size:.8rem;letter-spacing:.3em}.vm-separator{text-align:center;color:#c9a84c;font-size:.65rem;letter-spacing:.6em;margin:2.2rem 0;opacity:.7}.vm-section{text-align:center;margin-bottom:0}.vm-section-numeral{font-family:Playfair Display,Georgia,serif;font-style:italic;font-size:.85rem;color:#6b1c2e;letter-spacing:.2em;margin-bottom:.35rem;opacity:.75}.vm-section-title{font-family:Playfair Display,Georgia,serif;font-size:clamp(1.2rem,3.5vw,1.6rem);font-weight:500;color:#6b1c2e;letter-spacing:.08em;margin:0 0 1rem;line-height:1.3}.vm-section-rule{display:flex;align-items:center;gap:.75rem;margin:0 auto 1.8rem;max-width:360px}.vm-section-rule:before,.vm-section-rule:after{content:"";flex:1;height:1px;background:linear-gradient(to right,transparent,#c9a84c80,transparent)}.vm-section-rule-dot{width:4px;height:4px;border-radius:50%;background:#c9a84c;opacity:.7;flex-shrink:0}.vm-dish{margin:0 auto 1.5rem;max-width:480px}.vm-dish:last-child{margin-bottom:0}.vm-dish-name{font-family:Playfair Display,Georgia,serif;font-size:clamp(1rem,3vw,1.2rem);font-weight:500;color:#2e1a0e;margin:0 0 .3rem;letter-spacing:.02em}.vm-dish-desc{font-family:EB Garamond,Georgia,serif;font-style:italic;font-size:clamp(.95rem,2.5vw,1.05rem);color:#5c3d2e;margin:0;line-height:1.6}.vm-dish-note{font-family:EB Garamond,Georgia,serif;font-size:.95rem;color:#7a5c45;margin:.25rem 0 0;opacity:.85}.vm-choice-label{font-family:EB Garamond,Georgia,serif;font-size:.95rem;color:#7a5c45;letter-spacing:.06em;margin:.5rem 0 .4rem;font-style:italic}.vm-choice-list{list-style:none;padding:0;margin:0}.vm-choice-list li{font-family:EB Garamond,Georgia,serif;font-style:italic;font-size:1.05rem;color:#5c3d2e;line-height:1.9}.vm-choice-list li:before{content:"—";margin-right:.5em;color:#c9a84c;opacity:.8}.vm-or{font-family:EB Garamond,Georgia,serif;font-style:italic;font-size:1rem;color:#c9a84c;letter-spacing:.15em;margin:1.4rem 0;opacity:.85}.vm-options{display:flex;flex-direction:column;align-items:center;gap:0}.vm-option{max-width:480px;width:100%;padding:.8rem 0}.vm-option-label{display:block;font-family:EB Garamond,Georgia,serif;font-style:italic;font-size:.9rem;color:#6b1c2e;letter-spacing:.14em;margin-bottom:.3rem;opacity:.8}.vm-option-divider{color:#c9a84c;font-size:.65rem;letter-spacing:.3em;opacity:.6;margin:.4rem 0}.vm-footer{text-align:center;margin-top:3rem;padding-top:2rem}.vm-footer-rule{max-width:380px;margin:0 auto 1.5rem;height:1px;background:linear-gradient(to right,transparent,#c9a84c80,transparent)}.vm-footer-heart{color:#6b1c2e;font-size:1rem;opacity:.7;display:block;margin-bottom:.9rem}.vm-footer-text{font-family:Playfair Display,Georgia,serif;font-style:italic;font-size:clamp(1.05rem,3vw,1.25rem);color:#5c3d2e;letter-spacing:.06em;margin:0;opacity:.85}@media print{.vm-page:before{display:none}.vm-page{background:#fff;margin:0}.vm-container{padding:1rem;max-width:100%}.vm-header,.vm-section,.vm-footer{animation:none;opacity:1;transform:none}}@media (max-width: 768px){.vm-page{margin:-1rem}.vm-container{padding:2.5rem 1.5rem 4rem}.vm-title{font-size:2rem}.vm-section-title{font-size:1.2rem}}@media (max-width: 420px){.vm-container{padding:2rem 1.2rem 3.5rem}.vm-title{font-size:1.75rem}}.app{display:flex;flex-direction:column;min-height:100vh}.nav{background:var(--surface);border-bottom:1px solid var(--border);padding:0 2rem;display:flex;justify-content:space-between;align-items:center;gap:2rem;position:sticky;top:0;z-index:100}.nav-links{display:flex;gap:2rem}.nav-user{display:flex;align-items:center;gap:1rem}.user-email{font-size:.875rem;color:var(--text-dim)}.logout-btn{padding:.5rem 1rem;font-size:.875rem;background:transparent;border:1px solid var(--border);color:var(--text);cursor:pointer;transition:all .2s;border-radius:4px}.logout-btn:hover{background:var(--danger);border-color:var(--danger);color:#fff}.nav a{color:var(--text-dim);text-decoration:none;padding:1rem 0;border-bottom:2px solid transparent;transition:all .2s;font-weight:500}.nav a:hover{color:var(--text)}.nav a.active{color:var(--primary);border-bottom-color:var(--primary)}.main{flex:1;padding:2rem;max-width:1200px;width:100%;margin:0 auto}.main-auth{flex:1;width:100%}@media (max-width: 768px){.nav-desktop{display:none}.nav{gap:1rem;padding:0 1rem}.nav a{padding:1rem .75rem;min-height:44px;display:flex;align-items:center}.logout-btn{min-height:44px;min-width:80px}.user-email{display:none}.main{padding:1rem}}*{margin:0;padding:0;box-sizing:border-box}:root{--bg: #0a0a0a;--surface: #1a1a1a;--border: #333;--text: #e0e0e0;--text-dim: #888;--primary: #3b82f6;--primary-hover: #2563eb;--success: #10b981;--warning: #f59e0b;--danger: #ef4444;--workday: #3b82f6;--weekend: #6366f1;--vacation: #10b981;--sick: #f59e0b;--not-worked: #ef4444}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,sans-serif;background:var(--bg);color:var(--text);line-height:1.5}#root{min-height:100vh}button{font-family:inherit;cursor:pointer;border:none;outline:none;background:var(--surface);color:var(--text);padding:.75rem 1rem;border-radius:4px;border:1px solid var(--border);transition:all .2s;min-height:44px;min-width:44px}button:hover{background:var(--border)}button.primary{background:var(--primary);color:#fff;border-color:var(--primary)}button.primary:hover{background:var(--primary-hover);border-color:var(--primary-hover)}button.danger{background:var(--danger);color:#fff;border-color:var(--danger)}button.danger:hover{opacity:.9}input,select,textarea{font-family:inherit;background:var(--surface);color:var(--text);border:1px solid var(--border);padding:.75rem;border-radius:4px;width:100%;min-height:44px;font-size:16px}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--primary)}.card{background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:1.5rem}.badge{display:inline-block;padding:.25rem .75rem;border-radius:12px;font-size:.875rem;font-weight:500}.progress-bar{width:100%;height:8px;background:var(--border);border-radius:4px;overflow:hidden}.progress-fill{height:100%;background:var(--primary);transition:width .3s}.modal{position:fixed;top:0;right:0;bottom:0;left:0;background:#000c;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.modal-content{background:var(--surface);border:1px solid var(--border);border-radius:8px;max-width:500px;width:100%;max-height:90vh;overflow-y:auto}.drawer{position:fixed;right:-400px;top:0;bottom:0;width:400px;background:var(--surface);border-left:1px solid var(--border);transition:right .3s;z-index:1000;overflow-y:auto;padding:2rem}.drawer.open{right:0}.drawer-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;z-index:999;opacity:0;pointer-events:none;transition:opacity .3s}.drawer-overlay.visible{opacity:1;pointer-events:all}@media (max-width: 768px){.drawer{width:90vw;max-width:400px;right:-90vw}.drawer.open{right:0}.modal{padding:.5rem}.modal-content{max-width:100%;max-height:95vh;padding:1.5rem}}@media (max-width: 480px){.drawer{width:100vw;right:-100vw;padding:1.5rem}.modal-content{border-radius:0;max-height:100vh}}
