@import "https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@400;500;600;700;800&display=swap";:root{--accent:#027bff;--accent-dark:#00318b;--teal:#2e8b57;--page-bg:#f2f5fb;--auth-bg:#ebeef5;--text:#1a1a1a;--text-secondary:#33415c;--text-muted:#5b6b84;--text-placeholder:#93a2ba;--border:#dde6f5;--surface:#fff;--surface-muted:#f5f8fd;--column-bg:#eef3fb;--danger:#c0392b;--danger-bg:#fce4e2;--logout:#b14d3b;--gold:#b8860c;--gold-bg:#fcf1d6}*{box-sizing:border-box}body{background:var(--page-bg);color:var(--text);margin:0;font-family:Plus Jakarta Sans,system-ui,sans-serif}button,input,textarea,select{font-family:inherit}::placeholder{color:var(--text-placeholder)}button{cursor:pointer}a{color:inherit}#root{min-height:100vh}@keyframes fadeUp{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.input{border:1.5px solid var(--border);background:var(--surface-muted);border-radius:10px;outline:none;width:100%;padding:12px 14px;font-size:14px}.input:focus{border-color:var(--accent)}.input-error{border-color:var(--danger)}.field-label{color:var(--text-secondary);margin-bottom:6px;font-size:12.5px;font-weight:600}.field-error{color:var(--danger);margin-top:5px;font-size:12px}.btn{cursor:pointer;border:none;border-radius:8px;padding:12px 18px;font-size:14px;font-weight:700;transition:background .15s,box-shadow .15s,transform .1s}.btn:disabled{opacity:.6;cursor:not-allowed}.btn-primary{background:var(--accent);color:#fff;box-shadow:0 2px 8px #027bff59}.btn-primary:hover:not(:disabled){background:var(--accent-dark);box-shadow:0 4px 14px #027bff66}.btn-primary:active:not(:disabled){transform:translateY(1px)}.btn-secondary{border:1.5px solid var(--border);color:var(--text);background:#fff}.btn-secondary:hover:not(:disabled){background:var(--surface-muted)}.pill{border-radius:20px;padding:4px 10px;font-size:11.5px;font-weight:700;display:inline-block}.chip{border:1.5px solid var(--border);color:var(--text-secondary);cursor:pointer;background:#fff;border-radius:20px;padding:7px 13px;font-size:12.5px;font-weight:700}.chip.active{border-color:var(--accent);color:var(--accent-dark);background:#e1eeff}.avatar{color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-weight:700;display:flex}.card{background:var(--surface);border:1px solid var(--border);border-radius:14px}.spinner{border:3px solid var(--border);border-top-color:var(--accent);border-radius:50%;width:22px;height:22px;animation:.7s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.center-page{justify-content:center;align-items:center;min-height:60vh;display:flex}.error-banner{background:var(--danger-bg);color:var(--danger);border-radius:10px;padding:12px 16px;font-size:13.5px;font-weight:600}.auth-page{background:var(--auth-bg);min-height:100vh;display:flex;position:relative}.auth-wrap{width:100%;position:relative}.auth-card{background:#fff;min-height:100vh;animation:.5s fadeUp;display:flex;overflow:hidden}.auth-form-side{flex-direction:column;flex:0 0 420px;justify-content:center;padding:24px 56px;display:flex;overflow-y:auto}.auth-art-side{background:linear-gradient(160deg,#04327d 0%,#0757c4 60%,#027bff 100%);flex:1;position:relative;overflow:hidden}.app-shell{min-height:100vh;display:flex}.sidebar{border-right:1px solid var(--border);background:#fff;flex-direction:column;flex-shrink:0;width:264px;height:100vh;transition:width .18s;display:flex;position:sticky;top:0}.sidebar.collapsed{width:76px}.sidebar-toggle{border:1px solid var(--border);cursor:pointer;width:24px;height:24px;color:var(--text-muted);z-index:3;background:#fff;border-radius:50%;justify-content:center;align-items:center;display:flex;position:absolute;top:26px;right:-12px;box-shadow:0 2px 6px #04194624}.sidebar-toggle:hover{color:var(--accent)}.sidebar-header{align-items:center;gap:10px;padding:22px 22px 18px;display:flex}.sidebar.collapsed .sidebar-header{justify-content:center;padding:22px 0 18px}.sidebar-nav-btn{cursor:pointer;text-align:left;width:100%;color:var(--text-secondary);background:0 0;border:none;border-radius:9px;align-items:center;gap:10px;padding:10px 12px;font-size:14px;font-weight:600;text-decoration:none;display:flex}.sidebar.collapsed .sidebar-nav-btn{justify-content:center;padding:10px}.sidebar-nav-btn.active{color:var(--accent-dark);background:#e1eeff}.sidebar-section-label{letter-spacing:.06em;color:var(--text-placeholder);margin-top:18px;padding:0 22px 8px;font-size:11px;font-weight:700}.sidebar-projects{flex-direction:column;flex:1;gap:2px;padding:0 14px;display:flex;overflow-y:auto}.sidebar-project-btn{cursor:pointer;text-align:left;width:100%;color:var(--text-secondary);background:0 0;border:none;border-radius:9px;align-items:center;gap:10px;padding:9px 10px;font-size:13.5px;font-weight:600;display:flex;overflow:hidden}.sidebar.collapsed .sidebar-project-btn{justify-content:center;padding:9px}.sidebar-project-btn.active{color:var(--accent-dark);background:#e1eeff}.sidebar-project-btn span.label{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.sidebar-empty-hint{color:var(--text-placeholder);padding:4px 10px 8px;font-size:12.5px}.sidebar-footer{border-top:1px solid var(--border);align-items:center;gap:10px;padding:16px 22px;display:flex}.sidebar.collapsed .sidebar-footer{flex-direction:column;justify-content:center;padding:16px 0}.main-content{flex-direction:column;flex:1;min-width:0;height:100vh;display:flex;overflow-y:auto}.projects-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:20px;padding:24px 40px 40px;display:grid}.project-card{cursor:pointer;border:1px solid var(--border);background:#fff;border-radius:16px;flex-direction:column;transition:box-shadow .15s,transform .15s;display:flex;overflow:hidden}.project-card:hover{transform:translateY(-2px);box-shadow:0 12px 30px #0419461a}.project-card-bar{height:6px}.project-card-body{flex-direction:column;flex:1;gap:14px;padding:20px 22px;display:flex}.avatar-stack{align-items:center;display:flex}.avatar-stack .avatar{border:2px solid #fff;margin-left:-8px}.avatar-stack .avatar:first-child{margin-left:0}.progress-track{background:#e4eaf5;border-radius:4px;height:6px;overflow:hidden}.progress-fill{height:100%}.project-header{background:var(--page-bg);z-index:5;padding:26px 40px 0;position:sticky;top:0}.breadcrumb{color:var(--text-muted);margin-bottom:6px;font-size:12.5px}.breadcrumb button{cursor:pointer;color:var(--text-muted);background:0 0;border:none;padding:0;font-size:12.5px;font-weight:600}.tabs-row{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;margin-top:16px;padding-bottom:14px;display:flex}.tabs-list{background:var(--surface-muted);border:1px solid var(--border);border-radius:12px;gap:3px;padding:4px;display:flex}.tab-btn{cursor:pointer;color:var(--text-muted);background:0 0;border:none;border-radius:9px;padding:8px 18px;font-size:13.5px;font-weight:700;text-decoration:none;transition:background .15s,color .15s;display:inline-block}.tab-btn:hover:not(.active){color:var(--text-secondary)}.tab-btn.active{color:#fff;background:var(--accent);box-shadow:0 4px 12px #027bff59}.dashboard-body{flex-direction:column;gap:24px;padding:26px 40px 40px;display:flex}.metric-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:16px;display:grid}.metric-card{padding:18px 20px}.metric-label{color:var(--text-muted);margin-bottom:8px;font-size:12.5px;font-weight:600}.metric-value{letter-spacing:-.01em;font-size:26px;font-weight:800}.dashboard-grid{grid-template-columns:1.4fr 1fr;align-items:start;gap:20px;display:grid}@media (width<=900px){.dashboard-grid{grid-template-columns:1fr}}.panel{padding:22px 24px}.panel-title{margin-bottom:16px;font-size:15px;font-weight:800}.status-bar{background:#e4eaf5;border-radius:8px;height:14px;display:flex;overflow:hidden}.status-legend{flex-wrap:wrap;gap:16px;margin-top:16px;display:flex}.status-legend-item{color:var(--text-secondary);align-items:center;gap:7px;font-size:13px;display:flex}.dot{border-radius:50%;flex-shrink:0;width:9px;height:9px}.activity-preview-item{align-items:flex-start;gap:10px;display:flex}.top-member-row{align-items:center;gap:11px;display:flex}.tasks-toolbar{flex-wrap:wrap;align-items:center;gap:10px;padding:20px 40px 8px;display:flex}.filter-select{border:1.5px solid var(--border);color:var(--text-secondary);cursor:pointer;background:#fff;border-radius:20px;outline:none;max-width:170px;padding:7px 12px;font-size:12.5px;font-weight:700}.filter-select:focus{border-color:var(--accent)}.chip-group{flex-wrap:wrap;gap:6px;display:flex}.kanban-board{align-items:flex-start;gap:18px;padding:16px 40px 40px;display:flex;overflow-x:auto}.kanban-column{border:1px solid var(--border);background:#fff;border-radius:14px;flex-direction:column;flex:1;min-width:270px;display:flex;overflow:hidden}.kanban-column-bar{flex-shrink:0;height:4px}.kanban-column-body{flex-direction:column;flex:1;gap:12px;padding:14px;display:flex}.kanban-column-header{justify-content:space-between;align-items:center;padding:2px 4px;display:flex}.kanban-tasks{flex-direction:column;gap:10px;min-height:40px;display:flex}.task-card{border:1px solid var(--border);cursor:pointer;background:#fff;border-radius:11px;flex-direction:column;gap:9px;padding:13px 14px;display:flex}.task-card-title{font-size:13.5px;font-weight:700;line-height:1.35}.task-card-row{justify-content:space-between;align-items:center;display:flex}.activity-timeline{max-width:760px;padding:20px 40px 40px}.timeline-item{gap:14px;padding-bottom:22px;display:flex}.timeline-rail{flex-direction:column;align-items:center;display:flex}.timeline-line{background:var(--border);flex:1;width:2px;margin-top:4px}.timeline-detail{border:1px solid var(--border);color:var(--text-secondary);background:#fff;border-radius:10px;margin-top:8px;padding:11px 14px;font-size:13px;line-height:1.5}.modal-overlay{z-index:50;background:#1a140e59;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.modal{background:#fff;border-radius:18px;max-width:100%;max-height:88vh;padding:28px 30px;overflow-y:auto}.modal-title{font-size:19px;font-weight:800}.form-stack{flex-direction:column;gap:16px;display:flex}.option-row{flex-wrap:wrap;gap:6px;display:flex}.option-pill{border:1.5px solid var(--border);cursor:pointer;color:var(--text-secondary);background:#fff;border-radius:20px;padding:8px 14px;font-size:12.5px;font-weight:700}.option-pill.selected{border-color:currentColor}.comment-row{gap:10px;display:flex}.comment-bubble{background:var(--surface-muted);border-radius:10px;flex:1;padding:10px 13px}.page-heading{padding:30px 40px 8px}.page-title{letter-spacing:-.01em;font-size:26px;font-weight:800}.page-subtitle{color:var(--text-muted);margin-top:4px;font-size:14px}.link-btn{color:var(--accent);cursor:pointer;background:0 0;border:none;padding:0;font-size:13px;font-weight:700}
