:root {
    --tm-ui-bg: linear-gradient(180deg, #f4f8fc 0%, #eef4fb 100%);
    --tm-ui-card: #ffffff;
    --tm-ui-card-alt: #f8fbff;
    --tm-ui-border: #d9e5f2;
    --tm-ui-shadow: 0 16px 40px rgba(34, 67, 109, 0.10);
    --tm-ui-text: #203040;
    --tm-ui-muted: #617487;
    --tm-ui-primary: #0b6fb8;
    --tm-ui-primary-dark: #08558c;
    --tm-ui-success-bg: #e8f7ec;
    --tm-ui-success-text: #146c36;
    --tm-ui-success-border: #bfe6c8;
    --tm-ui-error-bg: #fff0f1;
    --tm-ui-error-text: #a52b36;
    --tm-ui-error-border: #f1c0c5;
    --tm-ui-radius: 18px;
    --tm-ui-radius-sm: 10px;
}

.tm-public-card,
.tm-form,
.tm-auth-container,
.tm-profil-wrapper,
.tmc-card,
.tm-welcome-box,
.tm-charts-dashboard {
    background: var(--tm-ui-card);
    border: 1px solid var(--tm-ui-border);
    border-radius: var(--tm-ui-radius);
    box-shadow: var(--tm-ui-shadow);
    color: var(--tm-ui-text);
}

.tmc-bg {
    background: var(--tm-ui-bg);
    border-radius: 24px;
    padding: 12px;
}

.tm-public-card h1,
.tm-public-card h2,
.tm-public-card h3,
.tm-form h1,
.tm-form h2,
.tm-form h3,
.tm-auth-container h1,
.tm-auth-container h2,
.tm-auth-container h3,
.tm-profil-wrapper h1,
.tm-profil-wrapper h2,
.tm-profil-wrapper h3,
.tmc-card h1,
.tmc-card h2,
.tmc-card h3,
.tm-welcome-box h1,
.tm-welcome-box h2,
.tm-welcome-box h3,
.tm-charts-dashboard h1,
.tm-charts-dashboard h2,
.tm-charts-dashboard h3 {
    color: var(--tm-ui-text);
    letter-spacing: -0.01em;
}

.tm-form,
.tm-auth-container,
.tm-profil-wrapper,
.tm-welcome-box,
.tm-charts-dashboard {
    background-image: linear-gradient(180deg, var(--tm-ui-card) 0%, var(--tm-ui-card-alt) 100%);
}

.tm-form input,
.tm-form select,
.tm-form textarea,
.tm-auth-container input,
.tm-auth-container select,
.tm-auth-container textarea,
.tm-profil-wrapper input,
.tm-profil-wrapper select,
.tm-profil-wrapper textarea,
.tm-modifier-container input,
.tm-modifier-container select,
.tm-modifier-container textarea {
    border-color: var(--tm-ui-border);
    border-radius: var(--tm-ui-radius-sm);
    color: var(--tm-ui-text);
    background: #fff;
}

.tm-form input:focus,
.tm-form select:focus,
.tm-form textarea:focus,
.tm-auth-container input:focus,
.tm-auth-container select:focus,
.tm-auth-container textarea:focus,
.tm-profil-wrapper input:focus,
.tm-profil-wrapper select:focus,
.tm-profil-wrapper textarea:focus,
.tm-modifier-container input:focus,
.tm-modifier-container select:focus,
.tm-modifier-container textarea:focus {
    border-color: var(--tm-ui-primary);
    box-shadow: 0 0 0 3px rgba(11, 111, 184, 0.12);
    outline: none;
}

.tm-form button[type="submit"],
.tm-auth-container button[type="submit"],
.tm-profil-wrapper button[type="submit"],
.tm-modifier-container button[type="submit"],
.tm-btn-primary,
.tmc-btn,
.btn-primary {
    background: linear-gradient(145deg, var(--tm-ui-primary), var(--tm-ui-primary-dark));
    color: #fff;
    border: none;
}

.tm-form button[type="submit"]:hover,
.tm-auth-container button[type="submit"]:hover,
.tm-profil-wrapper button[type="submit"]:hover,
.tm-modifier-container button[type="submit"]:hover,
.tm-btn-primary:hover,
.tmc-btn:hover,
.btn-primary:hover {
    background: linear-gradient(145deg, var(--tm-ui-primary-dark), #06466f);
}

.tm-success,
.notice-success {
    background: var(--tm-ui-success-bg);
    color: var(--tm-ui-success-text);
    border: 1px solid var(--tm-ui-success-border);
    border-radius: 12px;
}

.tm-error,
.notice-error {
    background: var(--tm-ui-error-bg);
    color: var(--tm-ui-error-text);
    border: 1px solid var(--tm-ui-error-border);
    border-radius: 12px;
}

.tm-info,
.notice-warning {
    border-radius: 12px;
}

.tm-table-wrapper,
.tmc-table-responsive,
.tm-responsive-table {
    border-radius: 16px;
}

.tmc-chip {
    border-radius: 999px;
    font-weight: 700;
}

@media (max-width: 768px) {
    .tmc-bg {
        padding: 6px;
        border-radius: 18px;
    }

    .tm-public-card,
    .tm-form,
    .tm-auth-container,
    .tm-profil-wrapper,
    .tmc-card,
    .tm-welcome-box,
    .tm-charts-dashboard {
        border-radius: 14px;
    }
}
