@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;700&display=swap";:root{--bg-light: #f5f6d6;--bg-dark: #181816;--text-on-dark: #f5f6d6;--text-on-light: #181816;--border-color: #dcdfb0;--accent-color: #b0b384;--accent-color-hover: #9a9d70}*{margin:0;padding:0;box-sizing:border-box}body{font-family:Inter,sans-serif;background-color:var(--bg-light);color:var(--text-on-light);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.dashboard-layout{display:flex;min-height:100vh}.sidebar{width:200px;background-color:var(--bg-dark);color:var(--text-on-dark);display:flex;flex-direction:column;padding:1rem;flex-shrink:0}.sidebar-logo{font-size:1.75rem;font-weight:700;color:var(--text-on-dark);margin:-3.8rem -1rem 0rem -2rem;padding:0;text-align:center;display:flex;justify-content:center}.sidebar-logo .logo-img{width:140%;height:auto;display:block}.sidebar-nav{flex-grow:1}.sidebar-nav ul{list-style:none}.nav-button{background:none;border:none;color:var(--text-on-dark);opacity:.7;font-family:Inter,sans-serif;font-size:1rem;font-weight:500;padding:.5rem 1rem;border-radius:8px;width:100%;text-align:left;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;gap:.5rem}.nav-button:hover{opacity:1;background-color:#f5f6d61a}.nav-button.active{opacity:1;font-weight:700;color:var(--bg-dark);background-color:var(--accent-color)}.sidebar-footer{margin-top:auto}.main-content{flex-grow:1;display:flex;flex-direction:column;background-color:#fff}.top-header{width:100%;background-color:var(--bg-light);border-bottom:1px solid var(--border-color);padding:1rem 2rem;display:flex;justify-content:flex-end;align-items:center}.user-info{font-weight:600;color:var(--text-on-light)}.top-header .user-info strong{color:var(--bg-dark)}.btn-logout{background:none;border:1px solid var(--border-color);color:var(--text-on-light);padding:.5rem 1rem;border-radius:8px;font-family:Inter,sans-serif;font-size:.9rem;font-weight:500;cursor:pointer;margin-left:1.5rem;transition:all .2s ease}.btn-logout:hover{background-color:var(--text-on-light);color:var(--text-on-dark)}.content-area{padding:2rem;flex-grow:1;overflow-y:auto}.form-group .radio-group{margin-top:.5rem;border:1px solid var(--border-color);border-radius:8px;padding:.5rem;text-align:left}.radio-label{display:block;padding:.75rem 1rem;border-radius:6px;cursor:pointer;transition:background-color .2s}.radio-label:hover{background-color:#f8f9fa}.radio-label input[type=radio]{margin-right:10px;transform:scale(1.1);accent-color:var(--bg-dark)}.btn:disabled{opacity:.6;cursor:not-allowed}.btn-task-status,.btn-task-delete{border:none;border-radius:5px;padding:.3rem .6rem;font-size:.8rem;font-weight:600;cursor:pointer;transition:all .2s}.btn-task-status{background-color:var(--accent-color);color:var(--bg-dark)}.btn-task-status:hover{background-color:var(--accent-color-hover)}.task-done .btn-task-status{background-color:var(--border-color);color:#555}.btn-task-delete{background-color:#e53e3e;color:#fff}.btn-task-delete:hover{background-color:#c53030}.btn-back{background:none;border:none;font-size:1rem;font-weight:600;color:var(--text-on-light);cursor:pointer;padding:.5rem 0;margin-bottom:1rem;display:block;text-align:left}.btn-back:hover{text-decoration:underline}.auth-card{max-width:400px;margin:2rem auto;text-align:left;background-color:#fff;border:1px solid var(--border-color);box-shadow:0 10px 30px #0000000d;padding:2.5rem}.auth-logo{text-align:center;margin:-3rem -3rem .2rem -2rem}.auth-logo .logo-img{width:100%;height:auto;display:block}.auth-card h2{font-size:1.75rem;font-weight:700;color:var(--text-on-light);margin-bottom:.5rem}.auth-card p{font-size:1rem;color:#555;margin-bottom:2rem}.auth-form{width:100%}.form-group{margin-bottom:1.25rem}.form-group label{display:block;font-weight:600;font-size:.9rem;color:var(--text-on-light);margin-bottom:.5rem}input[type=email],input[type=password],input[type=text],select{width:100%;padding:.85rem 1rem;font-size:1rem;font-family:Inter,sans-serif;color:var(--text-on-light);background-color:var(--bg-light);border:2px solid var(--border-color);border-radius:8px;transition:all .2s ease}input[type=email]:focus,input[type=password]:focus,input[type=text]:focus,select:focus{outline:none;background-color:#fff;border-color:var(--text-on-light)}.btn{width:100%;padding:.85rem;border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s ease-in-out;box-sizing:border-box}.button-group{display:grid;gap:.75rem;margin-top:1.5rem}.btn-primary{background-color:var(--bg-dark);color:var(--bg-light)}.btn-primary:hover:not(:disabled){background-color:#333}.btn-secondary{background-color:transparent;color:var(--bg-dark);border:2px solid var(--border-color)}.btn-secondary:hover:not(:disabled){background-color:var(--bg-light);border-color:var(--bg-dark)}.app-home-card{background-color:var(--bg-light);border:1px solid var(--border-color);padding:2rem;border-radius:12px;max-width:1000px;margin:0;text-align:left;box-shadow:0 4px 12px #00000005}.task-area{background-color:#f8f9fa;border:1px dashed var(--border-color);border-radius:8px;padding:1rem;margin-top:1rem}.task-area h3{font-size:1.25rem;font-weight:600;color:var(--text-on-light);margin-bottom:1rem}.task-list-items{list-style:none;padding:0;margin:0;text-align:left}.task-list-items li{display:flex;justify-content:space-between;align-items:center;background-color:#fff;border:1px solid #eee;padding:.85rem 1rem;border-radius:8px;margin-bottom:.5rem;align-items:flex-start}.task-info{display:flex;flex-direction:column;flex-grow:1;text-align:left}.task-title{font-weight:500;flex-grow:1}.task-assignee{font-size:.85rem;color:#777;margin-top:4px}.task-done .task-title{text-decoration:line-through;color:#888}.task-done .task-assignee{color:#aaa}.task-buttons{display:flex;gap:.5rem;margin-left:1rem}.task-creation-form{display:flex;flex-wrap:wrap;gap:1rem;align-items:flex-end}.task-creation-form .form-group{margin-bottom:0;flex-grow:1}.task-title-group,.task-assign-group,.task-deadline-group{flex-basis:1rem}.task-creation-form button{flex-basis:80px}.task-deadline-group input[type=date]{width:100%;padding:.75rem 1rem;font-size:1rem;font-family:Inter,sans-serif;color:var(--text-on-light);background-color:var(--bg-light);border:2px solid var(--border-color);border-radius:8px;transition:all .2s ease}.task-deadline-group input[type=date]:focus{outline:none;background-color:#fff;border-color:var(--text-on-light)}input[type=date]::-webkit-calendar-picker-indicator{cursor:pointer;opacity:.6}input[type=date]::-webkit-calendar-picker-indicator:hover{opacity:1}.task-deadline{font-size:.85rem;font-weight:500;color:#777;margin-top:6px}.task-done .task-deadline{color:#aaa;text-decoration:line-through}.task-list-items li.task-overdue{background-color:#fff5f5;border-left:4px solid #E53E3E}.task-overdue .task-title{color:#c53030;font-weight:600}.task-overdue .task-deadline.overdue-text{color:#c53030;font-weight:700}.assignee-list-item:hover{background-color:#e9ecef}.assignee-list-item input[type=checkbox]{margin-right:.75rem;width:18px;height:18px;accent-color:var(--bg-dark)}.assignee-list-item label{font-weight:500;font-size:1rem;color:var(--text-on-light);cursor:pointer}.assignee-note{width:100%;background-color:#f0f7ff;border:2px solid #b3d4fc;border-radius:8px;padding:1rem;margin-bottom:0}.assignee-note p{margin:0;font-weight:500;color:#0353c9}.assignee-names{font-size:.85rem;color:#777;margin-top:4px}.assignee-names strong{color:var(--text-on-light)}.task-done .assignee-names{color:#aaa}.btn-task-status:disabled{background-color:var(--border-color);color:#888;opacity:.7;cursor:not-allowed}.task-creation-form.vertical-form{margin-top:1rem;flex-direction:column;align-items:stretch}.vertical-form .form-group{margin-bottom:1rem}.vertical-form button{flex-basis:auto;padding:.85rem;font-size:1.1rem}.assignment-group{position:relative;margin-bottom:0!important}.vertical-form .assignment-group{margin-bottom:1rem!important}.dropdown-toggle{width:100%;background-color:var(--bg-light);border:2px solid var(--border-color);border-radius:8px;padding:.75rem 1rem;font-size:1rem;font-family:Inter,sans-serif;color:var(--text-on-light);text-align:left;cursor:pointer;display:flex;justify-content:space-between;align-items:center;transition:border-color .2s ease}.dropdown-toggle:hover,.dropdown-toggle:focus{border-color:var(--text-on-light);outline:none}.dropdown-toggle span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dropdown-toggle:after{content:"▼";font-size:.7rem;margin-left:.5rem;opacity:.6;transition:transform .2s ease}.dropdown-toggle.open:after{transform:rotate(180deg)}.dropdown-menu{position:absolute;top:100%;left:0;width:100%;background-color:#fff;border:1px solid #ccc;border-radius:8px;box-shadow:0 6px 12px #00000026;z-index:100;margin-top:.25rem;max-height:200px;overflow-y:auto;padding:.25rem 0}.dropdown-item{display:flex;align-items:center;padding:0;cursor:pointer}.dropdown-item label{display:flex;align-items:center;width:100%;padding:.75rem 1rem;cursor:pointer;font-weight:500;font-size:1rem;transition:background-color .15s ease}.dropdown-item:hover label{background-color:#f0f7ff}.dropdown-item input[type=checkbox]{margin-right:.75rem;width:18px;height:18px;accent-color:var(--bg-dark)}.dropdown-item.select-all{border-bottom:2px solid var(--border-color);font-weight:700}.task-creation-form.vertical-form .form-group{margin-bottom:.1rem}.task-list-items li.task-done{background-color:#f0fff4;border-left:4px solid #38A169;opacity:.9}.tasklist-header{display:flex;justify-content:space-between;align-items:center;border-bottom:2px solid var(--border-color);padding-bottom:1rem;margin-bottom:1rem;position:relative;min-height:40px}.tasklist-header-left{display:flex}.tasklist-header h2{margin:0;position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);font-size:1.5rem}.btn-delete-project{background-color:#fff5f5;border:1px solid #E53E3E;color:#c53030;padding:.5rem 1rem;border-radius:8px;font-family:Inter,sans-serif;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .2s ease}.btn-delete-project:hover{background-color:#e53e3e;color:#fff}.btn-delete-project:disabled{opacity:.5;cursor:not-allowed}.app-home-card{background-color:#fff;border:1px solid var(--border-color);padding:1rem;border-radius:12px;max-width:1000px;margin:0;text-align:left;box-shadow:0 4px 12px #00000005}.app-home-card h3{font-size:1rem;font-weight:600;color:var(--text-on-light);margin-bottom:1rem}.project-list-items{list-style:none;padding:0;margin:0}.project-list-items li{background-color:#f8f9fa;border:1px solid #eee;padding:.5rem;border-radius:8px;margin-bottom:.75rem;display:flex;justify-content:space-between;align-items:center;font-weight:600;cursor:pointer;transition:all .2s}.project-list-items li:hover{background-color:#e9ecef;border-color:#ccc;transform:translateY(-2px);box-shadow:0 4px 10px #0000000d}.project-list-items li span:last-child{font-size:1.5rem;color:var(--accent-color)}.project-team-badge{font-size:.8rem;font-weight:600;padding:.2rem .6rem;border-radius:6px;background-color:var(--bg-light);border:1px solid var(--border-color);color:var(--accent-color-hover)}.attendance-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.attendance-header h3{font-size:1.5rem;color:var(--text-on-light);margin:0}.month-navigator button{background-color:var(--bg-dark);color:var(--bg-light);border:none;border-radius:6px;padding:.5rem 1rem;font-size:1rem;font-weight:600;cursor:pointer;margin-left:.5rem}.month-navigator button:hover{background-color:#333}.attendance-table-wrapper{overflow-x:auto;border:1px solid var(--border-color);border-radius:8px}.attendance-table{width:100%;border-collapse:collapse;min-width:900px}.attendance-table th,.attendance-table td{border:1px solid var(--border-color);padding:.75rem;text-align:center;vertical-align:middle;min-width:50px}.attendance-table thead{background-color:#f8f9fa;color:var(--text-on-light)}.attendance-table thead th{font-weight:600;position:sticky;top:0;z-index:10}.attendance-table th:first-child{text-align:left;min-width:180px;position:sticky;left:0;background-color:#f1f3f5;z-index:20}.attendance-table tbody td:first-child{text-align:left;font-weight:600;position:sticky;left:0;background-color:#fff;z-index:10}.status-cell{font-size:1.25rem;cursor:not-allowed}.status-cell.clickable{cursor:pointer;border-radius:4px;transition:all .2s ease}.status-cell.clickable:hover{background-color:#0000000d}.status-cell .icon-present{color:#28a745}.status-cell .icon-absent{color:#dc3545}.status-cell .icon-empty{color:#ccc;font-weight:700}.error-message-box strong{color:#9b2c2c}.attendance-footer{display:flex;justify-content:flex-end;padding-top:1.5rem;border-top:2px solid var(--border-color);margin-top:1.5rem}.btn-save-attendance{background-color:#28a745;color:#fff;border:none;padding:.75rem 1.5rem;font-size:1rem;font-weight:600;border-radius:8px;cursor:pointer;transition:all .2s ease}.btn-save-attendance:hover{background-color:#218838}.btn-save-attendance:disabled{background-color:var(--border-color);color:#888;opacity:.7;cursor:not-allowed}.attendance-table tbody tr.current-user-row{background-color:#f0f0f0}.attendance-table tbody tr.current-user-row td:first-child{background-color:#e9ecef;font-weight:700}.settings-card{background-color:var(#ffffff);border:1px solid var(--border-color);padding:2rem;border-radius:12px;max-width:1000px;margin:0;text-align:left;box-shadow:0 4px 12px #00000005}.settings-card h2{font-size:1.75rem;font-weight:700;color:var(--text-on-light);margin-bottom:.5rem}.settings-card p{font-size:1rem;color:#555;margin-bottom:2rem}.error-message-box{background-color:#fff5f5;border:1px solid #E53E3E;border-radius:8px;padding:1rem;margin-bottom:1.5rem}.error-message-box p{margin:0;color:#c53030;font-weight:500}.success-message-box{background-color:#f0fff4;border:1px solid #38A169;border-radius:8px;padding:1rem;margin-bottom:1.5rem}.success-message-box p{margin:0;color:#2f855a;font-weight:500}.settings-card h3{font-size:1.25rem;font-weight:600;color:var(--text-on-light);margin-bottom:1.5rem}.modal-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background-color:#0009;display:flex;align-items:center;justify-content:center;z-index:1000}.modal-content{background-color:#fff;border:1px solid var(--border-color);border-radius:12px;box-shadow:0 10px 30px #0000001a;width:100%;max-width:450px;z-index:1001;opacity:1;transform:scale(1)}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.5rem;border-bottom:2px solid var(--border-color)}.modal-header h3{margin:0;font-size:1.25rem;font-weight:600;color:var(--text-on-light)}.modal-close-btn{background:none;border:none;font-size:1.5rem;font-weight:300;color:#888;cursor:pointer;padding:0;line-height:1}.modal-close-btn:hover{color:var(--text-on-light)}.modal-body{padding:1.5rem}.modal-button-group{width:100%}.password-header-group{display:flex;justify-content:space-between;align-items:center;margin-top:2.5rem}.btn-show-modal{background-color:transparent;color:var(--text-on-light);border:1px solid var(--border-color);padding:.5rem .8rem;border-radius:8px;font-family:Inter,sans-serif;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .2s ease;margin-bottom:1.5rem}.btn-show-modal:hover{background-color:var(--bg-light);border-color:var(--bg-dark)}.announcement-form{background-color:#f8f9fa;border:1px dashed var(--border-color);border-radius:8px;padding:1.5rem}.announcement-form h3{font-size:1.25rem;font-weight:600;color:var(--text-on-light);margin-bottom:1rem}textarea{width:100%;padding:.85rem 1rem;font-size:1rem;font-family:Inter,sans-serif;color:var(--text-on-light);background-color:var(--bg-light);border:2px solid var(--border-color);border-radius:8px;transition:all .2s ease;resize:vertical;min-height:80px}textarea:focus{outline:none;background-color:#fff;border-color:var(--text-on-light)}.announcement-form button{width:200px;margin-top:.5rem}.divider{border:none;border-top:2px solid var(--border-color);margin:2rem 0}.announcement-list{max-height:25vh;overflow-y:auto;padding-right:10px}.announcement-list h3{font-size:1.25rem;font-weight:600;color:var(--text-on-light);margin-bottom:1rem}.announcement-list ul{list-style:none;padding:0}.announcement-item{background-color:#fff;border:1px solid var(--border-color);border-radius:8px;margin-bottom:1rem;box-shadow:0 4px 12px #00000005}.announcement-header{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.5rem;border-bottom:1px solid #eee}.announcement-header h4{font-size:1.15rem;font-weight:600;color:var(--text-on-light);margin:0}.btn-delete-announcement{background:none;border:1px solid #E53E3E;color:#e53e3e;padding:.3rem .6rem;font-size:.8rem;font-weight:600;border-radius:5px;cursor:pointer;transition:all .2s}.btn-delete-announcement:hover{background-color:#e53e3e;color:#fff}.btn-delete-announcement:disabled{opacity:.5}.announcement-content{padding:1.5rem;color:#333;line-height:1.6}.announcement-meta{display:flex;gap:1.5rem;padding:1rem 1.5rem;background-color:#f8f9fa;border-top:1px solid #eee;font-size:.85rem;color:#555;border-radius:0 0 8px 8px}.announcement-meta strong{color:var(--text-on-light)}
