/* =========================================================
   DigitalMint – Support Center (customer)
   Uses the STLFilesHub dark card system (#132240 cards,
   purple gradient actions, 12–20px radii).
========================================================= */

.dm-sc{
    max-width:1100px;
    margin:0 auto 60px;
    padding:0 16px;
    display:flex;
    flex-direction:column;
    gap:24px;
    color:#e2e8f0;
    font-family:inherit;
}

.dm-sc *{ box-sizing:border-box; }

.dm-sc-view{ display:flex; flex-direction:column; gap:24px; }
.dm-sc-view[hidden]{ display:none; }

.dm-sc-card{
    background:#132240;
    border:1px solid rgba(255,255,255,.08);
    border-radius:20px;
    padding:28px;
    box-shadow:0 12px 30px rgba(0,0,0,.18);
}

.dm-sc-card h2{
    margin:4px 0 6px;
    color:#ffffff;
    font-size:22px;
    font-weight:700;
    line-height:1.3;
}

.dm-sc-card p{ margin:0; color:#94a3b8; font-size:14px; line-height:1.6; }

.dm-sc-card-head{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:16px;
    margin-bottom:22px;
}

.dm-sc-kicker{
    display:inline-block;
    color:#a78bfa;
    font-size:12px;
    font-weight:700;
    letter-spacing:.8px;
    text-transform:uppercase;
}

/* ---------- Topics ---------- */

.dm-sc-topics{
    display:grid;
    grid-template-columns:repeat(auto-fill,minmax(190px,1fr));
    gap:14px;
}

.dm-sc-topic{
    display:flex;
    align-items:center;
    gap:12px;
    min-height:64px;
    padding:14px 18px;
    background:#0b1730;
    border:1px solid rgba(255,255,255,.08);
    border-radius:14px;
    color:#ffffff;
    font-size:14px;
    font-weight:600;
    text-align:left;
    cursor:pointer;
    transition:.25s;
}

.dm-sc-topic i{
    width:36px;
    height:36px;
    flex-shrink:0;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    border-radius:10px;
    background:rgba(139,92,246,.15);
    color:#a78bfa;
    font-size:15px;
}

.dm-sc-topic:hover,
.dm-sc-topic:focus-visible{
    border-color:rgba(139,92,246,.55);
    transform:translateY(-2px);
    box-shadow:0 12px 28px rgba(139,92,246,.18);
    outline:none;
}

/* ---------- Buttons ---------- */

.dm-sc-btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:10px;
    min-height:48px;
    padding:0 24px;
    border:0;
    border-radius:12px;
    font-size:13px;
    font-weight:700;
    letter-spacing:.6px;
    text-transform:uppercase;
    text-decoration:none;
    cursor:pointer;
    transition:.28s;
}

.dm-sc-btn--primary{
    background:linear-gradient(135deg,#8b5cf6,#7c3aed);
    color:#ffffff !important;
    box-shadow:0 10px 25px rgba(139,92,246,.22);
}

.dm-sc-btn--primary:hover{ transform:translateY(-2px); box-shadow:0 14px 35px rgba(139,92,246,.35); }
.dm-sc-btn[disabled]{ opacity:.6; cursor:wait; transform:none; }

.dm-sc-icon-btn{
    width:40px;
    height:40px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    background:#0b1730;
    border:1px solid rgba(255,255,255,.08);
    border-radius:10px;
    color:#94a3b8;
    cursor:pointer;
    transition:.2s;
}

.dm-sc-icon-btn:hover{ color:#ffffff; border-color:rgba(139,92,246,.45); }

.dm-sc-back{
    display:flex;
    width:fit-content;
    align-items:center;
    gap:8px;
    margin-bottom:18px;
    padding:0;
    background:none;
    border:0;
    color:#94a3b8;
    font-size:13px;
    font-weight:600;
    cursor:pointer;
}

.dm-sc-back:hover{ color:#ffffff; }

/* ---------- Tickets ---------- */

.dm-sc-tickets{ display:flex; flex-direction:column; gap:12px; }
.dm-sc-tickets.is-loading{ opacity:.55; pointer-events:none; }

.dm-sc-ticket{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:18px;
    width:100%;
    padding:18px 20px;
    background:#0b1730;
    border:1px solid rgba(255,255,255,.08);
    border-radius:14px;
    color:inherit;
    text-align:left;
    cursor:pointer;
    transition:.25s;
}

.dm-sc-ticket:hover{ border-color:rgba(139,92,246,.45); transform:translateY(-1px); }
.dm-sc-ticket.is-unread{ border-color:rgba(139,92,246,.55); box-shadow:inset 3px 0 0 #8b5cf6; }

.dm-sc-ticket-main{ display:flex; flex-direction:column; gap:4px; min-width:0; }

.dm-sc-ticket-topic{ color:#a78bfa; font-size:11px; font-weight:700; letter-spacing:.6px; text-transform:uppercase; }

.dm-sc-ticket-title{
    color:#ffffff;
    font-size:15px;
    font-weight:600;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
}

.dm-sc-ticket-ref{ color:#94a3b8; font-size:12px; }

.dm-sc-ticket-side{
    display:flex;
    flex-direction:column;
    align-items:flex-end;
    gap:6px;
    flex-shrink:0;
}

.dm-sc-ticket-time{ color:#64748b; font-size:12px; }

.dm-sc-unread{
    padding:2px 10px;
    border-radius:999px;
    background:#8b5cf6;
    color:#ffffff;
    font-size:11px;
    font-weight:700;
}

/* ---------- Status ---------- */

.dm-sc-status{
    display:inline-flex;
    align-items:center;
    padding:4px 12px;
    border-radius:999px;
    font-size:12px;
    font-weight:700;
    border:1px solid transparent;
}

.dm-sc-status--open{ background:rgba(245,158,11,.12); border-color:rgba(245,158,11,.30); color:#fbbf24; }
.dm-sc-status--answered{ background:rgba(34,197,94,.12); border-color:rgba(34,197,94,.35); color:#22c55e; }
.dm-sc-status--closed{ background:rgba(148,163,184,.12); border-color:rgba(148,163,184,.30); color:#94a3b8; }

/* ---------- Form ---------- */

.dm-sc-compose-title{ display:flex; align-items:center; gap:12px; }
.dm-sc-compose-title i{ color:#a78bfa; }

.dm-sc-form{ display:flex; flex-direction:column; gap:18px; margin-top:20px; }

.dm-sc-grid{ display:grid; grid-template-columns:1fr 1fr; gap:16px; }

.dm-sc-field{ display:flex; flex-direction:column; gap:8px; }

.dm-sc-field > span{ color:#cbd5e1; font-size:13px; font-weight:600; }
.dm-sc-field em{ color:#64748b; font-style:normal; font-weight:500; }

.dm-sc-field select,
.dm-sc-field textarea{
    width:100%;
    padding:13px 16px;
    background:#0b1730;
    border:1px solid rgba(255,255,255,.10);
    border-radius:12px;
    color:#ffffff;
    font-family:inherit;
    font-size:14px;
    line-height:1.5;
    transition:.2s;
}

.dm-sc-field select{ min-height:48px; appearance:auto; }
.dm-sc-field textarea{ resize:vertical; min-height:110px; }

.dm-sc-field select:focus,
.dm-sc-field textarea:focus{
    outline:none;
    border-color:#8b5cf6;
    box-shadow:0 0 0 3px rgba(139,92,246,.18);
}

.dm-sc-form-foot{
    display:flex;
    align-items:center;
    justify-content:flex-end;
    gap:16px;
    flex-wrap:wrap;
}

.dm-sc-error{
    margin:0 auto 0 0 !important;
    color:#f87171 !important;
    font-size:13px !important;
    font-weight:600;
}

/* ---------- Thread ---------- */

.dm-sc-thread-meta{
    display:flex;
    align-items:center;
    flex-wrap:wrap;
    gap:14px;
    margin-top:6px;
    color:#94a3b8;
    font-size:13px;
}

.dm-sc-thread-meta i{ color:#a78bfa; margin-right:4px; }

.dm-sc-messages{
    display:flex;
    flex-direction:column;
    gap:14px;
    max-height:560px;
    overflow-y:auto;
    margin:24px 0 8px;
    padding:4px 4px 4px 0;
}

.dm-sc-msg{
    max-width:78%;
    padding:16px 18px;
    border-radius:16px;
    background:#0b1730;
    border:1px solid rgba(255,255,255,.08);
}

.dm-sc-msg--mine{
    align-self:flex-end;
    background:rgba(139,92,246,.14);
    border-color:rgba(139,92,246,.35);
    border-bottom-right-radius:4px;
}

.dm-sc-msg--team{ align-self:flex-start; border-bottom-left-radius:4px; }

.dm-sc-msg-head{
    display:flex;
    justify-content:space-between;
    gap:16px;
    margin-bottom:8px;
    font-size:12px;
}

.dm-sc-msg-head strong{ color:#ffffff; }
.dm-sc-msg-head span{ color:#64748b; }

.dm-sc-msg-body{ color:#e2e8f0; font-size:14px; line-height:1.65; overflow-wrap:anywhere; }
.dm-sc-msg-body p{ margin:0 0 8px; color:inherit; font-size:inherit; }
.dm-sc-msg-body p:last-child{ margin-bottom:0; }
.dm-sc-msg-body a{ color:#a78bfa; }

.dm-sc-msg--system{
    align-self:center;
    max-width:none;
    padding:0;
    background:none;
    border:0;
    color:#64748b;
    font-size:12px;
}

.dm-sc-reply{ border-top:1px solid rgba(255,255,255,.08); padding-top:20px; }

/* ---------- Empty / login / toast ---------- */

.dm-sc-empty{
    display:flex;
    flex-direction:column;
    align-items:center;
    gap:10px;
    padding:30px 16px;
    text-align:center;
}

.dm-sc-empty i{ color:#a78bfa; font-size:28px; }

.dm-sc-login{ text-align:center; padding:44px 28px; }
.dm-sc-login p{ max-width:520px; margin:0 auto 22px !important; }

.dm-sc-login-icon{
    width:64px;
    height:64px;
    margin:0 auto 14px;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:18px;
    background:rgba(139,92,246,.15);
    color:#a78bfa;
    font-size:26px;
}

.dm-sc-toast{
    position:fixed;
    right:24px;
    bottom:24px;
    z-index:9999;
    padding:14px 20px;
    border-radius:12px;
    background:#132240;
    border:1px solid rgba(139,92,246,.55);
    color:#ffffff;
    font-size:14px;
    font-weight:600;
    box-shadow:0 18px 45px rgba(0,0,0,.35);
    opacity:0;
    transform:translateY(10px);
    transition:.3s;
}

.dm-sc-toast.is-visible{ opacity:1; transform:none; }

/* ---------- Responsive ---------- */

@media (max-width:768px){
    .dm-sc-card{ padding:20px; }
    .dm-sc-grid{ grid-template-columns:1fr; }
    .dm-sc-ticket{ flex-direction:column; align-items:flex-start; }
    .dm-sc-ticket-side{ flex-direction:row; align-items:center; flex-wrap:wrap; }
    .dm-sc-ticket-title{ white-space:normal; }
    .dm-sc-msg{ max-width:100%; }
    .dm-sc-btn{ width:100%; }
}
