@import url(https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap);body{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}*{box-sizing:border-box;margin:0;padding:0}:root{--primary:#2563eb;--primary-hover:#1d4ed8;--primary-light:#dbeafe;--success:#16a34a;--success-light:#dcfce7;--danger:#dc2626;--danger-light:#fee2e2;--warning:#ea580c;--warning-light:#fed7aa;--info:#0891b2;--info-light:#cffafe;--gray-50:#f9fafb;--gray-100:#f3f4f6;--gray-200:#e5e7eb;--gray-300:#d1d5db;--gray-400:#9ca3af;--gray-500:#6b7280;--gray-600:#4b5563;--gray-700:#374151;--gray-800:#1f2937;--gray-900:#111827;--shadow-sm:0 1px 2px 0 #0000000d;--shadow:0 1px 3px 0 #0000001a,0 1px 2px 0 #0000000f;--shadow-md:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f;--shadow-lg:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d;--shadow-xl:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;--radius-sm:6px;--radius:8px;--radius-lg:12px;--radius-xl:16px;--transition:all 0.2s cubic-bezier(0.4,0,0.2,1)}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#f9fafb;background:var(--gray-50);color:#111827;color:var(--gray-900);font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:16px;line-height:1.6}.App{display:flex;flex-direction:column;min-height:100vh}.container{flex:1 1;margin:0 auto;max-width:1400px;padding:32px 40px;width:100%}.navbar{background:#fff;border-bottom:1px solid #e5e7eb;border-bottom:1px solid var(--gray-200);box-shadow:0 1px 2px 0 #0000000d;box-shadow:var(--shadow-sm);height:72px;padding:0 40px;position:sticky;top:0;z-index:100}.navbar,.navbar-content{align-items:center;display:flex}.navbar-content{justify-content:space-between;margin:0 auto;max-width:1400px;width:100%}.navbar-brand{align-items:center;color:#111827;color:var(--gray-900);display:flex;font-size:24px;font-weight:700;gap:12px;text-decoration:none}.navbar-brand:before{content:"📋";font-size:28px}.navbar-links{align-items:center;display:flex;gap:8px}.navbar-links a{border-radius:8px;border-radius:var(--radius);color:#374151;color:var(--gray-700);font-size:15px;font-weight:500;padding:10px 20px;text-decoration:none;transition:all .2s cubic-bezier(.4,0,.2,1);transition:var(--transition)}.navbar-links a:hover{background:#f3f4f6;background:var(--gray-100);color:#111827;color:var(--gray-900)}.navbar-user{align-items:center;display:flex;gap:12px}.user-info{align-items:flex-end;display:flex;flex-direction:column}.user-name{color:#111827;color:var(--gray-900);font-size:15px;font-weight:600}.user-role{background:#f3f4f6;background:var(--gray-100);border-radius:12px;color:#6b7280;color:var(--gray-500);font-size:13px;margin-top:4px;padding:3px 10px}.btn{align-items:center;border:none;border-radius:8px;border-radius:var(--radius);cursor:pointer;display:inline-flex;font-family:inherit;font-size:15px;font-weight:500;gap:8px;justify-content:center;padding:12px 20px;text-decoration:none;transition:all .2s cubic-bezier(.4,0,.2,1);transition:var(--transition);white-space:nowrap}.btn:hover{transform:translateY(-1px)}.btn:active{transform:translateY(0)}.btn:disabled{cursor:not-allowed;opacity:.5;transform:none}.btn-primary{background:#2563eb;background:var(--primary);box-shadow:0 1px 2px 0 #0000000d;box-shadow:var(--shadow-sm);color:#fff}.btn-primary:hover{background:#1d4ed8;background:var(--primary-hover);box-shadow:0 1px 3px 0 #0000001a,0 1px 2px 0 #0000000f;box-shadow:var(--shadow)}.btn-success{background:#16a34a;background:var(--success);box-shadow:0 1px 2px 0 #0000000d;box-shadow:var(--shadow-sm);color:#fff}.btn-success:hover{background:#15803d}.btn-danger{background:#dc2626;background:var(--danger);box-shadow:0 1px 2px 0 #0000000d;box-shadow:var(--shadow-sm);color:#fff}.btn-danger:hover{background:#b91c1c}.btn-secondary{background:#fff;border:1px solid #d1d5db;border:1px solid var(--gray-300);box-shadow:0 1px 2px 0 #0000000d;box-shadow:var(--shadow-sm);color:#374151;color:var(--gray-700)}.btn-secondary:hover{background:#f9fafb;background:var(--gray-50);border-color:#9ca3af;border-color:var(--gray-400)}.btn-small{font-size:14px;padding:8px 16px}.card{background:#fff;border:1px solid #e5e7eb;border:1px solid var(--gray-200);border-radius:12px;border-radius:var(--radius-lg);box-shadow:0 1px 3px 0 #0000001a,0 1px 2px 0 #0000000f;box-shadow:var(--shadow);margin-bottom:32px;padding:32px}.card-header{align-items:center;border-bottom:1px solid #e5e7eb;border-bottom:1px solid var(--gray-200);display:flex;justify-content:space-between;margin-bottom:24px;padding-bottom:20px}.card-title{color:#111827;color:var(--gray-900);font-size:24px;font-weight:700}.form-group{margin-bottom:20px}.form-group label{color:#374151;color:var(--gray-700);display:block;font-size:15px;font-weight:500;margin-bottom:8px}.form-control{background:#fff;border:1px solid #d1d5db;border:1px solid var(--gray-300);border-radius:8px;border-radius:var(--radius);color:#111827;color:var(--gray-900);font-family:inherit;font-size:15px;padding:12px 16px;transition:all .2s cubic-bezier(.4,0,.2,1);transition:var(--transition);width:100%}.form-control:hover{border-color:#9ca3af;border-color:var(--gray-400)}.form-control:focus{border-color:#2563eb;border-color:var(--primary);box-shadow:0 0 0 3px #dbeafe;box-shadow:0 0 0 3px var(--primary-light);outline:none}textarea.form-control{line-height:1.5;min-height:100px;resize:vertical}select.form-control{cursor:pointer}.auth-container{margin:80px auto;max-width:440px;padding:0 24px}.auth-card{background:#fff;border:1px solid #e5e7eb;border:1px solid var(--gray-200);border-radius:16px;border-radius:var(--radius-xl);box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;box-shadow:var(--shadow-xl);padding:48px}.auth-title{color:#111827;color:var(--gray-900);font-size:28px;font-weight:700;margin-bottom:32px;text-align:center}.auth-link{color:#4b5563;color:var(--gray-600);font-size:14px;margin-top:24px;text-align:center}.auth-link a{color:#2563eb;color:var(--primary);font-weight:600;text-decoration:none}.auth-link a:hover{text-decoration:underline}.dashboard-stats{grid-gap:24px;display:grid;gap:24px;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));margin-bottom:32px}.stat-card{background:#fff;border:1px solid #e5e7eb;border:1px solid var(--gray-200);border-radius:12px;border-radius:var(--radius-lg);box-shadow:0 1px 3px 0 #0000001a,0 1px 2px 0 #0000000f;box-shadow:var(--shadow);padding:28px;transition:all .2s cubic-bezier(.4,0,.2,1);transition:var(--transition)}.stat-card:hover{box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f;box-shadow:var(--shadow-md);transform:translateY(-2px)}.stat-value{color:#111827;color:var(--gray-900);font-size:40px;font-weight:700;line-height:1}.stat-label{font-size:15px;font-weight:500;margin-top:12px}.stat-card.todo .stat-value,.stat-label{color:#4b5563;color:var(--gray-600)}.stat-card.progress .stat-value{color:#0891b2;color:var(--info)}.stat-card.review .stat-value{color:#ea580c;color:var(--warning)}.stat-card.completed .stat-value{color:#16a34a;color:var(--success)}.stat-card.overdue .stat-value{color:#dc2626;color:var(--danger)}.projects-grid{grid-gap:24px;display:grid;gap:24px;grid-template-columns:repeat(auto-fill,minmax(350px,1fr))}.project-card{background:#fff;border:1px solid #e5e7eb;border:1px solid var(--gray-200);border-radius:12px;border-radius:var(--radius-lg);box-shadow:0 1px 3px 0 #0000001a,0 1px 2px 0 #0000000f;box-shadow:var(--shadow);cursor:pointer;padding:28px;transition:all .2s cubic-bezier(.4,0,.2,1);transition:var(--transition)}.project-card:hover{border-color:#2563eb;border-color:var(--primary);box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d;box-shadow:var(--shadow-lg);transform:translateY(-4px)}.project-name{color:#111827;color:var(--gray-900);font-size:20px;font-weight:600;margin-bottom:12px}.project-description{color:#4b5563;color:var(--gray-600);font-size:15px;line-height:1.6;margin-bottom:20px}.project-meta{align-items:center;border-top:1px solid #e5e7eb;border-top:1px solid var(--gray-200);color:#6b7280;color:var(--gray-500);display:flex;font-size:14px;justify-content:space-between;padding-top:20px}.task-list{display:flex;flex-direction:column;gap:16px}.task-item{background:#fff;border:1px solid #e5e7eb;border-left:4px solid #9ca3af;border:1px solid var(--gray-200);border-left:4px solid var(--gray-400);border-radius:12px;border-radius:var(--radius-lg);box-shadow:0 1px 3px 0 #0000001a,0 1px 2px 0 #0000000f;box-shadow:var(--shadow);padding:24px;transition:all .2s cubic-bezier(.4,0,.2,1);transition:var(--transition)}.task-item:hover{box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f;box-shadow:var(--shadow-md)}.task-item.todo{border-left-color:#9ca3af;border-left-color:var(--gray-400)}.task-item.in-progress{border-left-color:#0891b2;border-left-color:var(--info)}.task-item.in-review{border-left-color:#ea580c;border-left-color:var(--warning)}.task-item.completed{border-left-color:#16a34a;border-left-color:var(--success)}.task-header{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:12px}.task-title{color:#111827;color:var(--gray-900);font-size:18px;font-weight:600}.task-meta{color:#4b5563;color:var(--gray-600);font-size:14px;gap:16px;margin-top:12px}.task-actions,.task-meta{display:flex;flex-wrap:wrap}.task-actions{gap:12px;margin-top:16px}.badge{align-items:center;border-radius:14px;display:inline-flex;font-size:13px;font-weight:500;line-height:1;padding:6px 12px}.badge-status{background:#f3f4f6;background:var(--gray-100);color:#374151;color:var(--gray-700)}.badge-priority{background:#dcfce7;background:var(--success-light);color:#16a34a;color:var(--success)}.badge-priority.low{background:#f3f4f6;background:var(--gray-100);color:#4b5563;color:var(--gray-600)}.badge-priority.medium{background:#cffafe;background:var(--info-light);color:#0891b2;color:var(--info)}.badge-priority.high{background:#fed7aa;background:var(--warning-light);color:#ea580c;color:var(--warning)}.badge-overdue,.badge-priority.urgent{background:#fee2e2;background:var(--danger-light);color:#dc2626;color:var(--danger)}.modal-overlay{align-items:center;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;padding:24px;position:fixed;right:0;top:0;z-index:1000}.modal{background:#fff;border:1px solid #e5e7eb;border:1px solid var(--gray-200);border-radius:16px;border-radius:var(--radius-xl);box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;box-shadow:var(--shadow-xl);max-height:90vh;max-width:600px;overflow-y:auto;padding:32px;width:100%}.modal-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:24px}.modal-title{color:#111827;color:var(--gray-900);font-size:20px;font-weight:700}.close-btn{align-items:center;background:#f3f4f6;background:var(--gray-100);border:none;border-radius:8px;border-radius:var(--radius);color:#4b5563;color:var(--gray-600);cursor:pointer;display:flex;font-size:20px;height:32px;justify-content:center;transition:all .2s cubic-bezier(.4,0,.2,1);transition:var(--transition);width:32px}.close-btn:hover{background:#e5e7eb;background:var(--gray-200);color:#111827;color:var(--gray-900)}.alert{border:1px solid;border-radius:8px;border-radius:var(--radius);font-size:14px;font-weight:500;margin-bottom:20px;padding:12px 16px}.alert-error{background:#fee2e2;background:var(--danger-light);border-color:#dc2626;border-color:var(--danger);color:#dc2626;color:var(--danger)}.alert-success{background:#dcfce7;background:var(--success-light);border-color:#16a34a;border-color:var(--success);color:#16a34a;color:var(--success)}.loading{font-size:14px}.empty-state,.loading{color:#6b7280;color:var(--gray-500);padding:60px 24px;text-align:center}.empty-state-icon{font-size:48px;margin-bottom:16px;opacity:.5}@media (max-width:768px){.container{padding:16px}.navbar{height:auto;min-height:64px;padding:0 16px}.navbar-content{flex-direction:column;gap:12px;padding:12px 0}.navbar-links{flex-direction:column;gap:4px;width:100%}.navbar-links a{text-align:center;width:100%}.dashboard-stats,.projects-grid{grid-template-columns:1fr}.task-header{gap:8px}.task-actions,.task-header{flex-direction:column}.auth-card{padding:32px 24px}.modal{padding:24px}.card{padding:16px}}::-webkit-scrollbar{height:8px;width:8px}::-webkit-scrollbar-track{background:#f3f4f6;background:var(--gray-100)}::-webkit-scrollbar-thumb{background:#9ca3af;background:var(--gray-400);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#6b7280;background:var(--gray-500)}.text-center{text-align:center}.mt-1{margin-top:8px}.mt-2{margin-top:16px}.mt-3{margin-top:24px}.mb-1{margin-bottom:8px}.mb-2{margin-bottom:16px}.mb-3{margin-bottom:24px}.gap-1{gap:8px}.gap-2{gap:16px}.gap-3{gap:24px}
/*# sourceMappingURL=main.0498ec87.css.map*/