/* ─── tickets/ ────────────────────────────────────────────── */

/* ── index.php ───────────────────────────────────────────── */
.ticket-row { transition: background .1s; }
.ticket-row:hover { background: #f8fafc; }
.priority-dot { width: 8px; height: 8px; border-radius: 50%; display: inline-block; }
.ticket-title { font-weight: 500; color: #1e293b; }
.ticket-meta  { font-size: .75rem; color: #64748b; }
.filter-card  { background: white; border-radius: 10px; padding: 1rem; box-shadow: 0 1px 3px rgba(0,0,0,.08); margin-bottom: 1rem; }

/* ── view.php ────────────────────────────────────────────── */
.ticket-detail-card { border-radius: 12px; }
.meta-item  { display: flex; align-items: center; gap: .4rem; font-size: .85rem; margin-bottom: .5rem; }
.meta-label { color: #64748b; min-width: 90px; }
.timeline { position: relative; padding-left: 36px; }
.timeline::before { content:''; position:absolute; left:14px; top:0; bottom:0; width:2px; background:#e2e8f0; }
.tl-item { position: relative; margin-bottom: 1.25rem; }
.tl-dot  { position:absolute; left:-28px; top:4px; width:18px; height:18px; border-radius:50%;
           display:flex; align-items:center; justify-content:center; font-size:9px; border:2px solid white; }
.tl-body { background:white; border:1px solid #e2e8f0; border-radius:10px; padding:.75rem 1rem; }
.tl-body.internal { background:#fffbeb; border-color:#fde68a; }
.tl-author { font-weight:600; font-size:.85rem; }
.tl-time   { font-size:.75rem; color:#94a3b8; }
.tl-text   { font-size:.875rem; white-space:pre-wrap; margin-top:.25rem; }
.status-pill { display:inline-flex; align-items:center; gap:.4rem; padding:.3rem .7rem;
               border-radius:20px; font-size:.8rem; font-weight:600; }

/* ── public_submit.php ───────────────────────────────────── */
.public-submit-page {
    font-family: var(--font-family-base, 'Inter', 'Segoe UI', system-ui, -apple-system, sans-serif);
    background: var(--gradient-primary);
    min-height: 100vh;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 24px 16px;
}
.public-submit-page .card { width:100%; max-width:560px; border:none; border-radius:18px; box-shadow:0 20px 60px rgba(0,0,0,0.3); }
.public-submit-page .card-header { background:var(--gradient-primary); color:white; border-radius:18px 18px 0 0 !important; padding:1.5rem 1.75rem; }
.public-submit-page .card-header h4 { margin:0; font-weight:700; font-size:1.1rem; }
.public-submit-page .card-header p  { margin:4px 0 0; font-size:.83rem; opacity:.85; }
.public-submit-page .card-body { padding:1.75rem; }
.public-submit-page .form-label { font-weight:600; font-size:.85rem; color:#374151; }
.public-submit-page .form-control,
.public-submit-page .form-select { border-radius:10px; border:1.5px solid #e5e7eb; font-size:.9rem; padding:.55rem .85rem; }
.public-submit-page .form-control:focus,
.public-submit-page .form-select:focus { border-color:var(--color-secondary); box-shadow:0 0 0 3px rgba(14,165,233,.12); }
.btn-submit { background:var(--gradient-primary); color:white; border:none; border-radius:10px; padding:.65rem 1.5rem; font-weight:600; width:100%; }
.btn-submit:hover { opacity:.92; color:white; }
.back-link { color:rgba(255,255,255,.85); font-size:.83rem; text-decoration:none; display:inline-flex; align-items:center; gap:.3rem; margin-bottom:1rem; }
.back-link:hover { color:white; }
.success-icon { font-size:3.5rem; color:#22c55e; }
.ticket-num { font-family:var(--font-family-mono); font-size:1.2rem; font-weight:700; color:var(--color-primary); background:#eff6ff; padding:.3rem .8rem; border-radius:8px; display:inline-block; margin:.5rem 0; }
