:root {
    --esenda-primary:#142a68;
    --esenda-accent:#7c2b87;
    --esenda-border:#d9e1ea;
    --esenda-danger:#b42318;
}

*,
*::before,
*::after {
    box-sizing:border-box;
}

.esenda-field {
    width:100%;
    margin-bottom:14px;
}

.esenda-field label {
    display:block;
    margin-bottom:5px;
    color:#233451;
    font-size:12px;
    font-weight:700;
}

.esenda-input {
    width:100%;
    height:32px;
    padding:4px 10px;
    color:#26364a;
    background:#fff;
    border:1px solid var(--esenda-border);
    border-radius:5px;
    font-size:13px;
}

.esenda-input:focus {
    outline:none;
    border-color:var(--esenda-accent);
    box-shadow:0 0 0 3px rgba(124,43,135,.12);
}

.esenda-validation {
    display:block;
    margin-top:4px;
    color:var(--esenda-danger);
    font-size:11px;
}

.esenda-password-wrapper {
    position:relative;
    width:100%;
}

.esenda-password-input {
    padding-right:42px;
}

.esenda-password-toggle {
    position:absolute;
    top:1px;
    right:1px;
    width:36px;
    height:30px;
    display:grid;
    place-items:center;
    color:#6e7785;
    background:transparent;
    border:0;
    border-left:1px solid #e1e6ed;
    cursor:pointer;
}

.esenda-password-toggle:hover,
.esenda-password-toggle[aria-pressed="true"] {
    color:var(--esenda-accent);
    background:#f4eef7;
}

.esenda-caps-lock {
    display:none;
    margin-top:3px;
    color:#b26a00;
    font-size:11px;
}

.esenda-caps-lock.visible {
    display:block;
}


.esenda-button-row {
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    gap:12px;
}

.esenda-button {
    min-width:132px;
    height:34px;
    padding:0 14px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:7px;
    color:#fff;
    background:var(--esenda-primary);
    border:1px solid var(--esenda-primary);
    border-radius:5px;
    cursor:pointer;
    font-family:inherit;
    font-size:12px;
    font-weight:700;
    line-height:1;
    text-decoration:none;
    white-space:nowrap;
    transition:
        background-color .15s ease,
        border-color .15s ease,
        color .15s ease,
        box-shadow .15s ease,
        transform .15s ease;
}

.esenda-button:hover:not(:disabled):not([aria-disabled="true"]) {
    transform:translateY(-1px);
    box-shadow:0 4px 10px rgba(20,42,104,.16);
}

.esenda-button:focus-visible {
    outline:none;
    box-shadow:0 0 0 3px rgba(20,42,104,.18);
}

.esenda-button:disabled,
.esenda-button[aria-disabled="true"] {
    opacity:.55;
    cursor:not-allowed;
    pointer-events:none;
}

.esenda-button-primary {
    color:#fff;
    background:var(--esenda-primary);
    border-color:var(--esenda-primary);
}

.esenda-button-primary:hover:not(:disabled) {
    background:#0f245b;
    border-color:#0f245b;
}

.esenda-button-secondary {
    color:var(--esenda-primary);
    background:#f4f6fa;
    border-color:#d1d9e4;
}

.esenda-button-secondary:hover:not(:disabled) {
    color:var(--esenda-primary);
    background:#e9edf4;
    border-color:#b9c5d4;
}

.esenda-button-outline-primary {
    color:var(--esenda-primary);
    background:#fff;
    border-color:#9baac0;
}

.esenda-button-outline-primary:hover:not(:disabled) {
    color:#fff;
    background:var(--esenda-primary);
    border-color:var(--esenda-primary);
}

.esenda-button-success {
    color:#fff;
    background:#198754;
    border-color:#198754;
}

.esenda-button-danger {
    color:#fff;
    background:#c93737;
    border-color:#c93737;
}

.esenda-button-warning {
    color:#2d2614;
    background:#f5bd32;
    border-color:#f5bd32;
}

.esenda-button-ghost {
    min-width:auto;
    color:var(--esenda-primary);
    background:transparent;
    border-color:transparent;
}

.esenda-button-sm {
    min-width:108px;
    height:30px;
    padding:0 11px;
    font-size:11px;
}

.esenda-button-md {
    min-width:132px;
    height:34px;
}

.esenda-button-lg {
    min-width:154px;
    height:40px;
    padding:0 18px;
    font-size:13px;
}

.esenda-button-block {
    width:100%;
}

.esenda-button-icon {
    width:15px;
    height:15px;
    flex:0 0 15px;
    fill:currentColor;
}

.esenda-button-processing {
    color:#fff;
    background:var(--esenda-accent);
    border-color:var(--esenda-accent);
}

.esenda-button-processing:hover {
    background:var(--esenda-accent);
    border-color:var(--esenda-accent);
    transform:none;
}

.esenda-toast-container {
    position:fixed;
    top:18px;
    right:18px;
    z-index:99999;
    width:min(360px,calc(100vw - 36px));
    display:flex;
    flex-direction:column;
    gap:10px;
}

.esenda-toast {
    padding:12px 14px;
    color:#fff;
    border-radius:7px;
    box-shadow:0 10px 26px rgba(15,23,42,.22);
}

.esenda-toast-success { background:#198754; }
.esenda-toast-info { background:#2563b7; }
.esenda-toast-warning { background:#d99812; }
.esenda-toast-error { background:#c93737; }

.esenda-button-processing{background:#7c2b87}
.esenda-button-success{background:#198754}
.esenda-button-warning{color:#2d2614;background:#f5bd32}
.esenda-button-error{background:#c93737}
.esenda-spinner{width:14px;height:14px;display:inline-block;margin-right:7px;border:2px solid rgba(255,255,255,.45);border-top-color:#fff;border-radius:50%;animation:esenda-spin .7s linear infinite}
@keyframes esenda-spin{to{transform:rotate(360deg)}}
.esenda-toast{min-height:58px;display:grid;grid-template-columns:28px 1fr 24px;gap:10px;align-items:start}
.esenda-toast-icon{width:28px;height:28px;display:grid;place-items:center;background:rgba(255,255,255,.18);border-radius:50%;font-weight:900}
.esenda-toast-copy{display:flex;flex-direction:column;gap:3px}
.esenda-toast-title{font-size:12px;font-weight:800}
.esenda-toast-message{font-size:11px;line-height:1.35}
.esenda-toast-close{width:22px;height:22px;color:#fff;background:transparent;border:0;cursor:pointer;font-size:15px}


[data-esenda-grid] [data-grid-panel][hidden] {
    display:none !important;
}

[data-esenda-grid] .esenda-grid-card-view[hidden] {
    display:none !important;
}

[data-esenda-grid] .esenda-grid-card-view:not([hidden]) {
    display:grid;
}
