:root{color:#e5e7eb;background:#080d18;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Microsoft YaHei,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility;--bg: #080d18;--surface: rgba(15, 23, 42, .84);--surface-strong: #111b2e;--surface-soft: rgba(30, 41, 59, .58);--border: rgba(148, 163, 184, .18);--border-strong: rgba(148, 163, 184, .34);--text: #e5e7eb;--muted: #94a3b8;--faint: #64748b;--accent: #7dd3fc;--accent-strong: #38bdf8;--green: #86efac;--yellow: #fde68a;--red: #fca5a5}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;background:radial-gradient(circle at 10% -10%,#172554 0,transparent 34rem),radial-gradient(circle at 100% 0,#0f2b46 0,transparent 30rem),var(--bg)}button,input{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid rgba(125,211,252,.55);outline-offset:2px}a{color:inherit}.app-shell,.auth-shell{display:grid;min-height:100vh;place-items:center;padding:2rem}.auth-card{width:min(100%,28rem);padding:2.6rem;border:1px solid var(--border);border-radius:1.5rem;background:#0f172ae6;box-shadow:0 2rem 5rem #0206176b}.brand-mark{display:grid;width:3.2rem;height:3.2rem;margin-bottom:1.5rem;place-items:center;border-radius:1rem;color:#082f49;background:linear-gradient(135deg,#bae6fd,#38bdf8);font-size:1rem;font-weight:900;letter-spacing:-.08em}.eyebrow{margin:0 0 .55rem;color:var(--accent);font-size:.72rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase}h1,h2,p{margin-top:0}h1{margin-bottom:0;color:#f8fafc;font-size:clamp(2rem,4vw,3rem);line-height:1.08;letter-spacing:-.035em}h2{margin-bottom:0;color:#f8fafc;font-size:1.2rem;letter-spacing:-.02em}.muted{margin:.8rem 0 0;color:var(--muted);line-height:1.65}.security-note{margin:1.2rem 0 0;color:var(--faint);font-size:.78rem;line-height:1.6}.login-form{display:grid;gap:.55rem;margin-top:2rem}.login-form label,.filter-grid label{color:#cbd5e1;font-size:.82rem;font-weight:700}input{width:100%;min-height:2.7rem;padding:.65rem .8rem;border:1px solid var(--border-strong);border-radius:.65rem;color:var(--text);background:#0f172ab8;transition:border-color .18s,box-shadow .18s}input::placeholder{color:#64748b}input:focus{border-color:var(--accent-strong);box-shadow:0 0 0 3px #38bdf821;outline:0}.primary-button,.quiet-button,.chip-button,.back-button{display:inline-flex;min-height:2.45rem;align-items:center;justify-content:center;gap:.35rem;border:1px solid transparent;border-radius:.65rem;cursor:pointer;text-decoration:none;transition:background .18s,border-color .18s,transform .18s}.primary-button{margin-top:.55rem;padding:.7rem 1rem;color:#082f49;background:var(--accent);font-weight:800}.primary-button:hover:not(:disabled){background:#bae6fd;transform:translateY(-1px)}.primary-button:disabled,.quiet-button:disabled{cursor:not-allowed;opacity:.45}.primary-button.compact{margin-top:0;padding-inline:1.2rem}.quiet-button,.back-button{padding:.55rem .8rem;color:#cbd5e1;border-color:var(--border);background:#0f172a94;font-size:.82rem;font-weight:700}.quiet-button:hover:not(:disabled),.back-button:hover:not(:disabled){border-color:var(--border-strong);background:#334155ad}.chip-button{padding:.42rem .72rem;color:#bae6fd;border-color:#38bdf840;background:#0e749021;font-size:.78rem;font-weight:800}.chip-button:hover{border-color:#7dd3fc9e;background:#0e749042}.form-error,.error-banner{color:var(--red)}.form-error{margin:.35rem 0 0;font-size:.82rem}.dashboard-shell{width:min(100%,1440px);margin:0 auto;padding:3rem clamp(1rem,4vw,4rem) 5rem}.dashboard-header,.detail-toolbar,.section-heading,.sync-banner,.filter-actions,.pagination,.detail-badges,.toolbar-actions{display:flex;align-items:center}.dashboard-header,.detail-toolbar,.section-heading{justify-content:space-between;gap:1rem}.dashboard-header{margin-bottom:2rem}.dashboard-header h1{font-size:clamp(2.2rem,5vw,4rem)}.sync-banner{gap:.9rem;margin:1.2rem 0;padding:.9rem 1.05rem;border:1px solid rgba(56,189,248,.22);border-radius:.9rem;background:#082f4942}.sync-pulse{width:.58rem;height:.58rem;flex:0 0 auto;border-radius:50%;background:var(--green);box-shadow:0 0 0 .3rem #86efac1f}.sync-banner strong{color:#bae6fd;font-size:.82rem}.sync-banner p{margin:.2rem 0 0;color:var(--muted);font-size:.78rem}.sync-count{margin-left:auto;color:#7dd3fc;font-size:.78rem;font-weight:800}.filters-panel{margin-bottom:2.6rem;padding:1rem;border:1px solid var(--border);border-radius:1rem;background:#0f172a9e}.quick-filters{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1rem}.filter-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.9rem}.filter-grid label{display:grid;gap:.42rem}.filter-wide{grid-column:span 2}.filter-actions{justify-content:flex-end;gap:.65rem;margin-top:1rem}.results-section{min-width:0}.section-heading{margin-bottom:1rem}.compact-heading{margin-bottom:.85rem}.compact-heading h2 span{color:var(--muted);font-size:.78rem;font-weight:600}.page-label{color:var(--muted);font-size:.78rem}.error-banner{margin-bottom:1rem;padding:.9rem 1rem;border:1px solid rgba(252,165,165,.25);border-radius:.75rem;background:#7f1d1d40}.loading-card,.empty-card{display:grid;min-height:10rem;place-items:center;align-content:center;gap:.65rem;padding:2rem;border:1px dashed var(--border-strong);border-radius:1rem;color:var(--muted);background:#0f172a6b;text-align:center}.empty-card strong{color:#cbd5e1}.empty-card p{margin:0;font-size:.82rem}.empty-icon{color:var(--accent);font-size:2rem}.spinner{width:1.1rem;height:1.1rem;border:2px solid rgba(125,211,252,.25);border-top-color:var(--accent);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.table-card{overflow:hidden;border:1px solid var(--border);border-radius:1rem;background:#0f172aad}.bug-table-wrap{overflow-x:auto}.bug-table{width:100%;min-width:900px;border-collapse:collapse}.bug-table th{padding:.85rem 1rem;color:var(--faint);border-bottom:1px solid var(--border);font-size:.7rem;font-weight:800;letter-spacing:.08em;text-align:left;text-transform:uppercase}.bug-table td{padding:1rem;color:#cbd5e1;border-bottom:1px solid rgba(148,163,184,.1);font-size:.82rem;vertical-align:top}.bug-table tbody tr:last-child td{border-bottom:0}.bug-table tbody tr:hover{background:#33415538}.bug-title-cell{width:34%}.bug-link{display:grid;gap:.25rem;padding:0;border:0;color:#f8fafc;background:transparent;cursor:pointer;text-align:left}.bug-link strong{font-size:.9rem;line-height:1.45}.bug-link:hover strong{color:var(--accent)}.bug-number{color:var(--accent);font-size:.72rem;font-weight:900}.table-subtext{display:block;margin-top:.28rem;color:var(--faint);font-size:.7rem}.date-cell{white-space:nowrap;color:#94a3b8!important}.status-badge,.number-badge{display:inline-flex;min-height:1.5rem;align-items:center;padding:.2rem .52rem;border-radius:999px;font-size:.7rem;font-weight:800;white-space:nowrap}.status-active{color:#bae6fd;background:#0e749059}.status-resolved{color:var(--green);background:#15803d40}.status-closed{color:#cbd5e1;background:#47556973}.status-neutral{color:var(--yellow);background:#a1620740}.number-badge{color:#cbd5e1;background:#47556973}.severity-badge{color:#fed7aa;background:#9a341247}.pagination{justify-content:center;gap:1rem;padding:1rem;border-top:1px solid var(--border);color:var(--muted);font-size:.78rem}.detail-shell{padding-top:2rem}.detail-toolbar{margin-bottom:2rem}.toolbar-actions{flex-wrap:wrap;justify-content:flex-end;gap:.55rem}.back-button{border:0;background:transparent}.detail-header{display:flex;align-items:flex-end;justify-content:space-between;gap:2rem;margin-bottom:2rem;padding-bottom:1.8rem;border-bottom:1px solid var(--border)}.detail-header h1{max-width:58rem;font-size:clamp(1.8rem,4vw,3.2rem)}.detail-badges{flex-wrap:wrap;gap:.5rem;margin-top:1.1rem}.detail-updated{flex:0 0 auto;color:var(--faint);font-size:.72rem;line-height:1.7;text-align:right}.detail-updated strong{color:#cbd5e1;font-size:.78rem;font-weight:700}.facts-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.7rem;margin-bottom:1.8rem}.fact{min-height:4.2rem;padding:.8rem;border:1px solid var(--border);border-radius:.75rem;background:#0f172a85}.fact span{display:block;margin-bottom:.4rem;color:var(--faint);font-size:.7rem}.fact strong{display:block;overflow-wrap:anywhere;color:#cbd5e1;font-size:.82rem;font-weight:700;line-height:1.4}.detail-columns{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(18rem,.8fr);gap:1.25rem;align-items:start}.detail-main,.detail-side{display:grid;gap:1.25rem;min-width:0}.detail-section{min-width:0;padding:1.25rem;border:1px solid var(--border);border-radius:1rem;background:#0f172aa3}.rich-content,.plain-content{color:#cbd5e1;font-size:.9rem;line-height:1.8;overflow-wrap:anywhere}.rich-content p:last-child{margin-bottom:0}.rich-content img{display:block;max-width:100%;height:auto;margin:.8rem 0;border-radius:.55rem;border:1px solid var(--border)}.rich-content table{width:100%;border-collapse:collapse;margin:.8rem 0}.rich-content th,.rich-content td{padding:.45rem .6rem;border:1px solid var(--border);text-align:left}.rich-content pre,.rich-content code{padding:.15rem .3rem;border-radius:.3rem;background:#0206178c;font-family:Cascadia Code,Consolas,monospace}.rich-content pre{padding:.8rem;overflow-x:auto}.plain-content{margin:0;white-space:pre-wrap;font-family:inherit}.extra-fields{display:grid;gap:.5rem}.extra-field{display:grid;grid-template-columns:minmax(6rem,.5fr) minmax(0,1fr);gap:1rem;padding:.65rem 0;border-bottom:1px solid rgba(148,163,184,.1);font-size:.8rem}.extra-field:last-child{border-bottom:0}.extra-field span{color:var(--muted)}.extra-field strong{overflow-wrap:anywhere;color:#cbd5e1;font-weight:600}.empty-inline{margin:0;color:var(--faint);font-size:.82rem}.attachment-list{display:grid;gap:.65rem}.attachment-card{display:flex;gap:.7rem;min-width:0;padding:.65rem;border:1px solid var(--border);border-radius:.7rem;background:#1e293b59}.attachment-card>a{flex:0 0 4rem}.attachment-card img{display:block;width:4rem;height:4rem;object-fit:cover;border-radius:.45rem;background:#020617}.attachment-icon{display:grid;width:4rem;height:4rem;flex:0 0 4rem;place-items:center;border-radius:.45rem;color:var(--accent);background:#0e74902e;font-size:1.5rem}.attachment-info{display:grid;min-width:0;align-content:center;gap:.18rem}.attachment-name{overflow:hidden;color:#bae6fd;font-size:.78rem;font-weight:800;text-overflow:ellipsis;white-space:nowrap}.attachment-name:hover{color:#f8fafc}.attachment-meta,.attachment-failure{overflow-wrap:anywhere;color:var(--faint);font-size:.68rem;line-height:1.35}.hash-value{font-family:Cascadia Code,Consolas,monospace}.attachment-failure{color:var(--yellow)}.attachment-pending{border-color:#fde68a38}.history-list{display:grid;gap:0}.timeline-item{position:relative;display:grid;grid-template-columns:1rem minmax(0,1fr);gap:.65rem;padding:0 0 1.1rem}.timeline-item:not(:last-child):before{position:absolute;top:.65rem;bottom:0;left:.27rem;width:1px;background:var(--border-strong);content:""}.timeline-dot{position:relative;z-index:1;width:.58rem;height:.58rem;margin-top:.15rem;border:2px solid #0f172a;border-radius:50%;background:var(--accent-strong);box-shadow:0 0 0 2px #38bdf833}.revision-dot{background:#a78bfa;box-shadow:0 0 0 2px #a78bfa33}.timeline-item strong{color:#cbd5e1;font-size:.77rem;line-height:1.45}.timeline-item p{margin:.22rem 0 0;color:var(--faint);font-size:.68rem}.change-list{margin:.5rem 0 0;padding-left:1rem;color:var(--muted);font-size:.7rem;line-height:1.6}@media (max-width: 900px){.filter-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.filter-wide{grid-column:span 2}.facts-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.detail-columns{grid-template-columns:1fr}}@media (max-width: 600px){.dashboard-shell{padding:1.5rem 1rem 3rem}.auth-card{padding:2rem 1.4rem}.dashboard-header,.detail-header{align-items:flex-start;flex-direction:column}.dashboard-header .quiet-button{align-self:flex-end}.sync-banner{align-items:flex-start;flex-wrap:wrap}.sync-count{width:100%;margin-left:1.45rem}.filter-grid,.facts-grid{grid-template-columns:1fr}.filter-wide{grid-column:auto}.filter-actions{justify-content:stretch}.filter-actions button{flex:1}.detail-updated{text-align:left}.detail-section{padding:1rem}.toolbar-actions{justify-content:flex-start}}
