.hsd-wrap { display:block; color:#111; }
.hsd-header { margin:0 0 24px; padding:28px; background:#111; color:#fff; border-radius:18px; }
.hsd-header h2 { margin:0 0 10px; font-size:32px; text-transform:uppercase; }
.hsd-notice { margin:0 0 20px; padding:14px 18px; border-radius:12px; background:#e8fff0; color:#0f5132; }
.hsd-grid { display:grid; grid-template-columns:1fr 1fr; gap:24px; }
.hsd-card { background:#fff; border:1px solid rgba(0,0,0,.08); border-radius:18px; padding:24px; box-shadow:0 14px 40px rgba(0,0,0,.08); }
.hsd-form label { display:block; font-weight:700; margin:0 0 8px; }
.hsd-form input[type="text"], .hsd-form textarea, .hsd-form select { width:100%; padding:12px 14px; border:1px solid rgba(0,0,0,.14); border-radius:12px; background:#fff; color:#111; }
.hsd-form p { margin:0 0 16px; }
.hsd-form .button, .hsd-link { display:inline-flex; align-items:center; justify-content:center; min-height:44px; padding:10px 16px; border-radius:999px; text-decoration:none; }
.hsd-form .button { background:#d71920; color:#fff; border:0; }
.hsd-link { color:#d71920; }
.hsd-ticket-list { display:grid; gap:14px; }
.hsd-ticket-item { padding:16px; border:1px solid rgba(0,0,0,.08); border-radius:14px; }
.hsd-ticket-meta, .hsd-message-meta, .hsd-ticket-head { display:flex; justify-content:space-between; gap:12px; flex-wrap:wrap; }
.hsd-badge { display:inline-flex; align-items:center; border-radius:999px; padding:6px 10px; font-size:12px; font-weight:800; text-transform:uppercase; letter-spacing:.06em; }
.hsd-status-open { background:#ffe9ea; color:#9f1620; }
.hsd-status-in-progress { background:#fff1d6; color:#8a5a00; }
.hsd-status-waiting-customer { background:#e8f1ff; color:#184b9b; }
.hsd-status-customer-replied { background:#f0e8ff; color:#5d2b9a; }
.hsd-status-resolved { background:#e7fff0; color:#146c43; }
.hsd-status-closed { background:#ececec; color:#555; }
.hsd-thread { display:grid; gap:14px; margin:20px 0; }
.hsd-message { padding:16px; border-radius:16px; }
.hsd-message.is-user { background:#f5f5f5; }
.hsd-message.is-staff { background:#111; color:#fff; }
.hsd-message.is-staff .hsd-message-meta span { color:#d2d2d2; }
@media (max-width: 900px) { .hsd-grid { grid-template-columns:1fr; } }
