@import "https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap";:root{--primary:#4f46e5;--primary-hover:#4338ca;--primary-light:#eef2ff;--bg:#0f172a;--surface:#1e293b;--surface-hover:#273548;--text:#f1f5f9;--text-secondary:#94a3b8;--border:#334155;--success:#10b981;--warning:#f59e0b;--danger:#ef4444;--radius:10px;--radius-lg:14px;--shadow:0 4px 6px -1px #0000004d, 0 2px 4px -1px #0003;--transition:all .2s ease;--sidebar-width:260px;--sidebar-collapsed:72px}*{box-sizing:border-box;margin:0;padding:0}body{background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;line-height:1.6}a{color:inherit;text-decoration:none}button{cursor:pointer;color:inherit;background:0 0;border:none;font-family:inherit}.auth-page{background:linear-gradient(135deg,#0f172a 0%,#1e1b4b 50%,#0f172a 100%);justify-content:center;align-items:center;min-height:100vh;padding:1rem;display:flex}.auth-card{width:100%;max-width:420px;padding:2.5rem;animation:.4s slideUp}.auth-header{text-align:center;margin-bottom:2rem}.auth-header h1{margin:.75rem 0 .25rem;font-size:1.75rem;font-weight:700}.auth-header p{color:var(--text-secondary);font-size:.9rem}.auth-icon{background:linear-gradient(135deg, var(--primary), #7c3aed);color:#fff;border-radius:12px;padding:.75rem;display:inline-flex}.auth-error{color:#f87171;border-radius:var(--radius);background:#ef44441f;border:1px solid #ef444433;margin-bottom:1rem;padding:.75rem 1rem;font-size:.875rem}.auth-footer{text-align:center;color:var(--text-secondary);margin-top:1.5rem;font-size:.875rem}.auth-footer a{color:var(--primary);font-weight:500}.auth-footer a:hover{text-decoration:underline}.form-group{margin-bottom:1.25rem}.form-group label{color:var(--text-secondary);margin-bottom:.4rem;font-size:.85rem;font-weight:500;display:block}.form-group input,.form-group select{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);width:100%;color:var(--text);transition:var(--transition);padding:.7rem .9rem;font-family:inherit;font-size:.9rem}.form-group input:focus,.form-group select:focus{border-color:var(--primary);outline:none;box-shadow:0 0 0 3px #4f46e526}.form-group input::placeholder{color:var(--text-secondary);opacity:.6}.form-row{grid-template-columns:1fr 1fr;gap:1rem;display:grid}.btn-primary{background:linear-gradient(135deg, var(--primary), #7c3aed);color:#fff;border-radius:var(--radius);width:100%;transition:var(--transition);justify-content:center;align-items:center;gap:.5rem;padding:.75rem;font-size:.9rem;font-weight:600;display:flex}.btn-primary:hover{opacity:.9;transform:translateY(-1px)}.btn-primary:disabled{opacity:.5;cursor:not-allowed;transform:none}.icon-btn{color:var(--text-secondary);transition:var(--transition);border-radius:6px;padding:.35rem}.icon-btn:hover{background:var(--surface-hover);color:var(--text)}.icon-btn.danger:hover{color:var(--danger);background:#ef44441f}.glass-panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow)}.app-layout{min-height:100vh;display:flex}.sidebar{width:var(--sidebar-width);border-right:1px solid var(--border);z-index:100;background:#111827;flex-direction:column;transition:width .25s;display:flex;position:fixed;top:0;bottom:0;left:0}.sidebar.closed{width:var(--sidebar-collapsed)}.sidebar-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:1.25rem;display:flex}.sidebar-logo{background:linear-gradient(135deg, var(--primary), #7c3aed);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;font-size:1.35rem;font-weight:700}.sidebar.closed .sidebar-logo{display:none}.sidebar-toggle{color:var(--text-secondary);border-radius:6px;padding:.35rem}.sidebar-toggle:hover{background:var(--surface-hover)}.sidebar-nav{flex-direction:column;flex:1;gap:.25rem;padding:1rem .75rem;display:flex}.nav-item{border-radius:var(--radius);color:var(--text-secondary);transition:var(--transition);align-items:center;gap:.75rem;padding:.7rem .75rem;font-size:.9rem;font-weight:500;display:flex}.nav-item:hover{background:var(--surface-hover);color:var(--text)}.nav-item.active{color:#fff;background:linear-gradient(135deg,#4f46e526,#7c3aed1a);border:1px solid #4f46e54d}.sidebar.closed .nav-item{justify-content:center;padding:.7rem}.sidebar.closed .nav-item span{display:none}.sidebar-footer{border-top:1px solid var(--border);padding:1rem .75rem}.user-info{align-items:center;gap:.75rem;margin-bottom:.5rem;padding:.5rem;display:flex}.user-avatar{background:linear-gradient(135deg, var(--primary), #7c3aed);color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;font-size:.9rem;font-weight:700;display:flex}.user-details{overflow:hidden}.user-name{white-space:nowrap;font-size:.875rem;font-weight:500;display:block}.user-role{color:var(--text-secondary);text-transform:capitalize;font-size:.75rem;display:block}.sidebar.closed .user-details{display:none}.logout-btn{border-radius:var(--radius);width:100%;color:var(--text-secondary);transition:var(--transition);align-items:center;gap:.75rem;padding:.6rem .75rem;font-size:.875rem;display:flex}.logout-btn:hover{color:var(--danger);background:#ef44441a}.sidebar.closed .logout-btn{justify-content:center}.sidebar.closed .logout-btn span{display:none}.main-content{margin-left:var(--sidebar-width);flex:1;min-height:100vh;padding:2rem;transition:margin-left .25s}.sidebar.closed~.main-content{margin-left:var(--sidebar-collapsed)}.page-title{margin-bottom:1.5rem;font-size:1.5rem;font-weight:700}.page-header{justify-content:space-between;align-items:center;margin-bottom:1.5rem;display:flex}.page-header .btn-primary{width:auto;padding:.6rem 1.25rem}.loading{min-height:200px;color:var(--text-secondary);justify-content:center;align-items:center;font-size:.95rem;display:flex}.empty-state{text-align:center;color:var(--text-secondary);padding:2rem!important}.stats-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1.25rem;margin-bottom:1.5rem;display:grid}.stat-card{transition:var(--transition);align-items:center;gap:1rem;padding:1.25rem;display:flex}.stat-card:hover{transform:translateY(-2px)}.stat-icon{border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;width:48px;height:48px;display:flex}.stat-label{color:var(--text-secondary);margin-bottom:.15rem;font-size:.8rem}.stat-value{font-size:1.5rem;font-weight:700}.activity-panel{padding:1.5rem}.panel-title{align-items:center;gap:.5rem;margin-bottom:1.25rem;font-size:1rem;font-weight:600;display:flex}.activity-list{list-style:none}.activity-item{border-bottom:1px solid var(--border);align-items:center;gap:.75rem;padding:.7rem 0;font-size:.875rem;display:flex}.activity-item:last-child{border-bottom:none}.activity-dot{background:var(--primary);border-radius:50%;flex-shrink:0;width:8px;height:8px}.activity-content{flex:1}.activity-user{font-weight:600}.activity-action{color:var(--text-secondary)}.activity-target{color:var(--primary);font-weight:500}.activity-time{color:var(--text-secondary);white-space:nowrap;font-size:.75rem}.table-container{overflow-x:auto}.data-table{border-collapse:collapse;text-align:left;width:100%}.data-table th{text-transform:uppercase;letter-spacing:.05em;color:var(--text-secondary);border-bottom:1px solid var(--border);background:#00000026;padding:.85rem 1rem;font-size:.8rem;font-weight:500}.data-table td{border-bottom:1px solid var(--border);color:var(--text-secondary);padding:.85rem 1rem;font-size:.875rem}.data-table tr:last-child td{border-bottom:none}.data-table tr:hover td{background:#ffffff05}.td-bold{font-weight:600;color:var(--text)!important}.status-badge{white-space:nowrap;border-radius:9999px;padding:.2rem .65rem;font-size:.78rem;font-weight:600}.action-btns{gap:.25rem;display:flex}.role-select-wrapper{align-items:center;display:inline-flex;position:relative}.role-select{appearance:none;background:var(--bg);border:1px solid var(--border);color:var(--text);cursor:pointer;border-radius:6px;padding:.3rem 1.75rem .3rem .6rem;font-family:inherit;font-size:.8rem}.role-chevron{pointer-events:none;color:var(--text-secondary);position:absolute;right:6px}.kanban-columns{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));align-items:start;gap:1.25rem;display:grid}.kanban-column{padding:1.25rem}.kanban-column-header{justify-content:space-between;align-items:center;margin-bottom:1.25rem;display:flex}.kanban-column-header h3{align-items:center;gap:.5rem;font-size:.95rem;font-weight:600;display:flex}.status-dot{border-radius:50%;width:10px;height:10px;display:inline-block}.kanban-count{background:var(--bg);color:var(--text-secondary);border-radius:9999px;padding:.15rem .6rem;font-size:.78rem;font-weight:600}.kanban-cards{flex-direction:column;gap:.75rem;display:flex}.kanban-card{cursor:grab;transition:var(--transition);padding:1rem}.kanban-card:hover{border-color:var(--primary);transform:translateY(-2px)}.kanban-card:active{cursor:grabbing}.kanban-card h4{margin-bottom:.35rem;font-size:.9rem}.kanban-client{color:var(--text-secondary);margin-bottom:.75rem;font-size:.8rem}.kanban-card-footer{justify-content:space-between;font-size:.8rem;display:flex}.kanban-budget{font-weight:600}.kanban-deadline{color:var(--text-secondary)}.modal-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:200;background:#0009;justify-content:center;align-items:center;padding:1rem;animation:.2s fadeIn;display:flex;position:fixed;inset:0}.modal{width:100%;max-width:500px;padding:2rem;animation:.3s slideUp}.modal-header{justify-content:space-between;align-items:center;margin-bottom:1.5rem;display:flex}.modal-header h3{font-size:1.15rem;font-weight:700}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.dashboard,.project-list,.kanban-board,.users-panel{animation:.4s slideUp}@media (width<=768px){.sidebar{width:var(--sidebar-collapsed)}.sidebar .sidebar-logo,.sidebar .nav-item span,.sidebar .user-details,.sidebar .logout-btn span{display:none}.sidebar .nav-item,.sidebar .logout-btn{justify-content:center}.main-content{padding:1rem;margin-left:var(--sidebar-collapsed)!important}.stats-grid{grid-template-columns:1fr 1fr}.kanban-columns,.form-row{grid-template-columns:1fr}}.task-completed{opacity:.7}.task-completed td{background:#0000001a}
