:root {
    --hc-blue: #0d1426;
    --hc-blue-2: #16213a;
    --hc-gold: #c8a472;
    --hc-gold-hover: #b8915d;
    --hc-text: #161d2d;
    --hc-muted: #667085;
    --hc-line: #e7e9ee;
    --hc-soft: #f7f8fa;
    --hc-success: #17663d;
    --hc-success-bg: #e8f7ee;
    --hc-success-line: #b4dfc3;
    --hc-danger: #b42318;
    --hc-danger-bg: #fff0ef;
    --hc-danger-line: #f0c7c3;
    --hc-shadow: 0 24px 60px rgba(13,20,38,.10);
}

.hc-request-wrap {
    max-width: 920px;
    margin: 38px auto;
    color: var(--hc-text);
    font-family: "Inter", "Inter Variable", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
    font-size: 16px;
    line-height: 1.55;
}
.hc-request-wrap * { box-sizing: border-box; }
.hc-request-wrap [hidden] { display: none !important; }

.hc-request-brand {
    position: relative;
    overflow: hidden;
    padding: 42px 46px 36px;
    border-radius: 18px 18px 0 0;
    background: var(--hc-blue);
    color: #fff;
}
.hc-request-brand:after {
    content: "";
    position: absolute;
    right: -100px;
    top: -130px;
    width: 330px;
    height: 330px;
    border: 1px solid rgba(200,164,114,.16);
    border-radius: 50%;
    box-shadow: 0 0 0 36px rgba(200,164,114,.035), 0 0 0 72px rgba(200,164,114,.025);
    pointer-events: none;
}
.hc-request-eyebrow,
.hc-step-kicker {
    color: var(--hc-gold);
    font-size: 12px;
    font-weight: 750;
    letter-spacing: .12em;
    text-transform: uppercase;
}
.hc-request-brand h2 {
    position: relative;
    z-index: 1;
    margin: 8px 0 10px !important;
    color: #fff !important;
    font-family: inherit !important;
    font-size: clamp(34px, 4vw, 48px) !important;
    font-weight: 600 !important;
    letter-spacing: -.035em !important;
    line-height: 1.05 !important;
}
.hc-request-brand p {
    position: relative;
    z-index: 1;
    max-width: 690px;
    margin: 0;
    color: rgba(255,255,255,.86);
    font-size: 16px;
    line-height: 1.65;
}

.hc-request-form,
.hc-request-alert {
    border: 1px solid var(--hc-line);
    border-top: 0;
    background: #fff;
    box-shadow: var(--hc-shadow);
}
.hc-request-form {
    padding: 42px 46px 46px;
    border-radius: 0 0 18px 18px;
}
.hc-request-alert {
    padding: 30px 34px;
    border-radius: 0 0 18px 18px;
    font-size: 16px;
    line-height: 1.65;
}
.hc-success {
    border-color: var(--hc-success-line);
    border-top: 0;
    border-left: 5px solid var(--hc-success);
    background: var(--hc-success-bg);
    color: #155b39;
}
.hc-success strong { color: #0e4e2f; }
.hc-error {
    border-color: var(--hc-danger-line);
    border-top: 0;
    border-left: 5px solid var(--hc-danger);
    background: var(--hc-danger-bg);
    color: #7a241d;
}
.hc-error strong { color: #651b16; }

.hc-email-stage h3,
.hc-personal-welcome h3,
.hc-portal-panel h3 {
    margin: 7px 0 7px !important;
    color: var(--hc-blue) !important;
    font-family: inherit !important;
    font-size: 25px !important;
    font-weight: 600 !important;
    letter-spacing: -.025em !important;
    line-height: 1.2 !important;
}
.hc-step-copy,
.hc-personal-welcome p,
.hc-form-note,
.hc-portal-panel p { color: var(--hc-muted); }
.hc-step-copy { margin: 0 0 22px; }

/* Fixed 56px controls ensure the email field and Continue button sit on the same baseline. */
.hc-email-row,
.hc-portal-code-row {
    display: grid;
    grid-template-columns: minmax(0,1fr) auto;
    gap: 12px;
    align-items: end;
}
.hc-field-grow { margin: 0 !important; }
.hc-field { margin: 0 0 22px; }
.hc-field[hidden] { display: none !important; }
.hc-field label,
.hc-portal-verify label {
    display: block;
    margin: 0 0 8px;
    color: var(--hc-blue);
    font-size: 14px;
    font-weight: 650;
}
.hc-field label span { color: #a13f38; }
.hc-field small { display: block; margin-top: 7px; color: var(--hc-muted); font-size: 13px; line-height: 1.45; }

.hc-request-wrap input[type="text"],
.hc-request-wrap input[type="email"],
.hc-request-wrap input[type="url"],
.hc-request-wrap input[type="date"],
.hc-request-wrap input[type="file"],
.hc-request-wrap select,
.hc-request-wrap textarea,
.hc-portal-code-row input {
    -webkit-appearance: none;
    appearance: none;
    float: none !important;
    width: 100% !important;
    max-width: none !important;
    min-height: 56px !important;
    height: 56px;
    margin: 0 !important;
    padding: 13px 16px !important;
    border: 1px solid #cfd4dc !important;
    border-radius: 7px !important;
    background: #fff !important;
    color: var(--hc-text) !important;
    box-shadow: none !important;
    font-family: inherit !important;
    font-size: 15px !important;
    font-weight: 450 !important;
    line-height: 1.35 !important;
    transition: border-color .18s ease, box-shadow .18s ease, background-color .18s ease;
}
.hc-request-wrap textarea {
    height: auto !important;
    min-height: 160px !important;
    resize: vertical;
}
.hc-request-wrap input[type="file"] { height: auto !important; min-height: 56px !important; }
.hc-request-wrap input::placeholder,
.hc-request-wrap textarea::placeholder { color: #8a93a3; opacity: 1; }
.hc-request-wrap input:focus,
.hc-request-wrap select:focus,
.hc-request-wrap textarea:focus,
.hc-portal-code-row input:focus {
    outline: none !important;
    border-color: var(--hc-gold) !important;
    box-shadow: 0 0 0 3px rgba(200,164,114,.18) !important;
}

/* Completely isolate Request Desk actions from Elementor/theme button colours, including visited/hover states. */
.hc-request-wrap button.hc-continue,
.hc-request-wrap button.hc-submit,
.hc-request-wrap button.hc-primary-action,
.hc-request-wrap button.hc-secondary-action,
.hc-request-wrap button.hc-text-button {
    -webkit-appearance: none !important;
    appearance: none !important;
    float: none !important;
    position: static !important;
    box-sizing: border-box !important;
    font-family: inherit !important;
    text-decoration: none !important;
    text-transform: none !important;
    letter-spacing: 0 !important;
    cursor: pointer;
}
.hc-request-wrap button.hc-continue,
.hc-request-wrap button.hc-submit,
.hc-request-wrap button.hc-primary-action {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    height: 56px !important;
    min-height: 56px !important;
    margin: 0 !important;
    padding: 0 26px !important;
    border: 1px solid var(--hc-gold) !important;
    border-radius: 7px !important;
    background: var(--hc-gold) !important;
    background-image: none !important;
    color: #fff !important;
    box-shadow: none !important;
    font-size: 15px !important;
    font-weight: 650 !important;
    line-height: 1 !important;
    transition: background-color .18s ease, border-color .18s ease, color .18s ease, transform .18s ease, box-shadow .18s ease !important;
}
.hc-request-wrap button.hc-continue { width: 170px !important; align-self: end !important; }
.hc-request-wrap button.hc-submit { width: 100% !important; margin-top: 8px !important; }
.hc-request-wrap button.hc-continue:hover,
.hc-request-wrap button.hc-continue:focus-visible,
.hc-request-wrap button.hc-submit:hover,
.hc-request-wrap button.hc-submit:focus-visible,
.hc-request-wrap button.hc-primary-action:hover,
.hc-request-wrap button.hc-primary-action:focus-visible {
    border-color: var(--hc-blue) !important;
    background: var(--hc-blue) !important;
    background-image: none !important;
    color: #fff !important;
    box-shadow: 0 10px 24px rgba(13,20,38,.14) !important;
    transform: translateY(-1px);
    outline: none !important;
}
.hc-request-wrap button.hc-continue:active,
.hc-request-wrap button.hc-submit:active,
.hc-request-wrap button.hc-primary-action:active { transform: translateY(0); }
.hc-request-wrap button:disabled { opacity: .58 !important; cursor: wait !important; transform: none !important; box-shadow: none !important; }

.hc-request-wrap button.hc-secondary-action {
    display: inline-flex !important;
    flex: 0 0 auto;
    align-items: center !important;
    justify-content: center !important;
    min-height: 42px !important;
    margin: 0 0 0 auto !important;
    padding: 0 17px !important;
    border: 1px solid var(--hc-blue) !important;
    border-radius: 7px !important;
    background: transparent !important;
    color: var(--hc-blue) !important;
    font-size: 13px !important;
    font-weight: 650 !important;
    line-height: 1 !important;
}
.hc-request-wrap button.hc-secondary-action:hover,
.hc-request-wrap button.hc-secondary-action:focus-visible {
    border-color: var(--hc-blue) !important;
    background: var(--hc-blue) !important;
    color: #fff !important;
    outline: none !important;
}
.hc-request-wrap button.hc-text-button {
    border: 0 !important;
    background: transparent !important;
    color: var(--hc-blue) !important;
    padding: 4px 0 !important;
    font-size: 13px !important;
    font-weight: 650 !important;
}
.hc-request-wrap button.hc-text-button:hover,
.hc-request-wrap button.hc-text-button:focus-visible { color: var(--hc-gold-hover) !important; outline: none !important; }

.hc-identify-message,
.hc-portal-message {
    min-height: 22px;
    margin-top: 11px;
    color: var(--hc-success);
    font-size: 14px;
}
.hc-identify-message.is-error,
.hc-portal-message.is-error { color: var(--hc-danger); }

.hc-details-stage { margin-top: 32px; }
.hc-js .hc-details-stage { display: none; opacity: 0; transform: translateY(8px); }
.hc-js .hc-details-stage.is-visible { display: block; animation: hcReveal .24s ease forwards; }
@keyframes hcReveal { to { opacity: 1; transform: translateY(0); } }

.hc-personal-welcome {
    display: flex;
    gap: 15px;
    align-items: center;
    margin: 0 0 28px;
    padding: 20px 21px;
    border: 1px solid rgba(200,164,114,.45);
    border-radius: 10px;
    background: linear-gradient(135deg, rgba(200,164,114,.11), rgba(13,20,38,.018));
}
.hc-welcome-copy { min-width: 0; flex: 1 1 auto; }
.hc-welcome-icon {
    display: grid;
    place-items: center;
    flex: 0 0 36px;
    width: 36px;
    height: 36px;
    border-radius: 50%;
    background: var(--hc-blue);
    color: #fff;
    font-size: 14px;
    font-weight: 700;
}
.hc-personal-welcome h3 { margin-top: 0 !important; font-size: 21px !important; }
.hc-personal-welcome p { margin: 3px 0 0; font-size: 14px; }

.hc-known-sites-field {
    padding: 19px;
    border: 1px solid #eadbc4;
    border-radius: 9px;
    background: #fdfaf6;
}
.hc-grid { display: grid; gap: 20px; }
.hc-grid-2 { grid-template-columns: repeat(2,minmax(0,1fr)); }

.hc-consent {
    display: flex;
    gap: 10px;
    align-items: flex-start;
    margin: 7px 0 18px;
    color: var(--hc-muted);
    font-size: 13px;
    line-height: 1.5;
}
.hc-consent input { margin-top: 4px; accent-color: var(--hc-blue); }
.hc-form-note { margin: 13px 0 0; text-align: center; font-size: 13px; }

/* Secure case portal */
.hc-portal-panel {
    margin: 0 0 30px;
    padding: 24px;
    border: 1px solid #dfe3e9;
    border-radius: 12px;
    background: #fbfcfd;
}
.hc-portal-head,
.hc-portal-cases-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 20px;
}
.hc-portal-head p { margin: 4px 0 0; font-size: 14px; }
.hc-portal-code-stage { margin-top: 19px; }
.hc-portal-verify { margin-top: 17px; }
.hc-portal-code-row { grid-template-columns: minmax(180px,240px) auto; }
.hc-portal-code-row input { letter-spacing: .16em !important; text-align: center; font-size: 18px !important; font-weight: 650 !important; }
.hc-portal-cases-head { align-items: center; margin-bottom: 17px; }
.hc-portal-cases-head h3 { margin-bottom: 0 !important; }
.hc-case-section + .hc-case-section { margin-top: 24px; }
.hc-case-section h4 { margin: 0 0 10px; color: var(--hc-blue); font-size: 14px; font-weight: 700; }
.hc-case-card {
    padding: 17px 18px;
    border: 1px solid var(--hc-line);
    border-radius: 9px;
    background: #fff;
}
.hc-case-card + .hc-case-card { margin-top: 10px; }
.hc-case-top { display: flex; justify-content: space-between; gap: 16px; align-items: center; }
.hc-case-top strong { color: var(--hc-blue); font-size: 13px; }
.hc-case-card h5 { margin: 9px 0 5px; color: var(--hc-blue); font-size: 16px; font-weight: 650; }
.hc-case-card p { margin: 0; color: var(--hc-muted); font-size: 13px; }
.hc-case-meta { display: flex; flex-wrap: wrap; gap: 7px 14px; margin-top: 11px; color: #788191; font-size: 12px; }
.hc-case-status { display: inline-flex; padding: 4px 9px; border-radius: 999px; background: #eef2f6; color: #475467; font-size: 11px; font-weight: 700; }
.hc-case-status-awaiting_approval { background:#fbf3e5; color:#7a5725; }
.hc-case-status-approved,.hc-case-status-in_progress { background:#eaf2ff; color:#245caa; }
.hc-case-status-waiting_client { background:#f4effc; color:#6c4a96; }
.hc-case-status-completed { background:#e9f6ed; color:#287344; }
.hc-case-status-declined { background:#fff0ef; color:#9b2f28; }
.hc-case-empty { padding: 22px; border: 1px dashed #d6dbe2; border-radius: 9px; background: #fff; color: var(--hc-muted); text-align: center; font-size: 13px; }

.hc-hp { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; overflow: hidden; }
.screen-reader-text { position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0; }

@media (max-width: 760px) {
    .hc-request-wrap { margin: 20px auto; }
    .hc-request-brand { padding: 31px 24px 28px; }
    .hc-request-form { padding: 30px 24px 34px; }
    .hc-grid-2 { grid-template-columns: 1fr; gap: 0; }
    .hc-email-row,.hc-portal-code-row { grid-template-columns: 1fr; }
    .hc-request-wrap button.hc-continue,.hc-request-wrap button.hc-primary-action { width: 100% !important; }
    .hc-personal-welcome { align-items: flex-start; flex-wrap: wrap; }
    .hc-request-wrap button.hc-secondary-action { width: 100% !important; margin: 4px 0 0 !important; }
    .hc-portal-head,.hc-portal-cases-head { flex-direction: column; gap: 8px; }
}

/* v1.5 premium alignment + clearer status system */
.hc-email-row {
    display: flex !important;
    gap: 14px !important;
    align-items: stretch !important;
}
.hc-email-row > .hc-field-grow {
    display: flex !important;
    flex: 1 1 auto !important;
    min-width: 0 !important;
    align-items: stretch !important;
}
.hc-email-row > .hc-field-grow > .screen-reader-text {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    margin: -1px !important;
    padding: 0 !important;
    overflow: hidden !important;
    clip: rect(0,0,0,0) !important;
    white-space: nowrap !important;
    border: 0 !important;
}
.hc-email-row > .hc-field-grow > input,
.hc-email-row > button.hc-continue {
    height: 56px !important;
    min-height: 56px !important;
    margin: 0 !important;
    align-self: stretch !important;
}
.hc-email-row > button.hc-continue {
    flex: 0 0 178px !important;
    width: 178px !important;
}

/* Harris-style button movement: gold -> navy with a restrained arrow nudge. */
.hc-request-wrap button.hc-continue::after,
.hc-request-wrap button.hc-submit::after,
.hc-request-wrap button.hc-primary-action::after {
    content: "\2192";
    display: inline-block;
    margin-left: 10px;
    font-size: 16px;
    line-height: 1;
    transition: transform .18s ease !important;
}
.hc-request-wrap button.hc-continue:hover::after,
.hc-request-wrap button.hc-submit:hover::after,
.hc-request-wrap button.hc-primary-action:hover::after,
.hc-request-wrap button.hc-continue:focus-visible::after,
.hc-request-wrap button.hc-submit:focus-visible::after,
.hc-request-wrap button.hc-primary-action:focus-visible::after {
    transform: translateX(3px);
}

/* Stronger, immediately readable case states. */
.hc-case-status {
    position: relative;
    gap: 6px;
    align-items: center;
    padding: 5px 10px !important;
    border: 1px solid transparent;
    font-size: 11px !important;
    font-weight: 750 !important;
}
.hc-case-status::before {
    content: "";
    width: 7px;
    height: 7px;
    flex: 0 0 7px;
    border-radius: 50%;
    background: currentColor;
    opacity: .9;
}
.hc-case-status-reviewing { background:#eef5ff; border-color:#d8e7fb; color:#295f98; }
.hc-case-status-awaiting_approval { background:#fff5df; border-color:#efd8a9; color:#805b16; }
.hc-case-status-approved { background:#eaf8ef; border-color:#cdebd8; color:#1f6d42; }
.hc-case-status-in_progress { background:#eaf2ff; border-color:#cfe0fb; color:#245ca5; }
.hc-case-status-waiting_client { background:#f5effc; border-color:#e3d7f2; color:#6e4798; }
.hc-case-status-completed { background:#e8f7ed; border-color:#c9e9d3; color:#216c40; }
.hc-case-status-declined { background:#fff0ef; border-color:#f1d1ce; color:#9b2f28; }

@media (max-width: 760px) {
    .hc-email-row { display: grid !important; grid-template-columns: 1fr !important; }
    .hc-email-row > button.hc-continue { width: 100% !important; flex-basis: auto !important; }
}

/* v1.6 client portal polish */
.hc-email-row {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) 180px !important;
    gap: 14px !important;
    align-items: stretch !important;
}
.hc-email-row > .hc-field-grow {
    display: block !important;
    margin: 0 !important;
    padding: 0 !important;
    min-width: 0 !important;
    height: 56px !important;
}
.hc-email-row > .hc-field-grow > input,
.hc-email-row > button.hc-continue {
    display: flex !important;
    width: 100% !important;
    height: 56px !important;
    min-height: 56px !important;
    max-height: 56px !important;
    margin: 0 !important;
    align-self: stretch !important;
}
.hc-email-row > button.hc-continue {
    flex: none !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
}
.hc-portal-session-note {
    margin: 0 0 18px;
    padding: 13px 15px 13px 42px;
    border: 1px solid #cfe6d7;
    border-radius: 9px;
    background: #eef9f2;
    color: #255b3b;
    font-size: 13px;
    line-height: 1.55;
    position: relative;
}
.hc-portal-session-note:before {
    content: "✓";
    position: absolute;
    left: 15px;
    top: 13px;
    display: grid;
    place-items: center;
    width: 20px;
    height: 20px;
    border-radius: 50%;
    background: #1f7a49;
    color: #fff;
    font-size: 11px;
    font-weight: 800;
}
.hc-case-pagination {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-top: 14px;
    padding-top: 14px;
    border-top: 1px solid var(--hc-line);
    color: var(--hc-muted);
    font-size: 12px;
}
.hc-request-wrap button.hc-case-page-button {
    appearance: none !important;
    min-height: 38px !important;
    margin: 0 !important;
    padding: 0 14px !important;
    border: 1px solid var(--hc-blue) !important;
    border-radius: 7px !important;
    background: #fff !important;
    color: var(--hc-blue) !important;
    font-family: inherit !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    cursor: pointer;
}
.hc-request-wrap button.hc-case-page-button:hover,
.hc-request-wrap button.hc-case-page-button:focus-visible {
    background: var(--hc-blue) !important;
    color: #fff !important;
    outline: none !important;
}
.hc-request-wrap button.hc-case-page-button:disabled {
    opacity: .38 !important;
    cursor: default !important;
    background: #f5f6f8 !important;
    color: #667085 !important;
    border-color: #d8dde5 !important;
}
@media (max-width:760px) {
    .hc-email-row { grid-template-columns: 1fr !important; }
    .hc-email-row > .hc-field-grow { height: 56px !important; }
    .hc-case-pagination { align-items: stretch; flex-direction: column; text-align: center; }
    .hc-request-wrap button.hc-case-page-button { width: 100% !important; }
}

/* v1.7 secure case detail + conversation */
.hc-request-wrap .hc-case-card {
    cursor:pointer;
    transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.hc-request-wrap .hc-case-card:hover,
.hc-request-wrap .hc-case-card:focus-visible {
    transform:translateY(-2px);
    border-color:rgba(200,164,114,.75);
    box-shadow:0 12px 26px rgba(13,20,38,.08);
    outline:none;
}
.hc-request-wrap .hc-case-open {
    margin-top:14px;
    color:#0d1426;
    font-size:13px;
    font-weight:750;
}
.hc-request-wrap .hc-portal-case-view { margin-top:6px; }
.hc-request-wrap .hc-case-back {
    margin:0 0 16px !important;
    color:#0d1426 !important;
    font-weight:700 !important;
}
.hc-request-wrap .hc-case-detail-hero {
    padding:22px 24px;
    border-radius:14px;
    background:#0d1426;
    color:#fff;
}
.hc-request-wrap .hc-case-detail-top {
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:16px;
}
.hc-request-wrap .hc-case-detail-top > div span {
    display:block;
    margin-bottom:4px;
    color:#c8a472;
    font-size:11px;
    font-weight:800;
    letter-spacing:.09em;
}
.hc-request-wrap .hc-case-detail-top > div strong { color:#fff; font-size:18px; }
.hc-request-wrap .hc-case-detail-hero h4 {
    margin:14px 0 8px !important;
    color:#fff !important;
    font-size:24px !important;
    line-height:1.2 !important;
}
.hc-request-wrap .hc-case-detail-meta {
    display:flex;
    flex-wrap:wrap;
    gap:8px 18px;
    color:#dce1e9;
    font-size:13px;
}
.hc-request-wrap .hc-case-detail-box,
.hc-request-wrap .hc-case-conversation {
    margin-top:16px;
    padding:22px 24px;
    border:1px solid #e3e7ed;
    border-radius:14px;
    background:#fff;
}
.hc-request-wrap .hc-case-detail-box h5,
.hc-request-wrap .hc-case-conversation h5 {
    margin:0 0 12px !important;
    color:#0d1426 !important;
    font-size:18px !important;
}
.hc-request-wrap .hc-case-description { margin:0 0 14px; color:#344054; white-space:pre-wrap; }
.hc-request-wrap .hc-case-detail-box > a { color:#245b8f; overflow-wrap:anywhere; }
.hc-request-wrap .hc-case-quote-note {
    margin-top:15px;
    padding:14px 16px;
    border-left:4px solid #c8a472;
    border-radius:8px;
    background:#f8f5f0;
    color:#4a5160;
}
.hc-request-wrap .hc-case-files,
.hc-request-wrap .hc-conversation-files {
    display:flex;
    flex-wrap:wrap;
    gap:8px;
    margin-top:14px;
}
.hc-request-wrap .hc-case-file {
    display:inline-flex;
    align-items:center;
    min-height:36px;
    padding:7px 11px;
    border:1px solid #dfe4ea;
    border-radius:8px;
    background:#f8f9fb;
    color:#0d1426 !important;
    font-size:12px;
    font-weight:650;
    text-decoration:none !important;
}
.hc-request-wrap .hc-case-file:hover { border-color:#c8a472; background:#fffaf3; }
.hc-request-wrap .hc-case-conversation-head span {
    display:block;
    margin-bottom:3px;
    color:#c8a472;
    font-size:11px;
    font-weight:800;
    letter-spacing:.08em;
}
.hc-request-wrap .hc-client-thread { display:flex; flex-direction:column; gap:12px; margin-top:16px; }
.hc-request-wrap .hc-client-message {
    width:min(88%, 680px);
    padding:15px 17px;
    border:1px solid #e0e5eb;
    border-radius:12px;
    background:#f7f8fa;
}
.hc-request-wrap .hc-client-message-admin {
    align-self:flex-start;
    border-left:4px solid #c8a472;
    background:#fbf8f3;
}
.hc-request-wrap .hc-client-message-client {
    align-self:flex-end;
    border-right:4px solid #0d1426;
    background:#f2f5f9;
}
.hc-request-wrap .hc-client-message-head {
    display:flex;
    justify-content:space-between;
    gap:12px;
    margin-bottom:8px;
}
.hc-request-wrap .hc-client-message-head strong { color:#0d1426; font-size:13px; }
.hc-request-wrap .hc-client-message-head span { color:#7a8495; font-size:11px; white-space:nowrap; }
.hc-request-wrap .hc-client-message p { margin:0; color:#344054; white-space:pre-wrap; }
.hc-request-wrap .hc-client-compose {
    margin-top:20px;
    padding-top:18px;
    border-top:1px solid #e7e9ee;
}
.hc-request-wrap .hc-client-compose > label { display:block; margin-bottom:8px; color:#0d1426; font-weight:750; }
.hc-request-wrap .hc-client-compose textarea {
    width:100% !important;
    min-height:118px;
    padding:13px 14px !important;
    border:1px solid #cfd6df !important;
    border-radius:10px !important;
    background:#fff !important;
    color:#0d1426 !important;
    box-shadow:none !important;
}
.hc-request-wrap .hc-client-compose textarea:focus {
    border-color:#c8a472 !important;
    outline:0 !important;
    box-shadow:0 0 0 3px rgba(200,164,114,.15) !important;
}
.hc-request-wrap .hc-client-compose-actions {
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    margin-top:12px;
}
.hc-request-wrap .hc-case-upload {
    position:relative;
    display:inline-flex;
    align-items:center;
    min-height:44px;
    padding:0 15px;
    border:1px solid #d6dce4;
    border-radius:8px;
    background:#fff;
    color:#0d1426;
    font-size:13px;
    font-weight:700;
    cursor:pointer;
}
.hc-request-wrap .hc-case-upload:hover { border-color:#c8a472; background:#fffaf3; }
.hc-request-wrap .hc-case-upload input { position:absolute; width:1px; height:1px; opacity:0; pointer-events:none; }
.hc-request-wrap .hc-client-reply-feedback { margin-top:10px; color:#1f6d42; font-size:13px; font-weight:650; }
.hc-request-wrap .hc-client-reply-feedback.is-error { color:#9b2f28; }
.hc-request-wrap .hc-case-closed-note {
    margin-top:18px;
    padding:14px 16px;
    border-radius:9px;
    background:#f4f5f7;
    color:#667085;
}
.hc-request-wrap .hc-case-loading { padding:30px; text-align:center; color:#667085; }

@media (max-width:700px) {
    .hc-request-wrap .hc-case-detail-top { flex-direction:column; }
    .hc-request-wrap .hc-client-message { width:100%; }
    .hc-request-wrap .hc-client-compose-actions { align-items:stretch; flex-direction:column; }
    .hc-request-wrap .hc-client-compose-actions .hc-primary-action,
    .hc-request-wrap .hc-case-upload { width:100%; justify-content:center; }
}

/* v1.8 precision alignment, premium success state and attachment feedback */
.hc-email-row {
    display:grid !important;
    grid-template-columns:minmax(0,1fr) 180px !important;
    grid-template-rows:56px !important;
    gap:14px !important;
    align-items:stretch !important;
}
.hc-email-row > .hc-field-grow {
    display:flex !important;
    align-items:stretch !important;
    width:100% !important;
    height:56px !important;
    min-height:56px !important;
    margin:0 !important;
    padding:0 !important;
    transform:none !important;
}
.hc-email-row > .hc-field-grow > input,
.hc-email-row > button.hc-continue {
    box-sizing:border-box !important;
    position:relative !important;
    top:auto !important;
    right:auto !important;
    bottom:auto !important;
    left:auto !important;
    width:100% !important;
    height:56px !important;
    min-height:56px !important;
    max-height:56px !important;
    margin:0 !important;
    padding-top:0 !important;
    padding-bottom:0 !important;
    transform:none !important;
    align-self:stretch !important;
    vertical-align:middle !important;
}
.hc-email-row > .hc-field-grow > input { padding-left:16px !important; padding-right:16px !important; }
.hc-email-row > button.hc-continue { display:flex !important; align-items:center !important; justify-content:center !important; }
.hc-request-brand-success:after { box-shadow:0 0 0 36px rgba(200,164,114,.05),0 0 0 72px rgba(200,164,114,.03); }
.hc-selected-files {
    flex:1 1 auto;
    min-width:0;
    color:#667085;
    font-size:12px;
    line-height:1.4;
}
.hc-selected-files strong { color:#0d1426; }
.hc-request-wrap .hc-case-upload.is-selected {
    border-color:#c8a472;
    background:#fffaf3;
}
@media (max-width:760px) {
    .hc-email-row { grid-template-columns:1fr !important; grid-template-rows:56px 56px !important; }
}
