:root{--ticket-ink:#18243a;--ticket-muted:#64748b;--ticket-blue:#2857a4;--ticket-line:#dce3ec;--ticket-bg:#f4f6fa}html,body{background:var(--ticket-bg);color:var(--ticket-ink);font-family:Inter,Segoe UI,sans-serif}.app-header{border-bottom:1px solid var(--ticket-line);box-sizing:border-box;background:#fff;height:64px;padding:0 24px}.brand{letter-spacing:-.02em;color:var(--ticket-blue);font-size:20px;font-weight:800}.content-view{box-sizing:border-box;width:min(1280px,100% - 32px);margin:0 auto;padding:30px 0 60px}.page-heading h1{letter-spacing:-.025em;margin:0;font-size:32px}.page-heading p{color:var(--ticket-muted);margin:6px 0 0}.ticket-toolbar{gap:12px;margin:22px 0 14px}.ticket-grid{border:1px solid var(--ticket-line);background:#fff;border-radius:14px;overflow:hidden}.ticket-card{border:1px solid var(--ticket-line);box-sizing:border-box;background:#fff;border-radius:15px;box-shadow:0 6px 24px #1b2b460d;padding:22px!important}.ticket-card h2{margin:0 0 16px;font-size:20px}.ticket-detail{gap:20px}.ticket-meta{color:var(--ticket-muted);font-size:13px}.status-badge{border-radius:999px;padding:5px 10px;font-size:12px;font-weight:750}.status-open{color:#1d4ed8;background:#dbeafe}.status-progress{color:#7c3aed;background:#ede9fe}.status-waiting{color:#92400e;background:#fef3c7}.status-done{color:#166534;background:#dcfce7}.free-rich-text{border:1px solid var(--ticket-line);background:#fff;border-radius:10px;overflow:hidden}.free-rich-text-toolbar{border-bottom:1px solid var(--ticket-line);background:#f8fafc;padding:6px!important}.free-rich-text-editor{outline:none;min-height:150px;padding:14px;line-height:1.55}.free-rich-text-editor:focus{box-shadow:inset 0 0 0 2px #2857a440}.annotation{background:#f8fafc;border-left:3px solid #b7c8e6;border-radius:0 9px 9px 0;margin:10px 0;padding:10px 14px}.annotation-head{color:var(--ticket-muted);margin-bottom:8px;font-size:12px}.document-row{border-bottom:1px solid var(--ticket-line);padding:10px 0}.document-link{color:var(--ticket-blue);font-weight:650;text-decoration:none}.subticket-row{border-bottom:1px solid var(--ticket-line);padding:9px 0}@media (width<=700px){.content-view{width:calc(100% - 22px);padding-top:20px}.app-header{padding:0 12px}.ticket-toolbar{flex-direction:column;align-items:stretch}.ticket-card{padding:16px!important}}
