/* =====================================================================
   MJ UI — MuhasebeJet tasarım sistemi (temel + bileşenler)
   Harici CSS çatısı kullanılmaz. Yardımcı sınıflar: mj-ui-utils.css
   (tools/mj_ui_uret.py ile üretilir). Sayfa iskeleti: app-shell.css,
   uygulamaya özel bileşenler: components.css.
   ===================================================================== */

:root {
    --mj-font: 'Inter', system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif;
    --mj-mono: ui-monospace, SFMono-Regular, Menlo, Consolas, 'Liberation Mono', monospace;

    --mj-primary: #4f46e5;
    --mj-primary-hover: #4338ca;
    --mj-primary-active: #3730a3;
    --mj-primary-soft: #eef2ff;
    --mj-primary-ring: rgba(79, 70, 229, .18);

    --mj-ink: #0f172a;
    --mj-text: #1e293b;
    --mj-text-2: #334155;
    --mj-muted: #64748b;
    --mj-faint: #94a3b8;
    --mj-bg: #f9fafd;
    --mj-surface: #ffffff;
    --mj-subtle: #f8fafc;
    --mj-border: #e6e8f0;
    --mj-border-strong: #dbe0ea;
    --mj-line: #f1f5f9;

    --mj-success: #16a34a;  --mj-success-soft: #f0fdf4; --mj-success-ink: #166534; --mj-success-line: #dcfce7;
    --mj-danger: #dc2626;   --mj-danger-soft: #fef2f2;  --mj-danger-ink: #991b1b;  --mj-danger-line: #fee2e2;
    --mj-warning: #d97706;  --mj-warning-soft: #fffbeb; --mj-warning-ink: #92400e; --mj-warning-line: #fef3c7;
    --mj-info: #0284c7;     --mj-info-soft: #f0f9ff;    --mj-info-ink: #075985;    --mj-info-line: #e0f2fe;

    --mj-radius-sm: 6px;
    --mj-radius: 8px;
    --mj-radius-lg: 10px;
    --mj-radius-xl: 14px;
    --mj-shadow-xs: 0 1px 2px rgba(15, 23, 42, .05);
    --mj-shadow-sm: 0 1px 2px rgba(15, 23, 42, .04), 0 4px 16px -8px rgba(15, 23, 42, .08);
    --mj-shadow-lg: 0 12px 32px -8px rgba(15, 23, 42, .18), 0 2px 6px rgba(15, 23, 42, .06);
    --mj-shadow-xl: 0 24px 64px -12px rgba(15, 23, 42, .28);
    --mj-ring: 0 0 0 3px var(--mj-primary-ring);
    --mj-ease: cubic-bezier(.4, 0, .2, 1);

    --mj-input-h: 38px;
    --mj-input-h-sm: 32px;
    --mj-chevron: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%2364748b' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.6' d='m4 6 4 4 4-4'/%3e%3c/svg%3e");
}

/* ---------------------------------------------------------------- Temel */
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
@media (prefers-reduced-motion: no-preference) { :root { scroll-behavior: smooth; } }
body {
    margin: 0;
    font-family: var(--mj-font);
    font-size: 1rem;
    font-weight: 400;
    line-height: 1.5;
    color: var(--mj-text);
    background-color: var(--mj-bg);
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    -webkit-tap-highlight-color: transparent;
}
[hidden] { display: none !important; }
hr { margin: 1rem 0; color: inherit; border: 0; border-top: 1px solid var(--mj-border); opacity: 1; }
h1, h2, h3, h4, h5, h6, .h1, .h2, .h3, .h4, .h5, .h6 { margin-top: 0; margin-bottom: .5rem; font-weight: 650; line-height: 1.25; letter-spacing: -.02em; color: var(--mj-ink); }
h1, .h1 { font-size: 2rem; } h2, .h2 { font-size: 1.6rem; } h3, .h3 { font-size: 1.35rem; }
h4, .h4 { font-size: 1.15rem; } h5, .h5 { font-size: 1rem; } h6, .h6 { font-size: .9rem; }
p { margin-top: 0; margin-bottom: 1rem; }
abbr[title] { text-decoration: underline dotted; cursor: help; }
address { margin-bottom: 1rem; font-style: normal; line-height: inherit; }
ol, ul { padding-left: 1.5rem; margin-top: 0; margin-bottom: 1rem; }
ol ol, ul ul, ol ul, ul ol { margin-bottom: 0; }
dl { margin-top: 0; margin-bottom: 1rem; }
dt { font-weight: 600; }
dd { margin-bottom: .5rem; margin-left: 0; }
b, strong { font-weight: 600; }
small, .small { font-size: .875em; }
mark, .mark { padding: .1em .25em; background-color: #fef9c3; border-radius: 3px; }
sub, sup { position: relative; font-size: .75em; line-height: 0; vertical-align: baseline; }
sub { bottom: -.25em; } sup { top: -.5em; }
a { color: var(--mj-primary); text-decoration: none; }
a:hover { color: var(--mj-primary-hover); }
a:not([class]):hover { text-decoration: underline; text-underline-offset: 2px; }
pre, code, kbd, samp { font-family: var(--mj-mono); font-size: 1em; }
pre { display: block; margin-top: 0; margin-bottom: 1rem; overflow: auto; font-size: .85em; }
code { font-size: .85em; color: #4338ca; word-wrap: break-word; }
a > code { color: inherit; }
kbd { padding: .15rem .35rem; font-size: .8em; color: #fff; background-color: var(--mj-ink); border-radius: 4px; }
figure { margin: 0 0 1rem; }
img, svg { vertical-align: middle; }
table { caption-side: bottom; border-collapse: collapse; }
caption { padding-top: .5rem; padding-bottom: .5rem; color: var(--mj-muted); text-align: left; }
th { text-align: inherit; text-align: -webkit-match-parent; }
thead, tbody, tfoot, tr, td, th { border-color: inherit; border-style: solid; border-width: 0; }
label { display: inline-block; }
button { border-radius: 0; }
button:focus:not(:focus-visible) { outline: 0; }
input, button, select, optgroup, textarea { margin: 0; font-family: inherit; font-size: inherit; line-height: inherit; }
button, select { text-transform: none; }
[role="button"] { cursor: pointer; }
select { word-wrap: normal; }
select:disabled { opacity: 1; }
button, [type="button"], [type="reset"], [type="submit"] { -webkit-appearance: button; }
button:not(:disabled), [type="button"]:not(:disabled), [type="reset"]:not(:disabled), [type="submit"]:not(:disabled) { cursor: pointer; }
::-moz-focus-inner { padding: 0; border-style: none; }
textarea { resize: vertical; }
fieldset { min-width: 0; padding: 0; margin: 0; border: 0; }
legend { float: left; width: 100%; padding: 0; margin-bottom: .5rem; font-size: 1rem; font-weight: 600; line-height: inherit; }
legend + * { clear: left; }
::-webkit-datetime-edit-fields-wrapper, ::-webkit-datetime-edit-text, ::-webkit-datetime-edit-minute, ::-webkit-datetime-edit-hour-field,
::-webkit-datetime-edit-day-field, ::-webkit-datetime-edit-month-field, ::-webkit-datetime-edit-year-field { padding: 0; }
::-webkit-inner-spin-button { height: auto; }
[type="search"] { -webkit-appearance: textfield; outline-offset: -2px; }
::-webkit-search-decoration { -webkit-appearance: none; }
::file-selector-button { font: inherit; -webkit-appearance: button; }
output { display: inline-block; }
iframe { border: 0; }
summary { display: list-item; cursor: pointer; }
progress { vertical-align: baseline; }
::selection { background: #c7d2fe; color: var(--mj-ink); }

::-webkit-scrollbar { width: 10px; height: 10px; }
::-webkit-scrollbar-track { background: transparent; }
::-webkit-scrollbar-thumb { background: #cbd5e1; border-radius: 10px; border: 2px solid transparent; background-clip: content-box; }
::-webkit-scrollbar-thumb:hover { background: #94a3b8; background-clip: content-box; border: 2px solid transparent; }

/* ---------------------------------------------------------------- Metin ve renk yardımcıları */
.lead { font-size: 1.125rem; font-weight: 400; }
.fw-light { font-weight: 300 !important; } .fw-normal { font-weight: 400 !important; } .fw-medium { font-weight: 500 !important; }
.fw-semibold { font-weight: 600 !important; } .fw-bold { font-weight: 700 !important; } .fw-bolder { font-weight: 800 !important; }
.fst-italic { font-style: italic !important; } .fst-normal { font-style: normal !important; }
.fs-1 { font-size: 2rem !important; } .fs-2 { font-size: 1.6rem !important; } .fs-3 { font-size: 1.35rem !important; }
.fs-4 { font-size: 1.15rem !important; } .fs-5 { font-size: 1rem !important; } .fs-6 { font-size: .9rem !important; }
.lh-1 { line-height: 1 !important; } .lh-sm { line-height: 1.25 !important; } .lh-base { line-height: 1.5 !important; }
.font-monospace { font-family: var(--mj-mono) !important; }
.text-uppercase { text-transform: uppercase !important; } .text-lowercase { text-transform: lowercase !important; } .text-capitalize { text-transform: capitalize !important; }
.text-nowrap { white-space: nowrap !important; } .text-wrap { white-space: normal !important; } .text-break { word-wrap: break-word !important; word-break: break-word !important; }
.text-truncate { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.text-decoration-none { text-decoration: none !important; } .text-decoration-underline { text-decoration: underline !important; }
.text-reset { color: inherit !important; }

.text-muted, .text-secondary { color: var(--mj-muted) !important; }
.text-body { color: var(--mj-text) !important; }
.text-dark { color: var(--mj-ink) !important; }
.text-white { color: #fff !important; }
.text-primary { color: var(--mj-primary) !important; }
.text-success { color: var(--mj-success) !important; }
.text-danger { color: var(--mj-danger) !important; }
.text-warning { color: var(--mj-warning) !important; }
.text-info { color: var(--mj-info) !important; }
.text-light { color: #f8fafc !important; }
.link-primary { color: var(--mj-primary) !important; }
.link-primary:hover { color: var(--mj-primary-hover) !important; }

.bg-primary { background-color: var(--mj-primary) !important; color: #fff; }
.bg-secondary { background-color: #64748b !important; color: #fff; }
.bg-success { background-color: var(--mj-success) !important; color: #fff; }
.bg-danger { background-color: var(--mj-danger) !important; color: #fff; }
.bg-warning { background-color: #f59e0b !important; color: var(--mj-ink); }
.bg-info { background-color: var(--mj-info) !important; color: #fff; }
.bg-light { background-color: var(--mj-subtle) !important; }
.bg-dark { background-color: var(--mj-ink) !important; color: #fff; }
.bg-white { background-color: #fff !important; }
.bg-transparent { background-color: transparent !important; }

.border { border: 1px solid var(--mj-border) !important; }
.border-0 { border: 0 !important; }
.border-top { border-top: 1px solid var(--mj-border) !important; } .border-top-0 { border-top: 0 !important; }
.border-bottom { border-bottom: 1px solid var(--mj-border) !important; } .border-bottom-0 { border-bottom: 0 !important; }
.border-start { border-left: 1px solid var(--mj-border) !important; } .border-end { border-right: 1px solid var(--mj-border) !important; }
.border-primary { border-color: #c7d2fe !important; } .border-success { border-color: #bbf7d0 !important; }
.border-warning { border-color: #fde68a !important; } .border-info { border-color: #bae6fd !important; }
.border-danger { border-color: #fecaca !important; } .border-light { border-color: var(--mj-line) !important; }
.rounded { border-radius: var(--mj-radius) !important; } .rounded-0 { border-radius: 0 !important; }
.rounded-1 { border-radius: var(--mj-radius-sm) !important; } .rounded-2 { border-radius: var(--mj-radius) !important; }
.rounded-3 { border-radius: var(--mj-radius-lg) !important; } .rounded-4 { border-radius: var(--mj-radius-xl) !important; }
.rounded-circle { border-radius: 50% !important; } .rounded-pill { border-radius: 999px !important; }
.shadow-none { box-shadow: none !important; } .shadow-sm { box-shadow: var(--mj-shadow-xs) !important; }
.shadow { box-shadow: var(--mj-shadow-sm) !important; } .shadow-lg { box-shadow: var(--mj-shadow-lg) !important; }

.list-unstyled { padding-left: 0; list-style: none; }
.list-inline { padding-left: 0; list-style: none; }
.list-inline-item { display: inline-block; } .list-inline-item:not(:last-child) { margin-right: .5rem; }
.img-fluid { max-width: 100%; height: auto; }
.user-select-none { user-select: none !important; } .user-select-all { user-select: all !important; }
.pe-none { pointer-events: none !important; } .pe-auto { pointer-events: auto !important; }
.visually-hidden, .visually-hidden-focusable:not(:focus):not(:focus-within) {
    position: absolute !important; width: 1px !important; height: 1px !important; padding: 0 !important; margin: -1px !important;
    overflow: hidden !important; clip: rect(0, 0, 0, 0) !important; white-space: nowrap !important; border: 0 !important;
}
.clearfix::after { display: block; clear: both; content: ""; }
.vr { display: inline-block; align-self: stretch; width: 1px; min-height: 1em; background-color: var(--mj-border); }
.hstack { display: flex; flex-direction: row; align-items: center; align-self: stretch; }
.vstack { display: flex; flex: 1 1 auto; flex-direction: column; align-self: stretch; }

/* ---------------------------------------------------------------- Buton */
.btn {
    --mj-btn-color: var(--mj-text-2);
    --mj-btn-bg: #fff;
    --mj-btn-border: var(--mj-border-strong);
    --mj-btn-hover-color: var(--mj-ink);
    --mj-btn-hover-bg: var(--mj-subtle);
    --mj-btn-hover-border: #cbd5e1;
    --mj-btn-active-bg: var(--mj-line);
    --mj-btn-ring: 0 0 0 3px rgba(148, 163, 184, .28);
    --mj-btn-shadow: var(--mj-shadow-xs);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0;
    padding: .5rem .95rem;
    font-family: inherit;
    font-size: .875rem;
    font-weight: 500;
    line-height: 1.35;
    letter-spacing: -.005em;
    color: var(--mj-btn-color);
    text-align: center;
    text-decoration: none;
    white-space: nowrap;
    vertical-align: middle;
    cursor: pointer;
    user-select: none;
    background-color: var(--mj-btn-bg);
    border: 1px solid var(--mj-btn-border);
    border-radius: var(--mj-radius);
    box-shadow: var(--mj-btn-shadow);
    transition: background-color .15s ease, border-color .15s ease, color .15s ease, box-shadow .15s ease, transform .08s ease;
}
.btn:hover { color: var(--mj-btn-hover-color); background-color: var(--mj-btn-hover-bg); border-color: var(--mj-btn-hover-border); text-decoration: none; }
.btn:focus-visible { outline: 0; box-shadow: var(--mj-btn-ring); }
.btn:active:not(:disabled), .btn.active { background-color: var(--mj-btn-active-bg); transform: translateY(.5px); }
.btn:disabled, .btn.disabled, fieldset:disabled .btn { pointer-events: none; opacity: .5; box-shadow: none; }
.btn i { opacity: .9; }

.btn-primary, .btn-success {
    --mj-btn-color: #fff; --mj-btn-bg: var(--mj-primary); --mj-btn-border: var(--mj-primary);
    --mj-btn-hover-color: #fff; --mj-btn-hover-bg: var(--mj-primary-hover); --mj-btn-hover-border: var(--mj-primary-hover);
    --mj-btn-active-bg: var(--mj-primary-active); --mj-btn-ring: 0 0 0 3px rgba(79, 70, 229, .28);
    --mj-btn-shadow: inset 0 1px 0 rgba(255, 255, 255, .10), 0 1px 2px rgba(15, 23, 42, .12);
}
.btn-danger {
    --mj-btn-color: #fff; --mj-btn-bg: var(--mj-danger); --mj-btn-border: var(--mj-danger);
    --mj-btn-hover-color: #fff; --mj-btn-hover-bg: #b91c1c; --mj-btn-hover-border: #b91c1c;
    --mj-btn-active-bg: #991b1b; --mj-btn-ring: 0 0 0 3px rgba(220, 38, 38, .22);
    --mj-btn-shadow: inset 0 1px 0 rgba(255, 255, 255, .10), 0 1px 2px rgba(15, 23, 42, .12);
}
.btn-dark {
    --mj-btn-color: #fff; --mj-btn-bg: var(--mj-ink); --mj-btn-border: var(--mj-ink);
    --mj-btn-hover-color: #fff; --mj-btn-hover-bg: #1e293b; --mj-btn-hover-border: #1e293b; --mj-btn-active-bg: #334155;
}
.btn-primary:hover, .btn-success:hover, .btn-danger:hover, .btn-dark:hover { box-shadow: inset 0 1px 0 rgba(255, 255, 255, .10), 0 4px 10px -3px rgba(15, 23, 42, .25); }
/* .btn-secondary, -light, -info, -warning: nötr (temel stil) */
.btn-outline-primary {
    --mj-btn-color: var(--mj-primary); --mj-btn-border: #c7d2fe;
    --mj-btn-hover-color: var(--mj-primary-hover); --mj-btn-hover-bg: var(--mj-primary-soft); --mj-btn-hover-border: #a5b4fc;
    --mj-btn-active-bg: #e0e7ff; --mj-btn-ring: 0 0 0 3px rgba(79, 70, 229, .2);
}
.btn-outline-secondary, .btn-outline-dark, .btn-outline-info, .btn-outline-warning, .btn-outline-light { --mj-btn-shadow: none; }
.btn-outline-success {
    --mj-btn-color: var(--mj-success-ink); --mj-btn-border: #bbf7d0;
    --mj-btn-hover-color: var(--mj-success-ink); --mj-btn-hover-bg: var(--mj-success-soft); --mj-btn-hover-border: #86efac; --mj-btn-shadow: none;
}
.btn-outline-danger {
    --mj-btn-color: var(--mj-danger); --mj-btn-border: #fecaca;
    --mj-btn-hover-color: #b91c1c; --mj-btn-hover-bg: var(--mj-danger-soft); --mj-btn-hover-border: #fca5a5;
    --mj-btn-active-bg: #fee2e2; --mj-btn-ring: 0 0 0 3px rgba(220, 38, 38, .18); --mj-btn-shadow: none;
}
.btn-link {
    --mj-btn-color: var(--mj-primary); --mj-btn-bg: transparent; --mj-btn-border: transparent;
    --mj-btn-hover-color: var(--mj-primary-hover); --mj-btn-hover-bg: transparent; --mj-btn-hover-border: transparent;
    --mj-btn-active-bg: transparent; --mj-btn-shadow: none;
}
.btn-link:hover { text-decoration: underline; text-underline-offset: 2px; }
.btn-sm { padding: .3rem .65rem; font-size: .8rem; border-radius: 7px; }
.btn-lg { padding: .7rem 1.25rem; font-size: .95rem; border-radius: var(--mj-radius-lg); }
.d-grid > .btn, .btn.w-100 { width: 100%; }

.btn-check { position: absolute; clip: rect(0, 0, 0, 0); pointer-events: none; }
.btn-check:checked + .btn, .btn-check:active + .btn {
    color: var(--mj-primary-hover); background-color: var(--mj-primary-soft); border-color: #a5b4fc; box-shadow: none;
}
.btn-check:focus-visible + .btn { box-shadow: var(--mj-ring); }
.btn-check:disabled + .btn { pointer-events: none; opacity: .5; }

.btn-group, .btn-group-vertical { position: relative; display: inline-flex; vertical-align: middle; }
.btn-group > .btn, .btn-group-vertical > .btn { position: relative; flex: 1 1 auto; }
.btn-group > .btn:hover, .btn-group > .btn:focus, .btn-group > .btn:active, .btn-group > .btn.active,
.btn-group > .btn-check:checked + .btn { z-index: 1; }
.btn-group > :not(.btn-check:first-child) + .btn, .btn-group > .btn-group:not(:first-child) { margin-left: -1px; }
.btn-group > .btn:not(:last-child):not(.dropdown-toggle), .btn-group > .btn.dropdown-toggle-split:first-child,
.btn-group > .btn-group:not(:last-child) > .btn { border-top-right-radius: 0; border-bottom-right-radius: 0; }
.btn-group > .btn:nth-child(n+3), .btn-group > :not(.btn-check) + .btn, .btn-group > .btn-group:not(:first-child) > .btn {
    border-top-left-radius: 0; border-bottom-left-radius: 0;
}
.btn-group > .btn:only-child, .btn-group > .btn-check:first-child + .btn:last-child { border-radius: var(--mj-radius); }
.btn-group-sm > .btn { padding: .3rem .65rem; font-size: .8rem; }
.dropdown-toggle-split { padding-right: .6rem; padding-left: .6rem; }
.dropdown-toggle-split::after { margin-left: 0 !important; }

.btn-close {
    box-sizing: content-box; width: 1em; height: 1em; padding: .35em; color: var(--mj-muted); flex-shrink: 0;
    background: transparent url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath stroke='%2364748b' stroke-width='1.8' stroke-linecap='round' d='M4 4l8 8M12 4l-8 8'/%3e%3c/svg%3e") center / .85em auto no-repeat;
    border: 0; border-radius: var(--mj-radius-sm); opacity: 1; cursor: pointer; transition: background-color .15s;
}
.btn-close:hover { background-color: var(--mj-line); }
.btn-close:focus-visible { outline: 0; box-shadow: var(--mj-ring); }
.btn-close:disabled { pointer-events: none; opacity: .4; }
.btn-close-white { filter: none; }

/* ---------------------------------------------------------------- Form */
.form-label { display: inline-block; margin-bottom: .4rem; font-size: .8rem; font-weight: 500; color: var(--mj-text-2); }
.form-label-sm { font-size: .75rem; margin-bottom: .25rem; }
.col-form-label { padding-top: calc(.5rem + 1px); padding-bottom: calc(.5rem + 1px); margin-bottom: 0; font-size: .85rem; }
.form-text { margin-top: .3rem; font-size: .75rem; color: var(--mj-muted); }
.form-group { margin-bottom: 1rem; }
.form-control, .form-select {
    display: block;
    width: 100%;
    min-height: var(--mj-input-h);
    padding: .45rem .75rem;
    font-size: .875rem;
    font-weight: 400;
    line-height: 1.5;
    color: var(--mj-ink);
    background-color: #fff;
    background-clip: padding-box;
    border: 1px solid var(--mj-border-strong);
    border-radius: var(--mj-radius);
    box-shadow: var(--mj-shadow-xs);
    appearance: none;
    transition: border-color .15s ease, box-shadow .15s ease, background-color .15s ease;
}
.form-control::placeholder { color: var(--mj-faint); opacity: 1; }
.form-control:hover, .form-select:hover { border-color: #cbd5e1; }
.form-control:focus, .form-select:focus { color: var(--mj-ink); background-color: #fff; border-color: #a5b4fc; outline: 0; box-shadow: var(--mj-ring); }
.form-control:disabled, .form-select:disabled, .form-control[readonly] { background-color: var(--mj-subtle); color: var(--mj-muted); opacity: 1; }
.form-control[readonly]:focus { box-shadow: none; border-color: var(--mj-border-strong); }
textarea.form-control { min-height: calc(1.5em + .9rem + 2px); }
.form-control[type="file"] { overflow: hidden; padding: .3rem .4rem; }
.form-control::file-selector-button {
    padding: .3rem .7rem; margin-right: .6rem; color: var(--mj-text-2); background-color: var(--mj-subtle);
    border: 1px solid var(--mj-border); border-radius: var(--mj-radius-sm); cursor: pointer;
}
.form-control-color { width: 3rem; height: var(--mj-input-h); padding: .3rem; }
.form-control-color::-webkit-color-swatch { border: 0; border-radius: 4px; }
.form-control-sm, .form-select-sm { min-height: var(--mj-input-h-sm); padding: .25rem .6rem; font-size: .8rem; border-radius: 7px; }
.form-control-lg, .form-select-lg { min-height: 46px; padding: .6rem 1rem; font-size: 1rem; border-radius: var(--mj-radius-lg); }
.form-control-plaintext { display: block; width: 100%; padding: .45rem 0; margin-bottom: 0; line-height: 1.5; color: var(--mj-ink); background: transparent; border: solid transparent; border-width: 1px 0; }
.form-select { padding-right: 2.2rem; background-image: var(--mj-chevron); background-repeat: no-repeat; background-position: right .7rem center; background-size: 14px 14px; }
.form-select[multiple], .form-select[size]:not([size="1"]) { padding-right: .75rem; background-image: none; }
.form-select-sm { padding-right: 2rem; background-position: right .55rem center; }

.form-check { display: block; min-height: 1.5rem; padding-left: 1.6em; margin-bottom: .125rem; }
.form-check .form-check-input { float: left; margin-left: -1.6em; }
.form-check-inline { display: inline-block; margin-right: 1rem; }
.form-check-input {
    flex-shrink: 0; width: 1.05em; height: 1.05em; margin-top: .22em; vertical-align: top; cursor: pointer;
    background-color: #fff; background-repeat: no-repeat; background-position: center; background-size: contain;
    border: 1px solid #cbd5e1; appearance: none; print-color-adjust: exact; transition: background-color .15s, border-color .15s, box-shadow .15s;
}
.form-check-input[type="checkbox"] { border-radius: 4px; }
.form-check-input[type="radio"] { border-radius: 50%; }
.form-check-input:focus { border-color: #a5b4fc; outline: 0; box-shadow: var(--mj-ring); }
.form-check-input:checked { background-color: var(--mj-primary); border-color: var(--mj-primary); }
.form-check-input:checked[type="checkbox"] { background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='m6 10 3 3 6-6'/%3e%3c/svg%3e"); }
.form-check-input:checked[type="radio"] { background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='2' fill='%23fff'/%3e%3c/svg%3e"); }
.form-check-input:indeterminate { background-color: var(--mj-primary); border-color: var(--mj-primary); }
.form-check-input:disabled { pointer-events: none; opacity: .5; }
.form-check-input:disabled ~ .form-check-label { cursor: default; opacity: .5; }
.form-check-label { cursor: pointer; font-size: .875rem; color: var(--mj-text-2); }
.form-switch { padding-left: 2.6em; }
.form-switch .form-check-input {
    width: 2.1em; margin-left: -2.6em; border-radius: 2em; border-color: #cbd5e1; background-color: #e2e8f0;
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23fff'/%3e%3c/svg%3e");
    background-position: left center; transition: background-position .15s ease-in-out, background-color .15s;
}
.form-switch .form-check-input:checked { background-position: right center; background-color: var(--mj-primary); border-color: var(--mj-primary); }

.form-control.is-invalid, .form-select.is-invalid { border-color: #fca5a5; }
.form-control.is-invalid:focus, .form-select.is-invalid:focus { border-color: #f87171; box-shadow: 0 0 0 3px rgba(220, 38, 38, .15); }
.form-control.is-valid, .form-select.is-valid { border-color: #86efac; }
.invalid-feedback, .valid-feedback { display: none; width: 100%; margin-top: .3rem; font-size: .75rem; }
.invalid-feedback { color: var(--mj-danger); } .valid-feedback { color: var(--mj-success); }
.is-invalid ~ .invalid-feedback, .is-invalid ~ .input-group-text ~ .invalid-feedback, .was-validated :invalid ~ .invalid-feedback,
.input-group.is-invalid + .invalid-feedback { display: block; }
.is-valid ~ .valid-feedback { display: block; }

.input-group { position: relative; display: flex; flex-wrap: wrap; align-items: stretch; width: 100%; }
.input-group > .form-control, .input-group > .form-select { position: relative; flex: 1 1 auto; width: 1%; min-width: 0; }
.input-group > .form-control:focus, .input-group > .form-select:focus { z-index: 3; }
.input-group > .btn { position: relative; z-index: 2; box-shadow: none; }
.input-group > .btn:focus { z-index: 3; }
.input-group-text {
    display: flex; align-items: center; padding: .45rem .75rem; font-size: .8rem; font-weight: 500; line-height: 1.5;
    color: var(--mj-muted); text-align: center; white-space: nowrap; background-color: var(--mj-subtle);
    border: 1px solid var(--mj-border-strong); border-radius: var(--mj-radius);
}
.input-group-prepend, .input-group-append { display: flex; }
.input-group-prepend > .btn, .input-group-append > .btn, .input-group-prepend > .input-group-text, .input-group-append > .input-group-text { height: 100%; }
.input-group-sm > .form-control, .input-group-sm > .form-select, .input-group-sm > .input-group-text, .input-group-sm > .btn {
    min-height: var(--mj-input-h-sm); padding: .25rem .6rem; font-size: .8rem; border-radius: 7px;
}
.input-group-lg > .form-control, .input-group-lg > .form-select, .input-group-lg > .input-group-text, .input-group-lg > .btn {
    min-height: 46px; padding: .6rem 1rem; font-size: 1rem; border-radius: var(--mj-radius-lg);
}
.input-group > :not(:first-child):not(.dropdown-menu):not(.valid-tooltip):not(.valid-feedback):not(.invalid-tooltip):not(.invalid-feedback) {
    margin-left: -1px; border-top-left-radius: 0; border-bottom-left-radius: 0;
}
.input-group:not(.has-validation) > :not(:last-child):not(.dropdown-toggle):not(.dropdown-menu):not(.form-floating) {
    border-top-right-radius: 0; border-bottom-right-radius: 0;
}
.input-group > .input-group-prepend:not(:first-child) > *, .input-group > .input-group-append > * { border-top-left-radius: 0; border-bottom-left-radius: 0; }
.input-group > .input-group-prepend > *, .input-group > .input-group-append:not(:last-child) > * { border-top-right-radius: 0; border-bottom-right-radius: 0; }
.input-group > .input-group-append { margin-left: -1px; }

/* ---------------------------------------------------------------- Tablo */
.table {
    --mj-table-bg: transparent;
    --mj-table-hover: rgba(15, 23, 42, .025);
    width: 100%;
    margin-bottom: 1rem;
    color: var(--mj-text);
    vertical-align: top;
    border-color: var(--mj-line);
    font-size: .875rem;
}
.table > :not(caption) > * > * { padding: .65rem .75rem; background-color: var(--mj-table-bg); border-bottom-width: 1px; }
.table > tbody { vertical-align: inherit; }
.table > thead { vertical-align: bottom; }
.table > thead th { font-size: .72rem; font-weight: 600; text-transform: uppercase; letter-spacing: .04em; color: var(--mj-muted); border-bottom-color: var(--mj-border); white-space: nowrap; }
.table > tbody > tr:last-child > * { border-bottom-width: 0; }
.table-sm > :not(caption) > * > * { padding: .35rem .5rem; }
.table-bordered > :not(caption) > * { border-width: 1px 0; }
.table-bordered > :not(caption) > * > * { border-width: 0 1px; }
.table-bordered { border: 1px solid var(--mj-border); }
.table-borderless > :not(caption) > * > * { border-bottom-width: 0; }
.table-striped > tbody > tr:nth-of-type(odd) > * { background-color: var(--mj-subtle); }
.table-hover > tbody > tr:hover > * { background-color: var(--mj-table-hover); }
.table-light, .table-light > *, .table > thead.table-light > tr > th, .table-light > tr > th { background-color: var(--mj-subtle) !important; }
.table-active > * { background-color: var(--mj-primary-soft) !important; }
.table-responsive { overflow-x: auto; -webkit-overflow-scrolling: touch; }
.align-middle { vertical-align: middle !important; } .align-top { vertical-align: top !important; } .align-bottom { vertical-align: bottom !important; }
.align-baseline { vertical-align: baseline !important; } .align-text-top { vertical-align: text-top !important; }

/* ---------------------------------------------------------------- Rozet (yumuşak tonlar) */
.badge {
    display: inline-flex;
    align-items: center;
    gap: .3em;
    padding: .28em .6em;
    font-size: .72rem;
    font-weight: 600;
    line-height: 1.2;
    letter-spacing: .005em;
    color: var(--mj-text-2);
    white-space: nowrap;
    vertical-align: middle;
    background-color: var(--mj-line);
    border: 1px solid transparent;
    border-radius: var(--mj-radius-sm);
}
.badge:empty { display: none; }
.badge.bg-primary { background-color: var(--mj-primary-soft) !important; color: var(--mj-primary-hover) !important; border-color: #e0e7ff; }
.badge.bg-secondary, .badge.bg-light, .badge.bg-dark { background-color: var(--mj-line) !important; color: var(--mj-text-2) !important; border-color: #e2e8f0; }
.badge.bg-success { background-color: var(--mj-success-soft) !important; color: var(--mj-success-ink) !important; border-color: var(--mj-success-line); }
.badge.bg-danger { background-color: var(--mj-danger-soft) !important; color: var(--mj-danger-ink) !important; border-color: var(--mj-danger-line); }
.badge.bg-warning { background-color: var(--mj-warning-soft) !important; color: var(--mj-warning-ink) !important; border-color: var(--mj-warning-line); }
.badge.bg-info { background-color: var(--mj-info-soft) !important; color: var(--mj-info-ink) !important; border-color: var(--mj-info-line); }
.badge.rounded-pill { border-radius: 999px; }

/* ---------------------------------------------------------------- Uyarı */
.alert {
    position: relative;
    display: block;
    padding: .8rem 1rem;
    margin-bottom: 1rem;
    font-size: .875rem;
    color: var(--mj-text-2);
    background-color: var(--mj-subtle);
    border: 1px solid var(--mj-border);
    border-radius: var(--mj-radius-lg);
}
.alert.d-flex > i:first-child, .alert > i.fas:first-child { margin-top: .15rem; }
.alert-heading { color: inherit; font-size: .95rem; }
.alert-link { font-weight: 600; color: inherit; text-decoration: underline; text-underline-offset: 2px; }
.alert-dismissible { padding-right: 3rem; }
.alert-dismissible .btn-close { position: absolute; top: 0; right: 0; z-index: 2; padding: .95rem 1rem; box-sizing: content-box; background-position: center; }
.alert-success { background: var(--mj-success-soft); color: var(--mj-success-ink); border-color: var(--mj-success-line); }
.alert-danger { background: var(--mj-danger-soft); color: var(--mj-danger-ink); border-color: var(--mj-danger-line); }
.alert-warning { background: var(--mj-warning-soft); color: var(--mj-warning-ink); border-color: var(--mj-warning-line); }
.alert-info, .alert-primary, .alert-secondary, .alert-light { background: var(--mj-subtle); color: var(--mj-text-2); border-color: var(--mj-border); }

/* ---------------------------------------------------------------- Kart */
.card {
    position: relative;
    display: flex;
    flex-direction: column;
    min-width: 0;
    word-wrap: break-word;
    background-color: var(--mj-surface);
    background-clip: border-box;
    border: 1px solid var(--mj-border);
    border-radius: var(--mj-radius-xl);
    box-shadow: var(--mj-shadow-sm);
}
.card > hr { margin-right: 0; margin-left: 0; }
.card-body { flex: 1 1 auto; padding: 20px; color: inherit; }
.card-title { margin-bottom: .5rem; }
.card-subtitle { margin-top: -.25rem; margin-bottom: 0; color: var(--mj-muted); }
.card-text:last-child { margin-bottom: 0; }
.card-header {
    padding: 16px 20px;
    margin-bottom: 0;
    background-color: #fff;
    border-bottom: 1px solid #eef0f5;
    font-weight: 600;
}
.card-header:first-child { border-radius: var(--mj-radius-xl) var(--mj-radius-xl) 0 0; }
.card-footer { padding: 12px 20px; background-color: #fff; border-top: 1px solid var(--mj-line); }
.card-footer:last-child { border-radius: 0 0 var(--mj-radius-xl) var(--mj-radius-xl); }
.card > .list-group:first-child, .card > .table-responsive:first-child { border-top-left-radius: var(--mj-radius-xl); border-top-right-radius: var(--mj-radius-xl); }
.card > .list-group:last-child, .card > .table-responsive:last-child { border-bottom-left-radius: var(--mj-radius-xl); border-bottom-right-radius: var(--mj-radius-xl); }
.card-header-tabs { margin-right: -.5rem; margin-bottom: -16px; margin-left: -.5rem; border-bottom: 0; }

/* ---------------------------------------------------------------- Liste grubu */
.list-group { display: flex; flex-direction: column; padding-left: 0; margin-bottom: 0; border-radius: var(--mj-radius-lg); }
.list-group-item {
    position: relative; display: block; padding: .7rem 1rem; color: var(--mj-text); text-decoration: none; font-size: .875rem;
    background-color: #fff; border: 1px solid var(--mj-border);
}
.list-group-item:first-child { border-top-left-radius: inherit; border-top-right-radius: inherit; }
.list-group-item:last-child { border-bottom-left-radius: inherit; border-bottom-right-radius: inherit; }
.list-group-item + .list-group-item { border-top-width: 0; }
.list-group-item.active { z-index: 2; color: var(--mj-primary-hover); background-color: var(--mj-primary-soft); border-color: #c7d2fe; }
.list-group-item-action { width: 100%; text-align: inherit; cursor: pointer; }
.list-group-item-action:hover { background-color: var(--mj-subtle); }
.list-group-flush { border-radius: 0; }
.list-group-flush > .list-group-item { border-width: 0 0 1px; }
.list-group-flush > .list-group-item:last-child { border-bottom-width: 0; }

/* ---------------------------------------------------------------- Modal */
body.mj-modal-open { overflow: hidden; }
.modal {
    position: fixed;
    top: 0;
    left: 0;
    z-index: 1055;
    display: none;
    width: 100%;
    height: 100%;
    overflow-x: hidden;
    overflow-y: auto;
    outline: 0;
}
.modal-dialog {
    position: relative;
    width: auto;
    max-width: 520px;
    margin: 1.75rem auto;
    pointer-events: none;
    transition: transform .2s var(--mj-ease), opacity .2s var(--mj-ease);
}
.modal.fade .modal-dialog { transform: translateY(12px) scale(.985); opacity: 0; }
.modal.show .modal-dialog { transform: none; opacity: 1; }
.modal-dialog-scrollable { height: calc(100% - 3.5rem); }
.modal-dialog-scrollable .modal-content { max-height: 100%; overflow: hidden; }
.modal-dialog-scrollable .modal-body { overflow-y: auto; }
.modal-dialog-centered { display: flex; align-items: center; min-height: calc(100% - 3.5rem); }
.modal-sm { max-width: 340px; } .modal-lg { max-width: 800px; } .modal-xl { max-width: 1140px; }
@media (max-width: 575.98px) { .modal-dialog { margin: .75rem; max-width: none; } .modal-dialog-centered { min-height: calc(100% - 1.5rem); } }
.modal-content {
    position: relative;
    display: flex;
    flex-direction: column;
    width: 100%;
    color: var(--mj-text);
    pointer-events: auto;
    background-color: #fff;
    background-clip: padding-box;
    border: 1px solid var(--mj-border);
    border-radius: var(--mj-radius-xl);
    box-shadow: var(--mj-shadow-xl);
    outline: 0;
}
.modal-backdrop {
    position: fixed;
    top: 0;
    left: 0;
    z-index: 1050;
    width: 100vw;
    height: 100vh;
    background-color: rgba(15, 23, 42, .42);
    backdrop-filter: blur(2px);
    transition: opacity .2s var(--mj-ease);
}
.modal-backdrop.fade { opacity: 0; }
.modal-backdrop.show { opacity: 1; }
.modal-header {
    display: flex;
    flex-shrink: 0;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 16px 20px;
    border-bottom: 1px solid var(--mj-line);
    border-top-left-radius: calc(var(--mj-radius-xl) - 1px);
    border-top-right-radius: calc(var(--mj-radius-xl) - 1px);
}
/* Renkli modal başlıkları sade görünüme çekilir */
.modal-header[class*="bg-"] { background-color: #fff !important; color: var(--mj-ink) !important; }
.modal-header .btn-close { margin: -.4rem -.4rem -.4rem auto; }
.modal-title { margin-bottom: 0; font-size: 1rem; font-weight: 650; line-height: 1.4; color: var(--mj-ink); }
.modal-body { position: relative; flex: 1 1 auto; padding: 20px; }
.modal-footer {
    display: flex;
    flex-shrink: 0;
    flex-wrap: wrap;
    align-items: center;
    justify-content: flex-end;
    gap: 8px;
    padding: 12px 20px;
    background-color: var(--mj-subtle);
    border-top: 1px solid var(--mj-line);
    border-bottom-right-radius: calc(var(--mj-radius-xl) - 1px);
    border-bottom-left-radius: calc(var(--mj-radius-xl) - 1px);
}

/* ---------------------------------------------------------------- Açılır menü */
.dropup, .dropend, .dropdown, .dropstart { position: relative; }
.dropdown-toggle { white-space: nowrap; }
.dropdown-toggle::after {
    display: inline-block; width: .5em; height: .5em; margin-left: .45em; margin-top: -.15em; content: "";
    border-right: 1.5px solid currentColor; border-bottom: 1.5px solid currentColor; transform: rotate(45deg); opacity: .7;
}
.dropdown-toggle:empty::after { margin-left: 0; }
.dropdown-menu {
    position: absolute;
    top: 100%;
    left: 0;
    z-index: 1000;
    display: none;
    min-width: 12rem;
    padding: 6px;
    margin: 6px 0 0;
    font-size: .875rem;
    color: var(--mj-text);
    text-align: left;
    list-style: none;
    background-color: #fff;
    background-clip: padding-box;
    border: 1px solid var(--mj-border);
    border-radius: var(--mj-radius-lg);
    box-shadow: var(--mj-shadow-lg);
}
.dropdown-menu.show { display: block; animation: mj-acil .12s var(--mj-ease); }
.dropdown-menu-end { right: 0; left: auto; }
.dropdown-menu.mj-yukari { top: auto; bottom: 100%; margin: 0 0 6px; }
@keyframes mj-acil { from { opacity: 0; transform: translateY(-4px); } to { opacity: 1; transform: none; } }
.dropdown-item {
    display: flex;
    align-items: center;
    gap: 2px;
    width: 100%;
    padding: 7px 10px;
    clear: both;
    font-weight: 400;
    color: var(--mj-text-2);
    text-align: inherit;
    white-space: nowrap;
    background-color: transparent;
    border: 0;
    border-radius: var(--mj-radius-sm);
    text-decoration: none;
}
.dropdown-item:hover, .dropdown-item:focus { color: var(--mj-ink); background-color: var(--mj-line); outline: 0; }
.dropdown-item.active, .dropdown-item:active { color: var(--mj-primary-hover); background-color: var(--mj-primary-soft); }
.dropdown-item.disabled, .dropdown-item:disabled { color: var(--mj-faint); pointer-events: none; background-color: transparent; }
.dropdown-item i { width: 1.1em; text-align: center; color: var(--mj-muted); }
.dropdown-divider { height: 0; margin: 6px 0; overflow: hidden; border-top: 1px solid var(--mj-line); opacity: 1; }
.dropdown-header { display: block; padding: 6px 10px 4px; margin-bottom: 0; font-size: .7rem; font-weight: 600; text-transform: uppercase; letter-spacing: .05em; color: var(--mj-faint); white-space: nowrap; }

/* ---------------------------------------------------------------- Sekmeler */
.nav { display: flex; flex-wrap: wrap; padding-left: 0; margin-bottom: 0; list-style: none; }
.nav-link {
    display: block; padding: .55rem 1rem; font-size: .875rem; font-weight: 500; color: var(--mj-muted); text-decoration: none;
    background: none; border: 0; transition: color .15s ease, background-color .15s ease, border-color .15s ease;
}
.nav-link:hover, .nav-link:focus { color: var(--mj-ink); }
.nav-link:focus-visible { outline: 0; box-shadow: var(--mj-ring); border-radius: var(--mj-radius-sm); }
.nav-link.disabled, .nav-link:disabled { color: var(--mj-faint); pointer-events: none; cursor: default; }
.nav-tabs { gap: 4px; border-bottom: 1px solid var(--mj-border); }
.nav-tabs .nav-link { margin-bottom: -1px; border-bottom: 2px solid transparent; }
.nav-tabs .nav-link.active, .nav-tabs .nav-item.show .nav-link { color: var(--mj-primary-hover); border-bottom-color: var(--mj-primary); font-weight: 600; }
.nav-pills { gap: 4px; }
.nav-pills .nav-link { border-radius: var(--mj-radius); }
.nav-pills .nav-link.active, .nav-pills .show > .nav-link { color: var(--mj-primary-hover); background-color: var(--mj-primary-soft); font-weight: 600; }
.nav-fill > .nav-link, .nav-fill .nav-item { flex: 1 1 auto; text-align: center; }
.tab-content > .tab-pane { display: none; }
.tab-content > .active { display: block; }
.tab-has-error { color: var(--mj-danger) !important; }

/* ---------------------------------------------------------------- Breadcrumb, sayfalama */
.breadcrumb { display: flex; flex-wrap: wrap; padding: 0; margin-bottom: 1rem; list-style: none; font-size: .8rem; }
.breadcrumb-item + .breadcrumb-item { padding-left: .45rem; }
.breadcrumb-item + .breadcrumb-item::before { float: left; padding-right: .45rem; color: #cbd5e1; content: "/"; }
.breadcrumb-item a { color: var(--mj-muted); }
.breadcrumb-item a:hover { color: var(--mj-primary); }
.breadcrumb-item.active { color: var(--mj-muted); }
.pagination { display: flex; flex-wrap: wrap; gap: 4px; padding-left: 0; margin: 0; list-style: none; }
.page-link {
    position: relative; display: flex; align-items: center; justify-content: center; min-width: 32px; height: 32px; padding: 0 .6rem;
    font-size: .8rem; font-weight: 500; color: var(--mj-text-2); text-decoration: none; background-color: #fff;
    border: 1px solid var(--mj-border); border-radius: var(--mj-radius); transition: all .15s ease;
}
.page-link:hover { z-index: 2; color: var(--mj-ink); background-color: var(--mj-subtle); border-color: #cbd5e1; }
.page-link:focus-visible { z-index: 3; outline: 0; box-shadow: var(--mj-ring); }
.page-item.active .page-link { z-index: 3; color: #fff; background-color: var(--mj-primary); border-color: var(--mj-primary); }
.page-item.disabled .page-link { color: var(--mj-faint); pointer-events: none; background-color: #fff; border-color: var(--mj-line); }
.pagination-sm .page-link { min-width: 28px; height: 28px; font-size: .75rem; }

/* ---------------------------------------------------------------- Çeşitli */
.spinner-border, .spinner-grow { display: inline-block; width: 1.6rem; height: 1.6rem; vertical-align: -.125em; border-radius: 50%; animation: mj-don .75s linear infinite; }
.spinner-border { border: .2em solid currentColor; border-right-color: transparent; color: var(--mj-primary); }
.spinner-border-sm { width: 1rem; height: 1rem; border-width: .15em; }
.spinner-grow { background-color: currentColor; opacity: 0; animation: mj-buyu .75s linear infinite; }
@keyframes mj-don { to { transform: rotate(360deg); } }
@keyframes mj-buyu { 0% { transform: scale(0); } 50% { opacity: 1; transform: none; } }
.progress { display: flex; height: 8px; overflow: hidden; font-size: .7rem; background-color: var(--mj-line); border-radius: 999px; }
.progress-bar { display: flex; flex-direction: column; justify-content: center; overflow: hidden; color: #fff; text-align: center; white-space: nowrap; background-color: var(--mj-primary); transition: width .6s ease; }

.fade { transition: opacity .15s linear; }
.fade:not(.show) { opacity: 0; }
.collapse:not(.show) { display: none; }
.collapsing { height: 0; overflow: hidden; transition: height .25s var(--mj-ease); }

/* Basit ipucu (MJ.Tooltip) */
.mj-ipucu {
    position: fixed; z-index: 1080; max-width: 260px; padding: 6px 9px; font-size: .75rem; line-height: 1.4; color: #fff;
    background: #1e293b; border-radius: var(--mj-radius-sm); box-shadow: var(--mj-shadow-lg); pointer-events: none;
    animation: mj-acil .1s var(--mj-ease);
}
.mj-ipucu.is-kutu { max-width: 300px; padding: 10px 12px; color: var(--mj-text); background: #fff; border: 1px solid var(--mj-border); pointer-events: auto; }
.mj-ipucu .mj-ipucu-baslik { font-weight: 600; margin-bottom: 4px; color: var(--mj-ink); }

/* ---------------------------------------------------------------- Select2 (varsayılan tema, MJ görünümü) */
.select2-container { font-size: .875rem; }
.select2-container.select2-container--default .select2-selection--single,
.select2-container.select2-container--default .select2-selection--multiple {
    min-height: var(--mj-input-h); border: 1px solid var(--mj-border-strong); border-radius: var(--mj-radius);
    background-color: #fff; box-shadow: var(--mj-shadow-xs); display: flex; align-items: center; transition: border-color .15s, box-shadow .15s;
}
.select2-container.select2-container--default .select2-selection--single { height: var(--mj-input-h); position: relative; }
.select2-container.select2-container--default .select2-selection--single .select2-selection__rendered { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.select2-container.select2-container--default .select2-selection--single .select2-selection__rendered { padding-left: .75rem; padding-right: 2rem; line-height: 1.5; color: var(--mj-ink); width: 100%; }
.select2-container.select2-container--default .select2-selection--single .select2-selection__placeholder { color: var(--mj-faint); }
.select2-container.select2-container--default .select2-selection--single .select2-selection__arrow { height: 100%; top: 0; right: .45rem; width: 20px; }
.select2-container.select2-container--default .select2-selection--single .select2-selection__arrow b { display: none; }
.select2-container.select2-container--default .select2-selection--single .select2-selection__arrow::after {
    content: ""; position: absolute; inset: 0; background: var(--mj-chevron) center / 14px 14px no-repeat;
}
.select2-container.select2-container--default .select2-selection--single .select2-selection__clear { margin-right: 1.6rem; color: var(--mj-faint); font-size: 1.1rem; }
.select2-container.select2-container--default.select2-container--focus .select2-selection--single,
.select2-container.select2-container--default.select2-container--open .select2-selection--single,
.select2-container.select2-container--default.select2-container--focus .select2-selection--multiple { border-color: #a5b4fc; box-shadow: var(--mj-ring); outline: 0; }
.select2-container.select2-container--default .select2-selection--multiple { padding: 2px 6px; flex-wrap: wrap; }
.select2-container.select2-container--default .select2-selection--multiple .select2-selection__choice {
    margin: 3px 4px 3px 0; padding: 1px 8px 1px 20px; font-size: .78rem; color: var(--mj-primary-hover);
    background: var(--mj-primary-soft); border: 1px solid #e0e7ff; border-radius: var(--mj-radius-sm);
}
.select2-container .select2-dropdown { border: 1px solid var(--mj-border); border-radius: var(--mj-radius-lg); box-shadow: var(--mj-shadow-lg); overflow: hidden; z-index: 1060; }
.select2-container.select2-container--open .select2-dropdown--below { margin-top: 4px; border-top: 1px solid var(--mj-border); border-radius: var(--mj-radius-lg); }
.select2-container.select2-container--open .select2-dropdown--above { margin-top: -4px; border-bottom: 1px solid var(--mj-border); border-radius: var(--mj-radius-lg); }
.select2-container.select2-container--default .select2-search--dropdown { padding: 8px; }
.select2-container.select2-container--default .select2-search--dropdown .select2-search__field {
    padding: .35rem .6rem; border: 1px solid var(--mj-border-strong); border-radius: var(--mj-radius-sm); outline: 0; font-size: .85rem;
}
.select2-container.select2-container--default .select2-search--dropdown .select2-search__field:focus { border-color: #a5b4fc; box-shadow: var(--mj-ring); }
.select2-container.select2-container--default .select2-results > .select2-results__options { max-height: 260px; padding: 4px; }
.select2-container.select2-container--default .select2-results__option { padding: 7px 10px; border-radius: var(--mj-radius-sm); color: var(--mj-text-2); }
.select2-container.select2-container--default .select2-results__option--highlighted.select2-results__option--selectable,
.select2-container.select2-container--default .select2-results__option--highlighted[aria-selected] { background-color: var(--mj-primary-soft); color: #312e81; }
.select2-container.select2-container--default .select2-results__option--selected,
.select2-container.select2-container--default .select2-results__option[aria-selected="true"] { background-color: var(--mj-primary); color: #fff; }
.select2-container.select2-container--default .select2-results__option--disabled { color: var(--mj-faint); }
.select2-container.select2-container--default .select2-results__message { color: var(--mj-muted); }
.select2-container.select2-container--default.select2-container--disabled .select2-selection--single { background-color: var(--mj-subtle); }

/* ---------------------------------------------------------------- Yazdırma */
@media print {
    .btn, .pagination, .mj-sidebar, .mj-topbar, .inv-bar { display: none !important; }
    .card { box-shadow: none !important; border: 1px solid #ddd !important; }
    body { background: #fff !important; }
}
