:root{--app-bg:#f6f7fb;--card-border:#e6e8ef;--muted:#667085;--primary:#4f46e5}html[data-bs-theme=dark]{--app-bg:#0f1117;--card-border:#2b303b;--muted:#9ca3af}.bg-body{background:var(--bs-body-bg)!important}body{background:var(--app-bg);min-height:100vh;color:var(--bs-body-color)}a{text-decoration:none}.page-shell{max-width:1500px}.navbar{backdrop-filter:blur(14px);background:color-mix(in srgb,var(--bs-body-bg) 92%,transparent)!important}.brand-mark{display:inline-grid;place-items:center;width:30px;height:30px;border-radius:9px;background:linear-gradient(135deg,#4f46e5,#8b5cf6);color:#fff}.brand-large{width:52px;height:52px;border-radius:15px;font-size:1.5rem}.auth-wrap{min-height:calc(100vh - 3rem);display:grid;place-items:center}.auth-wrap>.card{width:min(100%,470px);border:1px solid var(--card-border);border-radius:20px}.page-heading,.ticket-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:1.5rem;margin-bottom:1.5rem}.page-heading h1,.ticket-heading h1{font-size:clamp(1.7rem,3vw,2.35rem);letter-spacing:-.035em;margin-bottom:.25rem}.page-heading p,.ticket-heading p{color:var(--muted);margin:0}.content-card{border:1px solid var(--card-border);border-radius:14px;box-shadow:0 3px 14px rgba(15,23,42,.035);overflow:hidden}.card-header{background:transparent;border-color:var(--card-border);display:flex;justify-content:space-between;align-items:center;padding:1rem 1.25rem}.stat-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:1rem}.stat-card{background:var(--bs-body-bg);border:1px solid var(--card-border);border-radius:14px;padding:1rem 1.1rem;color:inherit;transition:.15s}.stat-card:hover,.project-card:hover{transform:translateY(-2px);box-shadow:0 10px 25px rgba(15,23,42,.08)}.stat-label{display:block;font-size:.82rem;color:var(--muted)}.stat-card strong{font-size:1.75rem}.next-card{background:linear-gradient(120deg,#312e81,#4f46e5 60%,#7c3aed);color:#fff;border-radius:18px;padding:1.5rem 1.75rem;display:flex;justify-content:space-between;align-items:center}.next-card a:not(.btn){color:#fff}.eyebrow{text-transform:uppercase;font-size:.72rem;letter-spacing:.12em;opacity:.75}.project-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.25rem}.project-card{border:1px solid var(--card-border);border-top:4px solid var(--project-color);border-radius:14px;color:inherit;transition:.15s}.project-code{font-size:.75rem;font-weight:800;letter-spacing:.1em;color:var(--project-color)}.progress{height:7px;background:color-mix(in srgb,var(--card-border) 70%,transparent)}.progress-lg{height:11px}.project-hero{background:linear-gradient(120deg,color-mix(in srgb,var(--project-color) 88%,#111827),var(--project-color));color:#fff;border-radius:18px;padding:2rem;display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.project-hero .project-code{color:#fff}.project-hero p{opacity:.85;margin:0}.filter-panel{background:var(--bs-body-bg);border:1px solid var(--card-border);border-radius:14px;padding:1rem}.project-dot{display:inline-block;width:9px;height:9px;border-radius:50%;margin-right:.45rem}.ticket-row{display:flex;align-items:center;gap:.75rem;padding:1rem 1.25rem}.ticket-row small{display:block;color:var(--muted)}.badge{font-weight:650}.priority-urgent{background:#fee2e2;color:#b91c1c}.priority-high{background:#ffedd5;color:#c2410c}.priority-normal{background:#e0e7ff;color:#4338ca}.priority-low{background:#e2e8f0;color:#475569}.status-backlog{background:#e2e8f0;color:#475569}.status-todo{background:#dbeafe;color:#1d4ed8}.status-doing{background:#ede9fe;color:#6d28d9}.status-blocked{background:#fee2e2;color:#b91c1c}.status-testing{background:#fef3c7;color:#a16207}.status-done,.status-completed{background:#dcfce7;color:#15803d}.status-active{background:#dcfce7;color:#15803d}.status-paused{background:#fef3c7;color:#a16207}.status-archived{background:#e2e8f0;color:#475569}.tagline{display:flex;gap:.35rem;flex-wrap:wrap;margin-top:.35rem}.tagline span,.tagline a{font-size:.72rem;color:#6366f1;background:color-mix(in srgb,#6366f1 10%,transparent);padding:.12rem .35rem;border-radius:5px}.optional{font-size:.75rem;color:var(--muted);font-weight:400}.markdown-body{line-height:1.7;overflow-wrap:anywhere}.markdown-body code{background:var(--app-bg);padding:.15rem .35rem;border-radius:4px}.detail-list{margin:0}.detail-list>div{display:flex;justify-content:space-between;padding:.8rem 1.25rem;border-bottom:1px solid var(--card-border)}.detail-list dt{color:var(--muted);font-weight:500}.detail-list dd{margin:0;text-align:right}.comment{border-top:1px solid var(--card-border);padding:1rem 0}.copy-button{background:none;border:0;color:#6366f1;font-size:.85rem;font-weight:800;letter-spacing:.06em;padding:0}.activity-list{padding:.5rem 1.25rem}.activity-item{display:flex;gap:.75rem;padding:.75rem 0}.activity-item>span{width:9px;height:9px;border-radius:50%;background:#6366f1;margin-top:.4rem;flex:none}.activity-item small{display:block;color:var(--muted)}.empty-state{text-align:center;padding:5rem 1rem;background:var(--bs-body-bg);border:1px dashed var(--card-border);border-radius:16px}.empty-state.compact{padding:3rem 1rem;border:0}.empty-icon{font-size:2rem;color:#6366f1;margin-bottom:1rem}.empty-mini{padding:1.5rem;color:var(--muted)}.narrow-form{max-width:600px}.clamp-2{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.kanban{display:grid;grid-template-columns:repeat(6,minmax(260px,1fr));gap:1rem;overflow-x:auto;padding-bottom:1rem}.kanban-column{background:color-mix(in srgb,var(--bs-body-bg) 70%,var(--app-bg));border:1px solid var(--card-border);border-radius:14px;min-height:65vh}.kanban-column>header{display:flex;align-items:center;gap:.5rem;padding:1rem;position:sticky;top:58px;background:inherit;border-radius:14px;z-index:2}.kanban-column .count{margin-left:auto;background:var(--card-border);padding:.05rem .45rem;border-radius:20px;font-size:.75rem}.kanban-list{padding:0 .65rem 1rem;min-height:55vh}.kanban-card{background:var(--bs-body-bg);border:1px solid var(--card-border);border-radius:10px;padding:.8rem;margin-bottom:.65rem;cursor:grab;box-shadow:0 2px 6px rgba(15,23,42,.04)}.kanban-card.dragging{opacity:.35}.kanban-title{display:block;color:inherit;font-weight:650;margin:.45rem 0}.ticket-number{font-size:.75rem;font-weight:750}.kanban-meta{display:flex;justify-content:space-between;font-size:.72rem;color:var(--muted);margin-top:.65rem}.status-dot,.priority-dot{width:9px;height:9px;border-radius:50%;display:inline-block}.priority-bg-urgent,.status-bg-blocked{background:#ef4444}.priority-bg-high{background:#f97316}.priority-bg-normal,.status-bg-todo{background:#6366f1}.priority-bg-low,.status-bg-backlog{background:#94a3b8}.status-bg-doing{background:#8b5cf6}.status-bg-testing{background:#eab308}.status-bg-done{background:#22c55e}.save-indicator{position:fixed;right:1.25rem;bottom:1.25rem;background:#111827;color:#fff;padding:.65rem 1rem;border-radius:8px;opacity:0;transform:translateY(10px);transition:.2s;pointer-events:none}.save-indicator.show{opacity:1;transform:none}.save-indicator.error{background:#b91c1c}@media(max-width:1100px){.stat-grid{grid-template-columns:repeat(3,1fr)}.project-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:700px){.page-shell{padding-left:.8rem;padding-right:.8rem}.page-heading,.ticket-heading,.project-hero,.next-card{flex-direction:column}.page-heading .btn{width:100%}.stat-grid{grid-template-columns:repeat(2,1fr);gap:.6rem}.stat-card{padding:.8rem}.project-grid{grid-template-columns:1fr}.project-hero{padding:1.4rem}.table{font-size:.88rem}.navbar .d-flex{align-items:stretch!important;flex-direction:column}.kanban-column>header{top:0}}
