@import "https://fonts.googleapis.com/css2?family=Outfit:wght@300;400;500;600;700&family=Plus+Jakarta+Sans:wght@300;400;500;600;700&display=swap";:root{--bg-primary:#0a0e1a;--bg-secondary:#111827;--bg-tertiary:#1f2937;--card-bg:#111827b3;--card-border:#ffffff14;--text-primary:#f3f4f6;--text-secondary:#9ca3af;--text-muted:#6b7280;--primary:#6366f1;--primary-hover:#4f46e5;--primary-glow:#6366f126;--success:#10b981;--success-glow:#10b98126;--warning:#f59e0b;--warning-glow:#f59e0b26;--danger:#ef4444;--danger-glow:#ef444426;--accent-purple:#a855f7;--font-heading:"Outfit", sans-serif;--font-body:"Plus Jakarta Sans", sans-serif;--radius-sm:6px;--radius-md:10px;--radius-lg:16px;--shadow-sm:0 2px 8px #0003;--shadow-md:0 8px 24px #0000004d;--shadow-lg:0 16px 40px #0006;--transition-fast:.15s ease;--transition-normal:.25s cubic-bezier(.4, 0, .2, 1);--sidebar-width:185px;--content-pad:1.25rem}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{overflow-x:hidden}body{background-color:var(--bg-primary);color:var(--text-primary);font-family:var(--font-body);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;line-height:1.5;overflow:hidden auto}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);letter-spacing:-.02em;font-weight:600}a{color:inherit;text-decoration:none}button,input,select,textarea{font-family:inherit;font-size:inherit;outline:none}.glass{background:var(--card-bg);-webkit-backdrop-filter:blur(16px);border:1px solid var(--card-border)}.app-container{width:100%;min-height:100vh;display:flex;overflow:hidden}.sidebar{background-color:var(--bg-secondary);border-right:1px solid var(--card-border);z-index:100;flex-direction:column;height:100vh;display:flex;position:fixed;top:0;left:0;overflow:hidden auto}.main-content{min-width:0;padding:var(--content-pad);flex-direction:column;flex:1 1 0;gap:1.25rem;min-height:100vh;display:flex;overflow:hidden auto}.auth-page{background:radial-gradient(circle at 10% 20%, #6366f11a 0%, transparent 40%), radial-gradient(circle at 90% 80%, #a855f71a 0%, transparent 40%), var(--bg-primary);justify-content:center;align-items:center;min-height:100vh;padding:1rem;display:flex}.auth-card{border-radius:var(--radius-lg);width:100%;max-width:420px;box-shadow:var(--shadow-lg);padding:2rem}.form-group{margin-bottom:1rem}.form-label{color:var(--text-secondary);margin-bottom:.4rem;font-size:.8rem;font-weight:500;display:block}.form-input{border:1px solid var(--card-border);border-radius:var(--radius-md);width:100%;color:var(--text-primary);transition:border-color var(--transition-fast), box-shadow var(--transition-fast);background-color:#111827b3;min-width:0;padding:.6rem .85rem}.form-input:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-glow)}select,select.form-input,.form-input select{border-radius:var(--radius-md);cursor:pointer;color:#f3f4f6!important;border:1px solid var(--card-border)!important;background-color:#111827!important}select option,select.form-input option,.form-input option{color:#f3f4f6!important;background-color:#1f2937!important;padding:10px 14px!important;font-size:.85rem!important}select option:hover,select option:focus,select option:active,select option:checked,select.form-input option:hover,select.form-input option:focus,select.form-input option:active,select.form-input option:checked{color:#fff!important;background-color:#4f46e5!important}.btn{border-radius:var(--radius-md);cursor:pointer;transition:var(--transition-normal);white-space:nowrap;border:1px solid #0000;justify-content:center;align-items:center;gap:.4rem;padding:.55rem 1rem;font-size:.85rem;font-weight:600;display:inline-flex}.btn-primary{background:var(--primary);color:#fff;border-color:var(--primary)}.btn-primary:hover{background:var(--primary-hover);transform:translateY(-1px);box-shadow:0 6px 18px #6366f14d}.btn-secondary{color:var(--text-primary);border-color:var(--card-border);background:#ffffff0d}.btn-secondary:hover{background:#ffffff1a}.btn-danger{background:var(--danger);color:#fff;border-color:var(--danger)}.btn-danger:hover{background:#e11d48}.dashboard-grid{grid-template-columns:repeat(4,1fr);gap:1rem;display:grid}.stat-card{border-radius:var(--radius-md);box-shadow:var(--shadow-sm);flex-direction:column;gap:.4rem;min-width:0;padding:1.1rem;display:flex}.stat-value{font-size:clamp(1.5rem,3.5vw,2.25rem);font-weight:800;font-family:var(--font-heading);line-height:1}.stat-title{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.04em;font-size:.72rem;font-weight:700}.table-container{border-radius:var(--radius-md);-webkit-overflow-scrolling:touch;overflow-x:auto}.custom-table{border-collapse:collapse;text-align:left;width:100%;min-width:600px}.custom-table th{color:var(--text-secondary);border-bottom:1px solid var(--card-border);white-space:nowrap;text-transform:uppercase;letter-spacing:.04em;background:#ffffff05;padding:.7rem .85rem;font-size:.75rem;font-weight:700}.custom-table td{border-bottom:1px solid #ffffff08;padding:.7rem .85rem;font-size:.82rem}.custom-table tbody tr{cursor:pointer}.custom-table tbody tr:last-child td{border-bottom:none}.custom-table tbody tr:hover td{background:#6366f10a}.badge{text-transform:uppercase;letter-spacing:.03em;white-space:nowrap;border-radius:9999px;padding:.2rem .55rem;font-size:.68rem;font-weight:700;display:inline-flex}.badge-pending{color:#9ca3af;background:#6b728026}.badge-progress{background:var(--warning-glow);color:var(--warning)}.badge-completed{color:#3b82f6;background:#3b82f626}.badge-deployed{background:var(--success-glow);color:var(--success)}.badge-danger{background:var(--danger-glow);color:var(--danger)}.kanban-container{grid-auto-columns:minmax(260px,1fr);grid-auto-flow:column;align-items:stretch;gap:1rem;min-width:0;height:calc(100vh - 230px);min-height:520px;padding-bottom:.5rem;display:grid;overflow-x:auto}.kanban-column{border:1px solid var(--card-border);border-radius:var(--radius-md);background:#11182780;flex-direction:column;gap:.75rem;height:100%;max-height:100%;padding:.85rem;display:flex;overflow:hidden}.kanban-column-header{border-bottom:2px solid #ffffff0d;flex-shrink:0;justify-content:space-between;align-items:center;padding-bottom:.6rem;display:flex}.kanban-column-title{color:var(--text-primary);font-size:.85rem;font-weight:700}.kanban-column-count{background:#ffffff14;border-radius:999px;padding:.1rem .45rem;font-size:.7rem;font-weight:600}.kanban-cards-wrapper{flex-direction:column;flex-grow:1;gap:.6rem;padding-right:4px;display:flex;overflow-y:auto}.kanban-cards-wrapper::-webkit-scrollbar{width:5px}.kanban-cards-wrapper::-webkit-scrollbar-track{background:#0000001a;border-radius:4px}.kanban-cards-wrapper::-webkit-scrollbar-thumb{background:#ffffff26;border-radius:4px}.kanban-cards-wrapper::-webkit-scrollbar-thumb:hover{background:#6366f166}.kanban-card{border-radius:var(--radius-md);background:var(--bg-secondary);border:1px solid var(--card-border);cursor:grab;transition:transform var(--transition-fast), border-color var(--transition-fast);padding:1rem}.kanban-card:hover{border-color:var(--primary)}.kanban-card.dragging{opacity:.5;cursor:grabbing}.modal-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1000;background:#000000bf;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.modal-content{border-radius:var(--radius-lg);width:100%;max-width:520px;max-height:90vh;box-shadow:var(--shadow-lg);flex-direction:column;gap:1.25rem;padding:1.75rem;display:flex;overflow-y:auto}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:#ffffff14;border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#ffffff29}.active-nav{background-color:var(--primary-glow)!important;color:var(--primary)!important;border-left:3px solid var(--primary)!important;border-radius:0 var(--radius-md) var(--radius-md) 0!important}.gantt-row-scroll{scrollbar-width:thin;overflow:auto hidden}.gantt-row-scroll::-webkit-scrollbar{height:4px}.gantt-row-scroll::-webkit-scrollbar-thumb{background:#ffffff1a;border-radius:2px}@media (width>=1400px){:root{--content-pad:1.75rem}}@media (width<=1399px){:root{--content-pad:1.25rem}.dashboard-grid{grid-template-columns:repeat(4,1fr);gap:.75rem}.stat-card{padding:1rem}}@media (width<=1023px){:root{--content-pad:1rem}.dashboard-grid,.kanban-container{grid-template-columns:repeat(2,1fr);gap:.75rem}}@media (width<=899px){:root{--content-pad:.875rem}.dashboard-grid{grid-template-columns:repeat(2,1fr);gap:.75rem}.kanban-container{grid-template-columns:1fr 1fr}}@media (width<=599px){.dashboard-grid,.kanban-container{grid-template-columns:1fr}.modal-content{padding:1.25rem}}.toast-container{z-index:999999;pointer-events:none;flex-direction:column;gap:.75rem;width:calc(100vw - 3rem);max-width:420px;display:flex;position:fixed;top:1.5rem;right:1.5rem}.toast-banner{pointer-events:auto;-webkit-backdrop-filter:blur(16px);border-radius:var(--radius-md);background:#0f172af0;border:1px solid #ffffff1f;align-items:flex-start;gap:.85rem;padding:.9rem 1rem;transition:all .2s;animation:.3s cubic-bezier(.16,1,.3,1) forwards toastSlideIn;display:flex;box-shadow:0 20px 25px -5px #00000080,0 8px 10px -6px #0006}@keyframes toastSlideIn{0%{opacity:0;transform:translate(100%)scale(.95)}to{opacity:1;transform:translate(0)scale(1)}}.toast-banner.toast-error{background:linear-gradient(135deg,#ef444424 0%,#0f172af5 100%);border-left:4px solid #ef4444}.toast-banner.toast-success{background:linear-gradient(135deg,#10b98124 0%,#0f172af5 100%);border-left:4px solid #10b981}.toast-banner.toast-warning{background:linear-gradient(135deg,#f59e0b24 0%,#0f172af5 100%);border-left:4px solid #f59e0b}.toast-banner.toast-info{background:linear-gradient(135deg,#3b82f624 0%,#0f172af5 100%);border-left:4px solid #3b82f6}.toast-icon{flex-shrink:0;justify-content:center;align-items:center;margin-top:.1rem;display:flex}.toast-body{flex-direction:column;flex:1;gap:.2rem;display:flex}.toast-title{color:#fff;letter-spacing:-.01em;font-size:.85rem;font-weight:700}.toast-message{color:#ffffffd9;word-break:break-word;font-size:.8rem;line-height:1.45}.toast-close{color:#fff6;cursor:pointer;background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;padding:.2rem;transition:color .15s,background-color .15s;display:flex}.toast-close:hover{color:#fff;background:#ffffff1a}
