/* Synex AI ticket portal v2.2.2 — warm Synex gold palette, scoped and Elementor/theme-resistant */
.synex-ticket-portal,
.synex-ticket-portal * { box-sizing:border-box; }
.synex-ticket-portal {
    /* --synex-blue is kept for backward compatibility; PHP overrides it with the chatbot Accent Color. */
    --synex-blue:#E3AE60;
    --synex-blue-dark:color-mix(in srgb,var(--synex-blue) 76%,#7A4A16);
    --synex-blue-soft:color-mix(in srgb,var(--synex-blue) 13%,#FFFFFF);
    --synex-blue-line:color-mix(in srgb,var(--synex-blue) 38%,#FFFFFF);
    --synex-ink:#18202D;
    --synex-text:#414957;
    --synex-muted:#7A7F88;
    --synex-line:#ECE7DE;
    --synex-surface:#FFFFFF;
    --synex-soft:#FCFAF7;
    --synex-success:#12805C;
    --synex-success-soft:#ECFDF5;
    --synex-warning:#9A5A12;
    --synex-warning-soft:#FFF8E8;
    width:min(100%,1120px);
    margin:34px auto 68px;
    padding:0 18px;
    color:var(--synex-ink);
    font-family:inherit;
    font-size:15px;
    line-height:1.58;
    text-align:left;
}
.synex-ticket-portal a { color:var(--synex-blue-dark);text-decoration:none; }
.synex-ticket-portal a:hover { color:#7A4A16;text-decoration:underline; }
.synex-ticket-portal h1,
.synex-ticket-portal h2,
.synex-ticket-portal h3,
.synex-ticket-portal p { font-family:inherit; }

/* Hero */
.synex-ticket-hero {
    position:relative;
    display:grid;
    grid-template-columns:minmax(0,1fr) 210px;
    align-items:center;
    gap:34px;
    overflow:hidden;
    padding:40px 42px;
    margin:0 0 20px;
    border:1px solid var(--synex-blue-line);
    border-radius:24px;
    background:
        radial-gradient(circle at 88% 14%,color-mix(in srgb,var(--synex-blue) 19%,transparent),transparent 32%),
        linear-gradient(135deg,#FFF9F0 0%,#FFFFFF 60%,#FFFCF7 100%);
    box-shadow:0 18px 50px rgba(95,66,25,.08);
}
.synex-ticket-hero:before {
    content:"";
    position:absolute;
    left:0;top:22px;bottom:22px;
    width:4px;
    border-radius:0 8px 8px 0;
    background:var(--synex-blue);
}
.synex-ticket-hero-copy { position:relative;z-index:1;min-width:0; }
.synex-ticket-kicker {
    display:flex;
    align-items:center;
    gap:8px;
    margin:0 0 11px;
    color:var(--synex-blue-dark);
    font-size:11px;
    font-weight:800;
    letter-spacing:.115em;
    line-height:1.2;
    text-transform:uppercase;
}
.synex-ticket-kicker-dot {
    display:inline-block;
    width:7px;height:7px;
    border-radius:999px;
    background:var(--synex-blue);
    box-shadow:0 0 0 4px color-mix(in srgb,var(--synex-blue) 17%,transparent);
}
.synex-ticket-hero h1 {
    margin:0 0 11px!important;
    max-width:720px;
    color:var(--synex-ink)!important;
    font-size:clamp(30px,4.2vw,46px)!important;
    font-weight:800!important;
    letter-spacing:-.035em!important;
    line-height:1.06!important;
}
.synex-ticket-hero p {
    margin:0!important;
    max-width:760px;
    color:var(--synex-text)!important;
    font-size:16px!important;
    line-height:1.65!important;
}
.synex-ticket-trust-row { display:flex;flex-wrap:wrap;gap:9px 18px;margin-top:22px; }
.synex-ticket-trust-row span { display:inline-flex;align-items:center;gap:7px;color:#4E4A43;font-size:12px;font-weight:650; }
.synex-ticket-trust-row i { display:grid;place-items:center;width:18px;height:18px;border-radius:999px;background:#E8F7F0;color:#12805C;font-size:11px;font-style:normal;font-weight:900; }
.synex-ticket-hero-mark {
    position:relative;
    z-index:1;
    display:flex;
    min-height:174px;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    padding:22px 16px;
    border:1px solid var(--synex-blue-line);
    border-radius:20px;
    background:rgba(255,255,255,.78);
    box-shadow:0 12px 28px rgba(95,66,25,.07);
    backdrop-filter:blur(8px);
}
.synex-ticket-shield {
    display:grid;
    place-items:center;
    width:58px;height:58px;
    margin-bottom:11px;
    border-radius:17px 17px 21px 21px;
    background:linear-gradient(145deg,var(--synex-blue),var(--synex-blue-dark));
    color:#fff;
    font-size:25px;
    font-weight:900;
    line-height:1;
    box-shadow:0 12px 24px color-mix(in srgb,var(--synex-blue) 30%,transparent);
}
.synex-ticket-hero-mark span { color:var(--synex-ink);font-size:14px;font-weight:800; }
.synex-ticket-hero-mark small { margin-top:2px;color:var(--synex-muted);font-size:11px;font-weight:550; }

/* Core cards */
.synex-ticket-card { position:relative;margin:0;padding:24px;border:1px solid var(--synex-line);border-radius:18px;background:var(--synex-surface);box-shadow:0 8px 28px rgba(39,31,19,.055); }
.synex-ticket-card h2 { margin:2px 0 7px!important;color:var(--synex-ink)!important;font-size:21px!important;font-weight:800!important;letter-spacing:-.018em!important;line-height:1.25!important; }
.synex-ticket-card p { margin:0;color:var(--synex-text); }
.synex-ticket-label { display:block;margin:0 0 6px;color:var(--synex-blue-dark);font-size:10.5px;font-weight:850;letter-spacing:.10em;line-height:1.2;text-transform:uppercase; }

/* Lookup */
.synex-ticket-lookup-card { margin:0 0 20px;padding:28px 30px; }
.synex-ticket-lookup-intro { display:grid;grid-template-columns:48px minmax(0,1fr);align-items:start;gap:15px;margin-bottom:22px;padding-bottom:22px;border-bottom:1px solid var(--synex-line); }
.synex-ticket-lookup-icon { display:grid;place-items:center;width:48px;height:48px;border-radius:14px;background:var(--synex-blue-soft);color:var(--synex-blue-dark);font-size:20px;font-weight:900; }
.synex-ticket-lookup-intro p { max-width:720px;font-size:14px; }
.synex-ticket-reply-card form { display:grid;gap:14px;margin:0; }
.synex-ticket-login-grid { display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;align-items:end;gap:12px; }
.synex-ticket-reply-card label { display:grid!important;gap:7px!important;margin:0!important;color:var(--synex-ink)!important;font:700 13px/1.35 inherit!important;text-transform:none!important;letter-spacing:normal!important; }
.synex-ticket-reply-card label > span { display:block; }
.synex-ticket-reply-card input,
.synex-ticket-reply-card textarea { box-sizing:border-box!important;width:100%!important;max-width:none!important;min-width:0!important;margin:0!important;border:1px solid #D8D0C3!important;border-radius:12px!important;outline:0!important;background:#fff!important;color:var(--synex-ink)!important;box-shadow:0 1px 2px rgba(39,31,19,.02)!important;font:500 15px/1.35 inherit!important;text-transform:none!important;letter-spacing:normal!important;transition:border-color .18s ease,box-shadow .18s ease,background .18s ease!important; }
.synex-ticket-reply-card input { height:52px!important;padding:0 14px!important; }
.synex-ticket-reply-card textarea { min-height:144px!important;padding:13px 14px!important;resize:vertical!important; }
.synex-ticket-reply-card input::placeholder,
.synex-ticket-reply-card textarea::placeholder { color:#A29C92!important;opacity:1!important; }
.synex-ticket-reply-card input:focus,
.synex-ticket-reply-card textarea:focus { border-color:var(--synex-blue)!important;box-shadow:0 0 0 4px color-mix(in srgb,var(--synex-blue) 20%,transparent)!important; }
.synex-ticket-reply-card button { appearance:none!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:11px!important;width:auto!important;min-width:184px!important;height:52px!important;min-height:52px!important;margin:0!important;padding:0 20px!important;border:1px solid var(--synex-blue)!important;border-radius:12px!important;background:var(--synex-blue)!important;color:#fff!important;box-shadow:0 8px 18px color-mix(in srgb,var(--synex-blue) 31%,transparent)!important;font:800 14px/1 inherit!important;text-transform:none!important;letter-spacing:normal!important;cursor:pointer!important;transition:transform .16s ease,background .16s ease,box-shadow .16s ease!important; }
.synex-ticket-reply-card button b { font-size:18px;font-weight:500;line-height:1; }
.synex-ticket-reply-card button:hover { border-color:var(--synex-blue-dark)!important;background:var(--synex-blue-dark)!important;color:#fff!important;transform:translateY(-1px);box-shadow:0 11px 22px color-mix(in srgb,var(--synex-blue) 37%,transparent)!important; }
.synex-ticket-reply-card button:focus-visible { outline:3px solid color-mix(in srgb,var(--synex-blue) 36%,transparent)!important;outline-offset:2px!important; }
.synex-ticket-form-help { display:flex;align-items:flex-start;gap:8px;margin-top:1px;color:var(--synex-muted);font-size:11.5px;line-height:1.45; }
.synex-ticket-form-help > span { display:grid;flex:0 0 auto;place-items:center;width:17px;height:17px;margin-top:1px;border:1px solid var(--synex-blue-line);border-radius:999px;color:var(--synex-blue-dark);font-size:10px;font-weight:900; }
.synex-ticket-lookup-card.is-compact { padding:18px 20px;background:#FFFCF7;border-color:var(--synex-blue-line);box-shadow:none; }
.synex-ticket-lookup-card.is-compact .synex-ticket-login-grid { grid-template-columns:1fr 1fr auto; }
.synex-ticket-compact-head { display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:13px; }
.synex-ticket-compact-head .synex-ticket-label { margin:0; }
.synex-ticket-compact-note { color:var(--synex-muted);font-size:11px;font-weight:650; }

/* Notices */
.synex-ticket-notice { display:flex;align-items:flex-start;gap:11px;margin:0 0 18px;padding:13px 15px;border:1px solid;border-radius:13px;font-size:13px;font-weight:650;line-height:1.5; }
.synex-ticket-notice-icon { display:grid;flex:0 0 auto;place-items:center;width:22px;height:22px;border-radius:999px;font-size:12px;font-weight:900; }
.synex-ticket-notice.success { border-color:#BFE9D8;background:var(--synex-success-soft);color:#17654E; }
.synex-ticket-notice.success .synex-ticket-notice-icon { background:#CFF4E5;color:var(--synex-success); }
.synex-ticket-notice.warning { border-color:#F1D9A8;background:var(--synex-warning-soft);color:#7A4A0B; }
.synex-ticket-notice.warning .synex-ticket-notice-icon { background:#FFEBC1;color:var(--synex-warning); }

/* Result hero + summary */
.synex-ticket-ticket-separator { height:1px;margin:30px 0;background:var(--synex-line); }
.synex-ticket-result-hero { grid-template-columns:minmax(0,1fr) auto;padding:29px 32px;box-shadow:0 10px 30px rgba(95,66,25,.06); }
.synex-ticket-result-hero h1 { font-size:clamp(25px,3.3vw,35px)!important; }
.synex-ticket-result-status { display:inline-flex;align-items:center;justify-content:center;min-width:130px;min-height:40px;padding:9px 14px;border:1px solid var(--synex-blue-line);border-radius:999px;background:#fff;color:var(--synex-blue-dark);font-size:12px;font-weight:800;white-space:nowrap; }
.synex-ticket-summary-grid { display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:0 0 20px; }
.synex-ticket-summary-grid .synex-ticket-card { min-height:112px;display:flex;flex-direction:column;justify-content:center;padding:19px 20px;box-shadow:none; }
.synex-ticket-summary-grid .synex-ticket-card:after { content:"";position:absolute;right:15px;top:15px;width:7px;height:7px;border-radius:999px;background:var(--synex-blue-line); }
.synex-ticket-summary-grid strong { color:var(--synex-ink);font-size:16px;font-weight:800;overflow-wrap:anywhere; }
.synex-ticket-status { display:inline-flex;align-self:flex-start;align-items:center;min-height:31px;padding:6px 11px;border-radius:999px;background:var(--synex-blue-soft);color:var(--synex-blue-dark);font-size:12px;font-weight:800; }
.synex-ticket-status.status-open { background:var(--synex-blue-soft);color:var(--synex-blue-dark); }
.synex-ticket-status.status-in_progress { background:#FFF2DF;color:#9A5207; }
.synex-ticket-status.status-waiting_customer { background:#FFF9DF;color:#8A6500; }
.synex-ticket-status.status-resolved { background:#EAF9F2;color:#12805C; }
.synex-ticket-status.status-closed { background:#F0F1F3;color:#626872; }

/* Resolution */
.synex-ticket-resolution { display:grid;grid-template-columns:54px minmax(0,1fr);gap:16px;margin:0 0 20px;padding:23px 24px;border:1px solid #BDE9D7;border-radius:18px;background:linear-gradient(135deg,#F0FCF7,#FFFFFF 75%);box-shadow:0 8px 24px rgba(18,128,92,.06); }
.synex-ticket-resolution-icon { display:grid;place-items:center;width:54px;height:54px;border-radius:16px;background:var(--synex-success);color:#fff;font-size:22px;font-weight:900;box-shadow:0 9px 18px rgba(18,128,92,.17); }
.synex-ticket-resolution span { color:var(--synex-success);font-size:10.5px;font-weight:850;letter-spacing:.095em;text-transform:uppercase; }
.synex-ticket-resolution h2 { margin:2px 0 7px!important;color:#155E49!important;font-size:21px!important;font-weight:800!important; }
.synex-ticket-resolution p { margin:0!important;color:#276854!important; }

/* Timeline */
.synex-ticket-section-head { display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:19px; }
.synex-ticket-section-head h2 { margin:0!important; }
.synex-ticket-timeline { position:relative;display:grid;gap:14px;padding-left:27px; }
.synex-ticket-timeline:before { content:"";position:absolute;left:8px;top:7px;bottom:7px;width:2px;border-radius:999px;background:#EEE7DD; }
.synex-ticket-entry { position:relative;margin:0!important;padding:15px 16px;border:1px solid var(--synex-line);border-radius:14px;background:#FCFBF9; }
.synex-ticket-entry:before { content:"";position:absolute;left:-24px;top:19px;width:10px;height:10px;border:3px solid #fff;border-radius:999px;background:#B3ACA1;box-shadow:0 0 0 1px #DED7CC; }
.synex-ticket-entry.role-customer { border-color:var(--synex-blue-line);background:var(--synex-blue-soft); }
.synex-ticket-entry.role-customer:before { background:var(--synex-blue); }
.synex-ticket-entry.role-support { background:#fff; }
.synex-ticket-entry.role-support:before { background:#6F675D; }
.synex-ticket-entry.role-resolution { border-color:#C9EEDD;background:#F4FCF8; }
.synex-ticket-entry.role-resolution:before { background:var(--synex-success); }
.synex-ticket-entry-head { display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:6px; }
.synex-ticket-entry-head strong { color:var(--synex-ink);font-size:12.5px;font-weight:800; }
.synex-ticket-entry-head time { color:var(--synex-muted);font-size:10.5px;font-weight:550;white-space:nowrap; }
.synex-ticket-entry p { margin:0!important;color:var(--synex-text)!important;font-size:14px!important;overflow-wrap:anywhere; }

/* Reply / closed */
.synex-ticket-reply-card { margin-top:20px; }
.synex-ticket-reply-card > p { max-width:800px;font-size:13.5px; }
.synex-ticket-reply-card > form:not(:first-child) { margin-top:17px; }
.synex-ticket-reply-card > form > button { justify-self:start!important; }
.synex-ticket-closed-block { margin-top:20px;border-color:#E1DDD5;background:#FAF9F7;box-shadow:none; }
.synex-ticket-closed-block h2 { font-size:19px!important; }
.synex-ticket-hp { position:absolute!important;left:-99999px!important;width:1px!important;height:1px!important;overflow:hidden!important; }
.synex-ticket-info-block { max-width:760px; }
.synex-ticket-error { border-color:#F2C5C5!important;background:#FFF8F8!important; }

/* Tablet */
@media(max-width:900px) {
    .synex-ticket-hero { grid-template-columns:minmax(0,1fr) 165px;gap:22px;padding:32px 30px; }
    .synex-ticket-hero-mark { min-height:150px; }
    .synex-ticket-login-grid { grid-template-columns:1fr 1fr; }
    .synex-ticket-login-grid button { grid-column:1 / -1;width:100%!important; }
    .synex-ticket-lookup-card.is-compact .synex-ticket-login-grid { grid-template-columns:1fr 1fr; }
    .synex-ticket-summary-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}

/* Mobile */
@media(max-width:650px) {
    .synex-ticket-portal { margin:18px auto 42px;padding:0 12px;font-size:14px; }
    .synex-ticket-hero { display:block;padding:24px 20px;border-radius:18px; }
    .synex-ticket-hero:before { top:18px;bottom:18px;width:3px; }
    .synex-ticket-hero h1 { font-size:29px!important;letter-spacing:-.03em!important; }
    .synex-ticket-hero p { font-size:14px!important;line-height:1.6!important; }
    .synex-ticket-hero-mark { display:none; }
    .synex-ticket-trust-row { display:grid;grid-template-columns:1fr;margin-top:17px;gap:7px; }
    .synex-ticket-card { padding:18px;border-radius:15px; }
    .synex-ticket-lookup-card { padding:19px 17px; }
    .synex-ticket-lookup-intro { grid-template-columns:40px minmax(0,1fr);gap:12px;margin-bottom:18px;padding-bottom:18px; }
    .synex-ticket-lookup-icon { width:40px;height:40px;border-radius:12px;font-size:18px; }
    .synex-ticket-card h2 { font-size:19px!important; }
    .synex-ticket-login-grid,
    .synex-ticket-lookup-card.is-compact .synex-ticket-login-grid { grid-template-columns:1fr;gap:12px; }
    .synex-ticket-login-grid button { grid-column:auto;width:100%!important;min-width:0!important; }
    .synex-ticket-compact-head { align-items:flex-start;flex-direction:column;gap:3px; }
    .synex-ticket-ticket-separator { margin:22px 0; }
    .synex-ticket-result-hero { display:grid;grid-template-columns:1fr;padding:23px 20px; }
    .synex-ticket-result-status { justify-self:start;margin-top:16px; }
    .synex-ticket-summary-grid { grid-template-columns:1fr 1fr;gap:8px; }
    .synex-ticket-summary-grid .synex-ticket-card { min-height:98px;padding:14px; }
    .synex-ticket-summary-grid strong { font-size:14px; }
    .synex-ticket-resolution { grid-template-columns:42px minmax(0,1fr);gap:12px;padding:18px 16px;border-radius:15px; }
    .synex-ticket-resolution-icon { width:42px;height:42px;border-radius:13px;font-size:18px; }
    .synex-ticket-timeline { padding-left:23px; }
    .synex-ticket-timeline:before { left:6px; }
    .synex-ticket-entry:before { left:-21px; }
    .synex-ticket-entry-head { align-items:flex-start;flex-direction:column;gap:2px; }
    .synex-ticket-reply-card > form > button { width:100%!important;justify-self:stretch!important; }
}
@media(max-width:390px) {
    .synex-ticket-portal { padding:0 9px; }
    .synex-ticket-summary-grid { grid-template-columns:1fr; }
    .synex-ticket-summary-grid .synex-ticket-card { min-height:82px; }
    .synex-ticket-hero { padding:22px 17px; }
    .synex-ticket-hero h1 { font-size:27px!important; }
}
@media(prefers-reduced-motion:reduce) {
    .synex-ticket-portal *, .synex-ticket-portal *:before, .synex-ticket-portal *:after { transition:none!important;scroll-behavior:auto!important; }
}
