

.dtmt-plan-card {
    background: var(--dtmt-neutral-800);
    border: 1px solid var(--dtmt-neutral-700);
    border-radius: var(--dtmt-radius-lg);
    padding: var(--dtmt-spacing-lg);
    margin-bottom: var(--dtmt-spacing-lg);
    display: flex;
    flex-direction: column;
    gap: 0;
    transition: border-color var(--dtmt-transition-fast);
}

.dtmt-plan-card:hover {
    border-color: var(--dtmt-neutral-400);
}

.dtmt-plan-header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: var(--dtmt-spacing-md);
	
	
	cursor: pointer;
	user-select: none;
}

.dtmt-plan-header-left {
    display: flex;
    align-items: center;
    gap: var(--dtmt-spacing-sm);
}


.dtmt-plan-expand-icon {
    font-size: 20px;
    color: var(--dtmt-neutral-400);
    transition: transform 0.2s ease;
    flex-shrink: 0;
}

.dtmt-plan-card.expanded .dtmt-plan-expand-icon {
    transform: rotate(90deg);
}


.dtmt-plan-collapsible {
    display: grid;
    grid-template-rows: 0fr;
    transition: grid-template-rows 0.25s ease;
}

.dtmt-plan-card.expanded .dtmt-plan-collapsible {
    grid-template-rows: 1fr;
}

.dtmt-plan-collapsible-inner {
    overflow: hidden;
    display: flex;
    flex-direction: column;
    gap: var(--dtmt-spacing-md);
}


.dtmt-plan-card.expanded .dtmt-plan-collapsible-inner {
    padding-top: var(--dtmt-spacing-md);
}

.dtmt-plan-header h4 {
    color: var(--dtmt-neutral-100);
    font-size: var(--dtmt-font-size-xl);
    font-weight: var(--dtmt-font-weight-semibold);
    margin: 0;
    flex: 0 0 auto;
}

.dtmt-plan-type {
    padding: var(--dtmt-spacing-xs) var(--dtmt-spacing-md);
    border-radius: 999px;
    font-size: var(--dtmt-font-size-xs);
    font-weight: var(--dtmt-font-weight-semibold);
    text-transform: uppercase;
    letter-spacing: 0.05em;
    border: 1px solid;
    flex: 0 0 auto;
}


.dtmt-plan-type-free {
    background: var(--dtmt-neutral-700);
    color: var(--dtmt-neutral-300);
    border-color: var(--dtmt-neutral-600);
}

.dtmt-plan-type-startup {
	background: rgba(45, 212, 191, 0.18);
	color: #5eead4;
	border-color: rgba(45, 212, 191, 0.35);
}

.dtmt-plan-type-premium {
    background: linear-gradient(135deg, #d4af37 0%, #b8941f 100%);
    color: #1a1a1a;
    border-color: #f4d03f;
    font-weight: var(--dtmt-font-weight-bold);
}

.dtmt-plan-type-pro {
    background: var(--dtmt-neutral-700);
    color: var(--dtmt-neutral-50);
    border-color: var(--dtmt-neutral-500);
}

.dtmt-plan-type-enterprise {
    background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
    color: var(--dtmt-neutral-50);
    border-color: #8b6fc7;
}

.dtmt-plan-type-business {
    background: linear-gradient(135deg, #f093fb 0%, #f5576c 100%);
    color: var(--dtmt-neutral-50);
    border-color: #f77a8f;
}


.dtmt-plan-type:not([class*="dtmt-plan-type-"]) {
    background: var(--dtmt-neutral-600);
    color: var(--dtmt-neutral-50);
    border-color: var(--dtmt-neutral-400);
}

.dtmt-plan-features {
    margin-bottom: var(--dtmt-spacing-md);
    display: flex;
    flex-direction: column;
    gap: var(--dtmt-spacing-md);
}

.dtmt-plan-features h5 {
    color: var(--dtmt-neutral-200);
    font-size: var(--dtmt-font-size-md);
    font-weight: var(--dtmt-font-weight-semibold);
    margin-bottom: var(--dtmt-spacing-sm);
}

.dtmt-feature-group {
    display: flex;
    flex-direction: column;
    gap: var(--dtmt-spacing-xs);
}

.dtmt-feature-group-title {
    color: var(--dtmt-neutral-300);
    font-size: var(--dtmt-font-size-xs);
    font-weight: var(--dtmt-font-weight-semibold);
    text-transform: uppercase;
    letter-spacing: 0.05em;
    margin: 0;
    padding: var(--dtmt-spacing-xs) 0;
    border-bottom: 1px solid var(--dtmt-neutral-700);
}

.dtmt-feature-group-items {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: var(--dtmt-spacing-sm);
}

.dtmt-feature-item {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: var(--dtmt-spacing-sm);
    background: var(--dtmt-neutral-700);
    border-radius: var(--dtmt-radius-sm);
}

.dtmt-feature-name {
    color: var(--dtmt-neutral-200);
    font-size: var(--dtmt-font-size-sm);
    flex: 1;
}

.dtmt-feature-item input[type="checkbox"] {
    width: 20px;
    height: 20px;
    cursor: pointer;
    accent-color: var(--dtmt-neutral-400);
}

.dtmt-feature-item input[type="number"] {
    background: var(--dtmt-neutral-600);
    border: 1px solid var(--dtmt-neutral-500);
    border-radius: var(--dtmt-radius-sm);
    color: var(--dtmt-neutral-100);
    padding: var(--dtmt-spacing-xs);
    font-size: var(--dtmt-font-size-sm);
}

.dtmt-unlimited-badge {
    background: var(--dtmt-success-600);
    color: var(--dtmt-neutral-50);
    padding: var(--dtmt-spacing-xs) var(--dtmt-spacing-sm);
    border-radius: var(--dtmt-radius-sm);
    font-size: var(--dtmt-font-size-xs);
    font-weight: var(--dtmt-font-weight-medium);
    margin-left: var(--dtmt-spacing-sm);
}

.dtmt-plan-actions {
    display: flex;
    justify-content: flex-end;
    gap: var(--dtmt-spacing-sm);
    padding-top: var(--dtmt-spacing-md);
    border-top: 1px solid var(--dtmt-neutral-700);
}


.dtmt-subscription-status {
    display: inline-flex;
    align-items: center;
    gap: var(--dtmt-spacing-xs);
    padding: var(--dtmt-spacing-xs) var(--dtmt-spacing-sm);
    border-radius: var(--dtmt-radius-sm);
    font-size: var(--dtmt-font-size-xs);
    font-weight: var(--dtmt-font-weight-medium);
}

.dtmt-subscription-status.active {
    background: var(--dtmt-success-100);
    color: var(--dtmt-success-800);
    border: 1px solid var(--dtmt-success-200);
}

.dtmt-subscription-status.past_due {
    background: var(--dtmt-warning-100);
    color: var(--dtmt-warning-800);
    border: 1px solid var(--dtmt-warning-200);
}

.dtmt-subscription-status.canceled {
    background: var(--dtmt-neutral-100);
    color: var(--dtmt-neutral-600);
    border: 1px solid var(--dtmt-neutral-200);
}


.dtmt-upgrade-prompt {
    background: var(--dtmt-neutral-700);
    border: 1px solid var(--dtmt-neutral-600);
    border-radius: var(--dtmt-radius-md);
    padding: var(--dtmt-spacing-md);
    margin: var(--dtmt-spacing-md) 0;
    text-align: center;
}

.dtmt-upgrade-prompt h4 {
    color: var(--dtmt-neutral-100);
    font-size: var(--dtmt-font-size-lg);
    font-weight: var(--dtmt-font-weight-semibold);
    margin-bottom: var(--dtmt-spacing-sm);
}

.dtmt-upgrade-prompt p {
    color: var(--dtmt-neutral-300);
    font-size: var(--dtmt-font-size-sm);
    margin-bottom: var(--dtmt-spacing-md);
}

.dtmt-upgrade-prompt .dtmt-btn {
    margin: 0 var(--dtmt-spacing-xs);
}


.dtmt-subscription-admin-modal {
    display: flex;
    flex-direction: column;
    background: var(--dtmt-neutral-800);
    border: 1px solid var(--dtmt-neutral-700);
    border-radius: var(--dtmt-radius-xl);
    overflow: hidden;
}

.dtmt-subscription-admin-modal .dtmt-modal-body {
    display: flex;
    flex-direction: column;
    gap: var(--dtmt-spacing-lg);
    overflow-y: auto;
    padding-top: 0;
}

.dtmt-admin-tabs {
    display: flex;
    gap: var(--dtmt-spacing-xs);
    background: var(--dtmt-neutral-900);
    border-radius: var(--dtmt-radius-lg);
    padding: var(--dtmt-spacing-xs);
    position: sticky;
    top: 0;
    z-index: 2;
}

.dtmt-admin-tab-btn {
    flex: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: var(--dtmt-spacing-xs);
    padding: var(--dtmt-spacing-sm) var(--dtmt-spacing-md);
    background: transparent;
    border: none;
    border-radius: var(--dtmt-radius-md);
    color: var(--dtmt-neutral-300);
    font-weight: var(--dtmt-font-weight-medium);
    cursor: pointer;
    transition: all var(--dtmt-transition-normal);
}

.dtmt-admin-tab-btn:hover {
    background: var(--dtmt-neutral-800);
}

.dtmt-admin-tab-btn.active {
    background: var(--dtmt-neutral-600);
    color: var(--dtmt-neutral-50);
    border: 1px solid var(--dtmt-neutral-400);
}

.dtmt-admin-tab-content {
    display: none;
    flex-direction: column;
    gap: var(--dtmt-spacing-lg);
}

.dtmt-admin-tab-content.active {
    display: flex;
}

.dtmt-plan-list {
    display: flex;
    flex-direction: column;
    gap: var(--dtmt-spacing-lg);
}


.dtmt-accounts-toolbar {
    display: flex;
    flex-wrap: wrap;
    gap: var(--dtmt-spacing-md);
    align-items: center;
    background: var(--dtmt-neutral-900);
    border: 1px solid var(--dtmt-neutral-700);
    border-radius: var(--dtmt-radius-lg);
    padding: var(--dtmt-spacing-md);
}

.dtmt-accounts-search {
    flex: 1;
    min-width: 240px;
    display: flex;
    align-items: center;
    gap: var(--dtmt-spacing-sm);
    background: var(--dtmt-neutral-800);
    border: 1px solid var(--dtmt-neutral-700);
    border-radius: var(--dtmt-radius-md);
    padding: var(--dtmt-spacing-sm) var(--dtmt-spacing-md);
}

.dtmt-accounts-search input {
    flex: 1;
    border: none;
    outline: none;
    background: transparent;
    color: var(--dtmt-neutral-50);
    font-size: var(--dtmt-font-size-sm);
}

.dtmt-accounts-filters {
    display: flex;
    align-items: center;
    gap: var(--dtmt-spacing-sm);
}

.dtmt-accounts-filters select {
    background: var(--dtmt-neutral-800);
    border: 1px solid var(--dtmt-neutral-700);
    border-radius: var(--dtmt-radius-md);
    color: var(--dtmt-neutral-50);
    padding: var(--dtmt-spacing-sm) var(--dtmt-spacing-md);
}

.dtmt-accounts-list {
    display: flex;
    flex-direction: column;
    gap: var(--dtmt-spacing-lg);
}

.dtmt-account-card {
    background: var(--dtmt-neutral-900);
    border: 1px solid var(--dtmt-neutral-700);
    border-radius: var(--dtmt-radius-lg);
    padding: var(--dtmt-spacing-lg);
    display: flex;
    flex-direction: column;
    gap: 0;
    transition: border-color var(--dtmt-transition-fast);
}

.dtmt-account-card:hover {
    border-color: var(--dtmt-neutral-400);
}

.dtmt-account-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    gap: var(--dtmt-spacing-sm);
    cursor: pointer;
    user-select: none;
}

.dtmt-account-header-left {
    display: flex;
    align-items: center;
    gap: var(--dtmt-spacing-sm);
}


.dtmt-account-expand-icon {
    font-size: 20px;
    color: var(--dtmt-neutral-400);
    transition: transform 0.2s ease;
    flex-shrink: 0;
}

.dtmt-account-card.expanded .dtmt-account-expand-icon {
    transform: rotate(90deg);
}


.dtmt-account-collapsible {
    display: grid;
    grid-template-rows: 0fr;
    transition: grid-template-rows 0.25s ease;
}

.dtmt-account-card.expanded .dtmt-account-collapsible {
    grid-template-rows: 1fr;
}

.dtmt-account-collapsible-inner {
    overflow: hidden;
    display: flex;
    flex-direction: column;
    gap: var(--dtmt-spacing-md);
}


.dtmt-account-card.expanded .dtmt-account-collapsible-inner {
    padding-top: var(--dtmt-spacing-md);
}

.dtmt-account-identity {
    display: flex;
    flex-direction: column;
    gap: var(--dtmt-spacing-xs);
}

.dtmt-account-name {
    color: var(--dtmt-neutral-50);
    font-size: var(--dtmt-font-size-lg);
    font-weight: var(--dtmt-font-weight-semibold);
}

.dtmt-account-email {
    color: var(--dtmt-neutral-300);
    font-size: var(--dtmt-font-size-sm);
}

.dtmt-account-id {
    color: var(--dtmt-neutral-500);
    font-size: var(--dtmt-font-size-xs);
}

.dtmt-account-body {
    display: grid;
    gap: var(--dtmt-spacing-md);
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    padding-top: var(--dtmt-spacing-md);
    border-top: 1px solid var(--dtmt-neutral-700);
}

.dtmt-account-field {
    display: flex;
    flex-direction: column;
    gap: var(--dtmt-spacing-xs);
}

.dtmt-account-field label {
    color: var(--dtmt-neutral-300);
    font-size: var(--dtmt-font-size-xs);
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

.dtmt-account-field select,
.dtmt-account-field input {
    background: var(--dtmt-neutral-800);
    border: 1px solid var(--dtmt-neutral-700);
    border-radius: var(--dtmt-radius-md);
    color: var(--dtmt-neutral-50);
    padding: var(--dtmt-spacing-sm) var(--dtmt-spacing-md);
    font-size: var(--dtmt-font-size-sm);
}

.dtmt-account-field input[type="number"] {
    width: 100%;
}

.dtmt-account-input-group small {
    color: var(--dtmt-neutral-500);
    font-size: var(--dtmt-font-size-xs);
}

.dtmt-account-meta {
    grid-column: 1 / -1;
    display: flex;
    flex-wrap: wrap;
    gap: var(--dtmt-spacing-md);
    color: var(--dtmt-neutral-400);
    font-size: var(--dtmt-font-size-xs);
}

.dtmt-account-actions {
    display: flex;
    flex-direction: column;
    gap: var(--dtmt-spacing-sm);
}

.dtmt-account-actions-buttons {
    display: flex;
    flex-wrap: wrap;
    gap: var(--dtmt-spacing-sm);
    justify-content: flex-end;
}

.dtmt-account-feedback {
    min-height: 20px;
    font-size: var(--dtmt-font-size-xs);
}

.dtmt-account-feedback.success {
    color: var(--dtmt-success-500);
}

.dtmt-account-feedback.error {
    color: var(--dtmt-danger-400);
}

.dtmt-account-feedback.warning {
    color: #f59e0b;
}


.dtmt-account-actions-buttons {
    display: flex;
    flex-wrap: wrap;
    gap: var(--dtmt-spacing-sm);
}

.dtmt-account-actions-buttons .dtmt-btn.danger {
    margin-left: auto;
}

.dtmt-loading {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: var(--dtmt-spacing-sm);
    color: var(--dtmt-neutral-300);
    padding: var(--dtmt-spacing-lg);
    background: var(--dtmt-neutral-900);
    border-radius: var(--dtmt-radius-md);
    border: 1px dashed var(--dtmt-neutral-700);
}

.dtmt-empty-state {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: var(--dtmt-spacing-sm);
    padding: var(--dtmt-spacing-xl);
    background: var(--dtmt-neutral-900);
    border: 1px dashed var(--dtmt-neutral-700);
    border-radius: var(--dtmt-radius-lg);
    color: var(--dtmt-neutral-400);
    text-align: center;
}

.dtmt-empty-state span.material-symbols-outlined {
    font-size: 32px;
}

.dtmt-error-message {
    display: flex;
    flex-direction: column;
    gap: var(--dtmt-spacing-xs);
    border: 1px solid var(--dtmt-danger-500);
    background: rgba(220, 38, 38, 0.1);
    border-radius: var(--dtmt-radius-md);
    padding: var(--dtmt-spacing-md);
    color: var(--dtmt-danger-400);
}

.dtmt-error-message span.material-symbols-outlined {
    font-size: 20px;
}

.dtmt-error-details {
    color: var(--dtmt-danger-300);
    font-size: var(--dtmt-font-size-xs);
}


@media (max-width: 720px) {
    .dtmt-feature-group-items {
        grid-template-columns: 1fr;
    }

    .dtmt-account-body {
        grid-template-columns: 1fr;
    }

    .dtmt-accounts-toolbar {
        flex-direction: column;
        align-items: stretch;
    }

    .dtmt-accounts-filters {
        justify-content: space-between;
    }
}


.dtmt-pricing-management {
    display: flex;
    flex-direction: column;
    gap: var(--dtmt-spacing-lg);
}

.dtmt-pricing-header {
    display: flex;
    flex-direction: column;
    gap: var(--dtmt-spacing-sm);
    padding-bottom: var(--dtmt-spacing-md);
    border-bottom: 1px solid var(--dtmt-neutral-700);
}

.dtmt-pricing-header h4 {
    color: var(--dtmt-neutral-100);
    font-size: var(--dtmt-font-size-xl);
    font-weight: var(--dtmt-font-weight-semibold);
    margin: 0;
}

.dtmt-pricing-description {
    color: var(--dtmt-neutral-400);
    font-size: var(--dtmt-font-size-sm);
    margin: 0;
    line-height: 1.5;
}

.dtmt-pricing-list {
    display: flex;
    flex-direction: column;
    gap: var(--dtmt-spacing-lg);
}

.dtmt-pricing-card {
    background: var(--dtmt-neutral-800);
    border: 1px solid var(--dtmt-neutral-700);
    border-radius: var(--dtmt-radius-lg);
    padding: var(--dtmt-spacing-lg);
    display: flex;
    flex-direction: column;
    gap: var(--dtmt-spacing-md);
    transition: border-color var(--dtmt-transition-fast);
}

.dtmt-pricing-card:hover {
    border-color: var(--dtmt-neutral-400);
}

.dtmt-pricing-card-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--dtmt-spacing-md);
}

.dtmt-pricing-card-header h4 {
    color: var(--dtmt-neutral-100);
    font-size: var(--dtmt-font-size-lg);
    font-weight: var(--dtmt-font-weight-semibold);
    margin: 0;
}

.dtmt-plan-type-badge {
    padding: var(--dtmt-spacing-xs) var(--dtmt-spacing-md);
    border-radius: 999px;
    font-size: var(--dtmt-font-size-xs);
    font-weight: var(--dtmt-font-weight-semibold);
    text-transform: uppercase;
    letter-spacing: 0.05em;
    background: var(--dtmt-neutral-700);
    color: var(--dtmt-neutral-300);
    border: 1px solid var(--dtmt-neutral-600);
}

.dtmt-pricing-card-body {
    display: flex;
    flex-direction: column;
    gap: var(--dtmt-spacing-lg);
}

.dtmt-pricing-row {
    display: flex;
    flex-direction: column;
    gap: var(--dtmt-spacing-sm);
}

.dtmt-pricing-row label {
    color: var(--dtmt-neutral-300);
    font-size: var(--dtmt-font-size-sm);
    font-weight: var(--dtmt-font-weight-medium);
}

.dtmt-pricing-input-group {
    display: flex;
    align-items: center;
    gap: var(--dtmt-spacing-sm);
    background: var(--dtmt-neutral-900);
    border: 1px solid var(--dtmt-neutral-700);
    border-radius: var(--dtmt-radius-md);
    padding: var(--dtmt-spacing-sm) var(--dtmt-spacing-md);
    transition: border-color var(--dtmt-transition-fast);
}

.dtmt-pricing-input-group:focus-within {
    border-color: var(--dtmt-primary-500);
}

.dtmt-currency-symbol {
    color: var(--dtmt-neutral-400);
    font-size: var(--dtmt-font-size-md);
    font-weight: var(--dtmt-font-weight-medium);
}

.dtmt-pricing-input {
    flex: 1;
    border: none;
    outline: none;
    background: transparent;
    color: var(--dtmt-neutral-50);
    font-size: var(--dtmt-font-size-md);
    font-weight: var(--dtmt-font-weight-medium);
}

.dtmt-pricing-input::placeholder {
    color: var(--dtmt-neutral-600);
}

.dtmt-price-id-info {
    display: flex;
    align-items: center;
    gap: var(--dtmt-spacing-xs);
}

.dtmt-price-id-info small {
    color: var(--dtmt-neutral-500);
    font-size: var(--dtmt-font-size-xs);
}

.dtmt-price-id-info code {
    background: var(--dtmt-neutral-900);
    border: 1px solid var(--dtmt-neutral-700);
    border-radius: var(--dtmt-radius-sm);
    padding: 2px 6px;
    font-family: 'Courier New', monospace;
    font-size: var(--dtmt-font-size-xs);
    color: var(--dtmt-neutral-300);
}

.dtmt-pricing-actions {
    display: flex;
    flex-direction: column;
    gap: var(--dtmt-spacing-sm);
    padding-top: var(--dtmt-spacing-md);
    border-top: 1px solid var(--dtmt-neutral-700);
}

.dtmt-save-pricing-btn {
    align-self: flex-start;
}

.dtmt-pricing-warning {
    display: flex;
    align-items: center;
    gap: var(--dtmt-spacing-xs);
    color: var(--dtmt-neutral-500);
    font-size: var(--dtmt-font-size-xs);
}

.dtmt-pricing-warning .material-symbols-outlined {
    font-size: 16px;
    color: var(--dtmt-warning-500);
}

