*{box-sizing:border-box;margin:0;padding:0}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:linear-gradient(135deg,#f5f7fa,#e8ecf1);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;min-height:100vh}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}::-webkit-scrollbar{height:8px;width:8px}::-webkit-scrollbar-track{background:#f1f1f1}::-webkit-scrollbar-thumb{background:#888;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#555}.sidebar{background:linear-gradient(180deg,#1a365d,#2c5282 50%,#2d3748);box-shadow:4px 0 20px #00000026;display:flex;flex-direction:column;height:100vh;left:0;overflow:hidden;position:fixed;top:0;transition:width .3s cubic-bezier(.4,0,.2,1);width:280px;z-index:1000}.sidebar.closed{width:80px}.sidebar-header{background:#0003;border-bottom:1px solid #ffffff1a;padding:25px 20px;position:relative}.hamburger-btn{align-items:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff1a;border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;font-size:20px;height:40px;justify-content:center;padding:10px;position:absolute;right:20px;top:25px;transition:all .3s ease;width:40px}.sidebar.closed .hamburger-btn{left:50%;margin:0;position:absolute;right:auto;top:50%;transform:translate(-50%,-50%)}.hamburger-btn:hover{background:#fff3;transform:scale(1.05)}.sidebar.closed .hamburger-btn:hover{transform:translate(-50%,-50%) scale(1.05)}.logo-container{align-items:center;display:flex;gap:15px;transition:opacity .3s ease}.sidebar.closed .logo-container{opacity:0;pointer-events:none}.logo-icon{align-items:center;background:linear-gradient(135deg,#4299e1,#3182ce);border-radius:10px;box-shadow:0 4px 12px #4299e166;display:flex;font-size:24px;height:45px;justify-content:center;width:45px}.logo-icon,.logo-text{color:#fff;font-weight:700}.logo-text{font-size:22px;letter-spacing:.5px;white-space:nowrap}.sidebar-nav{flex:1 1;overflow-x:hidden;overflow-y:auto}.sidebar-nav,.sidebar.closed .sidebar-nav{padding:20px 0}.nav-item{align-items:center;border-radius:10px;color:#fffc;display:flex;font-weight:500;gap:15px;margin:5px 15px;overflow:hidden;padding:14px 25px;position:relative;text-decoration:none;transition:all .3s cubic-bezier(.4,0,.2,1)}.sidebar.closed .nav-item{justify-content:center;margin:5px 10px;padding:14px}.nav-item:before{background:linear-gradient(180deg,#4299e1,#3182ce);content:"";height:100%;left:0;position:absolute;top:0;transform:scaleY(0);transition:transform .3s ease;width:4px}.nav-item:hover{background:#ffffff1a;color:#fff;transform:translateX(5px)}.sidebar.closed .nav-item:hover{transform:translateX(0) scale(1.05)}.nav-item.active{background:linear-gradient(135deg,#4299e133,#3182ce33);box-shadow:0 4px 12px #4299e14d;color:#fff}.nav-item.active:before{transform:scaleY(1)}.nav-icon{font-size:20px;min-width:20px;transition:transform .3s ease}.nav-item:hover .nav-icon{transform:scale(1.1)}.nav-text{font-size:15px;transition:opacity .3s ease;white-space:nowrap}.sidebar.closed .nav-text{opacity:0;overflow:hidden;width:0}.sidebar-footer{background:#0003;border-top:1px solid #ffffff1a;padding:20px}.logout-btn{align-items:center;background:#ef44441a;border:1px solid #ef44444d;border-radius:10px;color:#fca5a5;cursor:pointer;display:flex;font-size:15px;font-weight:500;gap:15px;padding:14px 20px;transition:all .3s ease;width:100%}.sidebar.closed .logout-btn{justify-content:center;padding:14px}.logout-btn:hover{background:#ef444433;border-color:#ef444480;box-shadow:0 4px 12px #ef44444d;color:#ef4444;transform:translateY(-2px)}.sidebar.closed .logout-btn .nav-text{opacity:0;overflow:hidden;width:0}@media (max-width:768px){.sidebar{transform:translateX(-100%)}.sidebar.open{transform:translateX(0)}.sidebar.closed{transform:translateX(-100%);width:280px}}.auth-container{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);display:flex;justify-content:center;min-height:100vh;padding:20px}.auth-card{animation:slideUp .5s ease;background:#fff;border-radius:16px;box-shadow:0 20px 60px #0000004d;max-width:450px;padding:40px;width:100%}.auth-header{margin-bottom:30px;text-align:center}.auth-logo{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:14px;box-shadow:0 8px 20px #667eea66;color:#fff;display:flex;font-size:32px;font-weight:700;height:70px;justify-content:center;margin:0 auto 20px;width:70px}.auth-header h1{color:#1a202c;font-size:28px;font-weight:700;margin-bottom:8px}.auth-header p{color:#718096;font-size:15px}.auth-form{margin-bottom:25px}.form-group{margin-bottom:20px}.form-group label{display:block}.form-group input{background:#f7fafc;border:2px solid #e2e8f0;border-radius:8px;font-size:15px;padding:12px 16px;transition:all .3s ease;width:100%}.form-group input:focus{background:#fff;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a;outline:none}.error-message{background:#fed7d7;border-left:4px solid #f56565;border-radius:8px;color:#c53030;font-size:14px;margin-bottom:20px;padding:12px 16px}.auth-btn{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:8px;box-shadow:0 4px 12px #667eea66;color:#fff;cursor:pointer;font-size:16px;font-weight:600;padding:14px;transition:all .3s ease;width:100%}.auth-btn:hover:not(:disabled){box-shadow:0 6px 20px #667eea80;transform:translateY(-2px)}.auth-btn:disabled{cursor:not-allowed;opacity:.6}.auth-footer{text-align:center}.auth-footer p{color:#718096;font-size:14px;margin-bottom:15px}.auth-footer a{color:#667eea;font-weight:600;text-decoration:none;transition:color .3s ease}.auth-footer a:hover{color:#764ba2}.test-credentials{background:#edf2f7;border-left:4px solid #667eea;border-radius:8px;margin-top:20px;padding:15px}.test-credentials p{color:#2d3748;font-size:13px;margin:5px 0}.test-credentials code{background:#fff;border-radius:4px;color:#667eea;font-family:Courier New,monospace;font-weight:600;padding:2px 8px}.dashboard-page{animation:fadeIn .5s ease}.dashboard-header{margin-bottom:30px}.dashboard-header h1{color:#1a202c;font-size:32px;font-weight:700;margin-bottom:8px}.dashboard-header p{color:#718096;font-size:16px}.stats-grid{grid-gap:25px;display:grid;gap:25px;grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}.stat-card{align-items:center;background:#fff;border-radius:12px;box-shadow:0 4px 12px #00000014;display:flex;gap:20px;padding:25px;transition:all .3s cubic-bezier(.4,0,.2,1)}.stat-card:hover{box-shadow:0 8px 24px #0000001f;transform:translateY(-4px)}.stat-icon{align-items:center;border-radius:12px;box-shadow:0 4px 12px #00000026;color:#fff;display:flex;font-size:28px;height:60px;justify-content:center;width:60px}.stat-content{flex:1 1}.stat-content h3{color:#718096;font-size:14px;font-weight:600;letter-spacing:.5px;margin-bottom:8px;text-transform:uppercase}.stat-value{color:#1a202c;font-size:28px;font-weight:700;margin-bottom:5px}.stat-subtitle{color:#a0aec0;font-size:13px}.dashboard-error,.dashboard-loading{align-items:center;color:#718096;display:flex;flex-direction:column;justify-content:center;min-height:400px}.dashboard-loading .spinner{animation:spin 1s linear infinite;border:4px solid #e2e8f0;border-radius:50%;border-top-color:#4299e1;height:40px;margin-bottom:15px;width:40px}.dashboard-error{color:#e53e3e;font-weight:500}@media (max-width:768px){.stats-grid{grid-template-columns:1fr}.dashboard-header h1{font-size:24px}}.entity-page{animation:fadeIn .5s ease}@keyframes fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.page-header{align-items:center;border-bottom:2px solid #e2e8f0;display:flex;justify-content:space-between;margin-bottom:30px;padding-bottom:20px}.page-header h1{color:#1a202c;font-size:32px;font-weight:700;margin-bottom:5px}.page-header p{color:#718096;font-size:15px}.btn-add{align-items:center;background:linear-gradient(135deg,#4299e1,#3182ce);border:none;border-radius:8px;box-shadow:0 4px 12px #4299e14d;color:#fff;cursor:pointer;display:flex;font-size:15px;font-weight:600;gap:8px;padding:12px 24px;transition:all .3s ease}.btn-add:hover{box-shadow:0 6px 20px #4299e166;transform:translateY(-2px)}.table-container{background:#fff;border-radius:12px;box-shadow:0 4px 12px #00000014;overflow:hidden}.entity-table{border-collapse:collapse;width:100%}.entity-table thead{background:linear-gradient(135deg,#f7fafc,#edf2f7)}.entity-table th{border-bottom:2px solid #e2e8f0;color:#2d3748;font-size:13px;font-weight:700;letter-spacing:.5px;padding:16px 20px;text-align:left;text-transform:uppercase}.entity-table td{border-bottom:1px solid #e2e8f0;color:#4a5568;font-size:14px;padding:16px 20px}.entity-table tbody tr{transition:background .2s ease}.entity-table tbody tr:hover{background:#f7fafc}.badge{background:#edf2f7;color:#4a5568}.badge,.status-badge{border-radius:12px;display:inline-block;font-size:12px;font-weight:600;padding:4px 12px;text-transform:capitalize}.status-active{background:#c6f6d5;color:#22543d}.status-inactive{background:#fed7d7;color:#742a2a}.status-on_leave{background:#feebc8;color:#7c2d12}.status-planning{background:#e9d8fd;color:#44337a}.status-in_progress{background:#bee3f8;color:#2c5282}.status-on_hold{background:#feebc8;color:#7c2d12}.status-completed{background:#c6f6d5;color:#22543d}.status-cancelled{background:#fed7d7;color:#742a2a}.status-todo{background:#e2e8f0;color:#2d3748}.status-review{background:#fef5e7;color:#7c6d1e}.status-blocked{background:#fed7d7;color:#742a2a}.status-prospect{background:#e9d8fd;color:#44337a}.status-draft{background:#e2e8f0;color:#2d3748}.status-sent{background:#bee3f8;color:#2c5282}.status-paid{background:#c6f6d5;color:#22543d}.status-overdue{background:#fed7d7;color:#742a2a}.priority-badge{border-radius:12px;display:inline-block;font-size:12px;font-weight:600;padding:4px 12px;text-transform:capitalize}.priority-low{background:#e2e8f0;color:#2d3748}.priority-medium{background:#bee3f8;color:#2c5282}.priority-high{background:#feebc8;color:#7c2d12}.priority-critical,.priority-urgent{background:#fed7d7;color:#742a2a}.progress-bar{background:#e2e8f0;border-radius:12px;height:24px;overflow:hidden;position:relative;width:100px}.progress-fill{background:linear-gradient(90deg,#4299e1,#3182ce);height:100%;transition:width .3s ease}.progress-text{color:#2d3748;font-size:11px;font-weight:700;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%)}.action-buttons{display:flex;gap:8px}.btn-delete,.btn-edit{border:none;border-radius:6px;cursor:pointer;font-size:14px;padding:8px 12px;transition:all .3s ease}.btn-edit{background:#bee3f8;color:#2c5282}.btn-edit:hover{background:#90cdf4;transform:translateY(-2px)}.btn-delete{background:#fed7d7;color:#742a2a}.btn-delete:hover{background:#fc8181;transform:translateY(-2px)}.modal-overlay{align-items:center;animation:fadeIn .3s ease;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0009;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:2000}.modal-content{animation:slideUp .3s ease;background:#fff;border-radius:16px;box-shadow:0 20px 60px #0000004d;max-height:90vh;max-width:600px;overflow-y:auto;width:90%}.modal-content.modal-large{max-width:800px}@keyframes slideUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.modal-header{align-items:center;border-bottom:2px solid #e2e8f0;display:flex;justify-content:space-between;padding:25px 30px}.modal-header h2{color:#1a202c;font-size:24px;font-weight:700}.btn-close{align-items:center;background:#fed7d7;border:none;border-radius:8px;color:#742a2a;cursor:pointer;display:flex;font-size:18px;height:36px;justify-content:center;transition:all .3s ease;width:36px}.btn-close:hover{background:#fc8181;transform:rotate(90deg)}.modal-content form{padding:30px}.form-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(2,1fr);margin-bottom:25px}.form-group{display:flex;flex-direction:column}.form-group.full-width{grid-column:1/-1}.form-group label{color:#2d3748;font-size:14px;font-weight:600;margin-bottom:8px}.form-group input,.form-group select,.form-group textarea{background:#f7fafc;border:2px solid #e2e8f0;border-radius:8px;font-size:14px;padding:12px 16px;transition:all .3s ease}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{background:#fff;border-color:#4299e1;box-shadow:0 0 0 3px #4299e11a;outline:none}.form-group textarea{font-family:inherit;resize:vertical}.modal-actions{display:flex;gap:12px;justify-content:flex-end}.btn-primary,.btn-secondary{border:none;border-radius:8px;cursor:pointer;font-size:15px;font-weight:600;padding:12px 24px;transition:all .3s ease}.btn-primary{background:linear-gradient(135deg,#4299e1,#3182ce);box-shadow:0 4px 12px #4299e14d;color:#fff}.btn-primary:hover{box-shadow:0 6px 20px #4299e166;transform:translateY(-2px)}.btn-secondary{background:#e2e8f0;color:#2d3748}.btn-secondary:hover{background:#cbd5e0}.loading{align-items:center;color:#718096;display:flex;font-size:16px;justify-content:center;min-height:400px}@media (max-width:768px){.page-header{align-items:flex-start;flex-direction:column;gap:15px}.form-grid{grid-template-columns:1fr}.table-container{overflow-x:auto}.modal-content{max-height:95vh;width:95%}}.app-container{background:linear-gradient(135deg,#f5f7fa,#e8ecf1);display:flex;min-height:100vh}.main-content{flex:1 1;margin-left:280px;min-height:100vh;padding:30px;transition:margin-left .3s cubic-bezier(.4,0,.2,1)}.main-content.sidebar-closed{margin-left:80px}.loading-screen{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;display:flex;flex-direction:column;justify-content:center;min-height:100vh}.spinner{animation:spin 1s linear infinite;border:4px solid #ffffff4d;border-radius:50%;border-top-color:#fff;height:50px;margin-bottom:20px;width:50px}@keyframes spin{to{transform:rotate(1turn)}}.loading-screen p{font-size:18px;font-weight:500}@media (max-width:768px){.main-content{margin-left:0;padding:20px}.main-content.sidebar-closed{margin-left:0}}