@import "bootstrap/dist/css/bootstrap.min.css"; @import "bootstrap-icons/font/bootstrap-icons.css"; :root { --app-primary: #0d6efd; --app-secondary: #6f42c1; --app-bg-soft: #eef3ff; --bs-primary: #0d6efd; --bs-primary-rgb: 13, 110, 253; --bs-secondary: #6f42c1; --bs-secondary-rgb: 111, 66, 193; --bs-link-color: #0d6efd; --bs-link-hover-color: #6610f2; --bs-body-bg: #f8fbff; } body { font-family: "Segoe UI", Roboto, Helvetica, Arial, sans-serif; overflow-x: hidden; background: var(--app-bg-soft); } .navbar, .hero-card, .card, .modal-content { border-color: rgba(13, 110, 253, 0.12) !important; } .navbar { background: rgba(255, 255, 255, 0.92) !important; backdrop-filter: blur(10px); } .btn-primary { background: linear-gradient(135deg, var(--app-primary), var(--app-secondary)); border-color: transparent; } .btn-primary:hover, .btn-primary:focus, .btn-primary:active, .btn-check:checked + .btn-primary, .btn-primary.active { background: linear-gradient(135deg, #0b5ed7, #5a2bbf); border-color: transparent; } .btn-outline-primary { border-color: var(--app-primary); color: var(--app-primary); } .btn-outline-primary:hover, .btn-outline-primary:focus, .btn-outline-primary:active, .btn-outline-primary.active { background: linear-gradient(135deg, var(--app-primary), var(--app-secondary)); border-color: transparent; color: #fff; } .text-primary, .link-primary, .nav-link.active, .dropdown-item.active { color: var(--app-primary) !important; } .bg-primary, .text-bg-primary { background: linear-gradient(135deg, var(--app-primary), var(--app-secondary)) !important; } .landing-shell { background: radial-gradient(circle at top left, rgba(13, 110, 253, 0.18), transparent 24%), radial-gradient(circle at top right, rgba(111, 66, 193, 0.16), transparent 20%), linear-gradient(180deg, #f8fbff 0%, #eef3ff 100%); } .brand-badge { align-items: center; background: linear-gradient(135deg, #0d6efd, #6610f2); border-radius: 1rem; color: #fff; display: inline-flex; font-size: 1rem; font-weight: 700; height: 3rem; justify-content: center; width: 3rem; } .hero-card { background: rgba(255, 255, 255, 0.88); border: 1px solid rgba(13, 110, 253, 0.12); box-shadow: 0 20px 45px rgba(15, 23, 42, 0.08); backdrop-filter: blur(8px); } .feature-icon { align-items: center; background: rgba(13, 110, 253, 0.12); border-radius: 1rem; color: #0d6efd; display: inline-flex; font-size: 1.25rem; height: 3rem; justify-content: center; width: 3rem; } .project-card { background: rgba(255, 255, 255, 0.96); transition: transform 0.2s ease, box-shadow 0.2s ease; } .project-card:hover { transform: translateY(-2px); box-shadow: 0 18px 35px rgba(13, 110, 253, 0.16) !important; } .project-card-top { background: linear-gradient(135deg, rgba(13, 110, 253, 0.15), rgba(111, 66, 193, 0.20)); height: 7px; } .project-icon-badge { align-items: center; background: linear-gradient(135deg, #0d6efd, #6f42c1); border-radius: 0.85rem; color: #fff; display: inline-flex; font-size: 0.95rem; height: 2.2rem; justify-content: center; min-width: 2.2rem; } .progress { border-radius: 999px; height: 0.55rem; overflow: hidden; } .progress-bar { background: linear-gradient(135deg, #0d6efd, #6f42c1); border-radius: 999px; } .offcanvas { max-width: 100vw; } .task-description-editor { min-height: 12rem; overflow-y: auto; white-space: pre-wrap; } .task-description-editor:empty::before { color: #6c757d; content: attr(data-placeholder); pointer-events: none; } .task-description-preview { display: -webkit-box; overflow: hidden; -webkit-box-orient: vertical; -webkit-line-clamp: 1; } .priority-picker { display: grid; gap: 0.5rem; grid-template-columns: repeat(4, minmax(0, 1fr)); } .priority-option { align-items: center; background: #fff; border: 2px solid var(--priority-color); border-radius: 0.5rem; color: var(--priority-color); display: flex; font-size: 0.8rem; justify-content: center; padding: 0.5rem 0.35rem; transition: background-color 0.15s ease, color 0.15s ease, box-shadow 0.15s ease; } .priority-option:hover, .priority-option.active { background: var(--priority-color); color: var(--priority-active-text); } .priority-option.active { box-shadow: 0 0 0 3px #212529; font-weight: 700; } .priority-option-urgent { --priority-color: #dc3545; --priority-active-text: #fff; } .priority-option-high { --priority-color: #ffc107; --priority-active-text: #212529; } .priority-option-medium { --priority-color: #0d6efd; --priority-active-text: #fff; } .priority-option-low { --priority-color: #6c757d; --priority-active-text: #fff; } @media (max-width: 575.98px) { .offcanvas.offcanvas-end { width: 100vw; } .priority-picker { grid-template-columns: repeat(2, minmax(0, 1fr)); } } @media (max-width: 480px) { .priority-picker { grid-template-columns: repeat(2, minmax(0, 1fr)); } }