@import url(https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@400;500;600;700&display=swap);body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin:0}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.qlm-overlay{align-items:center;animation:qlmFadeIn .18s ease;background:#0f0f238c;display:flex;inset:0;justify-content:center;padding:16px;position:fixed;z-index:1100}@keyframes qlmFadeIn{0%{opacity:0}to{opacity:1}}.qlm-modal{animation:qlmSlideUp .22s ease;background:#fff;border-radius:18px;box-shadow:0 20px 60px #00000040;max-width:480px;overflow:hidden;width:100%}@keyframes qlmSlideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.qlm-header{align-items:flex-start;background:linear-gradient(135deg,#5b6fd4,#9b4dca);color:#fff;display:flex;justify-content:space-between;padding:20px 22px 16px}.qlm-label{font-size:11px;font-weight:700;letter-spacing:.1em;margin-bottom:4px;opacity:.75;text-transform:uppercase}.qlm-task-title{font-size:17px;font-weight:700;line-height:1.3;word-break:break-word}.qlm-project{font-size:12px;margin-top:4px;opacity:.8}.qlm-close{align-items:center;background:#ffffff2e;border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;flex-shrink:0;font-size:14px;height:30px;justify-content:center;margin-left:12px;transition:background .15s;width:30px}.qlm-close:hover{background:#ffffff4d}.qlm-stats{border-bottom:1px solid #f0f0f0;display:flex;gap:0}.qlm-stat{border-right:1px solid #f0f0f0;display:flex;flex:1 1;flex-direction:column;gap:4px;padding:14px 16px}.qlm-stat:last-child{border-right:none}.qlm-stat-label{color:#9ca3af;font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.qlm-stat-val{color:#1f2937;font-size:18px;font-weight:700}.qlm-stat-val.blue{color:#5b6fd4}.qlm-stat-val.green{color:#16a34a}.qlm-stat-val.red{color:#dc2626}.qlm-body{gap:16px;padding:20px 22px 8px}.qlm-body,.qlm-field{display:flex;flex-direction:column}.qlm-field{gap:6px}.qlm-field-label{color:#6b7280;font-size:12px;font-weight:700;letter-spacing:.07em;text-transform:uppercase}.qlm-time-row{align-items:center;display:flex;gap:8px}.qlm-select{appearance:none;-webkit-appearance:none;background:#f9fafb;border:1.5px solid #e5e7eb;border-radius:8px;color:#1f2937;cursor:pointer;font-family:inherit;font-size:16px;font-weight:700;min-width:64px;padding:8px 12px;text-align:center;transition:border-color .15s}.qlm-select:focus{border-color:#7c5cbf;outline:none}.qlm-colon{color:#374151;font-size:20px;font-weight:700}.qlm-time-hint{color:#9ca3af;font-size:12px;margin-left:4px}.qlm-textarea{border:1.5px solid #e5e7eb;border-radius:10px;box-sizing:border-box;color:#374151;font-family:inherit;font-size:14px;min-height:72px;padding:10px 14px;resize:vertical;transition:border-color .15s;width:100%}.qlm-textarea:focus{border-color:#7c5cbf;box-shadow:0 0 0 3px #7c5cbf1f;outline:none}.qlm-textarea::placeholder{color:#c4c9d4}.qlm-check-row{align-items:center;background:#f9fafb;border:1.5px solid #e5e7eb;border-radius:10px;cursor:pointer;display:flex;gap:10px;padding:10px 14px;transition:border-color .15s}.qlm-check-row:hover{border-color:#c4b5fd}.qlm-checkbox{accent-color:#7c5cbf;cursor:pointer;flex-shrink:0;height:16px;width:16px!important}.qlm-check-label{color:#374151;flex:1 1;font-size:14px;font-weight:500}.qlm-check-badge{background:#dcfce7;border-radius:99px;color:#16a34a;font-size:11px;font-weight:700;padding:3px 9px}.qlm-footer{border-top:1px solid #f3f4f6;display:flex;gap:10px;justify-content:flex-end;padding:16px 22px 20px}.qlm-btn{border:none;border-radius:10px;cursor:pointer;font-family:inherit;font-size:14px;font-weight:600;padding:10px 22px;transition:all .15s}.qlm-btn.cancel{background:#f3f4f6;color:#6b7280}.qlm-btn.cancel:hover{background:#e5e7eb;color:#374151}.qlm-btn.save{background:linear-gradient(135deg,#5b6fd4,#9b4dca);box-shadow:0 2px 8px #5b6fd459;color:#fff}.qlm-btn.save:hover{opacity:.9;transform:translateY(-1px)}.qlm-btn.save:active{opacity:1;transform:none}.qlm-btn.save:disabled{cursor:not-allowed;opacity:.6;transform:none}@media (max-width:520px){.qlm-modal{border-radius:14px}.qlm-header{padding:16px 16px 14px}.qlm-body{padding:16px 16px 8px}.qlm-footer{padding:14px 16px 18px}.qlm-stat{padding:12px 10px}.qlm-stat-val{font-size:16px}}*{box-sizing:border-box;margin:0;padding:0}body{background:linear-gradient(135deg,#667eea,#764ba2);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;min-height:100vh}.app-container,.auth-page{min-height:100vh;padding:20px}.auth-page{align-items:center;display:flex;justify-content:center}.auth-card{background:#fff;border-radius:16px;box-shadow:0 20px 60px #0000004d;max-width:400px;padding:40px;width:100%}.auth-card h1{color:#1f2937;font-size:28px;margin-bottom:10px;text-align:center}.auth-card p{color:#6b7280;margin-bottom:30px;text-align:center}.form-group{margin-bottom:20px}.form-group label{color:#374151;display:block;font-size:14px;font-weight:600;margin-bottom:8px}.form-group input{border:2px solid #e5e7eb;border-radius:8px;font-size:14px;padding:12px 16px;transition:all .2s;width:100%}.form-group input:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a;outline:none}.form-group textarea,textarea{background:#fff;border:2px solid #e5e7eb;border-radius:8px;color:#1f2937;font-size:14px;min-height:100px;padding:12px 16px;resize:vertical;transition:all .15s ease-in-out;width:100%}textarea:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea14;outline:none}.form-grid-2{grid-gap:16px;align-items:start;display:grid;gap:16px;grid-template-columns:1fr 1fr;margin-bottom:12px}.form-group select,select{background:#fff;border:2px solid #e5e7eb;border-radius:8px;color:#1f2937;font-size:14px;padding:12px 16px;transition:all .15s ease-in-out;width:100%}select:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea14;outline:none}.btn{border:none;border-radius:8px;cursor:pointer;font-size:14px;font-weight:600;padding:12px 24px;transition:all .2s}.btn-primary{background:#667eea;width:100%}.btn-primary:hover{background:#5568d3;transform:translateY(-1px)}.btn-primary:disabled{background:#cbd5e1;cursor:not-allowed;transform:none}.auth-link{color:#6b7280;font-size:14px;margin-top:20px;text-align:center}.auth-link a{color:#667eea;font-weight:600;text-decoration:none}.auth-link a:hover{text-decoration:underline}.error-message{background:#fee2e2;border-radius:8px;color:#dc2626;font-size:14px;margin-bottom:20px;padding:12px}.container{background:#fff;border-radius:16px;box-shadow:0 20px 60px #0000004d;margin:0 auto;max-width:1400px;overflow:hidden}.header{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:10px 20px;position:relative}.header-top{justify-content:space-between;margin-bottom:20px}.header-actions,.header-top{align-items:center;display:flex}.header-actions{gap:12px}.user-info{align-items:flex-start;display:flex;flex-direction:column;gap:5px}.btn-logout,.user-name{font-weight:600}.btn-logout{background:#fff3;border:none;border-radius:6px;color:#fff;cursor:pointer;padding:8px 16px;transition:all .2s}.btn-logout:hover{background:#ffffff4d}.header-content{text-align:center}.header h1{font-size:32px;margin-bottom:10px}.header p{font-size:16px;opacity:.9}.attendance-badge{align-items:center;background:#dcfce7;border-radius:20px;color:#166534;display:flex;font-size:14px;font-weight:600;gap:6px;padding:6px 12px}.attendance-time{color:#6b7280;font-size:13px;font-weight:500}.checkin-button{align-items:center;background:#fff;border:none;border-radius:8px;color:#667eea;cursor:not-allowed;display:flex;font-size:14px;font-weight:700;gap:8px;opacity:.6;padding:8px 14px;transition:all .2s}.checkin-button.enabled{background:#10b981;box-shadow:0 4px 12px #10b9814d;color:#fff;cursor:pointer;opacity:1}.checkin-button.enabled:hover{background:#059669;transform:translateY(-2px)}.log-button{align-items:center;background:#f59e0b;border:none;border-radius:8px;box-shadow:0 4px 12px #f59e0b4d;color:#fff;cursor:pointer;display:inline-flex;font-size:15px;font-weight:700;gap:8px;padding:12px 20px;transition:all .3s}.log-button:hover{background:#d97706;transform:translateY(-2px)}.main-content{grid-gap:0;display:grid;gap:0;grid-template-columns:1fr 1fr;min-height:600px}.panel{padding:30px}.left-panel{background:#f9fafb;border-right:2px solid #e5e7eb}.right-panel{background:#fff}.panel-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:20px}.panel-title{color:#1f2937;font-size:24px;font-weight:700}.time-badge{background:#667eea;border-radius:20px;color:#fff;font-size:14px;font-weight:600;padding:8px 16px}.time-badge.full{background:#10b981}.time-badge.over{background:#ef4444}.project-selector{margin-bottom:20px}.project-selector label{color:#374151;display:block;font-size:14px;font-weight:600;margin-bottom:8px}.project-selector select{background:#fff;border:2px solid #e5e7eb;border-radius:8px;cursor:pointer;font-size:16px;padding:12px 16px;transition:all .2s;width:100%}.project-selector select:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a;outline:none}.action-buttons{display:flex;gap:10px;margin-bottom:20px}.btn-add{align-items:center;background:#667eea;color:#fff;display:flex;flex:1 1;gap:6px;justify-content:center}.btn-add:hover{background:#5568d3;transform:translateY(-1px)}.btn-free-time{align-items:center;background:#10b981;color:#fff;display:flex;flex:1 1;gap:6px;justify-content:center}.btn-free-time:hover{background:#059669;transform:translateY(-1px)}.task-list{display:flex;flex-direction:column;gap:12px;max-height:500px;min-height:400px;overflow-y:auto}.task-list::-webkit-scrollbar{width:8px}.task-list::-webkit-scrollbar-track{background:#f1f1f1;border-radius:10px}.task-list::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:10px}.task-item{background:#f0fdf4;border:2px solid #10b981;border-radius:10px;display:flex;flex-direction:column;gap:6px;padding:10px 14px}.task-item:hover{border-color:#667eea;box-shadow:0 4px 12px #667eea26;transform:translateY(-2px)}.task-header{align-items:center;display:flex;gap:8px;justify-content:space-between;margin-bottom:2px}.task-title{color:#111827;font-size:14px;font-weight:600}.task-header div{display:flex;flex-direction:column;gap:2px}.task-priority{border-radius:12px;font-size:12px;font-weight:600;margin-left:10px;padding:4px 12px}.overdue-badge{background:#ef4444;border-radius:8px;color:#fff;font-size:12px;font-weight:700;margin-left:8px;padding:4px 8px}.priority-high{background:#fee2e2;color:#dc2626}.priority-medium{background:#fef3c7;color:#d97706}.priority-low{background:#dbeafe;color:#2563eb}.priority-none{background:#f3f4f6;color:#6b7280}.task-description{color:#6b7280;font-size:12px;margin-bottom:2px}.task-footer{margin-top:4px}.task-type{color:#9ca3af;font-size:12px;font-weight:500}.estimate-input{align-items:center;display:flex;gap:8px}.estimate-input input{border:2px solid #e5e7eb;border-radius:6px;font-size:14px;padding:6px 10px;text-align:center;width:60px}.estimate-input input:focus{border-color:#667eea;outline:none}.btn-remove{background:#ef4444;border-radius:6px;color:#fff;font-size:12px;font-weight:600;padding:5px 12px;white-space:nowrap}.btn-remove:hover{background:#dc2626}.planned-task{background:#f0fdf4;border-color:#10b981}.free-time-task{background:#f0fdfa;border-color:#14b8a6}.empty-state{color:#9ca3af;padding:60px 20px;text-align:center}.empty-state p{font-size:16px;margin-top:16px}.modal{align-items:center;animation:fadeIn .2s;background-color:#00000080;display:none;height:100%;justify-content:center;left:0;padding:20px;position:fixed;top:0;width:100%;z-index:2000}.modal,.modal.show{display:flex}.modal-content{animation:slideIn .3s;background-color:#fff;border-radius:16px;box-shadow:0 20px 60px #0000004d;display:flex;flex-direction:column;max-height:90vh;max-width:900px;overflow:hidden;padding:0;width:100%}@keyframes slideIn{0%{opacity:0;transform:translateY(-50px)}to{opacity:1;transform:translateY(0)}}.modal-header{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:16px 16px 0 0;color:#fff;padding:20px 24px}.modal-header h2{font-size:20px}.close{color:#fff;cursor:pointer;font-size:28px;font-weight:700;line-height:1;transition:transform .2s}.close:hover{transform:scale(1.2)}.modal-body{flex:1 1 auto;overflow:auto;padding:24px}.modal-footer{gap:12px;padding:0 24px 24px}.btn-cancel{background:#e5e7eb;color:#374151}.btn-cancel:hover{background:#d1d5db}.btn-submit{background:#667eea;color:#fff}.btn-submit:hover{background:#5568d3}.loading{color:#6b7280;padding:40px;text-align:center}@media (max-width:768px){.main-content{grid-template-columns:1fr}.left-panel{border-bottom:2px solid #e5e7eb;border-right:none}.action-buttons{flex-direction:column}.attendance-inline{align-items:center;color:#fff;display:flex;font-weight:700;gap:8px}}.modal-overlay{align-items:center;background:#00000080;display:flex;height:100%;justify-content:center;left:0;position:fixed;top:0;width:100%;z-index:1000}.task-modal{animation:fadeIn .2s ease;background:#fff;border-radius:12px;max-width:90%;padding:20px;width:500px}.modal-header{align-items:center;display:flex;justify-content:space-between}.modal-close{background:none;border:none;cursor:pointer;font-size:18px}.modal-meta{display:flex;gap:10px;margin:10px 0}.project-badge{background:#e0f2fe}.priority-badge,.project-badge{border-radius:6px;font-size:12px;padding:4px 8px}.priority-badge{color:#fff}.priority-high{background:#ef4444}.priority-medium{background:#f59e0b}.priority-low{background:#10b981}.free-badge{background:#6366f1;border-radius:6px;color:#fff;padding:4px 8px}.modal-grid,.modal-section{margin-top:15px}.modal-grid{display:flex;gap:10px}.modal-box{background:#f9fafb;border-radius:8px;flex:1 1;padding:10px;text-align:center}.modal-footer{display:flex;gap:10px;justify-content:flex-end;margin-top:20px}.btn-checkout{background:#10b981;border:none;border-radius:8px;color:#fff;cursor:pointer;padding:10px 18px}.admin-layout{display:flex;min-height:100vh}.admin-sidebar{background:linear-gradient(180deg,#1e1b4b,#312e81);display:flex;flex-direction:column;flex-shrink:0;padding:24px 0;width:220px}.admin-logo{border-bottom:1px solid #ffffff1a;color:#fff;font-size:20px;font-weight:700;margin-bottom:16px;padding:0 20px 24px}.admin-nav{display:flex;flex:1 1;flex-direction:column;gap:4px;padding:0 12px}.admin-nav-item{background:#0000;border:none;border-radius:8px;color:#ffffffb3;cursor:pointer;font-size:14px;font-weight:500;padding:12px 16px;text-align:left;transition:all .2s}.admin-nav-item:hover{background:#ffffff1a;color:#fff}.admin-nav-item.active{background:#fff3;color:#fff;font-weight:700}.admin-sidebar-footer{border-top:1px solid #ffffff1a;display:flex;flex-direction:column;gap:10px;padding:16px 20px 0}.admin-user-name{color:#fffc;font-size:13px;font-weight:500}.admin-main{background:#f3f4f6;flex:1 1;overflow:auto}.admin-topbar{background:#fff;border-bottom:1px solid #e5e7eb;box-shadow:0 1px 4px #0000000f;padding:16px 32px}.admin-page-title{color:#1f2937;font-size:22px;font-weight:700}.admin-content{padding:32px}.admin-content input,.admin-content textarea{border:2px solid #e5e7eb;border-radius:8px;display:block;font-size:14px;margin-bottom:0;max-width:400px;padding:10px 14px;transition:border-color .2s;width:100%}.admin-content input:focus,.admin-content textarea:focus{border-color:#667eea;outline:none}.admin-content button{background:#667eea;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:14px;font-weight:600;padding:10px 24px;transition:background .2s}.admin-content button:hover{background:#5568d3}.admin-content h3{color:#1f2937;font-size:18px;font-weight:700;margin-bottom:20px}.admin-layout{height:100vh;overflow:hidden}.admin-sidebar{height:100vh;left:0;position:fixed;top:0}.admin-main{display:flex;flex-direction:column;height:100vh;margin-left:220px;overflow:hidden}.admin-topbar{flex-shrink:0}.admin-content{flex:1 1;overflow-y:auto}.btn-edit{background:#f59e0b;border:none;border-radius:6px;color:#fff;cursor:pointer;padding:6px 12px}.btn-edit:hover{background:#d97706}.btn.btn-enter-log{background:linear-gradient(135deg,#5b6fd4,#9b4dca);border:none;border-radius:6px;color:#fff;cursor:pointer;font-family:inherit;font-size:12px;font-weight:600;padding:5px 12px;transition:opacity .15s,transform .1s;white-space:nowrap}.btn.btn-enter-log:hover{opacity:.88;transform:translateY(-1px)}.btn.btn-enter-log:active{opacity:1;transform:none}.task-actions{gap:8px}.task-actions,.task-footer{align-items:center;display:flex}.task-footer{justify-content:space-between}.project-wrapper{background:#f4f6fb;font-family:DM Sans,Segoe UI,sans-serif;min-height:100vh;padding:32px 36px}.project-header{align-items:center;display:flex;gap:12px;margin-bottom:28px}.project-header h1{color:#1a2340;font-size:22px;font-weight:700}.project-card{background:#fff;border-radius:14px;box-shadow:0 1px 3px #00000012,0 4px 16px #0000000d;margin-bottom:28px;padding:28px}.project-form-grid{grid-gap:14px;display:grid;gap:14px}.input{border:1.5px solid #e2e8f0;border-radius:8px;font-size:14px;padding:10px 14px}.btn-primary{background:linear-gradient(135deg,#4361ee,#3a86ff);border:none;border-radius:8px;color:#fff;cursor:pointer;padding:10px 22px}.btn-danger{background:#0000;border:1px solid #fed7d7;border-radius:7px;color:#e53e3e;padding:6px 14px}.project-table{border-collapse:collapse;width:100%}.project-table th{background:#f0f3fa;font-size:11px;padding:12px}.project-table td{border-bottom:1px solid #eee;padding:12px}.status-badge{border-radius:20px;font-size:12px;font-weight:700;padding:4px 10px}.status-active{background:#f0fff4;color:#16a34a}.status-completed{background:#eff6ff;color:#2563eb}.status-hold{background:#fffbeb;color:#d97706}.rp-wrap{background:#f4f6fb;box-sizing:border-box;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;min-height:100vh;padding:28px 32px 60px}.rp-page-title-row{align-items:center;display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;margin-bottom:24px}.rp-page-title{align-items:center;color:#1a1d2e;display:flex;font-size:22px;font-weight:700;gap:10px;margin:0}.rp-page-title span{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#5b6fd4,#9b4dca);-webkit-background-clip:text;background-clip:text}.rp-stats-strip{grid-gap:14px;display:grid;gap:14px;grid-template-columns:repeat(4,1fr);margin-bottom:24px}.rp-stat-card{align-items:center;background:#fff;border-radius:12px;box-shadow:0 1px 3px #0000000f,0 4px 12px #0000000a;display:flex;gap:14px;padding:16px 18px;transition:transform .15s,box-shadow .15s}.rp-stat-card:hover{box-shadow:0 4px 18px #5b6fd421;transform:translateY(-2px)}.rp-stat-icon{align-items:center;border-radius:10px;display:flex;flex-shrink:0;font-size:20px;height:42px;justify-content:center;width:42px}.rp-stat-icon.purple{background:#ede9fe}.rp-stat-icon.blue{background:#dbeafe}.rp-stat-icon.green{background:#dcfce7}.rp-stat-icon.amber{background:#fef9c3}.rp-stat-value{color:#1a1d2e;font-size:22px;font-weight:700;line-height:1}.rp-stat-label{color:#9ca3af;font-size:12px;font-weight:500;margin-top:2px}.rp-filter-card{background:#fff;border-radius:14px;box-shadow:0 1px 3px #0000000f,0 4px 12px #0000000a;margin-bottom:22px;padding:20px 22px}.rp-filter-header{align-items:center;display:flex;gap:8px;margin-bottom:16px}.rp-filter-title{color:#374151;font-size:13px;font-weight:700;letter-spacing:.07em;text-transform:uppercase}.rp-filter-divider{background:#f0f0f0;flex:1 1;height:1px}.rp-filter-grid{grid-gap:12px;align-items:end;display:grid;gap:12px;grid-template-columns:1.3fr 1.3fr 1fr 1fr}.rp-field{min-width:0}.rp-field label{color:#6b7280;font-size:12px;font-weight:600}.rp-field input[type=date],.rp-field select{background:#f9fafb;border:1.5px solid #e5e7eb;border-radius:10px;font-size:13px;height:40px;outline:none;padding:0 12px;transition:all .2s ease}.rp-field input[type=date]:hover,.rp-field select:hover{background:#fff;border-color:#c4b5fd}.rp-field input[type=date]:focus,.rp-field select:focus{background:#fff;border-color:#7c5cbf;box-shadow:0 0 0 3px #7c5cbf1f}.rp-filter-actions{align-items:flex-end;border-top:1px solid #f0f0f0;display:flex;gap:8px;justify-content:flex-end;margin-top:16px;padding-top:22px}.rp-btn-apply{align-items:center;background:linear-gradient(135deg,#5b6fd4,#9b4dca);border:none;border-radius:9px;box-shadow:0 2px 8px #7c5cbf52;color:#fff;cursor:pointer;display:flex;font-family:inherit;font-size:13px;font-weight:600;gap:6px;padding:9px 22px;transition:opacity .15s,transform .1s}.rp-btn-apply:hover{opacity:.88;transform:translateY(-1px)}.rp-btn-apply:active{transform:translateY(0)}.rp-btn-apply:disabled{cursor:not-allowed;opacity:.55;transform:none}.rp-btn-reset{background:#fff;border:1.5px solid #e5e7eb;border-radius:9px;color:#6b7280;cursor:pointer;font-family:inherit;font-size:13px;font-weight:500;padding:9px 18px;transition:all .15s}.rp-btn-reset:hover{background:#f9fafb;border-color:#9ca3af;color:#374151}.rp-results-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:14px}.rp-results-label{color:#6b7280;font-size:13px;font-weight:600}.rp-results-count{background:#ede9fe;border-radius:99px;color:#7c3aed;font-size:12px;font-weight:600;padding:3px 10px}.rp-log-card{animation:rpFadeIn .28s ease both;background:#fff;border:1px solid #f0f0f0;border-radius:12px;box-shadow:0 1px 3px #0000000f,0 4px 12px #00000008;margin-bottom:12px;overflow:hidden;transition:box-shadow .2s,border-color .2s}@keyframes rpFadeIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.rp-log-card:hover{border-color:#e0d9f7;box-shadow:0 4px 20px #5b6fd41c}.rp-log-header{align-items:center;cursor:pointer;display:flex;gap:12px;justify-content:space-between;padding:14px 18px;transition:background .12s;-webkit-user-select:none;user-select:none}.rp-log-header:hover{background:#fafbff}.rp-log-card.open .rp-log-header{border-bottom:1px solid #f0f0f0}.rp-log-header-left{gap:12px}.rp-avatar,.rp-log-header-left{align-items:center;display:flex}.rp-avatar{background:linear-gradient(135deg,#5b6fd4,#9b4dca);border-radius:10px;color:#fff;flex-shrink:0;font-size:15px;font-weight:700;height:38px;justify-content:center;letter-spacing:.02em;width:38px}.rp-log-meta{display:flex;flex-direction:column;gap:2px}.rp-log-user{color:#1a1d2e;font-size:14px;font-weight:700}.rp-log-sub{align-items:center;color:#9ca3af;display:flex;font-size:12px;gap:6px}.rp-log-sub-dot{background:#d1d5db;border-radius:50%;height:3px;width:3px}.rp-log-header-right{align-items:center;display:flex;flex-shrink:0;gap:10px}.rp-log-hrs-badge{background:#f0fdf4;border:1px solid #bbf7d0;border-radius:99px;color:#16a34a}.rp-log-hrs-badge,.rp-log-task-badge{font-size:12px;font-weight:600;padding:4px 12px}.rp-log-task-badge{background:#f3f4f6;border:1px solid #e5e7eb;border-radius:99px;color:#6b7280}.rp-chevron{color:#c4b5fd;flex-shrink:0;height:16px;transition:transform .22s,color .2s;width:16px}.rp-log-card.open .rp-chevron{color:#7c5cbf;transform:rotate(180deg)}.rp-task-table{display:none}.rp-log-card.open .rp-task-table{border-collapse:collapse;display:table;width:100%}.rp-task-table thead tr{background:#f9fafb;border-bottom:1px solid #f0f0f0}.rp-task-table th{color:#9ca3af;font-size:11px;font-weight:700;letter-spacing:.07em;padding:9px 18px;text-align:left;text-transform:uppercase}.rp-task-table th:last-child{text-align:right}.rp-task-row{border-bottom:1px solid #f7f7f7;transition:background .1s}.rp-task-row:last-child{border-bottom:none}.rp-task-row:hover{background:#fafbff}.rp-task-row td{color:#374151;font-size:13px;padding:11px 18px;vertical-align:middle}.rp-task-row td:last-child{text-align:right}.rp-task-name{align-items:center;color:#1a1d2e;display:flex;font-weight:600;gap:8px}.rp-task-bullet{background:#10b981;border-radius:50%;box-shadow:0 0 0 3px #10b98126;flex-shrink:0;height:6px;width:6px}.rp-project-tag{align-items:center;background:#ede9fe;border-radius:99px;color:#7c3aed;display:inline-flex;font-size:11px;font-weight:600;padding:3px 10px}.rp-hrs-cell{font-size:13px;font-weight:700}.rp-hrs-cell.has{color:#16a34a}.rp-hrs-cell.none{color:#d1d5db}.rp-notes-cell{color:#9ca3af;font-size:12px;max-width:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rp-skeleton{background:#fff;border:1px solid #f0f0f0;border-radius:12px;height:66px;margin-bottom:10px;overflow:hidden;position:relative}.rp-skeleton:after{animation:rpShimmer 1.3s infinite;background:linear-gradient(90deg,#f3f4f6 25%,#eaecef 50%,#f3f4f6 75%);background-size:200% 100%;content:"";inset:0;position:absolute}@keyframes rpShimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.rp-error-box{background:#fff5f5;border:1px solid #fecaca;border-radius:12px;gap:12px;justify-content:space-between;margin-bottom:14px;padding:14px 18px}.rp-error-box,.rp-error-msg{align-items:center;display:flex}.rp-error-msg{color:#dc2626;font-size:13px;font-weight:500;gap:7px}.rp-retry-btn{background:#dc2626;border:none;border-radius:8px;color:#fff;cursor:pointer;flex-shrink:0;font-family:inherit;font-size:12px;font-weight:600;padding:7px 16px;transition:background .15s}.rp-retry-btn:hover{background:#b91c1c}.rp-empty-box{background:#fff;border:1px dashed #e5e7eb;border-radius:12px;padding:52px 20px;text-align:center}.rp-empty-icon{font-size:38px;margin-bottom:10px}.rp-empty-title{color:#1a1d2e;font-size:16px;font-weight:700;margin-bottom:6px}.rp-empty-sub{color:#9ca3af;font-size:13px}@media (max-width:900px){.rp-stats-strip{grid-template-columns:repeat(2,1fr)}.rp-filter-grid{grid-template-columns:1fr 1fr}}@media (max-width:600px){.rp-wrap{padding:16px 14px 60px}.rp-stats-strip{grid-template-columns:1fr 1fr}.rp-task-table td:nth-child(4),.rp-task-table th:nth-child(4){display:none}}.ep__wrap{background:#f8f9fc;color:#1a1d2e;font-family:Plus Jakarta Sans,sans-serif;min-height:100vh;padding:32px}.ep__wrap,.ep__wrap *,.ep__wrap :after,.ep__wrap :before{box-sizing:border-box}.ep__topbar{flex-wrap:wrap;gap:16px;justify-content:space-between;margin-bottom:28px}.ep__title-row,.ep__topbar{align-items:center;display:flex}.ep__title-row{gap:12px}.ep__icon-box{align-items:center;background:linear-gradient(135deg,#4f46e5,#7c3aed);border-radius:12px;box-shadow:0 4px 12px #4f46e547;display:flex;flex-shrink:0;height:44px;justify-content:center;width:44px}.ep__icon-box svg{color:#fff;display:block}.ep__h2{color:#1a1d2e;font-size:21px;font-weight:700;line-height:1.2;margin:0}.ep__sub{color:#6b7280;font-size:13px;margin:2px 0 0}.ep__search-box{align-items:center;display:flex;position:relative;width:260px}.ep__search-box svg{color:#9ca3af;display:block;flex-shrink:0;left:12px;pointer-events:none;position:absolute;top:50%;transform:translateY(-50%);z-index:1}.ep__search-input{background:#fff;border:1.5px solid #e5e7eb;border-radius:10px;color:#1a1d2e;font-family:inherit;font-size:13.5px;line-height:1.4;outline:none;padding:10px 14px 10px 40px;transition:border-color .2s,box-shadow .2s;width:100%}.ep__search-input:focus{border-color:#4f46e5;box-shadow:0 0 0 3px #4f46e51a}.ep__search-input::placeholder{color:#b0b7c3}.ep__card{background:#fff;border:1px solid #e9ebf0;border-radius:16px;box-shadow:0 2px 16px #0000000d;overflow:hidden}.ep__table{border-collapse:collapse;width:100%}.ep__table thead{background:#f3f4f8}.ep__table thead th{border-bottom:1px solid #e9ebf0;color:#9ca3af;font-size:11px;font-weight:700;letter-spacing:.7px;padding:12px 18px;text-align:left;text-transform:uppercase}.ep__table tbody tr{border-bottom:1px solid #f1f2f6;transition:background .12s}.ep__table tbody tr:last-child{border-bottom:none}.ep__table tbody tr:hover{background:#f9fafb}.ep__table td{font-size:13.5px;padding:13px 18px;vertical-align:middle}.ep__name-cell{gap:11px}.ep__avatar,.ep__name-cell{align-items:center;display:flex}.ep__avatar{border-radius:10px;color:#fff;flex-shrink:0;font-size:13px;font-weight:700;height:36px;justify-content:center;letter-spacing:.5px;width:36px}.ep__name{color:#1a1d2e;font-weight:600}.ep__email-cell{align-items:center;color:#4f46e5;display:inline-flex;font-size:13.5px;gap:6px}.ep__email-cell svg{flex-shrink:0}.ep__mobile{color:#374151}.ep__na{font-size:13px;font-style:italic}.ep__dash,.ep__na{color:#d1d5db}.ep__edit-btn{align-items:center;background:linear-gradient(135deg,#4f46e5,#6366f1);border:none;border-radius:8px;box-shadow:0 2px 8px #4f46e538;color:#fff;cursor:pointer;display:inline-flex;font-family:inherit;font-size:13px;font-weight:600;gap:6px;line-height:1;padding:7px 16px;transition:transform .15s,box-shadow .15s}.ep__edit-btn:hover{box-shadow:0 4px 14px #4f46e552;transform:translateY(-1px)}.ep__edit-btn:active{transform:none}@keyframes ep-shimmer{0%{background-position:-400px 0}to{background-position:400px 0}}.ep__skel{animation:ep-shimmer 1.4s infinite;background:linear-gradient(90deg,#f0f2f5 25%,#e8eaed 50%,#f0f2f5 75%);background-size:800px 100%;border-radius:6px;display:inline-block;height:13px}.ep__foot{border-top:1px solid #f1f2f6;color:#9ca3af;font-size:12.5px;padding:11px 18px}.ep__empty{color:#9ca3af;padding:56px 20px;text-align:center}.ep__empty svg{display:block;margin:0 auto 12px;opacity:.35}.ep__empty p{font-size:14px;margin:0}.ep__overlay{align-items:center;animation:ep-fadein .18s ease;backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px);background:#0a0c1a85;display:flex;inset:0;justify-content:center;padding:20px;position:fixed;z-index:9999}@keyframes ep-fadein{0%{opacity:0}to{opacity:1}}.ep__modal{animation:ep-slideup .22s cubic-bezier(.34,1.44,.64,1);background:#fff;border-radius:20px;box-shadow:0 24px 64px #0000002e,0 2px 8px #0000000f;color:#1a1d2e;display:block;font-family:Plus Jakarta Sans,sans-serif;max-width:460px;padding:30px;position:relative;width:100%}@keyframes ep-slideup{0%{opacity:0;transform:translateY(20px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}.ep__modal-close{align-items:center;background:#eef2ff;border:none;border-radius:8px;color:#6b7280;color:#1f2937;cursor:pointer;display:flex;height:30px;justify-content:center;position:absolute;right:16px;top:16px;width:30px}.ep__modal-close:hover{background:#fee2e2;color:#dc2626}.ep__modal-head{align-items:center;display:flex;gap:14px;margin-bottom:24px}.ep__modal-avatar{align-items:center;border-radius:14px;color:#fff;display:flex;flex-shrink:0;font-size:17px;font-weight:700;height:50px;justify-content:center;width:50px}.ep__modal-htitle{color:#1a1d2e;font-size:17px;font-weight:700;line-height:1.2;margin:0}.ep__modal-hsub{color:#9ca3af;font-size:12.5px;margin:3px 0 0}.ep__form-grid{grid-gap:14px;display:grid;gap:14px;grid-template-columns:1fr 1fr}.ep__fg{display:flex;flex-direction:column;gap:5px}.ep__fg.full{grid-column:1/-1}.ep__label{color:#9ca3af;font-size:11px;font-weight:700;letter-spacing:.6px;text-transform:uppercase}.ep__input{background:#fafafa;border:1.5px solid #e5e7eb;border-radius:10px;color:#1a1d2e;font-family:inherit;font-size:13.5px;line-height:1.4;outline:none;padding:9px 12px;transition:border-color .18s,box-shadow .18s,background .18s;width:100%}.ep__input:focus{background:#fff;border-color:#4f46e5;box-shadow:0 0 0 3px #4f46e517}.ep__input::placeholder{color:#c4c8d4}.ep__divider{background:#f0f1f5;height:1px;margin:22px 0 18px}.ep__actions{display:flex;gap:10px;justify-content:flex-end}.ep__btn-cancel{background:#fff;border:1.5px solid #e5e7eb;border-radius:10px;color:#6b7280;cursor:pointer;font-family:inherit;font-size:13.5px;font-weight:600;padding:9px 20px;transition:background .15s,color .15s}.ep__btn-cancel:hover{background:#f3f4f8;color:#374151}.ep__btn-save{align-items:center;background:linear-gradient(135deg,#4f46e5,#6366f1);border:none;border-radius:10px;box-shadow:0 4px 14px #4f46e547;color:#fff;cursor:pointer;display:inline-flex;font-family:inherit;font-size:13.5px;font-weight:600;gap:7px;padding:9px 24px;transition:transform .15s,box-shadow .15s}.ep__btn-save:hover:not(:disabled){box-shadow:0 6px 18px #4f46e561;transform:translateY(-1px)}.ep__btn-save:disabled{cursor:not-allowed;opacity:.6}@keyframes ep-spin{to{transform:rotate(1turn)}}.ep__spinner{animation:ep-spin .65s linear infinite;border:2px solid #ffffff59;border-radius:50%;border-top-color:#fff;display:inline-block;flex-shrink:0;height:14px;width:14px}@keyframes ep-toastin{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.ep__toast{align-items:center;animation:ep-toastin .25s ease;border-radius:12px;bottom:26px;box-shadow:0 8px 24px #00000021;display:flex;font-family:Plus Jakarta Sans,sans-serif;font-size:13.5px;font-weight:500;gap:9px;padding:11px 18px;position:fixed;right:26px;z-index:10000}.ep__toast--ok{background:#1a1d2e;color:#fff}.ep__toast--err{background:#fef2f2;border:1px solid #fecaca;color:#dc2626}.logs-page{background:#f0f2f5;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;min-height:100vh}.logs-page-header{background:linear-gradient(135deg,#5b6fd4,#7c5cbf 50%,#9b4dca);color:#fff;padding:28px 32px 36px}.logs-header-top{grid-gap:12px;align-items:center;display:grid;flex-wrap:wrap;gap:12px;grid-template-columns:auto 1fr auto;margin-bottom:20px}.logs-back-btn{background:#ffffff26;border:none;border-radius:8px;color:#fff;cursor:pointer;font-family:inherit;font-size:14px;font-weight:500;padding:7px 16px;transition:background .15s}.logs-back-btn:hover{background:#ffffff40}.logs-title-block{text-align:center}.logs-page-title{font-size:26px;font-weight:700;margin:0}.logs-page-sub{font-size:14px;margin-top:4px;opacity:.75}.logs-stats-strip{display:flex;flex-wrap:wrap;gap:12px;margin-top:20px}.logs-stat-pill{align-items:center;background:#ffffff2e;border:1px solid #ffffff47;border-radius:99px;color:#fff;display:flex;font-size:13px;font-weight:500;gap:6px;padding:6px 16px}.logs-stat-pill strong{font-weight:700}.logs-body{margin:0 auto;max-width:1050px;padding:24px 32px 60px}.logs-filter-row{align-items:flex-end;display:flex;flex-wrap:wrap;gap:14px;margin-bottom:20px}.logs-filter-group{display:flex;flex-direction:column;gap:5px}.logs-filter-label{color:#6b7280;font-size:11px;font-weight:700;letter-spacing:.07em;text-transform:uppercase}.logs-select-wrap{align-items:center;display:flex;position:relative}.logs-select{appearance:none;-webkit-appearance:none;background:#fff;border:1.5px solid #e5e7eb;border-radius:10px;box-shadow:0 1px 3px #0000000f;color:#1f2937;cursor:pointer;font-family:inherit;font-size:14px;font-weight:500;min-width:180px;padding:9px 38px 9px 14px;transition:border-color .15s,box-shadow .15s}.logs-select:hover{border-color:#9b4dca}.logs-select:focus{border-color:#7c5cbf;box-shadow:0 0 0 3px #7c5cbf26;outline:none}.logs-select-arrow{color:#9ca3af;font-size:12px;pointer-events:none;position:absolute;right:12px}.logs-clear-btn{align-self:flex-end;background:#fee2e2;border:1.5px solid #fecaca;border-radius:10px;color:#dc2626;cursor:pointer;font-family:inherit;font-size:13px;font-weight:600;padding:9px 14px;transition:background .15s}.logs-clear-btn:hover{background:#fecaca}.logs-result-count{align-self:flex-end;color:#9ca3af;font-size:13px;font-weight:500;padding-bottom:10px}.logs-action-btns{align-self:flex-end;display:flex;gap:8px;margin-left:auto}.logs-export-btn{background:#fff;border:1.5px solid #e5e7eb;border-radius:10px;box-shadow:0 1px 3px #0000000f;color:#374151;cursor:pointer;font-family:inherit;font-size:13px;font-weight:600;padding:9px 16px;transition:all .15s}.logs-export-btn:hover{border-color:#9b4dca;color:#7c5cbf}.logs-export-btn.calendar-btn{background:#ede9fe;border-color:#c4b5fd;color:#6d28d9}.logs-export-btn.calendar-btn:hover{background:#ddd6fe}.logs-table-wrap{animation:logSlideIn .3s ease both;background:#fff;border-radius:14px;box-shadow:0 1px 4px #00000012,0 4px 16px #0000000a;overflow:hidden}@keyframes logSlideIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.logs-table{border-collapse:collapse;table-layout:fixed;width:100%}.logs-table thead tr{background:#f8f9fb;border-bottom:2px solid #f0f0f0}.logs-table th{color:#9ca3af;font-size:11px;font-weight:700;letter-spacing:.07em;padding:12px 16px;text-align:left;text-transform:uppercase}.col-date{width:150px}.col-task{width:180px}.col-project{width:140px}.col-notes{width:auto}.col-status{width:100px}.col-hours{width:110px}.logs-table th.col-hours{text-align:right}.log-row td{border-bottom:1px solid #f3f4f6;color:#374151;font-size:14px;padding:12px 16px;vertical-align:middle}.log-row:last-child td{border-bottom:none}.log-row:hover td{background:#fafafa}.log-row.date-sep td{border-top:2px solid #f0f2f5}.log-date-cell{display:flex;flex-direction:column;gap:1px}.log-date-day{color:#9ca3af;font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.log-date-full{color:#374151;font-size:13px;font-weight:600}.log-date-blank{display:block}.log-task-name{color:#111827;display:block;font-size:14px;font-weight:500}.log-project-badge,.log-task-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.log-project-badge{background:#e0f2fe;border-radius:99px;color:#0369a1;display:inline-block;font-size:11px;font-weight:700;max-width:130px;padding:3px 10px}.log-notes-text{color:#6b7280;display:block;font-size:13px;max-width:260px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.log-notes-empty{color:#d1d5db;font-size:13px}.log-status-dot{align-items:center;border-radius:99px;display:inline-flex;font-size:12px;font-weight:600;padding:3px 10px}.log-status-dot.done{background:#dcfce7;color:#16a34a}.log-status-dot.pending{background:#fff7ed;color:#c2410c}.col-hours,.log-hrs{text-align:right}.log-hrs{display:block;font-size:13px;font-weight:700}.log-hrs.has{color:#5b6fd4}.log-hrs.nil{color:#d1d5db}.logs-totals{animation:logSlideIn .35s ease both;background:#fff;border-left:4px solid #7c5cbf;border-radius:14px;box-shadow:0 1px 4px #00000012;margin-top:16px;padding:22px 24px}.logs-totals-heading{color:#9ca3af;font-size:11px;font-weight:700;letter-spacing:.08em;margin-bottom:16px;text-transform:uppercase}.logs-totals-rows{display:flex;flex-direction:column;gap:10px}.logs-totals-row{align-items:center;display:flex;gap:14px}.logs-totals-project{color:#374151;flex-shrink:0;font-size:13px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;width:160px}.logs-totals-bar-wrap{background:#f3f4f6;border-radius:99px;flex:1 1;height:8px;overflow:hidden}.logs-totals-bar{background:linear-gradient(90deg,#5b6fd4,#9b4dca);border-radius:99px;height:100%;min-width:4px;transition:width .5s ease}.logs-totals-hrs{color:#5b6fd4;flex-shrink:0;font-size:13px;font-weight:700;text-align:right;width:60px}.logs-totals-grand{align-items:center;border-top:2px solid #f0f0f0;display:flex;justify-content:space-between;margin-top:4px;padding-top:12px}.logs-totals-grand span:first-child{color:#6b7280;font-size:13px;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.logs-totals-grand-val{color:#1f2937;font-size:20px;font-weight:700}.logs-skeleton{background:#fff;border-radius:10px;box-shadow:0 1px 3px #0000000d;margin-bottom:8px;overflow:hidden;position:relative}.logs-skeleton:after{animation:skelshimmer 1.4s infinite;background:linear-gradient(90deg,#f3f4f6 25%,#e5e7eb 50%,#f3f4f6 75%);background-size:200% 100%;content:"";inset:0;position:absolute}@keyframes skelshimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.logs-error{align-items:center;background:#fff5f5;border:1px solid #fecaca;border-radius:12px;display:flex;gap:12px;justify-content:space-between;padding:18px 22px}.logs-error-text{color:#dc2626;font-size:14px;font-weight:500}.logs-retry-btn{background:#dc2626;border:none;border-radius:8px;color:#fff;cursor:pointer;font-family:inherit;font-size:13px;font-weight:600;padding:8px 18px}.logs-retry-btn:hover{background:#b91c1c}.logs-empty{background:#fff;border-radius:14px;box-shadow:0 1px 4px #00000012;padding:60px 20px;text-align:center}.logs-empty-icon{font-size:44px;margin-bottom:12px}.logs-empty-title{color:#1f2937;font-size:18px;font-weight:700;margin-bottom:6px}.logs-empty-sub{color:#9ca3af;font-size:14px}.cal-overlay{align-items:center;animation:fadeIn .18s ease;background:#0f0f238c;display:flex;inset:0;justify-content:center;padding:16px;position:fixed;z-index:1000}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.cal-modal{animation:slideUp .22s ease;background:#fff;border-radius:18px;box-shadow:0 20px 60px #00000040;max-height:90vh;max-width:860px;overflow-y:auto;width:100%}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.cal-modal-header{align-items:center;border-bottom:1px solid #f0f0f0;display:flex;justify-content:space-between;padding:22px 24px 16px}.cal-modal-title{color:#1f2937;font-size:18px;font-weight:700}.cal-close-btn{align-items:center;background:#f3f4f6;border:none;border-radius:8px;color:#6b7280;cursor:pointer;display:flex;flex-shrink:0;font-size:14px;height:32px;justify-content:center;transition:background .15s;width:32px}.cal-close-btn:hover{background:#e5e7eb;color:#111827}.cal-nav{align-items:center;border-bottom:1px solid #f5f5f5;display:flex;justify-content:space-between;padding:14px 24px}.cal-nav-label{color:#1f2937;font-size:15px;font-weight:700}.cal-nav-btn{align-items:center;background:#f3f4f6;border:none;border-radius:8px;color:#374151;cursor:pointer;display:flex;font-size:18px;height:32px;justify-content:center;transition:background .15s;width:32px}.cal-nav-btn:hover{background:#e5e7eb}.cal-grid{grid-gap:0;display:grid;gap:0;grid-template-columns:repeat(7,1fr);padding:0 16px 16px}.cal-day-header{background:#2d2f7e;border:1px solid #3d3f8e;color:#fff;font-size:11px;font-weight:700;letter-spacing:.07em;padding:10px 0;text-align:center;text-transform:uppercase}.cal-cell{background:#fff;border:1px solid #e9eaec;min-height:100px;padding:6px 6px 8px;position:relative;transition:background .12s;vertical-align:top}.cal-cell.empty{background:#fafafa}.cal-cell.has-data{cursor:pointer}.cal-cell.has-data:hover{background:#f5f3ff}.cal-cell.today{background:#fffbeb}.cal-cell-num{color:#374151;font-size:13px;font-weight:600;margin-bottom:6px;padding-right:2px;text-align:right}.cal-cell-num.today-num{align-items:center;background:#7c5cbf;border-radius:50%;color:#fff;display:flex;font-size:11px;height:22px;justify-content:center;margin-left:auto;width:22px}.cal-cell-badges{display:flex;flex-direction:column;gap:4px}.cal-badge{border-radius:5px;font-size:10px;font-weight:700;overflow:hidden;padding:4px 6px;text-overflow:ellipsis;white-space:nowrap}.cal-badge.in{background:#16a34a;color:#fff}.cal-badge.out{background:#dc2626;color:#fff}.cal-legend{align-items:center;border-top:1px solid #f0f0f0;color:#6b7280;display:flex;font-size:12px;gap:4px;padding:12px 24px 20px}.cal-legend-dot{border-radius:3px;display:inline-block;height:12px;width:12px}.cal-legend-dot.in{background:#16a34a}.cal-legend-dot.out{background:#dc2626}.cal-legend-dot.today-dot{background:#7c5cbf;border-radius:50%}.cal-detail-modal{animation:slideUp .2s ease;background:#fff;border-radius:18px;box-shadow:0 20px 60px #0000004d;max-height:88vh;max-width:780px;overflow-y:auto;width:100%}.cal-detail-header{align-items:flex-start;background:linear-gradient(135deg,#5b6fd4,#9b4dca);border-radius:18px 18px 0 0;color:#fff;display:flex;justify-content:space-between;padding:22px 24px 18px}.cal-detail-day{font-size:12px;font-weight:600;letter-spacing:.08em;opacity:.8;text-transform:uppercase}.cal-detail-date{font-size:20px;font-weight:700;margin-top:2px}.cal-detail-inout{align-items:center;border-bottom:1px solid #f0f0f0;display:flex;flex-wrap:wrap;gap:12px;padding:16px 24px}.cal-inout-pill{border-radius:10px;display:flex;flex-direction:column;gap:2px;min-width:110px;padding:10px 20px}.cal-inout-pill.in{background:#dcfce7}.cal-inout-pill.out{background:#fee2e2}.cal-inout-label{color:#9ca3af;font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.cal-inout-time{color:#1f2937;font-size:17px;font-weight:700}.cal-inout-time.purple{color:#7c5cbf}.cal-inout-arrow{color:#d1d5db;font-size:18px}.cal-inout-total{background:#f5f3ff;border-radius:10px;display:flex;flex-direction:column;gap:2px;margin-left:auto;min-width:90px;padding:10px 20px}.cal-detail-table-wrap{overflow-x:auto;padding:16px 24px 24px}.cal-detail-table{border-collapse:collapse;width:100%}.cal-detail-table thead tr{background:#f8f9fb;border-bottom:2px solid #f0f0f0}.cal-detail-table th{color:#9ca3af;font-size:11px;font-weight:700;letter-spacing:.06em;padding:10px 14px;text-align:left;text-transform:uppercase}.cal-detail-table td{border-bottom:1px solid #f3f4f6;color:#374151;font-size:13px;padding:11px 14px;vertical-align:middle}.cal-detail-table tr:last-child td{border-bottom:none}.cal-detail-table tr:hover td{background:#fafafa}.dt-task{color:#111827;font-weight:600}.dt-notes{color:#6b7280;max-width:200px}.dt-hrs{text-align:right}.cal-detail-empty{color:#9ca3af;font-size:14px;padding:32px 24px;text-align:center}@media (max-width:640px){.logs-page-header{padding:20px 16px 28px}.logs-body{padding:16px 12px 60px}.logs-filter-row{align-items:flex-start;flex-direction:column}.logs-select{min-width:0;width:100%}.logs-action-btns,.logs-result-count{margin-left:0}.col-date,.col-project{width:110px}.col-notes,.col-status,.logs-table th.col-notes,.logs-table th.col-status{display:none}.logs-totals-project{width:110px}.cal-cell{min-height:70px}.cal-badge{font-size:9px;padding:3px 4px}.cal-detail-inout{gap:8px}.cal-inout-pill{min-width:80px;padding:8px 12px}}.logs-header-actions{align-items:center;display:flex;flex-wrap:wrap;gap:10px;justify-content:flex-end;min-width:80px}.logs-header-btn{border:none;border-radius:10px;cursor:pointer;font-family:inherit;font-size:13px;font-weight:600;padding:8px 16px;transition:opacity .15s,transform .1s;white-space:nowrap}.logs-header-btn:hover{opacity:.88;transform:translateY(-1px)}.logs-header-btn:active{opacity:1;transform:translateY(0)}.logs-header-btn.calendar{background:#ffffff2e;border:1px solid #ffffff59;color:#fff}.logs-header-btn.enter-logs{background:#22c55e;color:#fff}.logs-header-btn.checkout{background:#f59e0b;color:#fff}.cal-page-card{animation:logSlideIn .3s ease both;background:#fff;border-radius:18px;box-shadow:0 1px 4px #00000012,0 4px 20px #0000000d;overflow:hidden;padding-bottom:8px}.cal-nav-page{border-bottom:1px solid #f5f5f5;padding:16px 24px}.logs-stats-row{align-items:center;display:flex;flex-wrap:wrap;justify-content:space-between}.logs-stats-actions{display:flex;gap:10px}.cal-grid-page{padding:0 20px 16px}@media (max-width:640px){.logs-header-actions{justify-content:flex-start}.logs-header-btn{font-size:12px;padding:7px 12px}}
/*# sourceMappingURL=main.fb46bed4.css.map*/