.easy-consult-modal {
    position: fixed;
    inset: 0;
    z-index: var(--z-modal);
    display: flex;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
    padding: var(--spacing-24);
}

.easy-consult-modal[hidden] {display: none;}

.easy-consult-backdrop {
    position: absolute;
    inset: 0;
    background: rgba(15, 23, 42, 0.62);
}

.easy-consult-dialog {
    position: relative;
    box-sizing: border-box;
    width: min(100%, 560px);
    max-height: calc(100dvh - 48px);
    overflow-y: auto;
    padding: var(--spacing-32);
    border-radius: var(--radius-xl);
    background: var(--color-bg-white);
    box-shadow: 0 28px 80px rgba(15, 23, 42, 0.28);
}

.easy-consult-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: var(--spacing-20);
    margin-bottom: var(--spacing-24);
}

.easy-consult-eyebrow {
    margin: 0 0 var(--spacing-4);
    color: var(--color-primary);
    font-size: var(--font-size-caption);
    font-weight: var(--font-weight-bold);
}

.easy-consult-header h2 {
    margin: 0;
    color: var(--color-text-primary);
    font-size: var(--font-size-h3);
    line-height: var(--line-height-tight);
}

.easy-consult-close {
    display: inline-flex;
    flex: 0 0 40px;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    padding: 0;
    border: 0;
    background: transparent;
    color: var(--color-text-primary);
    cursor: pointer;
}

.easy-consult-close svg {width: 24px; height: 24px;}

.easy-consult-field {margin-bottom: var(--spacing-20);}

.easy-consult-field label,
.easy-consult-types legend {
    display: block;
    margin-bottom: var(--spacing-8);
    color: var(--color-text-primary);
    font-size: var(--font-size-body-sm);
    font-weight: var(--font-weight-semibold);
}

.easy-consult-field label span,
.easy-consult-types legend span {color: var(--color-error);}

.easy-consult-field input {
    box-sizing: border-box;
    width: 100%;
    height: 48px;
    padding: 0 var(--spacing-16);
    border: 1px solid var(--color-border);
    border-radius: var(--radius-md);
    background: var(--color-bg-white);
    color: var(--color-text-primary);
    font: inherit;
}

.easy-consult-field input:focus,
.easy-consult-type-grid input:focus-visible,
.easy-consult-consent input:focus-visible,
.easy-consult-close:focus-visible {
    outline: 0;
    box-shadow: 0 0 0 4px var(--color-primary-10);
}

.easy-consult-field input:focus {border-color: var(--color-primary);}

.easy-consult-types {
    min-width: 0;
    margin: 0 0 var(--spacing-20);
    padding: 0;
    border: 0;
}

.easy-consult-type-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--spacing-8);
}

.easy-consult-type-grid label {
    display: flex;
    align-items: center;
    min-height: 44px;
    padding: 0 var(--spacing-12);
    border: 1px solid var(--color-border);
    border-radius: var(--radius-md);
    color: var(--color-text-body);
    cursor: pointer;
}

.easy-consult-type-grid input,
.easy-consult-consent input {
    width: 18px;
    height: 18px;
    margin: 0 var(--spacing-8) 0 0;
    accent-color: var(--color-primary);
}

.easy-consult-consent {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--spacing-12);
    padding-top: var(--spacing-16);
    border-top: 1px solid var(--color-border-light);
    color: var(--color-text-body);
    font-size: var(--font-size-body-sm);
}

.easy-consult-consent label {display: flex; align-items: center;}
.easy-consult-consent a {flex: none; color: var(--color-primary); text-decoration: underline;}

.easy-consult-error {
    margin: var(--spacing-12) 0 0;
    color: var(--color-error);
    font-size: var(--font-size-body-sm);
}

.easy-consult-actions {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: var(--spacing-12);
    margin-top: var(--spacing-24);
}

.easy-consult-actions .button {min-height: 48px;}
.easy-consult-actions .button:disabled {cursor: wait; opacity: 0.65;}

@media (max-width: 576px) {
    .easy-consult-modal {padding: var(--spacing-16);}
    .easy-consult-dialog {max-height: calc(100dvh - 32px); padding: var(--spacing-24);}
    .easy-consult-type-grid {grid-template-columns: 1fr;}
    .easy-consult-consent {align-items: flex-start;}
}
