/* Soft4All Support Tickets R1 */
.s4-support-page{
  width:min(1180px,calc(100% - 34px));
  margin:0 auto;
  padding:46px 0 84px;
}
.s4-support-hero{
  margin-bottom:24px;
}
.s4-support-hero h1{
  margin:0;
  font-size:clamp(30px,5vw,48px);
  line-height:1.05;
  letter-spacing:-.035em;
}
.s4-support-hero p{
  max-width:780px;
  margin:12px 0 0;
  color:var(--muted,#a8b3c1);
  line-height:1.65;
}
.s4-support-topbar{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  margin-bottom:22px;
}
.s4-support-account{
  min-width:0;
}
.s4-support-account strong{
  display:block;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.s4-support-account span{
  display:block;
  margin-top:4px;
  color:var(--muted,#9aa8b6);
  font-size:12px;
}
.s4-support-actions{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:10px;
}
.s4-support-btn{
  appearance:none;
  border:1px solid rgba(255,255,255,.15);
  border-radius:11px;
  padding:10px 14px;
  background:rgba(255,255,255,.045);
  color:#eef6ff;
  font:700 13px/1.2 Inter,system-ui,sans-serif;
  text-decoration:none;
  cursor:pointer;
}
.s4-support-btn:hover,
.s4-support-btn:focus-visible{
  border-color:rgba(88,193,255,.62);
  outline:none;
}
.s4-support-btn.primary{
  border-color:rgba(0,200,255,.45);
  background:linear-gradient(135deg,rgba(0,200,255,.18),rgba(70,117,255,.18));
}
.s4-support-btn.danger{
  border-color:rgba(255,120,120,.25);
}
.s4-support-card{
  border:1px solid rgba(255,255,255,.11);
  border-radius:18px;
  background:rgba(8,17,29,.78);
  box-shadow:0 20px 56px rgba(0,0,0,.18);
  overflow:hidden;
}
.s4-support-card + .s4-support-card{
  margin-top:18px;
}
.s4-support-card-head{
  padding:20px 22px;
  border-bottom:1px solid rgba(255,255,255,.09);
}
.s4-support-card-head h2,
.s4-support-card-head h3{
  margin:0;
}
.s4-support-card-head p{
  margin:7px 0 0;
  color:var(--muted,#9ca9b8);
  line-height:1.55;
}
.s4-support-card-body{
  padding:22px;
}
.s4-support-login{
  max-width:650px;
}
.s4-support-form{
  display:grid;
  gap:16px;
}
.s4-support-field{
  display:grid;
  gap:7px;
}
.s4-support-field label{
  font-weight:750;
  font-size:13px;
}
.s4-support-field input,
.s4-support-field select,
.s4-support-field textarea{
  width:100%;
  border:1px solid rgba(255,255,255,.14);
  border-radius:11px;
  padding:11px 12px;
  background:#0a1420;
  color:#eef5fb;
  font:500 14px/1.4 Inter,system-ui,sans-serif;
}
.s4-support-field textarea{
  min-height:180px;
  resize:vertical;
}
.s4-support-field input:focus,
.s4-support-field select:focus,
.s4-support-field textarea:focus{
  border-color:rgba(0,200,255,.65);
  outline:2px solid rgba(0,200,255,.12);
}
.s4-support-help{
  color:var(--muted,#8f9dac);
  font-size:12px;
  line-height:1.55;
}
.s4-support-alert{
  margin-bottom:18px;
  border:1px solid rgba(255,180,90,.30);
  border-radius:13px;
  padding:13px 15px;
  background:rgba(104,66,13,.20);
  line-height:1.5;
}
.s4-support-alert.error{
  border-color:rgba(255,110,110,.32);
  background:rgba(104,24,24,.20);
}
.s4-support-alert.ok{
  border-color:rgba(91,218,151,.30);
  background:rgba(20,90,58,.18);
}
.s4-support-metrics{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
  margin-bottom:20px;
}
.s4-support-metric{
  border:1px solid rgba(255,255,255,.10);
  border-radius:15px;
  padding:16px;
  background:rgba(8,17,29,.72);
}
.s4-support-metric .k{
  font-size:12px;
  color:var(--muted,#93a1af);
}
.s4-support-metric .v{
  margin-top:6px;
  font-size:26px;
  font-weight:850;
}
.s4-support-table-wrap{
  overflow:auto;
}
.s4-support-table{
  width:100%;
  min-width:780px;
  border-collapse:collapse;
}
.s4-support-table th,
.s4-support-table td{
  padding:13px 14px;
  border-bottom:1px solid rgba(255,255,255,.08);
  text-align:left;
  vertical-align:top;
}
.s4-support-table th{
  font-size:11px;
  color:var(--muted,#8f9dad);
  text-transform:uppercase;
  letter-spacing:.04em;
}
.s4-support-ticket-link{
  color:#eaf6ff;
  text-decoration:none;
  font-weight:760;
}
.s4-support-ticket-link:hover{
  text-decoration:underline;
}
.s4-support-number{
  display:block;
  margin-top:4px;
  font-size:11px;
  color:var(--muted,#8493a2);
}
.s4-support-badge{
  display:inline-flex;
  align-items:center;
  border:1px solid rgba(255,255,255,.11);
  border-radius:999px;
  padding:5px 8px;
  background:rgba(255,255,255,.055);
  font-size:11px;
  font-weight:800;
}
.s4-support-badge[data-support-status="waiting_support"]{
  border-color:rgba(255,185,72,.30);
}
.s4-support-badge[data-support-status="waiting_customer"]{
  border-color:rgba(0,200,255,.28);
}
.s4-support-badge[data-support-status="resolved"]{
  border-color:rgba(82,211,144,.28);
}
.s4-support-badge[data-support-status="closed"]{
  opacity:.72;
}
.s4-support-empty{
  padding:28px 22px;
  color:var(--muted,#92a0ae);
}
.s4-support-ticket-meta{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:10px;
}
.s4-support-ticket-meta div{
  border:1px solid rgba(255,255,255,.08);
  border-radius:12px;
  padding:12px;
  background:rgba(255,255,255,.025);
}
.s4-support-ticket-meta span{
  display:block;
  color:var(--muted,#8f9dac);
  font-size:11px;
}
.s4-support-ticket-meta strong{
  display:block;
  margin-top:5px;
  overflow-wrap:anywhere;
}
.s4-support-thread{
  display:grid;
  gap:12px;
}
.s4-support-message{
  width:min(86%,760px);
  border:1px solid rgba(255,255,255,.10);
  border-radius:15px;
  padding:15px 16px;
  background:rgba(255,255,255,.035);
}
.s4-support-message.customer{
  margin-left:auto;
  border-color:rgba(0,200,255,.20);
}
.s4-support-message.admin{
  margin-right:auto;
}
.s4-support-message-head{
  display:flex;
  justify-content:space-between;
  gap:12px;
  margin-bottom:9px;
  color:var(--muted,#8e9ca9);
  font-size:11px;
}
.s4-support-message-body{
  white-space:pre-wrap;
  overflow-wrap:anywhere;
  line-height:1.6;
}
.s4-support-inline{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:10px;
}
.s4-support-note{
  margin-top:14px;
  color:var(--muted,#8f9dac);
  font-size:12px;
  line-height:1.55;
}
@media(max-width:820px){
  .s4-support-page{
    width:min(100% - 24px,1180px);
    padding-top:28px;
  }
  .s4-support-topbar{
    align-items:flex-start;
    flex-direction:column;
  }
  .s4-support-metrics{
    grid-template-columns:1fr;
  }
  .s4-support-ticket-meta{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .s4-support-message{
    width:96%;
  }
}
@media(max-width:520px){
  .s4-support-ticket-meta{
    grid-template-columns:1fr;
  }
  .s4-support-actions{
    width:100%;
  }
  .s4-support-btn{
    min-height:42px;
  }
}

/* Support Tickets R1.2 — secure attachments */
.s4-support-attachments{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:12px;padding-top:10px;border-top:1px solid rgba(135,160,181,.18)}
.s4-support-attachments-title{width:100%;font-size:11px;font-weight:800;color:var(--muted,#8f9dac);text-transform:uppercase;letter-spacing:.04em}
.s4-support-attachment-link{display:inline-flex;align-items:center;gap:7px;max-width:100%;padding:7px 10px;border:1px solid rgba(77,169,220,.28);border-radius:9px;background:rgba(9,27,40,.55);color:inherit;text-decoration:none;overflow-wrap:anywhere}
.s4-support-attachment-link:hover{border-color:rgba(77,169,220,.55)}
.s4-support-attachment-link small{white-space:nowrap;color:var(--muted,#8f9dac)}
.s4-support-field input[type="file"]{padding:9px;min-height:44px}
