/**
 * dxCRM — Tailwind-inspired typography layer
 * Design tokens + utility classes. Loads after style.css (Inspinia).
 */

:root {
    /* Font stacks */
    --font-sans: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
    --font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;

    /* Type scale — okunabilirlik / yoğunluk dengesi */
    --text-xs: 0.8rem;      /* 12px @15px root */
    --text-sm: 0.933rem;    /* 14px */
    --text-base: 1rem;      /* 15px */
    --text-lg: 1.067rem;    /* 16px */
    --text-xl: 1.2rem;      /* 18px */
    --text-2xl: 1.333rem;   /* 20px */
    --text-3xl: 1.6rem;     /* 24px */

    /* Weights */
    --font-normal: 400;
    --font-medium: 500;
    --font-semibold: 600;
    --font-bold: 700;

    /* Line height */
    --leading-none: 1;
    --leading-tight: 1.25;
    --leading-snug: 1.375;
    --leading-normal: 1.5;
    --leading-relaxed: 1.625;

    /* Letter spacing */
    --tracking-tight: -0.025em;
    --tracking-normal: 0;
    --tracking-wide: 0.025em;

    /* Text colors — biraz daha koyu, daha net okuma */
    --text-primary: #111827;
    --text-secondary: #374151;
    --text-muted: #6b7280;
    --text-placeholder: #9ca3af;
}

/* ── Global base ───────────────────────────────────────────── */

html {
    -webkit-text-size-adjust: 100%;
    font-size: 15px;
}

body {
    font-family: var(--font-sans);
    font-size: var(--text-base);
    font-weight: var(--font-normal);
    line-height: var(--leading-normal);
    color: var(--text-secondary);
    -webkit-font-smoothing: auto;
    -moz-osx-font-smoothing: auto;
    text-rendering: auto;
}

#page-wrapper,
.wrapper-content,
.modal-content {
    font-family: var(--font-sans);
}

/* Inspinia ince başlıkları modernize et */
h1, h2, h3, h4, h5, h6,
.h1, .h2, .h3, .h4, .h5, .h6 {
    font-family: var(--font-sans);
    font-weight: var(--font-semibold);
    letter-spacing: var(--tracking-tight);
    color: var(--text-primary);
    line-height: var(--leading-tight);
}

h1, .h1 { font-size: var(--text-3xl); }
h2, .h2 { font-size: var(--text-2xl); }
h3, .h3 { font-size: var(--text-lg); }
h4, .h4 { font-size: var(--text-lg); }
h5, .h5 { font-size: var(--text-base); }
h6, .h6 { font-size: var(--text-sm); text-transform: uppercase; letter-spacing: var(--tracking-wide); }

p {
    margin: 0 0 0.75rem;
    line-height: var(--leading-relaxed);
}

small, .small {
    font-size: var(--text-xs);
}

/* ── UI bileşenleri ────────────────────────────────────────── */

label,
.control-label {
    font-size: var(--text-sm);
    font-weight: var(--font-semibold);
    color: var(--text-primary);
    margin-bottom: 7px;
}

.form-control,
.ui-select-bootstrap .ui-select-toggle,
.ui-select-bootstrap .ui-select-search,
input[type="text"],
input[type="email"],
input[type="password"],
input[type="number"],
input[type="date"],
input[type="datetime-local"],
input[type="tel"],
select,
textarea {
    font-family: var(--font-sans);
    font-size: var(--text-sm);
    line-height: var(--leading-normal);
    color: var(--text-primary);
    min-height: 36px;
}

textarea.form-control {
    min-height: auto;
}

.form-control::placeholder,
input::placeholder,
textarea::placeholder {
    color: var(--text-placeholder);
}

.btn {
    font-family: var(--font-sans);
    font-size: var(--text-sm);
    font-weight: var(--font-semibold);
    letter-spacing: var(--tracking-normal);
    min-height: 34px;
    padding: 7px 13px;
}

.btn-sm {
    font-size: var(--text-sm);
    min-height: 32px;
    padding: 5px 11px;
}

.table,
table.table {
    font-size: var(--text-sm);
}

.table thead th,
table.table thead th {
    font-size: var(--text-xs);
    font-weight: var(--font-bold);
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: var(--text-secondary);
}

.ibox-title h5,
.modal-title,
.panel-heading,
.panel-title {
    font-family: var(--font-sans);
    font-size: var(--text-base);
    font-weight: var(--font-semibold);
    color: var(--text-primary);
    letter-spacing: var(--tracking-tight);
}

.nav > li > a,
.navbar-top-links li a {
    font-family: var(--font-sans);
    font-weight: var(--font-medium);
}

.label,
.badge {
    font-family: var(--font-sans);
    font-weight: var(--font-semibold);
    letter-spacing: var(--tracking-wide);
}

.help-block {
    color: var(--text-muted) !important;
    font-size: var(--text-sm);
}

.alert {
    font-size: var(--text-sm);
    line-height: var(--leading-relaxed);
}

.toast,
.toast-message {
    font-family: var(--font-sans);
}

/* DataTables */
.dataTables_wrapper,
.dataTables_info,
.dataTables_length label,
.dataTables_filter label {
    font-family: var(--font-sans);
    font-size: var(--text-sm);
}

/* SweetAlert (legacy) */
.sweet-alert p,
.sweet-alert h2 {
    font-family: var(--font-sans);
}

/* ── Utility: font size ─────────────────────────────────────── */

.text-xs   { font-size: var(--text-xs) !important; }
.text-sm   { font-size: var(--text-sm) !important; }
.text-base { font-size: var(--text-base) !important; }
.text-lg   { font-size: var(--text-lg) !important; }
.text-xl   { font-size: var(--text-xl) !important; }
.text-2xl  { font-size: var(--text-2xl) !important; }
.text-3xl  { font-size: var(--text-3xl) !important; }

/* ── Utility: font weight ───────────────────────────────────── */

.font-normal   { font-weight: var(--font-normal) !important; }
.font-medium   { font-weight: var(--font-medium) !important; }
.font-semibold { font-weight: var(--font-semibold) !important; }
.font-bold     { font-weight: var(--font-bold) !important; }

/* ── Utility: line height ───────────────────────────────────── */

.leading-none    { line-height: var(--leading-none) !important; }
.leading-tight   { line-height: var(--leading-tight) !important; }
.leading-snug    { line-height: var(--leading-snug) !important; }
.leading-normal  { line-height: var(--leading-normal) !important; }
.leading-relaxed { line-height: var(--leading-relaxed) !important; }

/* ── Utility: text color ────────────────────────────────────── */

.text-primary-color { color: var(--text-primary) !important; }
.text-secondary-color { color: var(--text-secondary) !important; }
.text-muted-color   { color: var(--text-muted) !important; }

/* ── Utility: misc ──────────────────────────────────────────── */

.font-sans { font-family: var(--font-sans) !important; }
.font-mono { font-family: var(--font-mono) !important; }
.antialiased {
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}
.tracking-tight { letter-spacing: var(--tracking-tight) !important; }
.tracking-wide  { letter-spacing: var(--tracking-wide) !important; }
.uppercase      { text-transform: uppercase; letter-spacing: var(--tracking-wide); }
