@import"https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap";.layout{display:flex;height:100vh;overflow:hidden}.sidebar{width:var(--sidebar-w);background:var(--navy);display:flex;flex-direction:column;flex-shrink:0;overflow-y:auto}.sidebar-header{display:flex;align-items:center;gap:10px;padding:20px 16px;border-bottom:1px solid rgba(255,255,255,.08)}.sidebar-logo{width:32px;height:32px;background:var(--accent);border-radius:8px;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:13px;color:#fff;flex-shrink:0}.sidebar-brand{font-weight:700;font-size:16px;color:#fff}.sidebar-nav{flex:1;padding:12px 8px;display:flex;flex-direction:column;gap:2px}.sidebar-link{display:flex;align-items:center;gap:10px;padding:9px 12px;border-radius:var(--radius);color:#a8c8e8;font-size:14px;font-weight:500;transition:background .15s,color .15s}.sidebar-link:hover{background:#ffffff14;color:#fff}.sidebar-link.active{background:#ffffff1f;color:#fff}.sidebar-section{margin-top:16px;display:flex;flex-direction:column;gap:2px}.sidebar-section-label{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:#5a7fa8;padding:0 12px;margin-bottom:4px}.sidebar-link-project{font-size:13px}.sidebar-project-name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar-chevron{opacity:0;transition:opacity .15s}.sidebar-link:hover .sidebar-chevron,.sidebar-link.active .sidebar-chevron{opacity:1}.sidebar-footer{padding:12px 8px;border-top:1px solid rgba(255,255,255,.08);display:flex;align-items:center;gap:8px}.sidebar-avatar{width:32px;height:32px;background:var(--blue);border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:13px;color:#fff;flex-shrink:0}.sidebar-user{display:flex;align-items:center;gap:8px;flex:1;min-width:0}.sidebar-user-info{display:flex;flex-direction:column;min-width:0}.sidebar-user-name{font-size:13px;font-weight:500;color:#fff;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar-user-email{font-size:11px;color:#5a7fa8;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar-logout{padding:6px;border-radius:var(--radius);color:#5a7fa8;transition:color .15s,background .15s}.sidebar-logout:hover{color:var(--accent);background:#e848551a}.topbar{height:var(--topbar-h);background:var(--card);border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;padding:0 24px;flex-shrink:0}.topbar-menu{color:var(--text-muted);padding:6px;border-radius:var(--radius);transition:background .15s}.topbar-menu:hover{background:var(--surface)}.topbar-right{display:flex;align-items:center;gap:8px}.topbar-icon{padding:6px;border-radius:var(--radius);color:var(--text-muted);transition:background .15s}.topbar-icon:hover{background:var(--surface)}.topbar-avatar{width:32px;height:32px;background:var(--navy);border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:13px;color:#fff;cursor:pointer}.layout-main{flex:1;display:flex;flex-direction:column;overflow:hidden;transition:margin-left .2s}.layout-content{flex:1;overflow-y:auto;padding:28px}.auth-wrapper{display:flex;min-height:100vh}.auth-left{width:420px;background:var(--navy);padding:60px 48px;display:flex;flex-direction:column;justify-content:center;gap:48px;flex-shrink:0}.auth-logo{width:52px;height:52px;background:var(--accent);border-radius:12px;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:18px;color:#fff;margin-bottom:16px}.auth-brand h1{font-size:28px;font-weight:700;color:#fff;margin-bottom:12px}.auth-brand p{color:#a8c8e8;font-size:15px;line-height:1.6}.auth-features{display:flex;flex-direction:column;gap:16px}.auth-feature{display:flex;align-items:center;gap:12px;color:#a8c8e8;font-size:14px}.auth-feature span{font-size:18px}.auth-right{flex:1;display:flex;align-items:center;justify-content:center;padding:40px 24px;background:var(--surface)}.auth-card{width:100%;max-width:420px;background:var(--card);border-radius:var(--radius-lg);padding:40px;box-shadow:var(--shadow-lg)}.auth-card h2{font-size:24px;font-weight:700;color:var(--navy);margin-bottom:6px}.auth-subtitle{color:var(--text-muted);font-size:14px;margin-bottom:32px}.auth-form{display:flex;flex-direction:column;gap:20px}.form-group{display:flex;flex-direction:column;gap:6px}.form-group label{font-size:13px;font-weight:500;color:var(--text)}.form-group input{padding:10px 14px;border:1.5px solid var(--border);border-radius:var(--radius);font-size:14px;color:var(--text);background:var(--surface);transition:border-color .2s}.form-group input:focus{border-color:var(--blue);background:#fff}.btn-primary{padding:11px 20px;background:var(--accent);color:#fff;border-radius:var(--radius);font-size:14px;font-weight:600;transition:background .2s,transform .1s;margin-top:4px}.btn-primary:hover:not(:disabled){background:#d63d49;transform:translateY(-1px)}.btn-primary:disabled{opacity:.6;cursor:not-allowed}.auth-switch{text-align:center;margin-top:24px;font-size:13px;color:var(--text-muted)}.auth-switch a{color:var(--blue);font-weight:500}.auth-switch a:hover{text-decoration:underline}.loading-screen{display:flex;align-items:center;justify-content:center;height:100vh;font-size:16px;color:var(--text-muted)}.dashboard{max-width:1100px}.dashboard-header{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:32px}.dashboard-header h1{font-size:26px;font-weight:700;color:var(--navy);margin-bottom:4px}.dashboard-subtitle{color:var(--text-muted);font-size:14px}.btn-accent{display:flex;align-items:center;gap:6px;padding:9px 16px;background:var(--accent);color:#fff;border-radius:var(--radius);font-size:14px;font-weight:600;transition:background .2s,transform .1s;flex-shrink:0}.btn-accent:hover{background:#d63d49;transform:translateY(-1px)}.btn-ghost{padding:9px 16px;border-radius:var(--radius);font-size:14px;font-weight:500;color:var(--text-muted);border:1.5px solid var(--border);transition:background .15s}.btn-ghost:hover{background:var(--surface)}.dashboard-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:32px}.stat-card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:20px;display:flex;align-items:center;gap:16px;box-shadow:var(--shadow-sm)}.stat-icon{width:44px;height:44px;border-radius:var(--radius);display:flex;align-items:center;justify-content:center;flex-shrink:0}.stat-value{font-size:26px;font-weight:700;color:var(--navy);line-height:1;margin-bottom:4px}.stat-label{font-size:13px;color:var(--text-muted)}.projects-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:20px}.project-card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:20px;cursor:pointer;transition:box-shadow .2s,transform .2s;box-shadow:var(--shadow-sm)}.project-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.project-card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}.project-card-icon{width:36px;height:36px;background:var(--navy);border-radius:var(--radius);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:15px;color:#fff}.project-status{font-size:11px;font-weight:600;padding:3px 8px;border-radius:20px;text-transform:capitalize}.project-status.active{background:#f0fff4;color:var(--success)}.project-status.archived{background:var(--surface);color:var(--text-muted)}.project-card-name{font-size:15px;font-weight:600;color:var(--navy);margin-bottom:6px}.project-card-desc{font-size:13px;color:var(--text-muted);margin-bottom:16px;overflow:hidden;display:-webkit-box;line-clamp:2;-webkit-line-clamp:2;-webkit-box-orient:vertical}.project-card-progress{display:flex;align-items:center;gap:10px;margin-bottom:14px}.progress-bar{flex:1;height:6px;background:var(--border);border-radius:3px;overflow:hidden}.progress-fill{height:100%;background:var(--success);border-radius:3px;transition:width .4s ease}.progress-label{font-size:12px;font-weight:600;color:var(--text-muted);min-width:32px}.project-card-footer{display:flex;justify-content:space-between;font-size:12px;color:var(--text-muted);padding-top:12px;border-top:1px solid var(--border)}.dashboard-empty{display:flex;flex-direction:column;align-items:center;gap:12px;padding:80px 0;color:var(--text-muted)}.dashboard-empty h3{font-size:18px;font-weight:600;color:var(--text)}.dashboard-empty p{font-size:14px;margin-bottom:8px}.dashboard-loading{padding:40px;text-align:center;color:var(--text-muted)}.modal-overlay{position:fixed;inset:0;background:#0006;display:flex;align-items:center;justify-content:center;z-index:1000;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.modal{background:var(--card);border-radius:var(--radius-lg);padding:28px;width:100%;max-width:440px;box-shadow:var(--shadow-lg)}.modal h3{font-size:18px;font-weight:700;color:var(--navy);margin-bottom:20px}.modal-form{display:flex;flex-direction:column;gap:16px}.modal-form textarea{padding:10px 14px;border:1.5px solid var(--border);border-radius:var(--radius);font-size:14px;resize:vertical;background:var(--surface);transition:border-color .2s}.modal-form textarea:focus{border-color:var(--blue);background:#fff}.modal-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:8px}.kanban-board{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;align-items:start;height:calc(100vh - 280px)}.kanban-column{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);display:flex;flex-direction:column;max-height:100%;transition:border-color .2s}.kanban-column--over{border-color:var(--blue);background:#ebf5ff}.kanban-column-header{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;border-bottom:1px solid var(--border)}.kanban-column-title{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:600;color:var(--text)}.kanban-column-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.kanban-column-count{background:var(--border);color:var(--text-muted);font-size:11px;font-weight:600;padding:1px 7px;border-radius:20px}.kanban-add-btn{padding:4px;border-radius:6px;color:var(--text-muted);transition:background .15s,color .15s}.kanban-add-btn:hover{background:var(--border);color:var(--navy)}.kanban-column-body{padding:12px;display:flex;flex-direction:column;gap:10px;overflow-y:auto;flex:1;min-height:80px}.kanban-empty{display:flex;align-items:center;justify-content:center;padding:24px;color:var(--text-muted);font-size:13px;border:2px dashed var(--border);border-radius:var(--radius)}.task-card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);cursor:grab;transition:box-shadow .2s,transform .2s;position:relative;overflow:hidden;box-shadow:var(--shadow-sm);display:flex}.task-card:hover{box-shadow:var(--shadow-md);transform:translateY(-1px)}.task-card--dragging{box-shadow:var(--shadow-lg);cursor:grabbing;transform:rotate(2deg)}.task-card-priority-bar{width:4px;flex-shrink:0}.task-card-body{padding:12px;flex:1;display:flex;flex-direction:column;gap:8px}.task-card-header{display:flex;align-items:center;justify-content:space-between}.task-priority-badge{font-size:10px;font-weight:600;padding:2px 7px;border-radius:20px;text-transform:capitalize}.task-card-title{font-size:13px;font-weight:500;color:var(--text);line-height:1.4}.task-card-footer{display:flex;align-items:center;justify-content:space-between}.task-due{display:flex;align-items:center;gap:4px;font-size:11px;color:var(--text-muted)}.task-due--overdue{color:var(--accent)}.task-assignee{width:22px;height:22px;background:var(--navy);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:600;color:#fff}.task-labels{display:flex;flex-wrap:wrap;gap:4px}.task-label{font-size:10px;font-weight:500;padding:2px 6px;border-radius:4px}.modal--wide{max-width:600px}.modal--tall{max-height:85vh;display:flex;flex-direction:column}.modal-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}.modal-close{padding:6px;border-radius:var(--radius);color:var(--text-muted);transition:background .15s}.modal-close:hover{background:var(--surface)}.task-modal-body{overflow-y:auto;flex:1}.task-meta-row{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:20px;padding-bottom:16px;border-bottom:1px solid var(--border)}.task-meta-item{display:flex;align-items:center;gap:6px;font-size:13px;color:var(--text-muted)}.task-status-badge{font-size:11px;font-weight:600;padding:3px 8px;border-radius:20px}.status-todo{background:#f7fafc;color:#718096}.status-in_progress{background:#ebf5ff;color:#2e86ab}.status-done{background:#f0fff4;color:#27ae60}.text-danger{color:var(--accent)}.task-description{margin-bottom:24px}.task-description h4,.task-comments h4{font-size:13px;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;margin-bottom:10px}.task-description p{font-size:14px;color:var(--text);line-height:1.6}.comment-form{display:flex;gap:8px;margin-bottom:16px}.comment-form input{flex:1;padding:9px 14px;border:1.5px solid var(--border);border-radius:var(--radius);font-size:14px;background:var(--surface);transition:border-color .2s}.comment-form input:focus{border-color:var(--blue);background:#fff}.comment-form button{padding:9px 14px;background:var(--navy);color:#fff;border-radius:var(--radius);transition:background .2s}.comment-form button:hover:not(:disabled){background:var(--navy-light)}.comment-form button:disabled{opacity:.4}.comments-list{display:flex;flex-direction:column;gap:12px}.comment{display:flex;gap:10px}.comment-avatar{width:30px;height:30px;background:var(--blue);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:600;color:#fff;flex-shrink:0}.comment-header{display:flex;align-items:center;gap:8px;margin-bottom:4px}.comment-author{font-size:13px;font-weight:600;color:var(--navy)}.comment-time{font-size:11px;color:var(--text-muted)}.comment-body{font-size:13px;color:var(--text);line-height:1.5}.no-comments{font-size:13px;color:var(--text-muted);text-align:center;padding:20px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}.form-group select{padding:10px 14px;border:1.5px solid var(--border);border-radius:var(--radius);font-size:14px;background:var(--surface);color:var(--text);transition:border-color .2s;width:100%}.form-group select:focus{border-color:var(--blue);background:#fff}.project-page{max-width:100%}.project-header{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:16px;gap:16px}.project-header-left{display:flex;align-items:center;gap:16px}.project-icon{width:48px;height:48px;background:var(--navy);border-radius:var(--radius-lg);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:20px;color:#fff;flex-shrink:0}.project-title{font-size:22px;font-weight:700;color:var(--navy);margin-bottom:2px}.project-desc{font-size:13px;color:var(--text-muted)}.project-header-right{display:flex;align-items:center;gap:12px;flex-shrink:0}.project-meta{display:flex;align-items:center;gap:6px;font-size:13px;color:var(--text-muted)}.project-progress-bar{height:4px;background:var(--border);border-radius:2px;margin-bottom:20px;overflow:hidden}.project-progress-fill{height:100%;background:linear-gradient(90deg,var(--blue),var(--success));border-radius:2px;transition:width .6s ease}.sprint-header{display:flex;align-items:center;gap:16px;margin-bottom:16px}.sprint-badge{font-size:12px;font-weight:600;padding:4px 12px;background:var(--navy);color:#fff;border-radius:20px}.sprint-stats{display:flex;gap:16px}.sprint-stat{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--text-muted)}.sprint-dot{width:8px;height:8px;border-radius:50%}.page-loading{display:flex;align-items:center;justify-content:center;height:60vh;color:var(--text-muted);font-size:15px}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--navy: #1E3A5F;--navy-light: #2A4F7F;--accent: #E84855;--blue: #2E86AB;--surface: #F8FAFC;--card: #FFFFFF;--border: #E2E8F0;--text: #1A202C;--text-muted: #718096;--success: #27AE60;--warning: #F0A500;--shadow-sm: 0 1px 3px rgba(0,0,0,.1);--shadow-md: 0 4px 12px rgba(0,0,0,.1);--shadow-lg: 0 8px 30px rgba(0,0,0,.12);--radius: 8px;--radius-lg: 12px;--sidebar-w: 240px;--topbar-h: 60px}body{font-family:Inter,sans-serif;background:var(--surface);color:var(--text);line-height:1.5;-webkit-font-smoothing:antialiased}button{cursor:pointer;border:none;background:none;font-family:inherit}input,textarea,select{font-family:inherit;outline:none}a{text-decoration:none;color:inherit}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}
