:root {
    --auriculo-license-primary: #850a7f;
    --auriculo-license-primary-dark: #680763;
    --auriculo-license-soft: #fbf3fb;
    --auriculo-license-border: #ead7e8;
    --auriculo-license-text: #20242b;
    --auriculo-license-muted: #687080;
    --auriculo-license-green: #087a51;
}

.auriculo-license-gate,
.auriculo-account-access,
.auriculo-order-access-box {
    direction: rtl;
    font-family: inherit;
    box-sizing: border-box;
}

.auriculo-license-gate *,
.auriculo-account-access *,
.auriculo-order-access-box * {
    box-sizing: border-box;
}

.auriculo-license-gate {
    width: 100%;
    max-width: 780px;
    margin: 24px auto;
    padding: 10px;
}

.auriculo-license-card {
    overflow: hidden;
    padding: clamp(18px, 4vw, 34px);
    border: 1px solid var(--auriculo-license-border);
    border-radius: 22px;
    background: #fff;
    box-shadow: 0 16px 45px rgba(44, 18, 43, .1);
}

.auriculo-license-header {
    display: flex;
    align-items: center;
    gap: 15px;
    margin-bottom: 22px;
    text-align: right;
}

.auriculo-license-icon {
    flex: 0 0 62px;
    width: 62px;
    height: 62px;
    display: grid;
    place-items: center;
    border-radius: 18px;
    background: var(--auriculo-license-soft);
    font-size: 29px;
}

.auriculo-license-eyebrow,
.auriculo-card-label {
    display: block;
    margin-bottom: 3px;
    color: var(--auriculo-license-primary);
    font-size: 12px;
    font-weight: 800;
}

.auriculo-license-header h2 {
    margin: 0 0 5px;
    color: var(--auriculo-license-text);
    font-size: clamp(21px, 4vw, 29px);
    line-height: 1.45;
}

.auriculo-license-header p {
    margin: 0;
    color: var(--auriculo-license-muted);
    font-size: 14px;
    line-height: 1.8;
}

.auriculo-license-steps {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
    margin-bottom: 18px;
}

.auriculo-license-step {
    display: flex;
    align-items: center;
    gap: 9px;
    min-height: 78px;
    padding: 11px;
    border: 1px solid #ececf1;
    border-radius: 14px;
    background: #fafafa;
    text-align: right;
}

.auriculo-step-number,
.auriculo-mini-steps b,
.auriculo-order-step b {
    flex: 0 0 30px;
    width: 30px;
    height: 30px;
    display: grid;
    place-items: center;
    border-radius: 50%;
    background: var(--auriculo-license-primary);
    color: #fff;
    font-size: 14px;
}

.auriculo-license-step strong,
.auriculo-license-step small {
    display: block;
}

.auriculo-license-step strong {
    color: #24262c;
    font-size: 13px;
}

.auriculo-license-step small {
    margin-top: 3px;
    color: #747b88;
    font-size: 11px;
    line-height: 1.55;
}

.auriculo-license-alert {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 18px;
    padding: 14px;
    border: 1px solid #fed7aa;
    border-radius: 14px;
    background: #fff7ed;
    text-align: right;
}

.auriculo-license-alert strong,
.auriculo-license-alert span {
    display: block;
}

.auriculo-license-alert strong { color: #9a3412; }
.auriculo-license-alert span { margin-top: 3px; color: #9a3412; font-size: 12px; line-height: 1.7; }

.auriculo-secondary-action,
.auriculo-find-license {
    text-decoration: none !important;
    font-weight: 800;
}

.auriculo-secondary-action {
    flex: 0 0 auto;
    padding: 10px 13px;
    border-radius: 10px;
    background: #9a3412;
    color: #fff !important;
    white-space: nowrap;
}

.auriculo-find-license {
    display: flex;
    justify-content: center;
    margin: 0 0 16px;
    padding: 11px;
    border: 1px dashed var(--auriculo-license-primary);
    border-radius: 12px;
    background: var(--auriculo-license-soft);
    color: var(--auriculo-license-primary) !important;
}

.auriculo-license-form {
    padding: 17px;
    border: 2px solid var(--auriculo-license-primary);
    border-radius: 17px;
    background: #fff;
    text-align: right;
}

.auriculo-license-form label {
    display: block;
    margin-bottom: 8px;
    color: #282c33;
    font-size: 15px;
    font-weight: 900;
}

.auriculo-license-input-wrap {
    display: flex;
    align-items: stretch;
    gap: 8px;
}

.auriculo-license-input-wrap input {
    flex: 1 1 auto;
    min-width: 0;
    height: 54px;
    padding: 0 14px;
    border: 1px solid #cfd3db;
    border-radius: 12px;
    background: #fff;
    color: #15171b;
    font-size: 19px;
    font-weight: 800;
    letter-spacing: 1.8px;
    text-align: center;
    direction: ltr;
    text-transform: uppercase;
}

.auriculo-license-input-wrap input:focus {
    outline: none;
    border-color: var(--auriculo-license-primary);
    box-shadow: 0 0 0 4px rgba(133, 10, 127, .12);
}

.auriculo-paste-license {
    flex: 0 0 auto;
    min-width: 112px;
    border: 1px solid var(--auriculo-license-border);
    border-radius: 12px;
    background: var(--auriculo-license-soft);
    color: var(--auriculo-license-primary);
    font: inherit;
    font-weight: 900;
    cursor: pointer;
}

.auriculo-license-field-help {
    margin: 7px 2px 13px;
    color: #737a86;
    font-size: 12px;
}

.auriculo-activate-button,
.auriculo-guide-link {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 9px;
    width: 100%;
    min-height: 54px;
    border: 0;
    border-radius: 12px;
    background: var(--auriculo-license-primary);
    color: #fff !important;
    font: inherit;
    font-size: 15px;
    font-weight: 900;
    text-decoration: none !important;
    cursor: pointer;
    transition: background .18s ease, transform .12s ease;
}

.auriculo-activate-button:hover,
.auriculo-guide-link:hover {
    background: var(--auriculo-license-primary-dark);
    color: #fff !important;
}

.auriculo-activate-button:active,
.auriculo-guide-link:active { transform: translateY(1px); }
.auriculo-activate-button:disabled { opacity: .65; cursor: wait; }

.auriculo-license-status {
    display: none;
    margin-top: 12px;
    padding: 11px 12px;
    border-radius: 10px;
    font-size: 13px;
    font-weight: 800;
    line-height: 1.7;
    text-align: center;
}

.auriculo-license-status:not(:empty) { display: block; }
.auriculo-license-status.is-error { background: #fef2f2; color: #b91c1c; }
.auriculo-license-status.is-success { background: #ecfdf5; color: #047857; }
.auriculo-license-status.is-help { background: #eff6ff; color: #1d4ed8; }
.auriculo-license-status.is-loading { background: #f5f3ff; color: #6d28d9; }

.auriculo-license-security-note,
.auriculo-device-state {
    display: flex;
    align-items: flex-start;
    gap: 9px;
    margin-top: 15px;
    padding: 11px 13px;
    border-radius: 12px;
    background: #f7f8fa;
    color: #626a77;
    font-size: 12px;
    line-height: 1.8;
    text-align: right;
}

.auriculo-license-security-note p { margin: 0; }
.auriculo-license-security-note strong { color: #343941; }

.auriculo-account-access { width: 100%; }

.auriculo-account-intro {
    display: flex;
    align-items: center;
    gap: 13px;
    margin-bottom: 13px;
    padding: 18px;
    border-radius: 16px;
    background: linear-gradient(135deg, #850a7f, #5f075b);
    color: #fff;
}

.auriculo-account-intro-icon,
.auriculo-order-check {
    flex: 0 0 42px;
    width: 42px;
    height: 42px;
    display: grid;
    place-items: center;
    border-radius: 50%;
    background: rgba(255,255,255,.18);
    color: #fff;
    font-size: 22px;
    font-weight: 900;
}

.auriculo-account-intro h2 { margin: 0 0 4px; color: #fff; font-size: 21px; }
.auriculo-account-intro p { margin: 0; color: rgba(255,255,255,.87); font-size: 13px; line-height: 1.8; }

.auriculo-mini-steps {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 8px;
    margin-bottom: 14px;
}

.auriculo-mini-steps span,
.auriculo-order-step {
    display: flex;
    align-items: center;
    gap: 7px;
    padding: 9px;
    border: 1px solid #e7e8ec;
    border-radius: 11px;
    background: #fff;
    color: #3f444d;
    font-size: 12px;
    font-weight: 800;
}

.auriculo-account-licenses { display: grid; gap: 14px; }

.auriculo-account-license {
    padding: 18px;
    border: 1px solid #e4e5e9;
    border-radius: 16px;
    background: #fff;
    box-shadow: 0 7px 22px rgba(15,23,42,.045);
}

.auriculo-account-license-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 15px;
}

.auriculo-account-license h3 { margin: 0; color: #20242b; font-size: 16px; line-height: 1.65; }

.auriculo-license-badge {
    flex: 0 0 auto;
    padding: 5px 9px;
    border-radius: 999px;
    font-size: 11px;
    font-weight: 900;
}

.auriculo-license-badge.is-active { background: #ecfdf5; color: #047857; }
.auriculo-license-badge.is-inactive { background: #fef2f2; color: #b91c1c; }

.auriculo-license-instruction {
    margin: 10px 0 7px;
    color: #4d535d;
    font-size: 13px;
    font-weight: 800;
}

.auriculo-license-code-row {
    display: flex;
    align-items: stretch;
    gap: 8px;
    width: 100%;
    margin-bottom: 11px;
}

.auriculo-license-code-row code {
    flex: 1 1 auto;
    min-width: 0;
    display: grid;
    place-items: center;
    min-height: 51px;
    padding: 8px 12px;
    border: 2px dashed #c993c6;
    border-radius: 11px;
    background: #fffafd;
    color: #3f173d;
    font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
    font-size: clamp(17px, 4vw, 22px);
    font-weight: 900;
    letter-spacing: 2px;
    white-space: nowrap;
}

.auriculo-copy-license {
    flex: 0 0 auto;
    min-width: 135px;
    min-height: 51px;
    padding: 0 13px;
    border: 0;
    border-radius: 11px;
    background: #262a31;
    color: #fff;
    font: inherit;
    font-weight: 900;
    cursor: pointer;
}

.auriculo-copy-license.is-copied { background: var(--auriculo-license-green); }
.auriculo-copy-license.is-error { background: #b91c1c; }

.auriculo-guide-link { margin-top: 7px; }
.auriculo-device-state { margin-top: 12px; }

.auriculo-empty-license {
    display: grid;
    gap: 5px;
    padding: 24px;
    border: 1px dashed #cfd2d8;
    border-radius: 14px;
    color: #626975;
    text-align: center;
}

.auriculo-order-access-box {
    width: min(100%, 640px);
    margin: 16px 0;
    padding: 16px;
    border: 2px solid var(--auriculo-license-primary);
    border-radius: 15px;
    background: #fffafd;
}

.auriculo-order-access-head {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 12px;
}

.auriculo-order-check { background: var(--auriculo-license-primary); }
.auriculo-order-access-head strong,
.auriculo-order-access-head span { display: block; }
.auriculo-order-access-head strong { color: #2e1730; font-size: 16px; }
.auriculo-order-access-head span { margin-top: 2px; color: #707681; font-size: 12px; }
.auriculo-order-step { margin: 9px 0 7px; background: transparent; border: 0; padding: 0; }
.auriculo-order-security { margin: 10px 0 0; color: #707681; font-size: 12px; line-height: 1.75; }
.auriculo-guide-link--order { min-height: 48px; }
.auriculo-license-code-row--compact { margin-bottom: 8px; }

@media (max-width: 640px) {
    .auriculo-license-gate { margin: 12px auto; padding: 6px; }
    .auriculo-license-card { padding: 17px 13px; border-radius: 17px; }
    .auriculo-license-header { align-items: flex-start; gap: 10px; }
    .auriculo-license-icon { flex-basis: 49px; width: 49px; height: 49px; border-radius: 14px; font-size: 23px; }
    .auriculo-license-header h2 { font-size: 20px; }
    .auriculo-license-header p { font-size: 12px; }
    .auriculo-license-steps { grid-template-columns: 1fr; gap: 6px; }
    .auriculo-license-step { min-height: 58px; }
    .auriculo-license-alert { align-items: stretch; flex-direction: column; }
    .auriculo-secondary-action { text-align: center; }
    .auriculo-license-form { padding: 13px; }
    .auriculo-license-input-wrap { flex-direction: column; }
    .auriculo-paste-license { min-height: 45px; }
    .auriculo-mini-steps { grid-template-columns: 1fr; }
    .auriculo-account-intro { align-items: flex-start; padding: 15px; }
    .auriculo-account-intro h2 { font-size: 18px; }
    .auriculo-account-license { padding: 14px; }
    .auriculo-account-license-head { flex-direction: column; }
    .auriculo-license-code-row { flex-direction: column; }
    .auriculo-copy-license { width: 100%; min-height: 47px; }
    .auriculo-license-code-row code { min-height: 49px; font-size: 18px; }
    .auriculo-order-access-box { padding: 13px; }
}

/* Unified SpotPlayer + visual-guide access panel */
.auriculo-unified-access {
    display: grid;
    gap: 12px;
    margin-top: 12px;
}

.auriculo-access-part {
    padding: 14px;
    border: 1px solid #e4e7ec;
    border-radius: 14px;
    background: #fff;
}

.auriculo-spotplayer-part {
    border-color: #bfdbfe;
    background: #f8fbff;
}

.auriculo-guide-license-part {
    border-color: var(--auriculo-license-border);
    background: #fffafd;
}

.auriculo-access-part-head {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 12px;
    text-align: right;
}

.auriculo-access-part-number {
    flex: 0 0 34px;
    width: 34px;
    height: 34px;
    display: grid;
    place-items: center;
    border-radius: 50%;
    background: #2563eb;
    color: #fff;
    font-size: 15px;
    font-weight: 900;
}

.auriculo-guide-license-part .auriculo-access-part-number {
    background: var(--auriculo-license-primary);
}

.auriculo-access-part-head strong,
.auriculo-access-part-head span:not(.auriculo-access-part-number) {
    display: block;
}

.auriculo-access-part-head strong {
    color: #1f2937;
    font-size: 14px;
    line-height: 1.6;
}

.auriculo-access-part-head span:not(.auriculo-access-part-number) {
    margin-top: 2px;
    color: #6b7280;
    font-size: 11px;
    line-height: 1.65;
}

.auriculo-license-code-row--spotplayer code {
    border-color: #93c5fd;
    background: #eff6ff;
    color: #1e3a8a;
    font-size: clamp(14px, 3vw, 19px);
    letter-spacing: .5px;
    white-space: normal;
    overflow-wrap: anywhere;
    word-break: break-word;
}

.auriculo-license-code-row--spotplayer .auriculo-copy-license {
    background: #1d4ed8;
}

.auriculo-spotplayer-loading {
    display: block;
    padding: 11px;
    border: 1px dashed #93c5fd;
    border-radius: 10px;
    background: #eff6ff;
    color: #1e40af;
    font-size: 12px;
    line-height: 1.8;
    text-align: center;
}

.auriculo-spotplayer-part.is-not-found .auriculo-spotplayer-loading {
    border-color: #d1d5db;
    background: #f9fafb;
    color: #6b7280;
}

.auriculo-spotplayer-links {
    display: flex;
    flex-wrap: wrap;
    gap: 7px;
    margin-top: 8px;
}

.auriculo-spotplayer-links a {
    display: inline-flex;
    align-items: center;
    min-height: 38px;
    padding: 7px 11px;
    border-radius: 9px;
    background: #dbeafe;
    color: #1d4ed8 !important;
    font-size: 12px;
    font-weight: 800;
    text-decoration: none !important;
}

.auriculo-spotplayer-imported {
    overflow: hidden;
    padding: 10px;
    border: 1px solid #dbeafe;
    border-radius: 10px;
    background: #fff;
}

.auriculo-spotplayer-imported > * {
    max-width: 100% !important;
    margin: 0 !important;
}

@media (min-width: 760px) {
    .auriculo-order-access-box .auriculo-unified-access,
    .auriculo-account-license .auriculo-unified-access {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        align-items: start;
    }
}

@media (max-width: 640px) {
    .auriculo-access-part { padding: 12px; }
    .auriculo-access-part-head { align-items: flex-start; }
    .auriculo-license-code-row--spotplayer code { font-size: 14px; }
}

.auriculo-spotplayer-original-hidden {
    display: none !important;
}

.auriculo-account-license-head small {
    display: block;
    margin-top: 4px;
    color: #6b7280;
    font-size: 12px;
    line-height: 1.7;
}


/* Unified professional icons — v1.6.1 */
.auriculo-inline-icon {
    flex: 0 0 auto;
    width: 30px;
    height: 30px;
    display: inline-grid;
    place-items: center;
    border-radius: 10px;
    color: var(--auriculo-license-primary);
    background: var(--auriculo-license-soft);
}
.auriculo-inline-icon svg {
    width: 18px;
    height: 18px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;
}

/* Three-slot device licensing: one mobile + one tablet + one desktop */
.auriculo-device-state--slots {
    display: block;
}

.auriculo-device-state-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    margin-bottom: 10px;
}

.auriculo-device-state-head strong {
    color: #343941;
    font-size: 13px;
}

.auriculo-device-state-head span {
    color: #767d89;
    font-size: 11px;
}

.auriculo-device-slots {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 7px;
}

.auriculo-device-slot {
    display: grid;
    gap: 2px;
    padding: 9px 8px;
    border: 1px solid #e3e5e9;
    border-radius: 10px;
    background: #fff;
    text-align: center;
}

.auriculo-device-slot b {
    color: #353a43;
    font-size: 12px;
}

.auriculo-device-slot small {
    font-size: 10px;
    font-weight: 800;
}

.auriculo-device-slot.is-used {
    border-color: #bbf7d0;
    background: #f0fdf4;
}

.auriculo-device-slot.is-used small { color: #047857; }
.auriculo-device-slot.is-free small { color: #7b818b; }

@media (max-width: 640px) {
    .auriculo-device-state-head {
        align-items: flex-start;
        flex-direction: column;
        gap: 2px;
    }
    .auriculo-device-slots { gap: 5px; }
    .auriculo-device-slot { padding: 8px 5px; }
}


/* 1.7.1 — admin three-device slots */
.auriculo-admin-device-slots{display:grid;gap:4px;min-width:135px}
.auriculo-admin-device-slot{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:5px 8px;border-radius:8px;background:#f7f7f8;border:1px solid #ececf0}
.auriculo-admin-device-slot b{font-size:12px}
.auriculo-admin-device-slot small{font-size:11px;color:#6b7280}
.auriculo-admin-device-slot.is-used{background:#ecfdf5;border-color:#a7f3d0}
.auriculo-admin-device-slot.is-used small{color:#047857;font-weight:700}
.auriculo-license-actions{display:flex;gap:5px;flex-wrap:wrap;min-width:210px}

/* 1.7.2 — trusted-device approval / anti account-sharing */
.auriculo-device-slot.is-pending {
    border-color: #fde68a;
    background: #fffbeb;
}
.auriculo-device-slot.is-pending small {
    color: #b45309;
}

.auriculo-pending-devices {
    margin-top: 12px;
    padding: 12px;
    border: 1px solid #ddd6fe;
    border-radius: 12px;
    background: #faf8ff;
}
.auriculo-pending-devices-head {
    display: grid;
    gap: 3px;
    margin-bottom: 9px;
}
.auriculo-pending-devices-head strong {
    color: #4c1d95;
    font-size: 13px;
}
.auriculo-pending-devices-head span {
    color: #6b7280;
    font-size: 11px;
    line-height: 1.7;
}
.auriculo-pending-device {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    padding: 10px;
    margin-top: 7px;
    border: 1px solid #e5e7eb;
    border-radius: 10px;
    background: #fff;
}
.auriculo-pending-device > div {
    display: grid;
    gap: 2px;
}
.auriculo-pending-device b {
    color: #27272a;
    font-size: 12px;
}
.auriculo-pending-device small {
    color: #78716c;
    font-size: 10px;
    line-height: 1.6;
}
.auriculo-approve-device-request {
    flex: 0 0 auto;
    border: 0;
    border-radius: 9px;
    padding: 8px 11px;
    background: #7c3aed;
    color: #fff;
    font: inherit;
    font-size: 11px;
    font-weight: 800;
    cursor: pointer;
}
.auriculo-approve-device-request:hover { background: #6d28d9; }
.auriculo-approve-device-request:disabled { opacity: .65; cursor: default; }
.auriculo-approve-device-request.is-approved,
.auriculo-pending-device.is-approved .auriculo-approve-device-request {
    background: #059669;
}
.auriculo-pending-device.is-approved {
    border-color: #a7f3d0;
    background: #f0fdf4;
}
.auriculo-admin-device-slot.is-pending {
    background: #fffbeb;
    border-color: #fde68a;
}
.auriculo-admin-device-slot.is-pending small {
    color: #b45309;
    font-weight: 700;
}
@media (max-width: 640px) {
    .auriculo-pending-device {
        align-items: stretch;
        flex-direction: column;
    }
    .auriculo-approve-device-request {
        width: 100%;
        min-height: 40px;
    }
}

/* Rasa Purchased Courses integration: manual/Excel licenses keep the same visual language. */
.auriculo-rasa-phone-access {
    margin-top: 0;
}

.auriculo-account-license--phone-issued .auriculo-account-license-head small {
    display: block;
}

@media (min-width: 760px) {
    .auriculo-account-license .auriculo-unified-access--single {
        grid-template-columns: minmax(0, 1fr);
    }
}

.auriculo-license-blocked-note {
    margin-top: 12px;
    padding: 12px 14px;
    border: 1px solid #f0c0c8;
    border-radius: 12px;
    background: #fff6f8;
    color: #8b2135;
    font-size: 13px;
    line-height: 1.8;
}
