[hidden] { display: none !important; }
.ticket-header { display:flex; align-items:center; justify-content:space-between; gap:24px; min-height:100px; border-bottom:1px solid var(--line); }
.ticket-header nav { display:flex; gap:24px; font-size:.9rem; font-weight:650; }
.ticket-header nav a:hover { color:var(--accent); }
.ticket-main { min-height:75vh; padding-bottom:70px; }
.ticket-intro { padding:54px 0 34px; }
.ticket-intro h1 { font-size:clamp(2.3rem,5vw,3.6rem); letter-spacing:-.045em; line-height:1.15; margin:8px 0 16px; }
.ticket-intro p { color:var(--text-2); }
.ticket-panel { background:var(--surface); border:1px solid var(--line); border-radius:var(--radius-lg); padding:30px; min-width:0; box-shadow:var(--shadow-1); }
.ticket-panel h2 { margin-top:0; font-size:1.4rem; letter-spacing:-.025em; }
.ticket-panel h3 { margin-top:30px; }
.ticket-panel .field { margin-bottom:18px; }
.ticket-panel p { overflow-wrap:anywhere; }
.track-layout { display:grid; grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr); gap:24px; }
.track-result { border-top:3px solid var(--accent); }
.empty-state { padding:36px 10px; }
.empty-state h2 { margin-top:12px; }
.muted, .ticket-footer { color:var(--text-2); font-size:.9rem; }
.ticket-footer { border-top:1px solid var(--line); padding-block:26px; }
.ticket-number { font-family:var(--font-mono); letter-spacing:.025em; }
.status-pill { display:inline-flex; padding:6px 12px; border-radius:30px; background:var(--surface-3); color:var(--accent); border:1px solid var(--line-strong); font-size:.85rem; font-weight:700; }
.timeline { padding-left:16px; margin-top:24px; border-left:2px solid var(--line-strong); }
.timeline li { position:relative; padding:0 0 24px 14px; overflow-wrap:anywhere; }
.timeline li::before { content:''; width:8px; height:8px; border-radius:50%; background:var(--accent); position:absolute; left:-21px; top:9px; }
.timeline time { display:block; font-size:.8rem; color:var(--text-2); }
.timeline p { margin:6px 0; white-space:pre-wrap; }
.timeline .event-meta { color:var(--text-2); font-size:.8rem; }
.login-panel { max-width:470px; }
.workspace-bar { display:flex; align-items:center; justify-content:space-between; gap:16px; margin-bottom:20px; }
.workspace-bar h2, .workspace-bar p { margin:0; }
.search-form { display:grid; grid-template-columns:2fr 1fr auto; align-items:end; gap:16px; margin-bottom:20px; }
.search-form .field { margin:0; }
.ticket-rows { display:grid; gap:10px; margin:20px 0; }
.ticket-row { display:grid; grid-template-columns:1fr 1.4fr 1fr; gap:16px; text-align:left; align-items:center; background:var(--bg-2); padding:20px; border:1px solid var(--line); border-radius:12px; width:100%; }
.ticket-row:hover { border-color:var(--accent); }
.ticket-row span { min-width:0; overflow-wrap:anywhere; }
.ticket-row small { display:block; color:var(--text-2); margin-top:5px; }
.notes-grid { display:grid; grid-template-columns:1fr 1fr; gap:24px; }
.public-note, .internal-note { padding:18px; border:1px solid var(--line-strong); border-radius:12px; }
.internal-note { border-top:3px solid var(--warn); }
.public-note { border-top:3px solid var(--accent); }
.key-panel { border:1px solid var(--accent); padding:20px; border-radius:12px; margin:24px 0; }
.key-panel input { font-family:var(--font-mono); }
.error-message { color:var(--err); }
button:disabled { opacity:.55; cursor:wait; }
#staff-message:empty, #edit-message:empty, #track-message:empty { display:none; }
@media(max-width:700px) {
 .ticket-header { flex-direction:column; align-items:flex-start; padding-block:20px; gap:16px; }
 .ticket-header nav { gap:20px; flex-wrap:wrap; }
 .track-layout,.notes-grid,.search-form { grid-template-columns:1fr; }
 .ticket-panel { padding:22px 18px; }
 .ticket-intro { padding-top:32px; }
 .ticket-row { grid-template-columns:1fr; gap:10px; }
 .workspace-bar { flex-wrap:wrap; }
 .btn { min-height:44px; }
}
