/* NovaSites — customer account pages */

.field{ margin-bottom:18px; }
.field label{
  display:block; font-size:13px; font-family:'JetBrains Mono', monospace;
  color:var(--text-low); margin-bottom:8px; letter-spacing:.03em;
}
.field input, .field textarea{
  width:100%; padding:13px 16px; border-radius:12px; border:1px solid var(--glass-border);
  background:rgba(255,255,255,0.04); color:var(--text-hi); font-family:'Manrope', sans-serif; font-size:15px;
  outline:none; transition:border-color .25s; box-sizing:border-box;
}
.field input:focus, .field textarea:focus{ border-color:var(--accent-bright); }
.field textarea{ resize:vertical; min-height:100px; }

.acct-error{
  background:rgba(239,68,68,0.12); border:1px solid rgba(239,68,68,0.35); color:#fca5a5;
  font-size:13.5px; padding:10px 14px; border-radius:10px; margin-bottom:18px;
}

/* Dashboard layout (mirrors the admin dashboard, scoped to "my tickets") */
body.acct-dash{ overflow:hidden; height:100vh; }
.acct-shell{ display:flex; height:100vh; padding:20px; gap:20px; }
.acct-list{ width:320px; flex-shrink:0; display:flex; flex-direction:column; overflow:hidden; }
.acct-list-scroll{ overflow-y:auto; flex:1; padding:8px; }
.acct-item{
  padding:14px 16px; border-radius:14px; cursor:pointer; margin-bottom:8px;
  border:1px solid transparent; transition: background .2s, border-color .2s;
}
.acct-item:hover{ background: rgba(255,255,255,0.05); }
.acct-item.active{ background: rgba(139,92,246,0.14); border-color: rgba(139,92,246,0.35); }
.acct-item .preview{ font-size:13px; color:var(--text-low); margin-top:6px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.acct-status{ font-family:'JetBrains Mono', monospace; font-size:10.5px; padding:2px 8px; border-radius:999px; text-transform:uppercase; letter-spacing:.05em; }
.acct-status-open{ background:rgba(34,197,94,0.15); color:#86efac; }
.acct-status-closed{ background:rgba(255,255,255,0.08); color:var(--text-low); }

.acct-thread{ flex:1; display:flex; flex-direction:column; overflow:hidden; }
.acct-thread-header{ display:flex; justify-content:space-between; align-items:center; padding:18px 22px; border-bottom:1px solid rgba(255,255,255,0.08); }
.acct-msgs{ flex:1; overflow-y:auto; padding:24px; display:flex; flex-direction:column; gap:14px; }
.acct-msg{ max-width:70%; padding:12px 16px; border-radius:16px; font-size:14.5px; line-height:1.5; }
.acct-msg-visitor{ align-self:flex-end; background:linear-gradient(135deg,var(--accent-bright),var(--purple-mid)); color:#fff; }
.acct-msg-agent{ align-self:flex-start; background:rgba(255,255,255,0.06); border:1px solid var(--glass-border); }
.acct-msg-time{ font-size:11px; color:var(--text-low); margin-top:6px; }
.acct-composer{ padding:16px 22px; border-top:1px solid rgba(255,255,255,0.08); display:flex; gap:12px; }
.acct-composer textarea{
  flex:1; resize:none; height:52px; padding:13px 16px; border-radius:14px; border:1px solid var(--glass-border);
  background:rgba(255,255,255,0.04); color:var(--text-hi); font-family:'Manrope'; font-size:14.5px; outline:none;
}
.acct-empty{ flex:1; display:flex; align-items:center; justify-content:center; color:var(--text-low); font-size:14.5px; text-align:center; padding:24px; }
::-webkit-scrollbar{ width:8px; } ::-webkit-scrollbar-thumb{ background:rgba(255,255,255,0.12); border-radius:8px; }

@media (max-width: 800px){
  .acct-shell{ flex-direction:column; padding:12px; gap:12px; }
  .acct-list{ width:100%; max-height:220px; }
}
