.button{cursor:pointer;border:none;border-radius:4px;padding:10px 20px;font-size:14px;transition:background-color .3s}.button:disabled{cursor:not-allowed;opacity:.6}.button-primary{color:#fff;background-color:#4a90e2}.button-primary:hover:not(:disabled){background-color:#357abd}.button-secondary{color:#fff;background-color:#6c757d}.button-secondary:hover:not(:disabled){background-color:#5a6268}.button-danger{color:#fff;background-color:#dc3545}.button-danger:hover:not(:disabled){background-color:#c82333}.button-success{color:#fff;background-color:#28a745}.button-success:hover:not(:disabled){background-color:#218838}@media (width<=768px){.button{min-height:44px;padding:12px 16px;font-size:16px}}*{box-sizing:border-box;margin:0;padding:0}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#f5f5f5;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.form-group{flex-direction:column;gap:8px;display:flex}.form-group label{color:#333;font-weight:600}.form-group input,.form-group textarea,.form-group select{border:1px solid #ddd;border-radius:4px;width:100%;padding:10px;font-family:inherit;font-size:14px}.form-group select{cursor:pointer;background-color:#fff}.form-group input:focus,.form-group textarea:focus,.form-group select:focus{border-color:#4a90e2;outline:none}.form-group textarea{resize:vertical}@media (width<=768px){body{font-size:14px}}.session-timeout-overlay{z-index:2000;background:#00000080;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.session-timeout-modal{text-align:center;background:#fff;border-radius:12px;width:100%;max-width:400px;padding:30px}.session-timeout-modal h2{margin-bottom:12px}.session-timeout-modal p{color:#555;margin-bottom:8px}.session-timeout-countdown{color:#e74c3c;margin:16px 0;font-size:1.4rem;font-weight:700}.session-timeout-actions{justify-content:center;gap:12px;margin-top:20px;display:flex}.settings-danger-zone{border:2px solid #e74c3c;border-radius:8px;padding:20px}.settings-danger-zone h2{color:#e74c3c}.settings-delete-confirm{margin-top:16px}.settings-input{border:1px solid #ddd;border-radius:4px;width:100%;padding:8px 12px;font-size:14px}.container{width:100%;max-width:1200px;margin:0 auto;padding:0 20px}@media (width<=768px){.container{padding:0 10px}}.stack{gap:var(--stack-gap,0);align-items:var(--stack-align,stretch);justify-content:var(--stack-justify,start);flex-direction:column;display:flex}.row{gap:var(--row-gap,0);align-items:var(--row-align,stretch);justify-content:var(--row-justify,start);flex-direction:row;display:flex}.row-wrap{flex-wrap:wrap}@media (width<=768px){.row{flex-wrap:wrap}}.grid{grid-template-columns:var(--grid-columns,1fr);gap:var(--grid-gap,0);display:grid}@media (width<=768px){.grid{grid-template-columns:1fr}}.card{background:#fff;border-radius:8px;padding:20px;box-shadow:0 2px 4px #0000001a}@media (width<=768px){.card{border-radius:6px;padding:15px}}.header{color:#fff;text-align:left;background-color:#282c34;border-radius:8px;padding:30px;position:relative}.header h1{margin:0 0 10px;font-size:1.8rem}.header p{margin:0;font-size:.9rem}@media (width<=768px){.header{padding:20px 15px}.header h1{margin:0 0 8px;font-size:1.4rem}.header p{font-size:.8rem}}.section{background:#fff;border-radius:8px;padding:25px;box-shadow:0 2px 4px #0000001a}@media (width<=768px){.section{border-radius:6px;padding:15px}}.calendar{background:#fff;border-radius:8px;padding:20px;box-shadow:0 2px 4px #0000001a}.calendar-header{grid-template-columns:repeat(7,1fr);gap:4px;margin-bottom:8px;display:grid}.calendar-day-name{text-align:center;color:#666;padding:8px;font-size:14px;font-weight:700}.calendar-body{flex-direction:column;gap:4px;display:flex}.calendar-week{grid-template-columns:repeat(7,1fr);gap:4px;display:grid}.calendar-day{cursor:pointer;border:1px solid #e0e0e0;border-radius:4px;flex-direction:column;min-height:100px;padding:4px;transition:background-color .2s;display:flex}.calendar-day:hover{background-color:#f5f5f5}.calendar-day-other-month{opacity:.4;background-color:#fafafa}.calendar-day-today{background-color:#e3f2fd;border-color:#2196f3}.calendar-day-number{margin-bottom:4px;font-size:14px;font-weight:500}.calendar-day-events{flex-direction:column;flex:1;gap:2px;display:flex;overflow:hidden}.calendar-event{color:#fff;white-space:nowrap;text-overflow:ellipsis;cursor:pointer;border-radius:2px;padding:2px 4px;font-size:10px;transition:opacity .2s;overflow:hidden}.calendar-event:hover{opacity:.8}.calendar-event-more{color:#666;text-align:center;padding:2px 4px;font-size:10px}@media (width<=768px){.calendar{padding:10px}.calendar-day{min-height:60px;padding:2px}.calendar-day-number{font-size:12px}.calendar-event{padding:1px 2px;font-size:8px}.calendar-day-name{padding:4px;font-size:12px}}.hamburger-menu{align-items:center;display:flex;position:relative}.hamburger-button{cursor:pointer;z-index:10;background:0 0;border:none;flex-direction:column;justify-content:space-around;align-items:center;width:30px;height:30px;padding:0;display:flex}.hamburger-button:focus{outline-offset:2px;outline:2px solid #4a90e2}.hamburger-line{background-color:#fff;border-radius:2px;width:100%;height:3px;transition:all .3s}.hamburger-button.active .hamburger-line:first-child{transform:rotate(45deg)translate(8px,8px)}.hamburger-button.active .hamburger-line:nth-child(2){opacity:0}.hamburger-button.active .hamburger-line:nth-child(3){transform:rotate(-45deg)translate(8px,-8px)}.hamburger-nav{z-index:1000;background-color:#fff;border:1px solid #e0e0e0;border-radius:8px;min-width:200px;max-width:calc(100vw - 20px);animation:.3s slideDown;position:absolute;top:calc(100% + 10px);right:0;box-shadow:0 4px 6px #0000001a}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.hamburger-menu-list{margin:0;padding:8px 0;list-style:none}.hamburger-menu-list li{margin:0}.hamburger-menu-user{color:#333;background-color:#f9f9f9;border-bottom:1px solid #e0e0e0;padding:12px 20px;font-weight:600}.hamburger-menu-user span{color:#333;overflow-wrap:anywhere;display:block}.hamburger-menu-item{color:#333;text-align:left;cursor:pointer;width:100%;font:inherit;background:0 0;border:none;padding:12px 20px;text-decoration:none;transition:background-color .2s;display:block}.hamburger-menu-item:hover{background-color:#f5f5f5}.hamburger-menu-item.active{color:#4a90e2;background-color:#e3f2fd;font-weight:600}.hamburger-menu-language{background-color:#f9f9f9;border-top:1px solid #e0e0e0;border-bottom:1px solid #e0e0e0;padding:12px 20px}.hamburger-menu-language-label{color:#666;margin-bottom:8px;font-size:12px;font-weight:600}.hamburger-menu-language-buttons{gap:8px;display:flex}.hamburger-menu-language-button{color:#333;cursor:pointer;background-color:#fff;border:1px solid #e0e0e0;border-radius:4px;flex:1;padding:8px 12px;font-size:14px;transition:all .2s}.hamburger-menu-language-button:hover{background-color:#f5f5f5}.hamburger-menu-language-button.active{color:#fff;background-color:#4a90e2;border-color:#4a90e2;font-weight:600}@media (width<=768px){.hamburger-button{width:36px;height:36px}.hamburger-nav{min-width:180px;left:auto;right:0}.hamburger-menu-item{padding:14px 20px;font-size:16px}}.toast{z-index:10000;border-radius:8px;justify-content:space-between;align-items:center;gap:12px;min-width:300px;max-width:500px;padding:16px 20px;animation:.3s ease-out slideIn;display:flex;position:fixed;top:20px;right:20px;box-shadow:0 4px 12px #00000026}@keyframes slideIn{0%{opacity:0;transform:translate(100%)}to{opacity:1;transform:translate(0)}}.toast-success{color:#fff;background-color:#4caf50}.toast-error{color:#fff;background-color:#f44336}.toast-info{color:#fff;background-color:#2196f3}.toast-message{flex:1;font-size:14px;line-height:1.5}.toast-close{color:inherit;cursor:pointer;opacity:.8;background:0 0;border:none;justify-content:center;align-items:center;width:24px;height:24px;padding:0;font-size:20px;transition:opacity .2s;display:flex}.toast-close:hover{opacity:1}@media (width<=768px){.toast{min-width:auto;max-width:100%;padding:14px 16px;top:10px;left:10px;right:10px}.toast-message{font-size:14px}}.auth-form{max-width:400px;margin:0 auto}.login-form .form-group{flex-direction:column;gap:8px;display:flex}.login-form .form-group label{color:#333;font-weight:500}.login-form .form-group input{border:1px solid #ddd;border-radius:4px;padding:12px;font-size:16px}.login-form .form-group input:focus{border-color:#007bff;outline:none}.login-form .form-group input:disabled{cursor:not-allowed;background-color:#f5f5f5}.two-factor-section{background-color:#f0f8ff;border:1px solid #007bff;border-radius:4px;margin-bottom:16px;padding:16px}.two-factor-section p{color:#007bff;margin:0 0 12px;font-weight:500}.register-form .form-group{flex-direction:column;gap:8px;display:flex}.register-form .form-group label{color:#333;font-weight:500}.register-form .form-group input{border:1px solid #ddd;border-radius:4px;padding:12px;font-size:16px}.register-form .form-group input:focus{border-color:#007bff;outline:none}.register-form .form-group input:disabled{cursor:not-allowed;background-color:#f5f5f5}.register-form .form-group small{color:#666;font-size:14px}.register-form .agree-label{align-items:flex-start;gap:8px;font-weight:400;display:flex}.register-form .agree-label input[type=checkbox]{flex-shrink:0;width:16px;height:16px;margin-top:3px;padding:0}.register-form .agree-label a{color:#007bff}.error-message{color:#c33;background-color:#fee;border:1px solid #fcc;border-radius:4px;padding:12px}.form-footer{text-align:center;margin-top:20px}.form-footer a{color:#007bff;text-decoration:none}.form-footer a:hover{text-decoration:underline}
