/* Shared account/ticket refinements, loaded after the component styles. */
.page-container { width: min(calc(100% - var(--gutter)*2), 960px); padding-top: 140px; }
.auth-card,.account-card,.ticket-row,.ticket-reply-form,.template-card { background: var(--bg-2); border-color: var(--line); box-shadow: none; }
.auth-card::before,.account-card::before { display: none; }
.auth-card { max-width: 480px; padding: 36px; }
.ticket-form-card { max-width: 680px; }
.auth-heading { font-size: clamp(1.8rem,6vw,2.35rem); margin: 18px 0; }
.auth-intro { line-height: 1.8; }
.auth-form { gap: 20px; }
.auth-form label,.auth-form .form-field,.field-label { letter-spacing: 0; text-transform: none; font-size: .83rem; font-weight: 500; color: var(--tx-2); }
.auth-form input,.auth-form select,.auth-form textarea,.escalate-box select,.template-row select { min-width: 0; max-width: 100%; font-size: 16px; border-color: #b2c9e530; background: var(--bg-0); }
.auth-form input:not([type="checkbox"]):not([type="file"]), .auth-form select { min-height: 50px; }
.auth-form textarea { min-height: 150px; }
.auth-note { font-size: .83rem; color: var(--tx-3); line-height: 1.8; }
.auth-intro code,.auth-note code { font-size: .8em; }
.btn-primary,.btn-secondary { min-width: 0; min-height: 50px; max-width: 100%; border: 1px solid transparent; border-radius: var(--r-sm); padding: 13px 20px; font-size: .85rem; font-weight: 600; line-height: 1.5; letter-spacing: 0; text-transform: none; box-shadow: none; }
.btn-primary { color: #0b2231; background: var(--ex-cyan); }
.btn-secondary { color: var(--tx-1); background: #ffffff06; border-color: #b2c9e530; }
.btn-primary:hover,.btn-primary:active,.btn-secondary:hover,.btn-secondary:active { box-shadow: none; transform: none; filter: none; }
.btn-primary:hover { background: var(--ex-cyan-bright); }
.btn-secondary:hover { background: #ffffff0e; color: var(--tx-1); }
.btn-staff,.btn-staff:hover { background: #b8b7ff; color: #211d43; box-shadow: none; }
.account-nick { text-transform: none; letter-spacing: -.04em; }
.account-stat { padding: 18px; }
.account-stat-label { letter-spacing: .02em; text-transform: none; font-size: .76rem; }
.account-stat-value { font-size: .9rem; }
.account-head > div,.account-stat,.ticket-row > *, .ticket-msg-body,.template-card,.template-card-head > *, .template-section,.template-row,.file-input { min-width: 0; }
.ticket-title,.ticket-subject,.ticket-msg-body,.ticket-meta,.account-nick,.account-stat-value,.file-names,.template-card,.ticket-attach-file,.flash { overflow-wrap: anywhere; }
.ticket-meta { flex-wrap: wrap; }
.ticket-row:hover { transform: none; box-shadow: none; }
.ticket-msg { min-width: 0; }
.ticket-msg-body { max-width: 100%; box-shadow: none; }
.ticket-msg-body code { font-size: .85em; }
.ticket-msg-body pre { max-width: 100%; white-space: pre-wrap; overflow-wrap: anywhere; }
.ticket-attachments > a { max-width: 100%; }
.ticket-attach-img img { max-width: 100%; width: 180px; height: auto; }
.editor-toolbar { flex-wrap: wrap; }
.editor-toolbar button,.template-delete { min-width: 44px; min-height: 44px; }
.file-input .file-btn { width: auto; }
.file-names { max-width: 100%; }
.template-row select { flex: 1 1 190px; }
.template-card-head { align-items: flex-start; }
.template-card-head form { flex-shrink: 0; }
.ticket-actions { width: 100%; }
.escalate-box { min-width: 0; max-width: 100%; flex-wrap: wrap; }
.escalate-box select { flex: 1 1 180px; }
@media (max-width: 760px) {
    .page-container { padding-top: 116px; }
    .auth-card,.account-card { padding: 28px 24px; }
    .account-grid { grid-template-columns: 1fr; }
    .tickets-toolbar { width: 100%; }
    .tickets-toolbar > a { flex: 1 1 180px; }
    .ticket-msg { max-width: 100%; }
}
@media (max-width: 420px) {
    .auth-card,.account-card { padding: 26px 18px; }
    .account-actions { width: 100%; }
    .ticket-msg { gap: 8px; }
    .ticket-msg-avatar { width: 28px; height: 28px; }
    .ticket-msg-body { padding: 12px; }
    .ticket-reply-form { padding: 18px 14px; }
    .ticket-actions > *, .ticket-actions .btn-primary, .ticket-actions .btn-secondary { min-width: 0; width: 100%; }
    .template-row select { max-width: 100%; }
    .template-manage { display: inline-flex; align-items: center; min-height: 44px; }
}

/* Match the original Exodia palette while retaining mobile form improvements. */
.auth-card,.account-card,.ticket-reply-form,.template-card,.ticket-row { background: linear-gradient(150deg,var(--bg-3),var(--bg-2)); box-shadow: inset 0 1px 0 #ffffff0a, var(--sh-panel); }
.btn-primary { background: linear-gradient(var(--ex-cyan-bright),var(--ex-cyan-dark)); box-shadow: inset 0 2px 0 #ffffff50, 0 3px 0 var(--ex-cyan-deep); }
.btn-primary:hover { background: linear-gradient(var(--ex-cyan-bright),var(--ex-cyan)); }
.btn-secondary { background: linear-gradient(#22374d,#111e30); }
.btn-staff,.btn-staff:hover { background: linear-gradient(#c1b4ff,#9b89e4); }
