*,:after,:before{box-sizing:border-box;margin:0;padding:0}body,html{height:100%;transition:background-color .3s ease,color .3s ease}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Open Sans,Helvetica Neue,sans-serif;background-color:#2e2e2e;color:#e0e0e0;line-height:1.7;margin:0;padding:0;display:flex;flex-direction:column}.light-mode{background-color:#f5f5f5!important;color:#333!important}.light-mode .container,.light-mode footer,.light-mode header{background-color:#ffffff!important;color:#222!important}.light-mode .markdown-content{color:#222!important}.light-mode a{color:#007bff!important}.light-mode a:hover{color:#0056b3!important}.container{width:100%;padding:20px;background-color:#2e2e2e;border-radius:8px;flex:1 1}.scroll-container{max-height:65vh;overflow-y:auto;scrollbar-width:none;-ms-overflow-style:none}.scroll-container::-webkit-scrollbar{display:none}.markdown-content{color:#e0e0e0;font-size:17px;line-height:1.7;white-space:pre-wrap;margin:15px 0}footer,header{width:100%;padding:12px 20px;background-color:#2e2e2e;color:#e0e0e0;border-bottom:1px solid #444444;text-align:center;box-shadow:0 2px 5px rgba(0,0,0,.2);position:fixed;z-index:1000}header{top:0}footer{bottom:0;border-top:1px solid #444444}a{color:#4ea1ff;text-decoration:none;font-weight:600;transition:color .3s ease}a:hover{color:#87c5ff}.button{background-color:#007bff;color:white;padding:10px;border:none;border-radius:5px;text-align:center;font-weight:700;min-width:90px;display:inline-block;cursor:pointer;transform:translateY(0);box-shadow:0 2px 4px rgba(0,0,0,.1);transition:all .3s ease}.button:hover{background-color:#0056b3;transform:translateY(-2px);box-shadow:0 4px 8px rgba(0,0,0,.2)}.button-archive{background-color:#f0ad4e}.button-danger{background-color:#dc3545;color:white;border:none;transform:translateY(0);box-shadow:0 2px 4px rgba(0,0,0,.1);transition:all .3s ease}.button-danger:hover{background-color:#bb2d3b;transform:translateY(-2px);box-shadow:0 4px 8px rgba(0,0,0,.2)}.button-danger:active{background-color:#a52834}.button-danger:disabled{background-color:rgba(220,53,69,.5);cursor:not-allowed}.light-mode .button-danger{background-color:#dc3545}.light-mode .button-danger:hover{background-color:#bb2d3b}@media (max-width:768px){.container,main{margin-left:0;padding-top:60px}header{padding:10px 15px!important}.desktop-nav{display:none!important}}@media (min-width:769px){.mobile-menu-btn{display:none!important}}.message{font-size:15px}.mobile-container{max-width:100%;margin:0 auto;background:#f5f5f5;min-height:100vh;padding:25px 12px 12px;overflow-x:hidden}.mobile-actions{display:flex;gap:8px}.mobile-input,.mobile-search-input,.mobile-select,.mobile-textarea{width:100%;padding:16px;border:2px solid #e0e0e0;border-radius:12px;font-size:16px;background:white;transition:border-color .2s ease;box-sizing:border-box}.mobile-textarea{min-height:120px;resize:vertical;font-family:inherit}.mobile-input:focus,.mobile-search-input:focus,.mobile-select:focus,.mobile-textarea:focus{outline:none;border-color:#007bff;box-shadow:0 0 0 3px rgba(0,123,255,.1)}.mobile-input.error,.mobile-search-input.error,.mobile-select.error,.mobile-textarea.error{border-color:#dc3545;box-shadow:0 0 0 3px rgba(220,53,69,.1)}.mobile-input.success,.mobile-search-input.success,.mobile-select.success,.mobile-textarea.success{border-color:#28a745;box-shadow:0 0 0 3px rgba(40,167,69,.1)}.light-mode .mobile-input,.light-mode .mobile-search-input,.light-mode .mobile-select,.light-mode .mobile-textarea{background:white;color:#333;border-color:#e0e0e0}.light-mode .mobile-input:focus,.light-mode .mobile-search-input:focus,.light-mode .mobile-select:focus,.light-mode .mobile-textarea:focus{border-color:#007bff;box-shadow:0 0 0 3px rgba(0,123,255,.1)}.light-mode .mobile-input.error,.light-mode .mobile-search-input.error,.light-mode .mobile-select.error,.light-mode .mobile-textarea.error{border-color:#dc3545;box-shadow:0 0 0 3px rgba(220,53,69,.1)}.light-mode .mobile-input.success,.light-mode .mobile-search-input.success,.light-mode .mobile-select.success,.light-mode .mobile-textarea.success{border-color:#28a745;box-shadow:0 0 0 3px rgba(40,167,69,.1)}.assistant-tile,.mobile-card,.mobile-project-card,.mobile-task-card,.note-item{background:white;border-radius:12px;padding:20px;box-shadow:0 2px 8px rgba(0,0,0,.1);cursor:pointer;transition:all .2s ease;border:2px solid transparent;position:relative}.assistant-tile:hover,.mobile-card:hover,.mobile-project-card:hover,.mobile-task-card:hover,.note-item:hover{transform:translateY(-2px);box-shadow:0 4px 16px rgba(0,0,0,.15);border-color:#007bff}.assistant-tile:focus,.mobile-card:focus,.mobile-project-card:focus,.mobile-task-card:focus,.note-item:focus{outline:2px solid #007bff;outline-offset:2px}.mobile-card.archived,.mobile-project-card.archived,.mobile-task-card.archived{opacity:.8;background:#fafafa}.mobile-project-card.archived{border-left:4px solid #ffc107;background:linear-gradient(135deg,#fff9c4,#ffffff)}.mobile-project-card.archived:hover{border-color:#ffc107}.light-mode .assistant-tile,.light-mode .mobile-card,.light-mode .mobile-project-card,.light-mode .mobile-task-card,.light-mode .note-item{background:white;color:#333}.light-mode .assistant-tile:hover,.light-mode .mobile-card:hover,.light-mode .mobile-project-card:hover,.light-mode .mobile-task-card:hover,.light-mode .note-item:hover{border-color:#007bff;box-shadow:0 4px 16px rgba(0,0,0,.15)}.mobile-modal-overlay,.uploader-modal{position:fixed;top:0;left:0;width:100vw;height:100vh;background:rgba(0,0,0,.5);display:flex;align-items:center;justify-content:center;z-index:1000;padding:16px}.mobile-modal{max-width:500px}.mobile-details-modal,.mobile-modal{background:white;border-radius:16px;width:100%;max-height:90vh;overflow-y:auto;position:relative;box-shadow:0 4px 20px rgba(0,0,0,.3)}.mobile-details-modal{max-width:600px}.modal-content{padding:20px}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px;border-bottom:1px solid #e0e0e0}.modal-header h2{font-size:20px}.modal-header h2,.modal-header h3{margin:0;font-weight:700;color:#333}.modal-header h3{font-size:18px}.modal-close{background:none;border:none;font-size:24px;cursor:pointer;color:#666;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;transition:color .2s ease}.modal-close:hover{color:#333}.mobile-details-modal:focus,.mobile-modal:focus,.modal-close:focus{outline:2px solid #007bff;outline-offset:2px}.modal-close:focus{border-radius:4px}@media (min-width:768px){.mobile-details-modal{max-width:800px}.mobile-modal-overlay,.uploader-modal{padding:24px}}.light-mode .mobile-details-modal,.light-mode .mobile-modal{background:white;color:#333}.light-mode .modal-header{border-bottom-color:#e0e0e0}.light-mode .modal-close{color:#666}.light-mode .modal-close:hover{color:#333}.mobile-btn{padding:8px 12px;border:none;border-radius:6px;font-size:13px;font-weight:600;cursor:pointer;transition:all .2s ease;min-height:36px;display:flex;align-items:center;justify-content:center}.mobile-btn.primary{background:#007bff;color:white}.mobile-btn.primary:hover{background:#0056b3}.mobile-btn.secondary{background:#6c757d;color:white}.mobile-btn.secondary:hover{background:#545b62}.mobile-btn.danger{background:#dc3545;color:white}.mobile-btn.danger:hover{background:#c82333}.mobile-btn.small{padding:6px 10px;font-size:11px;min-height:32px}.mobile-btn-icon{width:40px;height:40px;border-radius:50%;border:none;font-size:20px;font-weight:700;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;min-height:40px;padding:0}.mobile-btn-icon.primary{background:#007bff;color:white}.mobile-btn-icon.primary:hover{background:#0056b3;transform:scale(1.05)}.mobile-header{background:white;padding:16px;border-bottom:1px solid #e0e0e0;box-shadow:0 2px 4px rgba(0,0,0,.1)}.mobile-title{font-size:24px;font-weight:700;color:#333;margin:0}.mobile-menu{background:white;border-radius:12px;box-shadow:0 4px 20px rgba(0,0,0,.3);overflow:hidden}.mobile-menu ul{list-style:none;padding:0;margin:0}.mobile-menu li{border-bottom:1px solid #f0f0f0}.mobile-menu li:last-child{border-bottom:none}.mobile-menu a{display:block;padding:16px 20px;color:#333;text-decoration:none;transition:background-color .2s ease}.mobile-menu a:hover{background-color:#f8f9fa}.mobile-menu-btn{background:none;border:none;font-size:24px;cursor:pointer;padding:8px;color:#333;transition:color .2s ease}.mobile-menu-btn:hover{color:#007bff}.mobile-menu-overlay{position:fixed;top:0;left:0;width:100vw;height:100vh;background:rgba(0,0,0,.5);z-index:1001;display:flex;align-items:center;justify-content:center}.mobile-btn-icon:focus,.mobile-btn:focus,.mobile-menu-btn:focus{outline:2px solid #007bff;outline-offset:2px}.mobile-menu-btn:focus{border-radius:4px}@media (min-width:768px){.mobile-btn{padding:10px 16px;font-size:14px;min-height:40px}.mobile-btn.small{padding:8px 12px;font-size:12px;min-height:36px}.mobile-btn-icon{width:44px;height:44px;font-size:22px;min-height:44px}.mobile-header{padding:20px}.mobile-title{font-size:28px}.mobile-menu{max-width:400px}}.light-mode .mobile-header{background:white;border-bottom-color:#e0e0e0}.light-mode .mobile-title{color:#333}.light-mode .mobile-menu{background:white}.light-mode .mobile-menu a{color:#333}.light-mode .mobile-menu a:hover{background-color:#f8f9fa}.light-mode .mobile-menu-btn{color:#333}.light-mode .mobile-menu-btn:hover{color:#007bff}.error-message{color:#dc3545;background:rgba(220,53,69,.1);border-left:3px solid #dc3545}.error-message,.success-message{font-size:14px;margin:8px 0;text-align:center;padding:8px 12px;border-radius:6px;font-weight:500;transition:all .2s ease}.success-message{color:#28a745;background:rgba(40,167,69,.1);border-left:3px solid #28a745}.status-badge{display:inline-block;padding:4px 8px;border-radius:6px;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;transition:all .2s ease}.status-badge.ouverte{background:#e8f5e9;color:#388e3c;border:1px solid #c8e6c9}.status-badge.archivée{background:#fffde7;color:#fbc02d;border:1px solid #fff59d}.status-badge.en-cours{background:#e3f2fd;color:#1976d2;border:1px solid #bbdefb}.status-badge.terminée{background:#f3e5f5;color:#7b1fa2;border:1px solid #e1bee7}.task-status{padding:4px 8px;border-radius:6px;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;transition:all .2s ease}.task-status.ouverte{background:#e8f5e9;color:#388e3c;border:1px solid #c8e6c9}.task-status.archivée{background:#fffde7;color:#fbc02d;border:1px solid #fff59d}.task-status.en-cours{background:#e3f2fd;color:#1976d2;border:1px solid #bbdefb}.task-status.terminée{background:#f3e5f5;color:#7b1fa2;border:1px solid #e1bee7}.project-status{padding:6px 12px;border-radius:8px;font-size:13px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;transition:all .2s ease}.project-status.active{background:#e8f5e9;color:#388e3c;border:1px solid #c8e6c9}.project-status.archived{background:#fffde7;color:#fbc02d;border:1px solid #fff59d;opacity:.8}.project-status.completed{background:#f3e5f5;color:#7b1fa2;border:1px solid #e1bee7}.project-status-archived{background:linear-gradient(135deg,#fffde7,#fff8e1);color:#fbc02d;border:1px solid #fff59d;opacity:.8;padding:6px 12px;border-radius:8px;font-size:13px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;transition:all .2s ease}.error-message:hover,.success-message:hover{transform:translateY(-1px);box-shadow:0 2px 8px rgba(0,0,0,.1)}.project-status:hover,.status-badge:hover,.task-status:hover{box-shadow:0 2px 8px rgba(0,0,0,.1)}.error-message:focus,.project-status:focus,.status-badge:focus,.success-message:focus,.task-status:focus{outline:2px solid #007bff;outline-offset:2px}@media (min-width:768px){.error-message,.success-message{font-size:15px;padding:10px 16px}.status-badge,.task-status{font-size:13px;padding:6px 10px}.project-status{font-size:14px;padding:8px 16px}}.light-mode .error-message{background:rgba(220,53,69,.05);color:#dc3545;border-left-color:#dc3545}.light-mode .success-message{background:rgba(40,167,69,.05);color:#28a745;border-left-color:#28a745}.light-mode .status-badge.ouverte{background:#f1f8e9;color:#2e7d32;border-color:#a5d6a7}.light-mode .status-badge.archivée{background:#fffef7;color:#f57f17;border-color:#fff59d}.light-mode .task-status.ouverte{background:#f1f8e9;color:#2e7d32;border-color:#a5d6a7}.light-mode .task-status.archivée{background:#fffef7;color:#f57f17;border-color:#fff59d}.light-mode .project-status.active{background:#f1f8e9;color:#2e7d32;border-color:#a5d6a7}.light-mode .project-status.archived{background:#fffef7;color:#f57f17;border-color:#fff59d}@keyframes slideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes slideDown{0%{transform:translateY(-20px);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes scaleIn{0%{transform:scale(.8);opacity:0}to{transform:scale(1);opacity:1}}@keyframes bounce{0%,20%,53%,80%,to{transform:translateZ(0)}40%,43%{transform:translate3d(0,-8px,0)}70%{transform:translate3d(0,-4px,0)}90%{transform:translate3d(0,-2px,0)}}@keyframes pulse{0%{transform:scale(1)}50%{transform:scale(1.05)}to{transform:scale(1)}}@keyframes shake{0%,to{transform:translateX(0)}10%,30%,50%,70%,90%{transform:translateX(-2px)}20%,40%,60%,80%{transform:translateX(2px)}}@keyframes rotate{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}@keyframes blink{0%{opacity:1}50%{opacity:.2}to{opacity:1}}@keyframes slideInError{0%{opacity:0;transform:translateX(-20px)}to{opacity:1;transform:translateX(0)}}@keyframes messageAppear{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes skeletonLoading{0%{background-position:-200px 0}to{background-position:calc(200px + 100%) 0}}@keyframes slideInLeft{0%{transform:translateX(-100%);opacity:0}to{transform:translateX(0);opacity:1}}@keyframes slideInRight{0%{transform:translateX(100%);opacity:0}to{transform:translateX(0);opacity:1}}@keyframes zoomIn{0%{transform:scale(.3);opacity:0}50%{opacity:1}to{transform:scale(1);opacity:1}}@keyframes zoomOut{0%{transform:scale(1);opacity:1}50%{opacity:1}to{transform:scale(.3);opacity:0}}.animation-fast{animation-duration:.15s;transition-duration:.15s}.animation-normal{animation-duration:.3s;transition-duration:.3s}.animation-slow{animation-duration:.5s;transition-duration:.5s}.animation-very-slow{animation-duration:.8s;transition-duration:.8s}.fade-in{animation:fadeIn .3s ease-out}.slide-up{animation:slideUp .3s ease-out}.slide-down{animation:slideDown .3s ease-out}.scale-in{animation:scaleIn .3s ease-out}.bounce{animation:bounce 1s ease-in-out}.pulse{animation:pulse 2s ease-in-out infinite}.shake{animation:shake .5s ease-in-out}.rotate{animation:rotate 1s linear infinite}.blink{animation:blink 1s linear infinite}.slide-in-error{animation:slideInError .3s ease-out}.message-appear{animation:messageAppear .4s ease-out}.slide-in-left{animation:slideInLeft .3s ease-out}.slide-in-right{animation:slideInRight .3s ease-out}.zoom-in{animation:zoomIn .3s ease-out}.zoom-out{animation:zoomOut .3s ease-out}.loading-spinner{width:20px;height:20px;border:2px solid #f3f3f3;border-top-color:#007bff;border-radius:50%;animation:spin 1s linear infinite}.loading-spinner.large{width:40px;height:40px;border-width:3px}.loading-spinner.small{width:16px;height:16px;border-width:1.5px}.skeleton-loading{background:linear-gradient(90deg,#f0f0f0 25%,#e0e0e0 50%,#f0f0f0 75%);background-size:200px 100%;animation:skeletonLoading 1.5s ease-in-out infinite;border-radius:4px}.skeleton-loading.text{height:16px;margin:8px 0}.skeleton-loading.title{height:24px;margin:12px 0}.skeleton-loading.button{height:40px;width:120px;border-radius:6px}.mobile-details-modal,.mobile-modal{animation:scaleIn .3s ease-out}.mobile-modal-overlay,.uploader-modal{animation:fadeIn .2s ease-out}.assistant-tile,.mobile-card,.mobile-project-card,.mobile-task-card,.note-item{animation:slideUp .3s ease-out}.mobile-btn,.mobile-btn-icon{transition:all .2s ease}.mobile-btn-icon:hover,.mobile-btn:hover{transform:translateY(-1px)}.mobile-btn-icon:active,.mobile-btn:active{transform:translateY(0)}.mobile-input,.mobile-search-input,.mobile-select,.mobile-textarea{transition:all .2s ease}.mobile-input:focus,.mobile-search-input:focus,.mobile-select:focus,.mobile-textarea:focus{transform:translateY(-1px)}.error-message,.success-message{animation:slideUp .3s ease-out}.project-status,.status-badge,.task-status{transition:all .2s ease}.project-status:hover,.status-badge:hover,.task-status:hover{transform:translateY(-1px)}.delay-100{animation-delay:.1s}.delay-200{animation-delay:.2s}.delay-300{animation-delay:.3s}.delay-500{animation-delay:.5s}.stagger-children>*{animation:slideUp .3s ease-out}.stagger-children>:first-child{animation-delay:0s}.stagger-children>:nth-child(2){animation-delay:50ms}.stagger-children>:nth-child(3){animation-delay:.1s}.stagger-children>:nth-child(4){animation-delay:.15s}.stagger-children>:nth-child(5){animation-delay:.2s}.stagger-children>:nth-child(6){animation-delay:.25s}.stagger-children>:nth-child(7){animation-delay:.3s}.stagger-children>:nth-child(8){animation-delay:.35s}.stagger-children>:nth-child(9){animation-delay:.4s}.stagger-children>:nth-child(10){animation-delay:.45s}.mobile-card.archived,.mobile-project-card.archived,.mobile-task-card.archived{animation:fadeIn .5s ease-out;transition:all .3s ease}.loading{opacity:.6;pointer-events:none}.loading:after{content:"";position:absolute;top:50%;left:50%;width:20px;height:20px;margin:-10px 0 0 -10px;border:2px solid #f3f3f3;border-top-color:#007bff;border-radius:50%;animation:spin 1s linear infinite}.notification{animation:slideInRight .3s ease-out}.notification.success{border-left:4px solid #28a745}.notification.error{border-left:4px solid #dc3545}.notification.warning{border-left:4px solid #ffc107}.notification.info{border-left:4px solid #17a2b8}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}@media (max-width:768px){.animation-slow,.animation-very-slow{animation-duration:.3s;transition-duration:.3s}}.light-mode .loading-spinner{border-color:#007bff #e0e0e0 #e0e0e0}.light-mode .skeleton-loading{background:linear-gradient(90deg,#f5f5f5 25%,#e8e8e8 50%,#f5f5f5 75%)}.light-mode .notification{background:white;color:#333;border:1px solid #e0e0e0}.animation-none{animation:none!important;transition:none!important}.animation-pause{animation-play-state:paused}.animation-resume{animation-play-state:running}.transition-all{transition:all .3s ease}.transition-transform{transition:transform .3s ease}.transition-opacity{transition:opacity .3s ease}.transition-colors{transition:color .3s ease,background-color .3s ease,border-color .3s ease}.click-animation{transition:transform .1s ease}.click-animation:active{transform:scale(.95)}.hover-lift{transition:transform .2s ease,box-shadow .2s ease}.hover-lift:hover{transform:translateY(-2px);box-shadow:0 4px 12px rgba(0,0,0,.15)}.focus-glow{transition:box-shadow .2s ease}.focus-glow:focus{box-shadow:0 0 0 3px rgba(0,123,255,.25)}.success-animation{animation:scaleIn .3s ease-out,pulse 1s ease-in-out .3s}.error-animation{animation:shake .5s ease-in-out}.loading-animation{animation:pulse 1.5s ease-in-out infinite}.notification-animation{animation:slideInRight .3s ease-out}.close-animation{animation:zoomOut .2s ease-in}@media (max-width:768px){.animation-slow,.animation-very-slow{animation-duration:.3s}.stagger-children>*{animation-delay:25ms!important}}@media (max-width:480px){.pulse,.rotate{animation:none}}.logout-message{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);max-width:500px;text-align:center;z-index:10000;border-radius:8px;padding:20px}.logout-message--success{background-color:#d4edda;border:1px solid #c3e6cb}.logout-message--warning{background-color:#fff3cd;border:1px solid #ffeaa7}.logout-message--error{background-color:#f8d7da;border:1px solid #f5c6cb}.logout-message__title{margin-bottom:10px;font-weight:700}.logout-message__title--success{color:#155724}.logout-message__title--warning{color:#856404}.logout-message__title--error{color:#721c24}.logout-message__text{margin-bottom:20px}.logout-message__text--success{color:#155724}.logout-message__text--warning{color:#856404}.logout-message__text--error{color:#721c24}.logout-message__button{border:none;padding:10px 20px;border-radius:4px;cursor:pointer;color:white}.logout-message__button--success{background-color:#28a745}.logout-message__button--warning{background-color:#ffc107}.logout-message__button--error{background-color:#dc3545}.light-mode .logout-message--success{background-color:#d1ecf1;border-color:#bee5eb}.light-mode .logout-message--warning{background-color:#fff3cd;border-color:#ffeaa7}.light-mode .logout-message--error{background-color:#f8d7da;border-color:#f5c6cb}.light-mode .logout-message__title--success{color:#0c5460}.light-mode .logout-message__title--warning{color:#856404}.light-mode .logout-message__title--error{color:#721c24}.light-mode .logout-message__text--success{color:#0c5460}.light-mode .logout-message__text--warning{color:#856404}.light-mode .logout-message__text--error{color:#721c24}.auth-form{max-width:400px;margin:0 auto;padding:20px}.auth-form__title{margin-bottom:20px;text-align:center;font-size:1.5rem;font-weight:700}.auth-form__input{display:block;margin-bottom:10px;width:100%;padding:10px;border:1px solid #ccc;border-radius:4px;font-size:1rem}.auth-form__input:focus{outline:none;border-color:#007bff;box-shadow:0 0 0 2px rgba(0,123,255,.25)}.auth-form__button{width:100%;padding:10px;background-color:#007bff;color:white;border:none;border-radius:4px;cursor:pointer;font-size:1rem;font-weight:500}.auth-form__button:hover{background-color:#0056b3}.auth-form__button:active{background-color:#004085}.auth-form__error{color:#dc3545;margin-bottom:10px;font-size:.9rem;text-align:center}.auth-form__link-container{margin-top:10px;text-align:center}.auth-form__link{color:#007bff;text-decoration:none;font-size:.9rem}.auth-form__link:hover{color:#0056b3;text-decoration:underline}.light-mode .auth-form__input{border-color:#ddd;background-color:#fff;color:#333}.light-mode .auth-form__input:focus{border-color:#007bff}.light-mode .auth-form__title{color:#333}.light-mode .auth-form__error{color:#dc3545}.light-mode .auth-form__link{color:#007bff}.light-mode .auth-form__link:hover{color:#0056b3}.input-container{margin-bottom:1rem}.input-label{display:block;margin-bottom:.5rem;font-weight:500;color:inherit}.required-asterisk{color:#dc3545;margin-left:.25rem}.input-wrapper{position:relative;display:flex;align-items:center}.input-icon{position:absolute;left:.75rem;top:50%;transform:translateY(-50%);color:#666;z-index:1}.input-icon+.mobile-input{padding-left:2.5rem}.input-error{color:#dc3545}.input-error,.input-helper{font-size:.875rem;margin-top:.25rem}.input-helper{color:#666}.mobile-btn--loading{position:relative;color:transparent}.button-spinner{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);animation:spin 1s linear infinite}.button-icon{margin-right:.5rem}.button-text{display:inline-block}.modal-header__title{margin:0;font-size:1.25rem;font-weight:600;color:inherit}.light-mode .input-label{color:#333}.light-mode .input-error{color:#dc3545}.light-mode .input-helper{color:#666}.light-mode .required-asterisk{color:#dc3545}.light-mode .input-icon{color:#666}.no-results-message{color:#888;margin-top:40px;font-size:1.2em;text-align:center}.light-mode .no-results-message{color:#666}.test-container{padding:2rem}.test-section{margin-bottom:2rem}.test-filters{display:flex;gap:1rem;margin-bottom:1rem;flex-wrap:wrap}.test-input,.test-select{padding:.5rem;border:1px solid #ccc;border-radius:4px}.test-select{background-color:white}.test-button{padding:.5rem 1rem;border:none;border-radius:4px;cursor:pointer;font-size:.9rem}.test-button--danger{background:#f44336;color:white}.test-button--primary{background:#1976d2;color:white}.test-button--secondary{background:#666;color:white}.test-message{padding:1rem;margin-bottom:1rem;border-radius:4px}.test-message--error{background:#ffebee;color:#c62828}.test-message--info{background:#e3f2fd;color:#1976d2}.test-message--success{background:#e8f5e9;color:#2e7d32}.test-task-card{border:1px solid #ddd;border-radius:8px;padding:1rem;margin-bottom:1rem;background:white}.test-task-meta{font-size:.9rem;color:#666;margin-bottom:.5rem}.light-mode .test-container{background-color:#f5f5f5}.light-mode .test-task-card{background:white;border-color:#ddd}.light-mode .test-input,.light-mode .test-select{background-color:white;border-color:#ddd;color:#333}.light-mode .test-message--error{background:#ffebee;color:#c62828}.light-mode .test-message--info{background:#e3f2fd;color:#1976d2}.light-mode .test-message--success{background:#e8f5e9;color:#2e7d32}.modal-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,.5);display:flex;align-items:center;justify-content:center;z-index:10000}.modal-container{background:white;padding:2rem;border-radius:8px;width:90%;max-width:500px;max-height:90vh;overflow-y:auto}.modal-content{margin-bottom:1rem}.modal-content--scrollable{max-height:100px;overflow-y:auto;background:#f0f0f0;padding:8px;border-radius:4px}.modal-form-group{margin-bottom:1rem}.modal-form-group--large{margin-bottom:1.5rem}.modal-label{display:block;margin-bottom:.5rem;font-weight:500;color:inherit}.modal-input,.modal-select{width:100%;padding:.5rem;border:1px solid #ccc;border-radius:4px;background-color:white}.modal-actions{display:flex;justify-content:flex-end;gap:1rem;margin-top:1.5rem}.modal-button{padding:.5rem 1rem;border:none;border-radius:4px;cursor:pointer;font-size:.9rem;transition:background-color .2s}.modal-button--secondary{background:#6c757d;color:white}.modal-button--primary{background:#007bff;color:white}.modal-button--danger{background:#dc3545;color:white}.modal-button:disabled{opacity:.6;cursor:not-allowed}.modal-message{margin-top:1rem;padding:.5rem;border-radius:4px}.modal-message--error{color:#dc3545;background:#f8d7da;border:1px solid #f5c6cb}.modal-message--success{color:#155724;background:#d4edda;border:1px solid #c3e6cb}.context-menu{position:fixed;background:white;border:1px solid #ccc;border-radius:4px;box-shadow:0 2px 10px rgba(0,0,0,.1);z-index:1000;min-width:150px}.context-menu-item{width:100%;text-align:left;padding:12px 16px;border:none;background:none;cursor:pointer;font-size:.9rem;transition:background-color .2s}.context-menu-item:hover{background-color:#f8f9fa}.context-menu-item:active{background-color:#e9ecef}.light-mode .modal-container{background:white;border:1px solid #ddd}.light-mode .modal-input,.light-mode .modal-select{background-color:white;border-color:#ddd;color:#333}.light-mode .context-menu{background:white;border-color:#ddd}.light-mode .context-menu-item:hover{background-color:#f8f9fa}.project-meta-badges{display:flex;align-items:center;gap:.5rem}.project-actions{display:flex;gap:.5rem;margin-top:1rem}.project-action-button{padding:.5rem;border:1px solid #ccc;border-radius:4px;background:white;cursor:pointer;font-size:.9rem;transition:all .2s}.project-action-button:hover{background:#f8f9fa;border-color:#007bff}.project-action-button--primary{background:#007bff;color:white;border-color:#007bff}.project-action-button--primary:hover{background:#0056b3}.project-action-button--danger{background:#dc3545;color:white;border-color:#dc3545}.project-action-button--danger:hover{background:#c82333}.project-form-group{margin-bottom:1rem}.project-form-label{display:block;margin-bottom:.5rem;font-weight:500}.project-form-input,.project-form-textarea{width:100%;padding:.5rem;border:1px solid #ccc;border-radius:4px;font-size:.9rem}.project-form-textarea{min-height:100px;resize:vertical}.project-message{padding:.5rem;border-radius:4px;margin-bottom:1rem}.project-message--error{color:#dc3545;background:#f8d7da;border:1px solid #f5c6cb}.project-message--success{color:#155724;background:#d4edda;border:1px solid #c3e6cb}.project-message--info{color:#0c5460;background:#d1ecf1;border:1px solid #bee5eb}.project-layout{display:flex;flex-direction:column;min-height:100vh}.project-layout__content{display:flex;flex:1 1;width:100%;position:relative}.project-layout__sidebar{width:250px;background:#f8f9fa;border-right:1px solid #dee2e6;overflow-y:auto}.project-layout__main{flex:1 1;padding:1rem;overflow-y:auto}.project-header{display:flex;align-items:center;justify-content:space-between;padding:1rem;border-bottom:1px solid #dee2e6;background:white}.project-header__title{font-size:1.5rem;font-weight:600;color:inherit;margin:0}.project-header__actions{display:flex;align-items:center;gap:1rem}.light-mode .project-action-button{background:white;border-color:#ddd;color:#333}.light-mode .project-action-button:hover{background:#f8f9fa;border-color:#007bff}.light-mode .project-form-input,.light-mode .project-form-textarea{background:white;border-color:#ddd;color:#333}.light-mode .project-layout__sidebar{background:#f8f9fa;border-color:#dee2e6}.light-mode .project-header{background:white;border-color:#dee2e6}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideIn{0%{transform:translateY(-20px);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.modal-overlay{animation:fadeIn .3s ease-out}.modal-container{animation:slideIn .3s ease-out}.context-menu{animation:slideIn .2s ease-out}.modal-button,.project-action-button,.test-button{transition:all .2s ease-in-out}.mobile-container{will-change:scroll-position}.context-menu,.mobile-modal-overlay{will-change:transform}.mobile-btn:disabled,.modal-button:disabled,.project-action-button:disabled{pointer-events:none}@media (prefers-reduced-motion:reduce){*{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}@media (hover:none) and (pointer:coarse){.context-menu-item,.mobile-btn,.modal-button,.project-action-button{min-height:44px;min-width:44px}}