/* =========================================================================
   RİMAY YÖNETİM SİSTEMİ — TASARIM
   ========================================================================= */
:root {
  --bg: #f4f5f1;
  --surface: #ffffff;
  --surface-2: #f8f9f6;
  --border: #e2e5dc;
  --border-strong: #cfd4c8;
  --text: #1d2a26;
  --muted: #6b7671;
  --primary: #17816a;
  --primary-ink: #0f5e4d;
  --primary-soft: #e3f2ed;
  --side: #10302a;
  --side-2: #163d35;
  --side-text: #c9dbd5;
  --side-icon: #7fa89c;
  --side-dim: #8fb1a7;
  --side-head: #eef6f3;
  --logo-a: #2bb38f;
  --ok: #1f8a4c;  --ok-soft: #e1f3e8;
  --warn: #b7791f; --warn-soft: #fbf0d9;
  --danger: #c2412d; --danger-soft: #fbe6e1;
  --info: #2d6cb5; --info-soft: #e3edf9;
  --radius: 10px;
  --shadow: 0 1px 2px rgba(16, 48, 42, .06), 0 4px 14px rgba(16, 48, 42, .05);
  --hover: #f7faf8;
  --muted-soft: #eef0eb;
  --avatar-bg: #d6ebe4;
  --primary-line: #c3e2d8;
  --danger-line: #f1c4ba;
  --aaf-line: #d99a8d;
  --aaf-th: #fdf6f4;
  color-scheme: light;
  --font: 'Plus Jakarta Sans', system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif;
}
/* karanlık tema */
:root[data-theme="dark"] {
  --bg: #0e1513;
  --surface: #151f1c;
  --surface-2: #1a2622;
  --border: #25352f;
  --border-strong: #34483f;
  --text: #e2ebe7;
  --muted: #92a69e;
  --primary: #22a483;
  --primary-ink: #6fd4b4;
  --primary-soft: #16332b;
  --side: #0a1210;
  --side-2: #10201b;
  --side-text: #b9cdc6;
  --ok: #5fcf8e; --ok-soft: #173326;
  --warn: #e7b35a; --warn-soft: #3a2e14;
  --danger: #ef7a65; --danger-soft: #3d1d17;
  --info: #79a9e8; --info-soft: #172a42;
  --hover: #1c2a26;
  --muted-soft: #22302b;
  --avatar-bg: #1f3d34;
  --primary-line: #255346;
  --danger-line: #5a2b22;
  --aaf-line: #6b3a31;
  --aaf-th: #241c1a;
  --shadow: 0 1px 2px rgba(0,0,0,.3), 0 4px 14px rgba(0,0,0,.25);
  color-scheme: dark;
}
* { box-sizing: border-box; }
html, body { margin: 0; height: 100%; }
body { font-family: var(--font); font-size: 14px; color: var(--text); background: var(--bg); -webkit-font-smoothing: antialiased; }
a { color: var(--primary-ink); text-decoration: none; }
h1, h2, h3, h4 { margin: 0; font-weight: 700; letter-spacing: -.01em; }
.hidden { display: none !important; }
.muted { color: var(--muted); }
.small { font-size: 12px; }
.mt { margin-top: 14px; }
.right { display: flex; justify-content: flex-end; gap: 8px; flex-wrap: wrap; }
.ok { color: var(--ok); } .neg { color: var(--danger); }

/* ---------------------------------------------------------------- giriş */
.login { display: grid; grid-template-columns: 1.1fr 1fr; min-height: 100vh; }
.login-art { background: radial-gradient(circle at 20% 15%, color-mix(in srgb, var(--primary) 45%, var(--side)) 0, transparent 55%), radial-gradient(circle at 85% 90%, color-mix(in srgb, var(--logo-a) 40%, var(--side)) 0, transparent 50%), var(--side);
  color: #e9f3ef; display: flex; align-items: flex-end; padding: 56px; }
.login-art h1 { font-size: 34px; line-height: 1.15; margin-bottom: 14px; }
.login-art p { color: var(--side-text); max-width: 440px; line-height: 1.6; margin: 0; }
.login-side { display: flex; align-items: center; justify-content: center; padding: 32px 16px; }
.login-card { width: 100%; max-width: 400px; }
.login-card h2 { font-size: 24px; margin: 28px 0 6px; }
.login-card form { margin-top: 20px; display: flex; flex-direction: column; gap: 14px; }
.login-err { background: var(--danger-soft); color: var(--danger); padding: 10px 12px; border-radius: 8px; font-weight: 600; }
.brand-big { display: flex; align-items: center; gap: 12px; }
.brand-big b { display: block; font-size: 20px; }
.brand-big small { color: var(--muted); }
.brand-big .logo { width: 46px; height: 46px; font-size: 20px; }

/* ---------------------------------------------------------------- kabuk */
.app { display: flex; min-height: 100vh; }
.sidebar { width: 268px; flex-shrink: 0; background: var(--side); color: var(--side-text); display: flex; flex-direction: column; position: sticky; top: 0; height: 100vh; }
.brand { display: flex; align-items: center; gap: 12px; padding: 20px 18px; border-bottom: 1px solid rgba(255,255,255,.07); }
.brand b { color: #fff; font-size: 17px; display: block; }
.brand small { color: var(--side-dim); font-size: 12px; }
.logo { width: 38px; height: 38px; border-radius: 10px; background: linear-gradient(135deg, var(--logo-a), var(--primary)); color: #fff; display: grid; place-items: center; font-size: 17px; flex-shrink: 0; }
#nav { flex: 1; overflow-y: auto; padding: 12px 6px 12px 10px; scrollbar-gutter: stable; }
/* menü kaydırma çubuğu: koyu zemine uyumlu, ince, yalnızca üzerine gelince belirginleşir */
#nav::-webkit-scrollbar { width: 6px; }
#nav::-webkit-scrollbar-track { background: transparent; margin: 6px 0; }
#nav::-webkit-scrollbar-thumb { background: color-mix(in srgb, var(--side-icon) 32%, transparent); border-radius: 999px; }
#nav:hover::-webkit-scrollbar-thumb { background: color-mix(in srgb, var(--side-icon) 60%, transparent); }
#nav::-webkit-scrollbar-thumb:active { background: var(--logo-a); }
#nav::-webkit-scrollbar-button { display: none; height: 0; }
.nav-item, .nav-head { display: flex; align-items: center; gap: 11px; width: 100%; padding: 9px 12px; border-radius: 8px; color: var(--side-text); font: inherit; background: none; border: 0; cursor: pointer; text-align: left; }
.nav-item i, .nav-head > i:first-child { width: 18px; text-align: center; color: var(--side-icon); }
.nav-item:hover, .nav-head:hover { background: rgba(255,255,255,.06); color: #fff; }
.nav-item.active { background: var(--primary); color: #fff; font-weight: 600; }
.nav-item.active i { color: #fff; }
.nav-head { font-weight: 700; color: var(--side-head); margin-top: 8px; }
.nav-head span { flex: 1; }
.nav-head .caret { font-size: 11px; transition: transform .2s; color: var(--side-icon); }
.nav-group.open .caret { transform: rotate(180deg); }
.nav-sub { display: none; padding-left: 14px; border-left: 1px solid rgba(255,255,255,.08); margin-left: 20px; }
.nav-group.open .nav-sub { display: block; }
.nav-sub .nav-item { font-size: 13.5px; padding: 8px 10px; }
.side-user { display: flex; align-items: center; gap: 10px; padding: 14px 16px; border-top: 1px solid rgba(255,255,255,.07); }
.su-text { flex: 1; min-width: 0; }
.su-text b { display: block; color: #fff; font-size: 13.5px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.su-text small { color: var(--side-dim); font-size: 12px; }
.side-user .icon-btn { color: var(--side-text); }
.side-copy { padding: 10px 16px 14px; font-size: 11px; color: var(--side-icon); border-top: 1px solid rgba(255,255,255,.07); }
.avatar { border-radius: 50%; object-fit: cover; display: inline-grid; place-items: center; background: var(--avatar-bg); color: var(--primary-ink); font-weight: 700; flex-shrink: 0; vertical-align: middle; }

.content { flex: 1; min-width: 0; display: flex; flex-direction: column; }
.topbar { display: flex; align-items: center; gap: 16px; padding: 14px 28px; background: var(--surface); border-bottom: 1px solid var(--border); position: sticky; top: 0; z-index: 20; }
.page-heading { flex: 1; min-width: 0; }
.page-heading small { color: var(--muted); font-size: 12px; }
.page-heading h1 { font-size: 20px; }
.firm-switch { display: flex; align-items: center; gap: 10px; background: var(--primary-soft); border: 1px solid var(--primary-line); padding: 8px 12px; border-radius: 10px; }
.firm-switch > i { color: var(--primary); font-size: 18px; }
.firm-switch label { display: block; font-size: 11px; font-weight: 700; color: var(--primary-ink); text-transform: uppercase; letter-spacing: .04em; }
.firm-switch label span { text-transform: none; font-weight: 500; color: var(--muted); letter-spacing: 0; }
.firm-switch select { border: 0; background: transparent; font: inherit; font-weight: 700; color: var(--text); padding: 2px 0; min-width: 240px; max-width: 340px; cursor: pointer; outline: none; }
.main { padding: 24px 28px 48px; flex: 1; }

/* ---------------------------------------------------------------- bileşenler */
.card { background: var(--surface); border: 1px solid var(--border); border-radius: var(--radius); padding: 20px; box-shadow: var(--shadow); margin-bottom: 20px; }
.card-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 14px; flex-wrap: wrap; }
.card-head h3 { font-size: 16px; display: flex; align-items: center; gap: 9px; }
.card-head h3 i { color: var(--primary); }
.sub-h { font-size: 14px; margin: 20px 0 10px; }
.hero { display: flex; justify-content: space-between; align-items: center; gap: 12px; margin-bottom: 20px; flex-wrap: wrap; }
.hero h2 { font-size: 24px; }
.hero p { margin: 4px 0 0; color: var(--muted); }
.two-col { display: grid; grid-template-columns: 1fr 1.25fr; gap: 20px; align-items: start; }
.two-col .card { margin-bottom: 0; }
.two-col + .card { margin-top: 20px; }

.btn { display: inline-flex; align-items: center; justify-content: center; gap: 7px; padding: 8px 14px; border-radius: 8px; border: 1px solid var(--border-strong); background: var(--surface); color: var(--text); font: inherit; font-weight: 600; cursor: pointer; white-space: nowrap; transition: background .15s, border-color .15s; }
.btn:hover:not(:disabled) { border-color: var(--primary); }
.btn:disabled { opacity: .45; cursor: not-allowed; }
.btn-primary { background: var(--primary); border-color: var(--primary); color: #fff; }
.btn-primary:hover:not(:disabled) { background: var(--primary-ink); }
.btn-danger { background: var(--danger); border-color: var(--danger); color: #fff; }
.btn-danger-soft { background: var(--danger-soft); border-color: var(--danger-line); color: var(--danger); }
.btn-block { width: 100%; }
.btn-xs { padding: 4px 9px; font-size: 12px; }
.icon-btn { border: 0; background: none; cursor: pointer; width: 32px; height: 32px; border-radius: 8px; color: var(--muted); font-size: 15px; display: inline-grid; place-items: center; }
.icon-btn:hover { background: var(--surface-2); color: var(--primary-ink); }

.input { width: 100%; padding: 9px 11px; border: 1px solid var(--border-strong); border-radius: 8px; font: inherit; color: var(--text); background: var(--surface); outline: none; }
.input:focus { border-color: var(--primary); box-shadow: 0 0 0 3px color-mix(in srgb, var(--primary) 16%, transparent); }
.input:disabled, .input[readonly] { background: var(--surface-2); color: var(--muted); }
.input.money { text-align: right; font-variant-numeric: tabular-nums; }
.w-auto { width: auto; }
.field { display: flex; flex-direction: column; gap: 5px; }
.field label { font-weight: 600; font-size: 13px; }
.field small { color: var(--muted); font-size: 12px; }
.field.wide { grid-column: 1 / -1; }
.req { color: var(--danger); }
.form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.check { display: inline-flex; align-items: center; gap: 8px; cursor: pointer; font-weight: 500; }
.check.wide { grid-column: 1 / -1; }
.check input { width: 16px; height: 16px; accent-color: var(--primary); }
.inline-form { display: flex; gap: 8px; margin-bottom: 12px; flex-wrap: wrap; }
.inline-form .input { flex: 1; min-width: 140px; }
.inline-form select.input:first-child { flex: 0 0 110px; min-width: 0; }

.toolbar { display: flex; justify-content: space-between; align-items: center; gap: 12px; flex-wrap: wrap; background: var(--surface); border: 1px solid var(--border); border-radius: var(--radius); padding: 10px 12px; margin-bottom: 12px; }
.toolbar-group { display: flex; gap: 8px; align-items: center; flex-wrap: wrap; }
.toolbar-group .extra { display: contents; }
.tb-sep { width: 1px; height: 26px; background: var(--border); margin: 0 4px; }
.search { position: relative; }
.search i { position: absolute; left: 11px; top: 50%; transform: translateY(-50%); color: var(--muted); font-size: 13px; }
.search input { background: var(--surface); color: var(--text); padding: 8px 10px 8px 32px; border: 1px solid var(--border-strong); border-radius: 8px; font: inherit; width: 240px; outline: none; }
.search input:focus { border-color: var(--primary); }
.seg { display: inline-flex; border: 1px solid var(--border-strong); border-radius: 8px; overflow: hidden; }
.seg button { border: 0; background: var(--surface); padding: 8px 12px; font: inherit; font-weight: 600; cursor: pointer; color: var(--muted); display: inline-flex; gap: 6px; align-items: center; }
.seg button + button { border-left: 1px solid var(--border-strong); }
.seg button.on { background: var(--primary); color: #fff; }

.page-intro { background: var(--surface); border: 1px solid var(--border); border-left: 3px solid var(--primary); border-radius: 8px; padding: 10px 14px; margin-bottom: 12px; color: var(--muted); }
.page-intro i { color: var(--primary); margin-right: 6px; }

.table-wrap { background: var(--surface); border: 1px solid var(--border); border-radius: var(--radius); overflow-x: auto; box-shadow: var(--shadow); }
.grid { width: 100%; border-collapse: collapse; }
.grid th { text-align: left; font-size: 12px; font-weight: 700; color: var(--muted); text-transform: uppercase; letter-spacing: .03em; padding: 11px 12px; background: var(--surface-2); border-bottom: 1px solid var(--border); white-space: nowrap; }
.grid td { padding: 10px 12px; border-bottom: 1px solid var(--border); vertical-align: middle; }
.grid tbody tr:last-child td { border-bottom: 0; }
.grid tbody tr[data-id] { cursor: pointer; }
.grid tbody tr[data-id]:hover, .grid tr.link:hover { background: var(--hover); cursor: pointer; }
.grid tbody tr.sel { background: var(--primary-soft) !important; box-shadow: inset 3px 0 0 var(--primary); }
.grid tfoot td { font-weight: 700; background: var(--surface-2); border-top: 2px solid var(--border-strong); padding: 11px 12px; }
.grid .num { text-align: right; font-variant-numeric: tabular-nums; white-space: nowrap; }
.grid .c { text-align: center; }
.grid .actions { text-align: right; white-space: nowrap; width: 1%; }
.grid .empty, p.empty { text-align: center; color: var(--muted); padding: 28px 12px; }
.card .grid, .modal .grid { border: 1px solid var(--border); border-radius: 8px; }
.table-info { color: var(--muted); font-size: 12px; margin-top: 8px; }
.clip { display: inline-block; max-width: 260px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; vertical-align: bottom; }
.who { display: inline-flex; align-items: center; gap: 8px; }

.badge { display: inline-flex; align-items: center; gap: 4px; padding: 2px 8px; border-radius: 999px; font-size: 11.5px; font-weight: 700; white-space: nowrap; background: var(--surface-2); color: var(--muted); }
.b-ok { background: var(--ok-soft); color: var(--ok); }
.b-warn { background: var(--warn-soft); color: var(--warn); }
.b-danger { background: var(--danger-soft); color: var(--danger); }
.b-info { background: var(--info-soft); color: var(--info); }
.b-muted { background: var(--muted-soft); color: var(--muted); }

.tabs { display: flex; gap: 4px; box-shadow: inset 0 -1px 0 var(--border); margin-bottom: 16px; overflow-x: auto; overflow-y: hidden; scrollbar-width: none; }
.tabs::-webkit-scrollbar { display: none; }
.tabs button { border: 0; background: none; padding: 10px 14px; font: inherit; font-weight: 600; color: var(--muted); cursor: pointer; border-bottom: 3px solid transparent; white-space: nowrap; display: inline-flex; gap: 7px; align-items: center; }
.tabs button.on { color: var(--primary-ink); border-bottom-color: var(--primary); }
.tabs.big button { font-size: 15px; padding: 12px 18px; }

.kpis { display: grid; grid-template-columns: repeat(auto-fit, minmax(190px, 1fr)); gap: 12px; margin-bottom: 4px; }
.kpis.small { grid-template-columns: repeat(3, 1fr); margin-bottom: 16px; }
.kpi { display: flex; align-items: center; gap: 12px; padding: 14px 16px; background: var(--surface); border: 1px solid var(--border); border-radius: var(--radius); color: var(--text); transition: border-color .15s, transform .15s; }
a.kpi:hover { border-color: var(--primary); transform: translateY(-1px); }
.kpi > i { width: 40px; height: 40px; border-radius: 10px; background: var(--primary-soft); color: var(--primary); display: grid; place-items: center; font-size: 16px; flex-shrink: 0; }
.kpi small { display: block; color: var(--muted); font-size: 12px; font-weight: 600; }
.kpi b { font-size: 20px; font-variant-numeric: tabular-nums; }
.kpi.accent { background: var(--primary); border-color: var(--primary); color: #fff; }
.kpi.accent small { color: #cde9df; } .kpi.accent > i { background: rgba(255,255,255,.15); color: #fff; }
.kpis.small .kpi { justify-content: center; text-align: center; background: var(--surface-2); }
.card > .kpis { margin-bottom: 0; }
.main > .kpis { margin-bottom: 16px; }

.tiles { display: grid; grid-template-columns: repeat(auto-fill, minmax(170px, 1fr)); gap: 10px; }
.tile { display: flex; flex-direction: column; gap: 8px; padding: 14px; border: 1px solid var(--border); border-radius: var(--radius); background: var(--surface-2); color: var(--text); position: relative; transition: border-color .15s, background .15s; }
.tile:hover { border-color: var(--primary); background: var(--primary-soft); }
.tile i { color: var(--primary); font-size: 18px; }
.tile span { font-weight: 600; font-size: 13px; }
.tile b { position: absolute; top: 12px; right: 14px; font-size: 18px; color: var(--primary-ink); }
.firm-pick { display: flex; flex-wrap: wrap; gap: 8px; }
.chip { border: 1px solid var(--border-strong); background: var(--surface); padding: 8px 14px; border-radius: 999px; font: inherit; font-weight: 600; cursor: pointer; display: inline-flex; gap: 7px; align-items: center; }
.chip:hover { border-color: var(--primary); background: var(--primary-soft); }
.chip i { color: var(--primary); }

.empty-state { text-align: center; padding: 70px 20px; color: var(--muted); }
.empty-state i { font-size: 42px; color: var(--border-strong); margin-bottom: 14px; }
.empty-state h3 { color: var(--text); font-size: 18px; margin-bottom: 6px; }
.empty-state p { max-width: 460px; margin: 0 auto; line-height: 1.6; }

.note { background: var(--info-soft); color: var(--info); padding: 10px 12px; border-radius: 8px; font-weight: 500; }
.note.warn { background: var(--warn-soft); color: var(--warn); }
.soft-box { background: var(--surface-2); border: 1px dashed var(--border-strong); border-radius: var(--radius); padding: 16px; }
.soft-box h4 { margin-bottom: 12px; }
ul.plain { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: 8px; }
ul.plain li { display: flex; align-items: center; gap: 8px; }
.upload { display: flex; flex-direction: column; align-items: center; gap: 8px; padding: 22px; margin-top: 12px; border: 2px dashed var(--border-strong); border-radius: var(--radius); cursor: pointer; color: var(--muted); font-weight: 600; background: var(--surface-2); }
.upload input { display: none; }
.upload i { font-size: 30px; color: var(--ok); }
.profile-photo { display: flex; align-items: center; gap: 14px; margin-bottom: 16px; }

/* yetki kutuları */
.perm-groups { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; }
.perm-group { border: 1px solid var(--border); border-radius: var(--radius); padding: 12px; display: flex; flex-direction: column; gap: 8px; background: var(--surface-2); }
.perm-group .head { padding-bottom: 8px; border-bottom: 1px solid var(--border); }
.perm-group .head i { color: var(--primary); }
.matrix th .vert { display: flex; flex-direction: column; align-items: center; gap: 4px; text-transform: none; font-size: 12px; color: var(--text); letter-spacing: 0; max-width: 110px; white-space: normal; }
.matrix tr.grp td { background: var(--primary-soft); font-weight: 700; color: var(--primary-ink); }
.matrix input { width: 17px; height: 17px; accent-color: var(--primary); cursor: pointer; }

/* AAF */
.param-bar { display: flex; gap: 14px; align-items: flex-end; flex-wrap: wrap; background: var(--surface-2); border: 1px solid var(--border); border-radius: var(--radius); padding: 14px; margin-bottom: 14px; }
.param-bar .field { flex: 1; min-width: 160px; }
.param-bar .field .input:not(.hidden) + .input { margin-top: 6px; }
[data-pane] > .field { margin-bottom: 14px; }
.result { margin-top: 18px; }
ul.calc { line-height: 1.9; }
.aaf-table { margin-top: 16px; overflow-x: auto; }
.aaf-table table { width: 100%; border-collapse: collapse; font-size: 13px; }
.aaf-table th, .aaf-table td { border: 1px solid var(--aaf-line); padding: 7px 9px; text-align: center; }
.aaf-table th { background: var(--aaf-th); font-weight: 700; }
.aaf-table .t-title { background: var(--surface); font-size: 14px; letter-spacing: .03em; }
.aaf-table .r { text-align: right; } .aaf-table .l { text-align: left; }

/* fatura kontrol */
.grid.fatura td { padding: 6px 8px; }
.input.cell { padding: 6px 8px; min-width: 110px; }
.month { width: 30px; height: 30px; border-radius: 8px; border: 1.5px dashed var(--border-strong); background: var(--surface); cursor: pointer; color: #fff; }
.month:hover { border-color: var(--primary); }
.month.on { background: var(--ok); border: 1.5px solid var(--ok); }

/* modal */
.modal-backdrop { position: fixed; inset: 0; background: rgba(16, 32, 28, .45); display: flex; align-items: flex-start; justify-content: center; padding: 5vh 16px; z-index: 100; overflow-y: auto; animation: fade .15s; }
.modal { background: var(--surface); border-radius: 14px; max-width: 100%; box-shadow: 0 20px 60px rgba(0,0,0,.25); display: flex; flex-direction: column; animation: pop .18s; }
.modal-head { display: flex; justify-content: space-between; align-items: center; padding: 16px 20px; border-bottom: 1px solid var(--border); }
.modal-head h3 { font-size: 17px; display: flex; gap: 9px; align-items: center; }
.modal-head h3 i { color: var(--primary); }
.modal-body { padding: 20px; }
.modal-body p:first-child { margin-top: 0; }
.modal-foot { display: flex; justify-content: flex-end; gap: 8px; padding: 14px 20px; border-top: 1px solid var(--border); background: var(--surface-2); border-radius: 0 0 14px 14px; }
@keyframes fade { from { opacity: 0; } }
@keyframes pop { from { transform: translateY(8px) scale(.98); opacity: 0; } }

.toast-box { position: fixed; right: 20px; bottom: 20px; display: flex; flex-direction: column; gap: 8px; z-index: 200; }
.toast { background: var(--side); color: #fff; padding: 11px 16px; border-radius: 10px; box-shadow: 0 8px 24px rgba(0,0,0,.2); display: flex; gap: 9px; align-items: center; max-width: 380px; transition: opacity .3s, transform .3s; }
.toast-ok i { color: #6be0b5; } .toast-warn i { color: #f5c46b; } .toast-err i { color: #ff8c78; }
.toast.out { opacity: 0; transform: translateY(8px); }

/* ---------------------------------------------------------------- daraltılmış menü (geniş ekran) */
.sidebar { transition: width .2s; }
@media (min-width: 821px) {
  body.nav-collapsed .sidebar { width: 72px; }
  body.nav-collapsed .brand { justify-content: center; padding: 20px 0; }
  body.nav-collapsed .brand > div,
  body.nav-collapsed .nav-item span, body.nav-collapsed .nav-head span, body.nav-collapsed .nav-head .caret,
  body.nav-collapsed .su-text, body.nav-collapsed .side-copy { display: none; }
  body.nav-collapsed #nav { padding: 12px 8px; }
  body.nav-collapsed .nav-item, body.nav-collapsed .nav-head { justify-content: center; padding: 10px 0; }
  body.nav-collapsed .nav-head { margin-top: 10px; border-top: 1px solid rgba(255,255,255,.08); border-radius: 0; padding-top: 12px; pointer-events: none; }
  body.nav-collapsed .nav-head > i:first-child { color: color-mix(in srgb, var(--side-icon) 75%, var(--side)); font-size: 12px; }
  body.nav-collapsed .nav-sub { display: block; margin: 0; padding: 0; border: 0; }
  body.nav-collapsed .side-user { flex-direction: column; gap: 6px; padding: 12px 0; }
  body.nav-collapsed .su-caret { display: none; }
  body.nav-collapsed .su-trigger { flex: none; justify-content: center; margin: 0; }
}

/* ---------------------------------------------------------------- mobil */
@media (max-width: 980px) {
  .two-col { grid-template-columns: 1fr; }
  .perm-groups { grid-template-columns: 1fr; }
  .login { grid-template-columns: 1fr; }
  .login-art { display: none; }
}
@media (max-width: 820px) {
  .sidebar { position: fixed; left: 0; top: 0; z-index: 60; transform: translateX(-100%); transition: transform .2s; }
  body.nav-open .sidebar { transform: none; }
  .nav-backdrop { display: none; }
  body.nav-open .nav-backdrop { display: block; position: fixed; inset: 0; background: rgba(0,0,0,.35); z-index: 50; }
  .topbar { flex-wrap: wrap; padding: 12px 16px; }
  .firm-switch { width: 100%; }
  .firm-switch select { min-width: 0; width: 100%; max-width: none; }
  .firm-switch > div { flex: 1; }
  .main { padding: 16px 16px 40px; }
  .form-grid { grid-template-columns: 1fr; }
  .search input { width: 100%; }
  .search { width: 100%; }
  .kpis.small { grid-template-columns: 1fr 1fr 1fr; }
}

/* profil fotoğrafı ayarlama penceresi */
.crop-stage { position: relative; width: 300px; max-width: 100%; aspect-ratio: 1; margin: 0 auto; border-radius: 12px; overflow: hidden; background: var(--muted-soft); }
.crop-stage canvas { width: 100%; height: 100%; display: block; cursor: grab; touch-action: none; }
.crop-stage canvas.drag { cursor: grabbing; }
.crop-mask { position: absolute; inset: 0; border-radius: 50%; box-shadow: 0 0 0 999px rgba(16, 48, 42, .55); outline: 2px solid rgba(255, 255, 255, .9); pointer-events: none; }
.crop-hint { text-align: center; margin: 12px 0 6px; }
.crop-tools { display: flex; align-items: center; gap: 10px; }
.crop-zoom { flex: 1; accent-color: var(--primary); }

/* bildirimler */
.notif-wrap { position: relative; }
.notif-btn { width: 40px; height: 40px; font-size: 18px; border: 1px solid var(--border); background: var(--surface); position: relative; }
.notif-count { position: absolute; top: -5px; right: -6px; min-width: 19px; height: 19px; padding: 0 5px; border-radius: 999px; background: var(--danger); color: #fff; font-size: 11px; font-weight: 700; display: grid; place-items: center; border: 2px solid var(--surface); }
.notif-panel { position: absolute; right: 0; top: calc(100% + 8px); width: 400px; max-width: calc(100vw - 32px); background: var(--surface); border: 1px solid var(--border); border-radius: 12px; box-shadow: 0 16px 40px rgba(16,48,42,.18); z-index: 40; overflow: hidden; }
.notif-head { display: flex; justify-content: space-between; align-items: center; gap: 8px; padding: 12px 14px; border-bottom: 1px solid var(--border); flex-wrap: wrap; }
.notif-list { max-height: 60vh; overflow-y: auto; }
.notif { display: flex; gap: 12px; width: 100%; text-align: left; padding: 12px 14px; border: 0; border-bottom: 1px solid var(--border); background: none; font: inherit; color: var(--text); cursor: pointer; }
.notif:hover { background: var(--surface-2); }
.notif.unread { background: var(--primary-soft); }
.notif.unread p { font-weight: 600; }
.notif .n-ic { width: 32px; height: 32px; border-radius: 8px; background: var(--surface); border: 1px solid var(--border); color: var(--primary); display: grid; place-items: center; flex-shrink: 0; font-size: 13px; }
.notif p { margin: 0 0 3px; line-height: 1.4; }
.notif b { font-size: 13px; }
.notif ul { margin: 4px 0; padding-left: 16px; font-size: 12px; color: var(--muted); }
.notif small { color: var(--muted); font-size: 11.5px; }
.notif-empty { text-align: center; padding: 34px 16px; color: var(--muted); }
.notif-empty i { font-size: 26px; }

/* koordinatör paneli */
.koord-filters { display: flex; gap: 12px; flex-wrap: wrap; align-items: flex-end; margin-bottom: 14px; }
.koord-filters .field { min-width: 240px; }
.koord-detail-head { display: flex; justify-content: space-between; align-items: center; gap: 12px; flex-wrap: wrap; margin-bottom: 12px; }
.koord-detail-head h3 { font-size: 17px; }
.tabs .cnt { background: var(--surface-2); border-radius: 999px; padding: 0 7px; font-size: 11px; color: var(--muted); }

/* tema düğmeleri (sağ üst) */
.theme-switch { display: inline-flex; border: 1px solid var(--border); border-radius: 10px; padding: 3px; background: var(--surface-2); gap: 2px; }
.theme-switch button { width: 34px; height: 32px; border: 0; border-radius: 7px; background: none; color: var(--muted); cursor: pointer; font-size: 15px; }
.theme-switch button:hover { color: var(--text); }
.theme-switch button.on { background: var(--surface); color: var(--primary); box-shadow: var(--shadow); }
.theme-switch button[data-tema="light"].on { color: #e0a000; }
.theme-seg button.on { background: var(--primary); color: #fff; }

/* sol alt kullanıcı menüsü (yukarı açılır) */
.side-user { position: relative; }
.su-trigger { flex: 1; min-width: 0; display: flex; align-items: center; gap: 10px; background: none; border: 0; padding: 6px; margin: -6px; border-radius: 10px; cursor: pointer; font: inherit; text-align: left; color: inherit; }
.su-trigger:hover, .side-user.open .su-trigger { background: rgba(255,255,255,.07); }
.su-caret { color: var(--side-icon); font-size: 11px; transition: transform .2s; }
.side-user.open .su-caret { transform: rotate(180deg); }
.user-menu { position: absolute; left: 10px; right: 10px; bottom: calc(100% + 4px); min-width: 210px; background: var(--surface); color: var(--text); border: 1px solid var(--border); border-radius: 12px; box-shadow: 0 -10px 36px rgba(0,0,0,.28); padding: 6px; z-index: 80; animation: up .16s ease-out; }
@keyframes up { from { opacity: 0; transform: translateY(6px); } }
.um-head { display: flex; align-items: center; gap: 10px; padding: 8px 8px 10px; border-bottom: 1px solid var(--border); margin-bottom: 4px; }
.um-head b { display: block; font-size: 13.5px; } .um-head small { color: var(--muted); font-size: 12px; word-break: break-all; }
.um-item { display: flex; align-items: center; gap: 10px; width: 100%; padding: 9px 10px; border: 0; background: none; border-radius: 8px; font: inherit; font-weight: 600; color: var(--text); cursor: pointer; text-align: left; }
.um-item i { width: 18px; text-align: center; color: var(--primary); }
.um-item:hover { background: var(--hover); }
.um-item.danger, .um-item.danger i { color: var(--danger); }

/* logo */
.brand.has-logo { padding: 14px 16px; justify-content: center; }
.brand-logo { max-height: 46px; max-width: 100%; object-fit: contain; display: block; }
.login-logo { max-height: 64px; max-width: 260px; }
/* "beyaz kenar" seçeneği: koyu sol menüde her zaman, diğer alanlarda karanlık modda uygulanır */
.sidebar .logo-outline, :root[data-theme="dark"] .logo-outline, .lp-dark .logo-outline, .mini-prev .logo-outline {
  --k: var(--logo-kenar, 1px); --nk: calc(-1 * var(--logo-kenar, 1px));
  filter: drop-shadow(var(--k) 0 0 #fff) drop-shadow(var(--nk) 0 0 #fff) drop-shadow(0 var(--k) 0 #fff) drop-shadow(0 var(--nk) 0 #fff);
}
:root[data-theme="dark"] .lp-light .logo-outline { filter: none; }
body.nav-collapsed .brand.has-logo { padding: 14px 6px; }
.logo-grid { display: grid; grid-template-columns: 1.2fr 1fr; gap: 20px; align-items: start; }
.logo-previews { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.lp small { display: block; font-weight: 600; color: var(--muted); margin-bottom: 6px; font-size: 12px; }
.lp-box { height: 110px; border-radius: 10px; display: grid; place-items: center; padding: 14px; border: 1px solid var(--border); }
.lp-light .lp-box { background: #ffffff; }
.lp-dark .lp-box { background: var(--side); }
.lp-box { height: auto; min-height: 110px; }
.lp-dark .lp-box .brand-logo, .lp-light .lp-box .brand-logo { max-height: var(--logo-h, 46px); }
.sidebar .brand-full .brand-logo { max-height: var(--logo-h, 46px); }
.range-field { display: grid; grid-template-columns: 1fr auto; align-items: center; gap: 4px 12px; margin-bottom: 6px; }
.range-field label { grid-column: 1 / -1; font-weight: 600; font-size: 13px; }
.range-field label i { color: var(--primary); margin-right: 4px; }
.range-field input[type=range] { width: 100%; accent-color: var(--primary); }
.range-field input:disabled { opacity: .45; }
.range-field output { min-width: 52px; text-align: right; font-weight: 700; font-variant-numeric: tabular-nums; color: var(--muted); }
.upload small { font-weight: 500; }

/* word şablonları */
.sablon-list { display: flex; flex-direction: column; gap: 10px; }
.sablon-row { display: flex; align-items: center; gap: 14px; padding: 12px 14px; border: 1px solid var(--border); border-radius: 10px; background: var(--surface-2); flex-wrap: wrap; }
.s-ic { width: 38px; height: 38px; border-radius: 9px; background: var(--info-soft); color: var(--info); display: grid; place-items: center; }
.s-info { flex: 1; min-width: 200px; } .s-info b { display: block; } .s-info small { font-size: 12px; }
.s-act { display: flex; gap: 6px; flex-wrap: wrap; }
details.alanlar summary { cursor: pointer; margin-bottom: 8px; }
code { background: var(--muted-soft); padding: 1px 6px; border-radius: 5px; font-size: 12.5px; }
code.copy { cursor: copy; }
code.copy:hover { background: var(--primary-soft); color: var(--primary-ink); }

@media (max-width: 820px) {
  .logo-grid { grid-template-columns: 1fr; }
  .theme-switch button { width: 30px; }
}

/* marka alanı: açık menüde ana logo, kapalı menüde küçük logo */
.brand .brand-full { display: flex; align-items: center; gap: 12px; min-width: 0; width: 100%; }
.brand.has-logo .brand-full { justify-content: center; }
.brand .brand-mini { display: none; }
.brand-logo.mini { width: 40px; height: 40px; object-fit: contain; }
@media (min-width: 821px) {
  body.nav-collapsed .brand .brand-full { display: none; }
  body.nav-collapsed .brand .brand-mini { display: grid; place-items: center; }
}

/* renk teması seçimi */
.palettes { display: grid; grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: 10px; }
.pal { border: 2px solid var(--border); background: var(--surface); border-radius: 12px; padding: 8px; cursor: pointer; font: inherit; color: var(--text); display: flex; flex-direction: column; gap: 8px; text-align: left; transition: border-color .15s, transform .15s; }
.pal:hover { transform: translateY(-1px); border-color: var(--border-strong); }
.pal.on { border-color: var(--primary); box-shadow: 0 0 0 3px color-mix(in srgb, var(--primary) 18%, transparent); }
.pal-mock { display: flex; height: 58px; border-radius: 8px; overflow: hidden; border: 1px solid var(--border); background: #f6f7f4; }
.pm-side { width: 30%; display: flex; flex-direction: column; gap: 5px; padding: 7px 6px; }
.pm-side i { height: 6px; border-radius: 3px; background: rgba(255,255,255,.25); }
.pm-side i:first-child { height: 10px; width: 10px; border-radius: 3px; }
.pm-body { flex: 1; display: flex; flex-direction: column; gap: 5px; padding: 8px; }
.pm-body b { height: 10px; width: 55%; border-radius: 4px; }
.pm-body em { height: 8px; border-radius: 4px; }
.pal-ad { display: flex; align-items: center; gap: 7px; font-weight: 600; font-size: 13px; }
.pal-ad i { width: 12px; height: 12px; border-radius: 50%; flex-shrink: 0; }
.pal-ad input[type=color] { width: 22px; height: 22px; border: 0; padding: 0; background: none; cursor: pointer; }

/* kapalı menü logosu */
.mini-row { display: flex; gap: 14px; align-items: center; }
.mini-prev { width: 72px; height: 72px; border-radius: 14px; display: grid; place-items: center; flex-shrink: 0; background: var(--side); border: 1px solid var(--border); }
.mini-prev .brand-logo.mini { width: 48px; height: 48px; }
.upload.small-upload { padding: 14px; margin-top: 0; }
.upload.small-upload i { font-size: 22px; }

/* ayarlar kaydet çubuğu */
.save-bar { position: sticky; bottom: 0; display: flex; align-items: center; gap: 10px; justify-content: flex-end; padding: 14px 18px; margin: 4px -4px 0; background: var(--surface); border: 1px solid var(--border); border-radius: 12px; box-shadow: 0 -6px 20px rgba(0,0,0,.06); z-index: 15; }
.save-bar .sb-msg { margin-right: auto; color: var(--muted); font-weight: 600; }
.save-bar.dirty { border-color: var(--warn); background: color-mix(in srgb, var(--warn-soft) 70%, var(--surface)); }
.save-bar.dirty .sb-msg { color: var(--warn); }

/* bayram mesajı (Ana Sayfa) */
.bayram { position: relative; display: flex; gap: 16px; align-items: center; padding: 18px 20px; margin-bottom: 20px; border-radius: 14px; color: #fff; overflow: hidden;
  background: linear-gradient(120deg, var(--primary-ink), var(--primary) 60%, var(--logo-a)); box-shadow: var(--shadow); }
.bayram.resmi { background: linear-gradient(120deg, #9b1c1c, #d42a2a 65%, #e85a4f); }
.bayram.anma { background: linear-gradient(120deg, #2b2f36, #475060); }
.bayram.dogum { background: linear-gradient(120deg, #7b2f8e, #c2417f 60%, #f08a5d); }
.bayram::after { content: ""; position: absolute; right: -40px; top: -40px; width: 180px; height: 180px; border-radius: 50%; background: rgba(255,255,255,.08); }
.by-ic { width: 54px; height: 54px; border-radius: 14px; background: rgba(255,255,255,.16); display: grid; place-items: center; font-size: 24px; flex-shrink: 0; }
.by-txt { flex: 1; position: relative; z-index: 1; }
.by-txt small { font-weight: 700; letter-spacing: .04em; text-transform: uppercase; font-size: 11.5px; opacity: .85; }
.by-txt p { margin: 4px 0 6px; font-size: 16px; font-weight: 600; line-height: 1.45; }
.by-imza { font-size: 12.5px; opacity: .85; }
.by-x { color: rgba(255,255,255,.8); position: relative; z-index: 1; align-self: flex-start; }
.by-x:hover { background: rgba(255,255,255,.15); color: #fff; }
.modal .bayram { margin: 0; }

/* açma / kapama anahtarları */
.switches { display: flex; flex-direction: column; gap: 4px; }
.switch-row { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 10px 12px; border-radius: 10px; cursor: pointer; }
.switch-row:hover { background: var(--hover); }
.switch-row b { display: block; } .switch-row small { color: var(--muted); font-size: 12.5px; }
.switch-row.off { opacity: .5; cursor: default; }
.switch { appearance: none; -webkit-appearance: none; width: 42px; height: 24px; border-radius: 999px; background: var(--border-strong); position: relative; cursor: pointer; flex-shrink: 0; transition: background .2s; margin: 0; }
.switch::after { content: ""; position: absolute; top: 3px; left: 3px; width: 18px; height: 18px; border-radius: 50%; background: #fff; box-shadow: 0 1px 3px rgba(0,0,0,.25); transition: transform .2s; }
.switch:checked { background: var(--primary); }
.switch:checked::after { transform: translateX(18px); }
.switch:disabled { cursor: default; }
.switch:focus-visible { outline: 2px solid var(--primary); outline-offset: 2px; }
.grid tr.pasif td { opacity: .5; }
.input.input-sm { padding: 5px 8px; width: auto; display: inline-block; }

/* yas günü: ekranın tepesinden sarkan Türk bayrağı */
.yas { position: relative; display: flex; gap: 24px; align-items: stretch; margin: -24px 0 22px; padding: 0 28px; --bw: min(var(--bayrak-w, 178px), 34vw); min-height: calc(var(--bw) * 1.53 + 24px);
  background: linear-gradient(180deg, #1b1d20, #2a2d33); color: #eef0f2; border-radius: 0 0 16px 16px; box-shadow: var(--shadow); overflow: hidden; }
.yas::before { content: ""; position: absolute; inset: 0 0 auto 0; height: 4px; background: #000; }
.yas-txt { flex: 1; align-self: center; padding: 34px 0; max-width: 760px; }
.yas-txt small { text-transform: uppercase; letter-spacing: .08em; font-weight: 700; font-size: 12px; color: #b9bec6; }
.yas-txt h2 { font-size: 26px; margin: 8px 0 10px; color: #fff; }
.yas-txt p { margin: 0 0 12px; font-size: 15.5px; line-height: 1.65; color: #dfe2e6; }
.yas-imza { font-size: 13px; color: #aeb3bb; }
.yas-asili { position: relative; width: var(--bw); flex-shrink: 0; display: flex; justify-content: center; align-items: flex-start; }
.yas-bayrak { width: var(--bw); transform-origin: 50% 0; animation: yas-salinim 7s ease-in-out infinite; }
.tr-bayrak { display: block; width: 100%; height: auto; overflow: visible; filter: drop-shadow(6px 14px 12px rgba(0,0,0,.5)); }
@keyframes yas-salinim { 0%, 100% { transform: rotate(.7deg); } 50% { transform: rotate(-.7deg); } }
@media (prefers-reduced-motion: reduce) { .yas-bayrak { animation: none; } }
.modal .yas { margin: 0; border-radius: 12px; }
@media (max-width: 820px) {
  .yas { margin: -16px 0 18px; padding: 0 16px; gap: 14px; }
  .yas-txt { padding: 22px 0; } .yas-txt h2 { font-size: 20px; } .yas-txt p { font-size: 14px; }
}

/* AAF taban fiyat tanım formu */
.taban-form { display: grid; grid-template-columns: 110px 170px 120px 150px 1fr auto; gap: 10px; align-items: end; margin-bottom: 12px; padding: 12px; border: 1px solid var(--border); border-radius: 10px; background: var(--surface-2); }
.taban-form .tf-btn { display: flex; gap: 8px; justify-content: flex-end; }
.form-grid.three { grid-template-columns: repeat(3, 1fr); }
@media (max-width: 900px) {
  .taban-form, .form-grid.three { grid-template-columns: 1fr 1fr; }
}

/* içerik alanındaki kaydırma çubukları: ince, yuvarlak, temaya uygun
   (tablolar — ör. Fatura Kontrol'deki yatay çubuk —, bildirim listesi, pencereler) */
/* Firefox: standart özellikler. Chrome / Edge bu özellikler varken ::-webkit-scrollbar stilini yok saydığı
   (ve uçlarda ok düğmeleri gösterdiği) için standart özellikler yalnızca ::-webkit-scrollbar desteklemeyen tarayıcılara verilir. */
@supports not selector(::-webkit-scrollbar) {
  .table-wrap, .notif-list, .modal-backdrop, .aaf-table, #nav {
    scrollbar-width: thin;
    scrollbar-color: color-mix(in srgb, var(--primary) 45%, var(--border-strong)) var(--surface-2);
  }
  #nav { scrollbar-color: color-mix(in srgb, var(--side-icon) 45%, transparent) transparent; }
}
.table-wrap::-webkit-scrollbar-button, .notif-list::-webkit-scrollbar-button, .modal-backdrop::-webkit-scrollbar-button, .aaf-table::-webkit-scrollbar-button { display: none; width: 0; height: 0; }
.table-wrap::-webkit-scrollbar, .notif-list::-webkit-scrollbar, .modal-backdrop::-webkit-scrollbar, .aaf-table::-webkit-scrollbar { width: 10px; height: 10px; }
.table-wrap::-webkit-scrollbar-track, .notif-list::-webkit-scrollbar-track, .aaf-table::-webkit-scrollbar-track { background: var(--surface-2); border-radius: 0 0 var(--radius) var(--radius); }
.table-wrap::-webkit-scrollbar-thumb, .notif-list::-webkit-scrollbar-thumb, .modal-backdrop::-webkit-scrollbar-thumb, .aaf-table::-webkit-scrollbar-thumb {
  background: color-mix(in srgb, var(--primary) 45%, var(--border-strong)); border-radius: 999px; border: 2px solid var(--surface-2);
}
.table-wrap::-webkit-scrollbar-thumb:hover, .notif-list::-webkit-scrollbar-thumb:hover, .aaf-table::-webkit-scrollbar-thumb:hover { background: var(--primary); }
.table-wrap::-webkit-scrollbar-corner { background: transparent; }

/* evrak takip özeti */
.evrak-ozet { display: flex; gap: 8px; flex-wrap: wrap; margin-bottom: 12px; }
.evrak-ozet .chip { cursor: pointer; }
.evrak-ozet .chip.on { border-color: var(--primary); background: var(--primary-soft); box-shadow: 0 0 0 2px color-mix(in srgb, var(--primary) 25%, transparent); }
.evrak-ozet .chip b { margin-left: 4px; }
.warn-t { color: var(--warn); }

/* sıralanabilir tablo başlıkları */
.grid th.sortable { padding: 0; }
.th-sort { all: unset; box-sizing: border-box; display: flex; align-items: center; gap: 6px; width: 100%; padding: 11px 12px; cursor: pointer; font: inherit; color: inherit; text-transform: inherit; letter-spacing: inherit; white-space: nowrap; }
.grid th.num .th-sort { justify-content: flex-end; }
.th-sort i { font-size: 11px; opacity: .35; transition: opacity .15s; }
.th-sort:hover { color: var(--text); background: var(--hover); }
.th-sort:hover i { opacity: .7; }
.th-sort:focus-visible { outline: 2px solid var(--primary); outline-offset: -2px; }
.grid th.sorted { color: var(--primary-ink); }
.grid th.sorted .th-sort i { opacity: 1; color: var(--primary); }

/* basılı tutup sürükleyerek sıralama */
.grid tbody tr.hold { transition: background .35s ease; background: var(--hover); }
.grid tbody tr.drag-src { opacity: .55; background: var(--primary-soft) !important; outline: 2px dashed var(--primary); outline-offset: -2px; }
.grid tbody tr.drop-before td { box-shadow: inset 0 3px 0 var(--primary); }
.grid tbody tr.drop-after td { box-shadow: inset 0 -3px 0 var(--primary); }
.grid tbody tr.hold, .grid tbody tr.hold * { user-select: none; -webkit-user-select: none; }
body.surukleniyor, body.surukleniyor * { cursor: grabbing !important; user-select: none !important; -webkit-user-select: none !important; }

/* izin talebi hesap özeti */
.izin-hesap { margin-top: 12px; padding: 10px 12px; border-radius: 10px; border: 1px dashed var(--border-strong); background: var(--surface); font-size: 13px; display: flex; flex-direction: column; gap: 4px; }
.izin-hesap.tamam { border-style: solid; border-color: var(--primary-line); background: var(--primary-soft); }
.izin-hesap.hata { border-style: solid; border-color: var(--danger-line); }
.izin-hesap .ih-ust { display: flex; justify-content: space-between; gap: 10px; flex-wrap: wrap; }
.izin-hesap .ih-ust b:first-child { font-size: 15px; }
.ih-hata { color: var(--danger); font-weight: 600; }
.ih-uyari { color: var(--warn); font-weight: 600; }
.kural-listesi { margin: 12px 0 0; padding-left: 18px; color: var(--muted); font-size: 13px; line-height: 1.6; }

.kural-baslik { display: flex; align-items: center; justify-content: space-between; gap: 10px; flex-wrap: wrap; }
.form-grid.kural-grid { grid-template-columns: repeat(3, 1fr); }
@media (max-width: 820px) { .form-grid.kural-grid { grid-template-columns: 1fr 1fr; } }

/* izin formu PDF görüntüleme penceresi */
.modal.pdf-modal { width: min(900px, 96vw) !important; }
.pdf-gorunum { height: min(72vh, 1000px); background: #525659; border-radius: 8px; overflow: hidden; display: grid; place-items: center; }
.pdf-cerceve { width: 100%; height: 100%; border: 0; background: #525659; }
.pdf-yukleniyor { color: #fff; font-weight: 600; }

/* izin talepleri personel filtresi */
.izin-filtre { display: flex; align-items: center; gap: 10px; margin-bottom: 12px; flex-wrap: wrap; }
.izin-filtre label { font-weight: 600; white-space: nowrap; }
.izin-filtre label i { color: var(--primary); }
.izin-filtre .input { max-width: 360px; }

/* veri kaydı durumu (üst çubuk) */
.veri-durum { width: 34px; height: 34px; display: inline-grid; place-items: center; border-radius: 10px; color: var(--muted); }
.veri-durum.ok { color: var(--ok); }
.veri-durum.hata { color: var(--danger); animation: yanip .9s ease-in-out infinite alternate; }
@keyframes yanip { to { opacity: .35; } }
.login-baglanti { margin-top: 18px; }
.login-baglanti a { font-weight: 600; }
.veri-panel { border: 1px solid var(--border); border-radius: 12px; padding: 14px 16px; background: var(--surface-2); margin-top: 12px; }
.veri-panel h4 { margin: 0 0 6px; display: flex; gap: 8px; align-items: center; }
.veri-panel h4 .fa-google { color: #e8a317; }
.veri-panel textarea { font-family: Consolas, 'Courier New', monospace; font-size: 12.5px; }
.veri-panel pre { background: var(--surface); border: 1px solid var(--border); border-radius: 8px; padding: 10px; font-size: 11.5px; overflow: auto; white-space: pre; }
.lbl { display: block; font-weight: 600; font-size: 13px; margin: 10px 0 5px; }
.btn.btn-sm { padding: 5px 10px; font-size: 12.5px; }

/* MevzuNet */
.mz-ara form { display: flex; flex-direction: column; gap: 12px; }
.mz-satir { display: flex; gap: 10px; }
.mz-kutu { flex: 1; }
.mz-kutu input { width: 100%; padding-top: 11px; padding-bottom: 11px; font-size: 15px; }
.mz-secenek { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 14px; }
.mz-onay { display: inline-flex; }
.mz-onay input { position: absolute; opacity: 0; pointer-events: none; }
.mz-onay span { display: inline-flex; align-items: center; gap: 7px; padding: 7px 13px; border: 1px solid var(--border-strong); border-radius: 999px; cursor: pointer; font-weight: 600; font-size: 13px; color: var(--muted); user-select: none; }
.mz-onay span::before { content: ""; width: 15px; height: 15px; border-radius: 4px; border: 2px solid var(--border-strong); box-sizing: border-box; }
.mz-onay input:checked + span { color: var(--primary); border-color: var(--primary); background: var(--primary-soft, rgba(23,129,106,.08)); }
.mz-onay input:checked + span::before { background: var(--primary) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M3 8.5l3 3 7-7' stroke='white' stroke-width='2.4' fill='none'/%3E%3C/svg%3E") center/11px no-repeat; border-color: var(--primary); }
.mz-onay input:focus-visible + span { outline: 2px solid var(--primary); outline-offset: 2px; }
.mz-alan { display: inline-flex; align-items: center; gap: 6px; transition: opacity .15s; }
.mz-alan .input { width: auto; padding: 6px 8px; }
.mz-alan.pasif { opacity: .4; pointer-events: none; }
.mz-sonuclar { display: grid; gap: 16px; }
.mz-sonuclar.iki { grid-template-columns: 1fr 1fr; align-items: start; }
.mz-ogeler { list-style: none; margin: 0 0 10px; padding: 0; display: flex; flex-direction: column; gap: 6px; }
.mz-oge { width: 100%; text-align: left; background: var(--surface); color: var(--text); border: 1px solid var(--border); border-radius: 10px; padding: 10px 12px; cursor: pointer; font: inherit; display: flex; flex-direction: column; gap: 4px; }
.mz-oge:hover { border-color: var(--primary); background: var(--surface-2); }
.mz-oge b { font-weight: 600; font-size: 13.5px; line-height: 1.35; }
.mz-oge small { color: var(--muted); font-size: 12px; }
.mz-oge mark { background: rgba(255, 213, 79, .55); color: inherit; border-radius: 3px; padding: 0 1px; }
.mz-goruntu { padding: 12px; }
.mz-arac { display: flex; align-items: center; gap: 12px; margin-bottom: 10px; }
.mz-baslik { flex: 1; min-width: 0; display: flex; flex-direction: column; }
.mz-baslik b { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.mz-ekler { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin-bottom: 10px; }
.mz-ek-cip { display: inline-flex; align-items: center; gap: 6px; border: 1px solid var(--border-strong); background: var(--surface); color: var(--text); border-radius: 999px; padding: 5px 12px; cursor: pointer; font: inherit; font-size: 13px; font-weight: 600; }
.mz-ek-cip small { color: var(--muted); font-weight: 500; font-size: 11px; }
.mz-ek-cip:hover, .mz-ek-cip.on { border-color: var(--primary); color: var(--primary); }
.mz-bolme { display: grid; grid-template-columns: 1fr; gap: 12px; height: calc(100vh - 210px); min-height: 460px; }
.mz-bolme.ikili { grid-template-columns: 1fr 1fr; }
.mz-pane { min-height: 0; border: 1px solid var(--border); border-radius: 10px; overflow: hidden; background: #fff; display: flex; flex-direction: column; }
.mz-pane iframe { flex: 1; width: 100%; height: 100%; border: 0; background: #fff; }
.mz-yukle { margin: auto; padding: 24px; text-align: center; color: #64746f; display: flex; flex-direction: column; gap: 12px; align-items: center; }
.mz-fihrist { padding: 16px; overflow: auto; background: var(--surface); }
.mz-ek-bas { display: flex; align-items: center; justify-content: space-between; gap: 8px; padding: 6px 8px 6px 12px; background: var(--surface-2); border-bottom: 1px solid var(--border); color: var(--text); }
.mz-ek-bas > span:first-child { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.mz-ek-ic { flex: 1; min-height: 0; display: flex; flex-direction: column; overflow: auto; }
.mz-ek-belge { padding: 12px; color: #1d2b27; background: #fff; }
.mz-ek-belge img { max-width: 100%; }
.mz-docx .docx-wrapper { background: #e9eeec; padding: 12px; }
.mz-docx { padding: 0; }
.mz-docx .docx-wrapper > section.docx { box-shadow: 0 2px 10px rgba(0,0,0,.12); margin-bottom: 12px; }
.mz-ek-bas .toolbar-group { flex: none; flex-wrap: nowrap; gap: 2px; }
@media (max-width: 1100px) { .mz-sonuclar.iki { grid-template-columns: 1fr; } }
@media (max-width: 900px) {
  .mz-bolme.ikili { grid-template-columns: 1fr; grid-template-rows: 1fr 1fr; height: calc(100vh - 160px); }
  .mz-arac { flex-wrap: wrap; }
  .mz-baslik { flex: 1 1 100%; order: -1; }
  .mz-baslik b { white-space: normal; }
  .mz-arac .toolbar-group { flex-wrap: wrap; }
  .mz-satir { flex-direction: column; }
}

/* MevzuNet simgesi — renkler seçili renk temasından türetilir */
.mzi { width: 20px; height: 20px; flex: none; overflow: visible;
  --mzi-kutu: var(--primary); --mzi-vurgu: color-mix(in oklab, var(--primary) 62%, #ffffff); --mzi-kagit: #ffffff; --mzi-yazi: color-mix(in srgb, var(--primary) 70%, #000000); }
.mzi-kutu { fill: var(--mzi-kutu); }
.mzi-kagit { fill: var(--mzi-kagit); }
.mzi-kose { fill: color-mix(in srgb, var(--mzi-vurgu) 70%, var(--mzi-kutu)); }
.mzi-yazi { fill: var(--mzi-yazi); }
.mzi-tik, .mzi-tik-ara { fill: none; stroke-linecap: round; stroke-linejoin: round; }
.mzi-tik { stroke: var(--mzi-vurgu); stroke-width: 7; }
.mzi-tik-ara { stroke: var(--mzi-kutu); stroke-width: 11; }
.mzi-halka { fill: none; stroke: var(--mzi-vurgu); stroke-width: 3.2; }
.nav-item .mzi { margin: -1px -1px; }
.nav-item.active .mzi { --mzi-kutu: color-mix(in srgb, var(--primary) 55%, #000000); --mzi-vurgu: #ffffff; }
body.nav-collapsed .nav-item .mzi { width: 22px; height: 22px; }
.mz-bos { text-align: center; }
.mz-bos .mzi { width: 96px; height: 96px; margin-top: 14px; }
.mz-bos .empty-state > i:empty { display: none; }

/* Açılır seçim listesi (Combo) */
.combo-alan { flex: 1; min-width: 0; }
.combo-sar { position: relative; }
.combo-sar > .input { padding-right: 34px; }
.combo-ok { position: absolute; right: 12px; top: 50%; transform: translateY(-50%); color: var(--muted); font-size: 12px; cursor: pointer; padding: 6px; margin-right: -6px; }
.combo-sar:focus-within .combo-ok { color: var(--primary); }
.combo-liste { position: fixed; z-index: 3000; background: var(--surface); border: 1px solid var(--border-strong); border-radius: 10px; box-shadow: 0 12px 32px rgba(0,0,0,.16); overflow-y: auto; padding: 5px; animation: pop .12s; }
.combo-liste::-webkit-scrollbar { width: 8px; }
.combo-liste::-webkit-scrollbar-thumb { background: color-mix(in srgb, var(--muted) 35%, transparent); border-radius: 999px; border: 2px solid var(--surface); }
.combo-liste::-webkit-scrollbar-track { background: transparent; }
.combo-oge { display: flex; align-items: center; justify-content: space-between; gap: 8px; padding: 8px 10px; border-radius: 7px; cursor: pointer; font-size: 13.5px; color: var(--text); line-height: 1.35; }
.combo-oge:hover { background: var(--surface-2); }
.combo-oge.on { background: var(--primary-soft); color: var(--primary); }
.combo-oge.secili { font-weight: 600; color: var(--primary); }
.combo-oge i { font-size: 12px; color: var(--primary); }
.combo-oge mark { background: color-mix(in srgb, var(--primary) 18%, transparent); color: inherit; border-radius: 3px; font-weight: 600; padding: 0 1px; }
.combo-bos { padding: 10px; color: var(--muted); font-size: 13px; }

/* Takip Tablosu (Çevre Yönetim Takibi biçimi) */
.b-orange { background: color-mix(in srgb, #e8590c 14%, transparent); color: #d9480f; }
.tk-ozet { flex-wrap: wrap; }
.tk-sayac { display: inline-flex; align-items: center; gap: 7px; border: 1px solid var(--border-strong); background: var(--surface); color: var(--text); border-radius: 999px; padding: 6px 12px; font: inherit; font-size: 13px; font-weight: 600; cursor: pointer; }
.tk-sayac b { min-width: 22px; padding: 1px 7px; border-radius: 999px; background: var(--surface-2); text-align: center; }
.tk-sayac.tk-gecti i { color: var(--danger); } .tk-sayac.tk-kritik i { color: #e8590c; } .tk-sayac.tk-yakin i { color: var(--warn); } .tk-sayac.tk-yok i { color: var(--muted); }
.tk-sayac.on { border-color: var(--primary); box-shadow: 0 0 0 3px color-mix(in srgb, var(--primary) 16%, transparent); }
.tk-bolum { padding: 0; overflow: hidden; }
.tk-bolum-bas { display: flex; align-items: center; gap: 12px; padding: 12px 16px; background: color-mix(in srgb, var(--primary) 10%, var(--surface)); border-bottom: 2px solid var(--primary); }
.tk-bolum-bas h3 { margin: 0; flex: 1; font-size: 14.5px; letter-spacing: .2px; display: flex; gap: 8px; align-items: center; }
.tk-bolum-bas h3 i { color: var(--primary); }
.tk-bolum-no { min-width: 34px; height: 26px; padding: 0 8px; border-radius: 7px; background: var(--primary); color: #fff; font-weight: 700; font-size: 12.5px; display: inline-grid; place-items: center; }
.tk-bolum .table-wrap { border: 0; border-radius: 0; margin: 0; }
.tk-tablo th { white-space: nowrap; font-size: 11.5px; }
.tk-tablo td { vertical-align: middle; }
.tk-tablo .tk-no { width: 52px; text-align: center; color: var(--muted); font-weight: 600; }
.tk-tablo .tk-kalan { white-space: nowrap; font-weight: 600; font-variant-numeric: tabular-nums; }
.tk-tablo .tk-aks { white-space: nowrap; }
.tk-tablo .tk-aks .icon-btn { opacity: .55; }
.tk-tablo tr:hover .tk-aks .icon-btn { opacity: 1; }
.tk-tablo tr.tk-s-gecti td { background: color-mix(in srgb, var(--danger) 10%, transparent); }
.tk-tablo tr.tk-s-gecti td:first-child { box-shadow: inset 4px 0 0 var(--danger); }
.tk-tablo tr.tk-s-kritik td { background: color-mix(in srgb, #e8590c 10%, transparent); }
.tk-tablo tr.tk-s-kritik td:first-child { box-shadow: inset 4px 0 0 #e8590c; }
.tk-tablo tr.tk-s-yakin td { background: color-mix(in srgb, var(--warn) 9%, transparent); }
.tk-tablo tr.tk-s-yakin td:first-child { box-shadow: inset 4px 0 0 var(--warn); }
.tk-tablo tr.tk-s-gecti .tk-kalan { color: var(--danger); } .tk-tablo tr.tk-s-kritik .tk-kalan { color: #d9480f; }
.tk-lejant { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 14px; font-size: 12.5px; color: var(--text); margin: 4px 2px 16px; }
.tk-renk { width: 14px; height: 14px; border-radius: 4px; display: inline-block; margin-right: -8px; }
.tk-renk.gecti { background: var(--danger); } .tk-renk.kritik { background: #e8590c; } .tk-renk.yakin { background: var(--warn); }
.tk-bos-butonlar { display: flex; justify-content: center; gap: 10px; padding-bottom: 20px; }
.tk-tablo td:nth-child(2) { min-width: 240px; }
.tk-tablo td:nth-child(n+3) { white-space: nowrap; }
.tk-tablo td.tk-acik { white-space: normal; min-width: 180px; max-width: 320px; }

/* Dilekçe Tablosu (Dilekçe Takip Formu biçimi) */
.dk-kod { display: flex; align-items: center; flex-wrap: wrap; gap: 10px; margin: -4px 0 14px; padding: 10px 14px; border: 1px dashed var(--primary-line, var(--border-strong)); border-radius: 10px; background: var(--surface); }
.dk-kod label { font-weight: 700; font-size: 13px; color: var(--primary); }
.dk-kod .input { width: 140px; text-transform: uppercase; font-weight: 700; letter-spacing: .5px; }
td.dk-no { width: 56px; text-align: center; color: var(--muted); font-weight: 600; }
.dk-sayi { font-variant-numeric: tabular-nums; white-space: nowrap; }

/* Takip Tablosu: satır seçimi ve görüntü kopyalama */
.tk-tablo tbody tr[data-id] { cursor: pointer; }
.tk-tablo tbody tr.sel td { background: color-mix(in srgb, var(--primary) 16%, transparent) !important; }
.tk-tablo tbody tr.sel td:first-child { box-shadow: inset 4px 0 0 var(--primary) !important; }
.tk-goruntu { position: fixed; left: -10000px; top: 0; width: max-content; min-width: 900px; padding: 16px; background: #fff; color: #1d2b27; }
.tk-goruntu .tk-bolum { margin: 0 0 12px; box-shadow: none; }
.tk-goruntu .table-wrap { max-width: none; }
.tk-goruntu-bas { font-size: 14px; margin: 0 0 10px; color: #1d2b27; }
.tk-goruntu-bas span { color: #64746f; margin-left: 6px; font-size: 12.5px; }

/* Bilgilendirme alanı kapatma (X) */
.page-intro { position: relative; padding-right: 36px; transition: opacity .18s, transform .18s; }
.page-intro.kapaniyor { opacity: 0; transform: translateY(-4px); }
.intro-kapat { position: absolute; top: 6px; right: 6px; width: 22px; height: 22px; display: grid; place-items: center; border: 0; border-radius: 6px; background: transparent; color: var(--muted); cursor: pointer; padding: 0; font-size: 12px; }
.intro-kapat:hover { background: var(--surface-2); color: var(--text); }
.intro-kapat:focus-visible { outline: 2px solid var(--primary); outline-offset: 1px; }
.page-intro .intro-kapat i { color: inherit; margin: 0; }

.combo-oge > span { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.combo-alt { color: var(--muted); font-size: 12px; font-weight: 500; }
.combo-oge.on .combo-alt { color: inherit; opacity: .8; }

/* Sözleşme hizmet türleri penceresi */
.st-liste { list-style: none; margin: 0; padding: 0; border: 1px solid var(--border); border-radius: 10px; max-height: 340px; overflow-y: auto; }
.st-oge { display: flex; align-items: center; gap: 6px; padding: 8px 8px 8px 14px; border-bottom: 1px solid var(--border); }
.st-oge:last-child { border-bottom: 0; }
.st-oge:hover { background: var(--surface-2); }
.st-ad { flex: 1; font-weight: 600; }
.st-oge .icon-btn:disabled { opacity: .3; cursor: default; }
.st-oge .icon-btn.danger:hover { color: var(--danger); }
.st-bos { padding: 14px; }

/* YST teklif konusu seçici */
.ytk-secici { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 8px; align-items: center; }
.ytk-cip { display: inline-flex; align-items: center; gap: 6px; border: 1px solid var(--border-strong); background: var(--surface); color: var(--text); border-radius: 999px; padding: 4px 11px; font: inherit; font-size: 12.5px; font-weight: 600; cursor: pointer; }
.ytk-cip i { font-size: 10.5px; color: var(--muted); }
.ytk-cip:hover { border-color: var(--primary); }
.ytk-cip.on { background: var(--primary-soft); border-color: var(--primary); color: var(--primary); }
.ytk-cip.on i { color: var(--primary); }
.ytk-duzenle { border: 0; background: none; color: var(--muted); font: inherit; font-size: 12px; cursor: pointer; padding: 4px 6px; }
.ytk-duzenle:hover { color: var(--primary); }

/* CYH teklifi faaliyet seçimi */
.cyh-faaliyet { margin-top: 8px; display: flex; flex-direction: column; gap: 4px; }
.cyh-faaliyet .ytk-cip { cursor: default; padding-right: 4px; }
.cyh-faaliyet .ytk-cip small { color: var(--muted); font-weight: 500; }
.cyh-faaliyet .ytk-cip button { border: 0; background: none; color: inherit; cursor: pointer; width: 20px; height: 20px; border-radius: 50%; display: grid; place-items: center; padding: 0; }
.cyh-faaliyet .ytk-cip button:hover { background: color-mix(in srgb, var(--danger) 15%, transparent); color: var(--danger); }
.cyh-faaliyet .ytk-cip button i { font-size: 11px; color: inherit; }

.cyh-firma-not { margin-top: 6px; font-size: 12.5px; color: var(--primary); font-weight: 600; }
.cyh-firma-not.uyari { color: var(--warn); }

/* Teklif numarası biçimi (Ayarlar) */
.tn-baslik { margin: 18px 0 4px; display: flex; gap: 8px; align-items: center; font-size: 14px; }
.tn-baslik i { color: var(--primary); }
.tn-grid { display: flex; flex-direction: column; gap: 10px; }
.tn-satir { display: grid; grid-template-columns: 1fr 110px 90px; gap: 8px 12px; align-items: end; padding: 12px 14px; border: 1px solid var(--border); border-radius: 10px; background: var(--surface-2); }
.tn-satir .tn-ad { grid-column: 1 / -1; }
.tn-satir .check { grid-column: 1 / 2; }
.tn-satir .tn-ornek { grid-column: 2 / -1; text-align: right; font-size: 12.5px; color: var(--muted); }
.tn-satir .tn-ornek b { color: var(--primary); font-variant-numeric: tabular-nums; }
@media (max-width: 640px) { .tn-satir { grid-template-columns: 1fr 1fr; } .tn-satir .field:first-of-type { grid-column: 1 / -1; } .tn-satir .tn-ornek { grid-column: 1 / -1; text-align: left; } }
/* Otomatik Teklif penceresi */
.ot-ust { display: grid; grid-template-columns: 200px 1fr; gap: 14px; align-items: end; margin-bottom: 12px; }
.ot-tablo { max-height: 50vh; overflow: auto; }
.ot-tablo td.ot-faal { max-width: 280px; white-space: normal; font-size: 12.5px; }
.ot-tablo td .badge { margin: 1px 2px; white-space: nowrap; }
@media (max-width: 640px) { .ot-ust { grid-template-columns: 1fr; } }

/* Yas günü özeti (Ayarlar) */
.yas-ozet { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px 16px; padding: 12px 14px; border: 1px solid var(--border); border-radius: 10px; background: var(--surface-2); }
.yas-ozet > div { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.yas-ozet .wide { grid-column: 1 / -1; }
.yas-ozet-mesaj { margin: 0; white-space: pre-line; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
@media (max-width: 640px) { .yas-ozet { grid-template-columns: 1fr; } }

/* Tabloda hücrede düzenleme (çift tıklama) */
td.inline-edit { cursor: text; position: relative; }
tr:hover td.inline-edit:not(.duzenleniyor) { box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--primary) 35%, transparent); border-radius: 4px; }
td.duzenleniyor { padding: 3px 4px !important; }
.hucre-input { min-width: 120px; padding: 6px 8px; font-size: 13.5px; box-shadow: 0 0 0 3px color-mix(in srgb, var(--primary) 18%, transparent); border-color: var(--primary); }
textarea.hucre-input { min-width: 220px; resize: vertical; }

/* faaliyet etiketindeki kapsam rozeti */
.kp-rozet { border: 0; border-radius: 6px; font: inherit; font-size: 11px; font-weight: 700; padding: 1px 6px; cursor: pointer; margin-right: 2px; }
.kp-rozet.ek1 { background: var(--danger-soft); color: var(--danger); }
.kp-rozet.ek2 { background: var(--warn-soft); color: var(--warn); }
.kp-rozet:hover { filter: brightness(.95); outline: 1px solid currentColor; }
select.input:disabled { opacity: 1; background: var(--surface-2); color: var(--text); cursor: not-allowed; }
.cyh-faaliyet .ytk-cip button.kp-rozet { width: auto; height: auto; border-radius: 6px; padding: 1px 6px; white-space: nowrap; display: inline-block; margin-right: 4px; }
.cyh-faaliyet .ytk-cip button.kp-rozet.ek1 { background: var(--danger-soft); color: var(--danger); }
.cyh-faaliyet .ytk-cip button.kp-rozet.ek2 { background: var(--warn-soft); color: var(--warn); }
.cyh-faaliyet .ytk-cip button.kp-rozet:hover { background: var(--surface); outline: 1px solid currentColor; }

/* Word şablonundan PDF: belge ekran dışında çizilir */
.docx-pdf-kaynak { position: fixed; left: -12000px; top: 0; background: #fff; }
.docx-pdf-kaynak section.docx { margin: 0 !important; box-shadow: none !important; background: #fff; }

.aaf-onizle { margin-top: 6px; font-size: 12.5px; color: var(--muted); display: flex; flex-wrap: wrap; align-items: center; gap: 6px; }
.aaf-onizle b { color: var(--primary); }
.aaf-onizle i { color: var(--primary); }

/* ---- Atık Takip Tablosu (js/pages/atik.js) */
.atk-ozet { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 12px; }
.atk-ozet:empty { display: none; }
.atk-kart { display: flex; flex-direction: column; gap: 2px; padding: 8px 12px; border: 1px solid var(--border); border-radius: var(--radius); background: var(--surface); min-width: 120px; }
.atk-kart small { color: var(--muted); font-size: 11.5px; }
.atk-kart b { font-size: 14px; }
.atk-kart.toplam { border-color: var(--primary-line); background: var(--primary-soft); }
.atk-kart.toplam b { color: var(--primary-ink); }
.atk-kart.uyari { border-color: var(--danger-line); background: var(--danger-soft); }
.atk-kart.uyari b { color: var(--danger); }
.grid tbody tr.atk-uygunsuz td { background: color-mix(in srgb, var(--danger-soft) 70%, transparent); }
.grid tbody tr.atk-mukerrer td { background: color-mix(in srgb, var(--warn-soft) 70%, transparent); }
.atk-sekme { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 6px; }
.atk-not { margin: 0 0 10px; }
.atk-filtre { display: flex; flex-wrap: wrap; gap: 12px; margin-bottom: 12px; }
.atk-f { display: flex; align-items: center; gap: 6px; font-size: 13px; color: var(--muted); }
.atk-h { margin: 18px 0 8px; font-size: 14px; display: flex; gap: 8px; align-items: center; }
.atk-h i { color: var(--primary); }
.atk-rapor { width: 100%; }
.atk-rapor tfoot td { font-weight: 700; }
.atk-rapor tr.atk-ust td { font-weight: 700; background: var(--muted-soft); }
.atk-rapor tr.atk-alt td:first-child { padding-left: 28px; }
.atk-eizin { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 10px; margin-top: 6px; }
.atk-eizin label { margin: 0; font-size: 12.5px; color: var(--muted); }
.atk-eizin-durum.atk-ok { color: var(--ok); }
.atk-eizin-durum.atk-hata { color: var(--danger); }
.atk-tesis { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 8px; margin-top: 8px; padding: 8px 10px; border: 1px dashed var(--warn); border-radius: 8px; background: var(--warn-soft); font-size: 12.5px; }
.atk-tesis.hidden { display: none; }
.atk-tesis .input { width: 130px; }
.atk-tesis > i { color: var(--warn); }
.form-grid .atk-eizin-alan { margin-top: -6px; }
.atk-eizin-alan .atk-eizin { margin-top: 0; }
.atk-kodlar { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; max-width: 420px; font-size: 12.5px; line-height: 1.45; }
.atk-el-liste { max-height: 52vh; overflow: auto; }
.atk-el-liste tbody tr { cursor: pointer; }
.atk-el-liste thead th { position: sticky; top: 0; z-index: 1; }
.atk-dr { border: 1px solid var(--primary-line); background: var(--primary-soft); color: var(--primary-ink); border-radius: 6px; padding: 3px 8px; font: inherit; font-size: 12.5px; font-weight: 600; cursor: pointer; white-space: nowrap; }
.atk-dr:hover { border-color: var(--primary); }
.atk-dr.bos { background: transparent; color: var(--muted); font-weight: 500; border-color: var(--border); }
.atk-oto-kutu { display: flex; align-items: center; gap: 12px; padding: 10px 12px; margin-bottom: 12px; border: 1px solid var(--primary-line); border-radius: var(--radius); background: var(--primary-soft); font-size: 13px; }
.atk-oto-kutu > i { color: var(--primary); font-size: 18px; }
.atk-oto-kutu > div { flex: 1; min-width: 0; }
.atk-oto-kutu.hata { border-color: var(--danger-line); background: var(--danger-soft); }
.atk-oto-kutu.hata > i { color: var(--danger); }
.atk-oto-kutu .atk-ok { color: var(--ok); font-weight: 600; }
.atk-oto-kutu .atk-hata { color: var(--danger); font-weight: 600; }
.atk-oto-ilerleme { margin-top: 4px; font-size: 12.5px; color: var(--primary-ink); }
.atk-esik-onizle { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; margin: 4px 0 12px; font-size: 13px; color: var(--muted); }
.atk-oto-kutu.kapali { border-color: var(--border); background: var(--muted-soft); }
.atk-oto-kutu.kapali > i { color: var(--muted); }
.grid td.center, .grid th.center { text-align: center; }
.atk-durum { font-size: 16px; cursor: help; }
/* ---- açılır menü / panel (Acilir) */
.dd { position: relative; display: inline-block; }
.dd-ok { font-size: 10px; margin-left: 2px; opacity: .7; transition: transform .15s; }
.btn.acik .dd-ok { transform: rotate(180deg); }
.dd-menu { position: absolute; top: calc(100% + 6px); left: 0; z-index: 40; min-width: 200px; background: var(--surface); border: 1px solid var(--border); border-radius: var(--radius); box-shadow: 0 10px 30px rgba(16, 48, 42, .16); padding: 6px; display: flex; flex-direction: column; gap: 2px; }
.dd-menu.hidden { display: none; }
.dd-oge { display: flex; align-items: center; gap: 10px; width: 100%; padding: 9px 12px; border: 0; background: transparent; border-radius: 8px; font: inherit; font-size: 13.5px; color: var(--text); cursor: pointer; text-align: left; white-space: nowrap; }
.dd-oge:hover { background: var(--hover); }
.dd-oge i { width: 16px; color: var(--primary); }
.dd-panel { padding: 12px; gap: 10px; }
.atk-filtre-panel { width: 380px; max-width: calc(100vw - 32px); }
.atk-rapor-btn { justify-content: flex-start; }
.atk-fg { display: flex; flex-direction: column; gap: 4px; flex: 1; min-width: 0; }
.atk-fg > label { font-size: 12px; font-weight: 600; color: var(--muted); }
.atk-fg .input { width: 100%; }
.atk-fg-ikili { display: flex; align-items: center; gap: 8px; }
.atk-f-turler { display: flex; flex-wrap: wrap; gap: 4px 14px; }
.atk-f-turler .check { font-size: 13px; }
.atk-fg-alt { display: flex; align-items: center; justify-content: space-between; gap: 8px; border-top: 1px solid var(--border); padding-top: 8px; }
.bf-ust { align-items: center; margin-bottom: 10px; }
/* ---- Yazdır penceresi (Yazdir) */
.yz { display: grid; grid-template-columns: 300px 1fr; gap: 16px; min-height: 420px; }
.yz-ayar { display: flex; flex-direction: column; gap: 14px; }
.yz-alan { display: flex; flex-direction: column; gap: 6px; }
.yz-alan > label:first-child { font-size: 12px; font-weight: 700; color: var(--muted); text-transform: uppercase; letter-spacing: .03em; }
.yz-yazici { display: flex; gap: 10px; align-items: flex-start; padding: 10px; border: 1px solid var(--border); border-radius: var(--radius); background: var(--muted-soft); }
.yz-yazici > i { color: var(--primary); font-size: 18px; margin-top: 2px; }
.yz-yazici b { display: block; font-size: 13px; } .yz-yazici small { color: var(--muted); font-size: 11.5px; line-height: 1.4; }
.yz-sec { display: flex; gap: 4px; flex-wrap: wrap; }
.yz-sec button { flex: 1; display: flex; align-items: center; justify-content: center; gap: 6px; padding: 7px 8px; border: 1px solid var(--border); background: var(--surface); border-radius: 8px; font: inherit; font-size: 12.5px; cursor: pointer; color: var(--text); white-space: nowrap; }
.yz-sec button.on { border-color: var(--primary); background: var(--primary-soft); color: var(--primary-ink); font-weight: 600; }
.yz-sec-dikey { flex-direction: column; } .yz-sec-dikey button { justify-content: flex-start; }
.yz-aralik { display: flex; align-items: center; gap: 6px; } .yz-aralik .input { width: 140px; }
.yz-onizleme { background: var(--muted-soft); border-radius: var(--radius); padding: 14px; display: flex; flex-wrap: wrap; gap: 14px; align-content: flex-start; justify-content: center; max-height: 62vh; overflow: auto; }
.yz-kart { display: flex; flex-direction: column; align-items: center; gap: 4px; }
.yz-kart.pasif { opacity: .35; }
.yz-kagit { background: #fff; box-shadow: 0 1px 4px rgba(0,0,0,.25); display: flex; align-items: center; justify-content: center; overflow: hidden; }
.yz-kart small { color: var(--muted); font-size: 11px; }
@media (max-width: 760px) { .yz { grid-template-columns: 1fr; } }
.yz-yazici-sec { display: flex; gap: 6px; align-items: center; } .yz-yazici-sec .input { flex: 1; min-width: 0; }
.yz-yazici.uyari { border-color: var(--warn); background: var(--warn-soft); } .yz-yazici.uyari > i { color: var(--warn); }
.yz-yazici > div { display: flex; flex-direction: column; gap: 4px; align-items: flex-start; }
.yz-hata { color: var(--danger) !important; }
.yz-satir { flex-direction: row; align-items: center; justify-content: space-between; } .yz-satir .input { width: 80px; }
.yz-durum { padding: 10px 12px; border: 1px solid var(--border); border-radius: var(--radius); background: var(--muted-soft); font-size: 13px; line-height: 1.5; }
.yz-durum-liste { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 8px; max-height: 160px; overflow: auto; }
.yz-durum-liste span { font-size: 12px; padding: 2px 8px; border: 1px solid var(--border); border-radius: 999px; background: var(--card, #fff); }
.yz-durum-liste em { color: var(--muted); font-style: normal; }
.ay-yz-dugmeler { display: flex; gap: 8px; flex-wrap: wrap; margin-top: 10px; }
.yzl-ozet { display: flex; flex-wrap: wrap; gap: 6px 16px; align-items: center; font-size: 13px; margin-bottom: 10px; }
.yzl-liste { display: flex; flex-direction: column; border: 1px solid var(--border); border-radius: var(--radius); max-height: 55vh; overflow: auto; margin-bottom: 8px; }
.yzl-satir { display: flex; align-items: center; gap: 12px; padding: 9px 12px; border-bottom: 1px solid var(--border); font-size: 13.5px; color: var(--text); }
.yzl-satir:last-child { border-bottom: 0; }
.yzl-satir .yzl-ad { flex: 1; min-width: 0; display: flex; align-items: center; gap: 8px; }
.yzl-satir .yzl-ad b { font-weight: 600; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.yzl-etiket { font-size: 11px; padding: 1px 7px; border-radius: 999px; background: var(--primary-soft, #e3f3ee); color: var(--primary, #17816a); white-space: nowrap; }
.yzl-durum { font-size: 12px; white-space: nowrap; display: inline-flex; align-items: center; gap: 5px; }
.yzl-durum .fa-circle { font-size: 8px; }
.yzl-satir.bagli { color: #111; } .yzl-satir.bagli .yzl-durum { color: var(--ok); }
.yzl-satir.bagsiz { color: #a3a9a7; } .yzl-satir.bagsiz .yzl-ikon, .yzl-satir.bagsiz .yzl-etiket { opacity: .55; }
.yzl-satir.bilinmiyor .yzl-durum { color: var(--muted); }
[data-theme="dark"] .yzl-satir.bagli { color: #f1f4f3; } [data-theme="dark"] .yzl-satir.bagsiz { color: #6b7572; }
select.yz-bagsiz, option.yz-bagsiz { color: #a3a9a7; } select.yz-bagsiz option:not(.yz-bagsiz) { color: var(--text); }
.gk-arac { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; margin-bottom: 10px; }
.gk-arac select.input { flex: 1 1 180px; min-width: 0; max-width: 280px; } .gk-arac input[type=date] { width: auto; flex: 0 1 150px; min-width: 0; } .gk-arac .check { white-space: nowrap; }
.gk-tablo { max-height: 60vh; overflow: auto; }
.gk-detay td { background: var(--muted-soft); }
.gk-islemler { display: flex; flex-direction: column; gap: 4px; font-size: 12.5px; padding: 4px 0; }
.ay-bolum-ust { display: flex; flex-wrap: wrap; gap: 6px; align-items: center; margin-bottom: 12px; }
.ay-bolum-bas { cursor: pointer; user-select: none; }
.ay-bolum-arac { display: inline-flex; align-items: center; gap: 2px; margin-left: auto; padding-left: 8px; }
.card-head > .muted + .ay-bolum-arac, .card-head > span + .ay-bolum-arac { margin-left: 8px; }
.ay-bolum-arac .icon-btn { width: 28px; height: 28px; }
.ay-tutamak { cursor: grab; color: var(--muted); padding: 4px 6px; border-radius: 6px; } .ay-tutamak:hover { background: var(--muted-soft); color: var(--text); }
.ay-tutamak:active { cursor: grabbing; }
section.card.ay-kapali > :not(.card-head) { display: none !important; }
section.card.ay-kapali > .card-head { margin-bottom: 0; }
section.card.ay-surukleniyor { opacity: .5; outline: 2px dashed var(--primary); }
section.card.ay-tasindi { box-shadow: 0 0 0 2px var(--primary); transition: box-shadow .3s; }
.kp-belge-esik { display: inline-flex; align-items: center; gap: 6px; font-size: 13px; flex-wrap: wrap; }
.kp-belge-esik .input { width: auto; }
#kp-belgeler tr[data-firma] { cursor: pointer; } #kp-belgeler tr.kp-gecti td:first-child b { color: var(--danger); }
#kp-belgeler td:first-child { min-width: 220px; } #kp-belgeler td:nth-child(5) { min-width: 140px; }
.se-ust { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; justify-content: space-between; margin-bottom: 12px; }
.se-ust .tabs { margin: 0; }
.se-arac { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
.se-arac .input { width: auto; }
.se-uyari { color: var(--warn); font-size: 11.5px; white-space: nowrap; }
.se-hatali { color: var(--danger); font-size: 11.5px; font-weight: 600; }
tr.se-satir-hatali td { background: var(--danger-soft, #fdecea); }
td.se-ana { font-weight: 600; }
.se-onizleme { display: grid; grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: 8px; margin-top: 14px; padding: 10px 12px; border: 1px dashed var(--border); border-radius: var(--radius); background: var(--muted-soft); font-size: 13px; }
.se-onizleme > div { display: flex; flex-direction: column; gap: 2px; }
.se-onizleme small { color: var(--muted); font-size: 11px; text-transform: uppercase; letter-spacing: .02em; }
.se-katsayi { max-height: 55vh; overflow: auto; }
.se-katsayi .input { min-width: 70px; }
.se-rapor-modal { max-width: 1080px; }
.se-rapor-ust { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; margin-bottom: 12px; }
.se-kartlar { display: grid; grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: 8px; margin-bottom: 14px; }
.se-kart { display: flex; flex-direction: column; gap: 1px; padding: 9px 12px; border: 1px solid var(--border); border-left: 4px solid var(--k); border-radius: var(--radius); background: var(--card, #fff); }
.se-kart small { color: var(--muted); font-size: 11.5px; } .se-kart b { font-size: 18px; line-height: 1.2; } .se-kart em { font-style: normal; color: var(--muted); font-size: 11px; }
.se-grafikler { display: grid; grid-template-columns: repeat(auto-fit, minmax(420px, 1fr)); gap: 12px; margin-bottom: 14px; }
.se-grafik { border: 1px solid var(--border); border-radius: var(--radius); padding: 10px 12px; min-width: 0; }
.se-grafik h4 { margin: 0 0 8px; font-size: 13.5px; }
.se-tuval { position: relative; height: 240px; }
.se-rapor-tablo th, .se-rapor-tablo td { white-space: nowrap; }
.se-rapor-tablo tr.se-bos td { color: var(--muted); }
.se-rapor-tablo tfoot td { font-weight: 700; }
@media (max-width: 700px) { .se-grafikler { grid-template-columns: 1fr; } }
.se-grafik { overflow: hidden; } .se-tuval { width: 100%; min-width: 0; } .se-tuval canvas { max-width: 100%; }
.se-tuik-kutu { border: 1px solid var(--border); border-radius: var(--radius); padding: 10px 12px; margin-bottom: 12px; background: var(--muted-soft); }
.se-tuik-bas { display: flex; flex-wrap: wrap; gap: 4px 12px; align-items: baseline; margin-bottom: 8px; }
.se-iller { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 8px; }
.se-il { display: inline-flex; align-items: center; gap: 4px; padding: 3px 4px 3px 10px; border-radius: 999px; background: var(--card, #fff); border: 1px solid var(--border); font-size: 12.5px; }
.se-il button { border: 0; background: none; cursor: pointer; color: var(--muted); width: 20px; height: 20px; border-radius: 50%; } .se-il button:hover { background: var(--danger-soft, #fdecea); color: var(--danger); }
.se-il-ekle { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; } .se-il-ekle .input { width: auto; min-width: 160px; }
tr.se-k-yeni td { background: var(--ok-soft, #e1f3e8); }
.se-katsayi .input { width: 100%; max-width: 96px; min-width: 60px; padding-left: 6px; padding-right: 6px; } .se-katsayi td:nth-child(2) .input { max-width: 130px; } .se-katsayi td { padding: 4px 6px; }
.se-katsayi th { white-space: normal; line-height: 1.25; vertical-align: bottom; }
.eayp-plan { margin-top: 18px; padding-top: 14px; border-top: 2px solid var(--border); }
.eayp-ust { display: flex; flex-wrap: wrap; gap: 10px 18px; align-items: flex-end; margin-bottom: 10px; }
.eayp-h { margin: 0; font-size: 16px; flex: 1 1 100%; } .eayp-h i { color: var(--primary); }
.eayp-f { display: flex; flex-direction: column; gap: 4px; font-size: 12px; color: var(--muted); } .eayp-f .input { width: auto; min-width: 220px; }
.eayp-deger { display: flex; flex-wrap: wrap; gap: 4px 16px; align-items: center; padding: 10px 14px; border-radius: var(--radius); margin-bottom: 12px; font-size: 14px; }
.eayp-deger.iyi { background: var(--ok-soft, #e1f3e8); color: var(--ok); } .eayp-deger.iyi span { font-weight: 600; letter-spacing: .03em; }
.eayp-deger.kotu { background: var(--danger-soft, #fdecea); color: var(--danger); } .eayp-deger.kotu span { font-weight: 600; }
.eayp-deger.bilgi { background: var(--muted-soft); color: var(--muted); }
.eayp-iki { display: grid; grid-template-columns: repeat(auto-fit, minmax(440px, 1fr)); gap: 14px; align-items: start; }
.eayp-kart { border: 1px solid var(--border); border-radius: var(--radius); padding: 10px 12px; min-width: 0; }
.eayp-kart h4 { margin: 0 0 8px; font-size: 13.5px; } .eayp-kart h4 i { color: var(--primary); }
.eayp-tablo td .clip { display: block; max-width: 240px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.eayp-tablo input.num { text-align: right; width: 100%; min-width: 80px; }
.eayp-tablo th.eayp-tarih { padding: 4px; } .eayp-tarih .input { display: block; width: 100%; min-width: 120px; margin: 2px 0; font-size: 11.5px; }
.eayp-tablo .eayp-sec { background: var(--primary-soft, #e3f3ee); }
.eayp-ekle { display: flex; flex-wrap: wrap; gap: 6px; align-items: center; margin-top: 8px; } .eayp-ekle #ep-kod { width: 220px; }
tr.eayp-asim td, tr.eayp-eksik td { background: var(--danger-soft, #fdecea); } tr.eayp-planYok td { background: var(--warn-soft, #fff4e0); }
@media (max-width: 700px) { .eayp-iki { grid-template-columns: 1fr; } }
.ek-kaynak { margin-top: 18px; padding-top: 14px; border-top: 2px solid var(--border); }
td.ek-param { font-weight: 700; color: var(--primary); width: 38px; }
.ek-uyari { color: var(--danger); font-size: 12px; font-weight: 600; }
tr.ek-satir-uyari td { background: var(--danger-soft, #fdecea); }
.ek-ozet { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 12px; margin-top: 14px; }
.ek-kart { border: 1px solid var(--border); border-radius: var(--radius); padding: 10px 12px; }
.ek-kart h4 { margin: 0 0 8px; font-size: 13.5px; } .ek-kart h4 i { color: var(--primary); }
.ek-guc { font-size: 26px; margin: 6px 0; } .ek-guc.kapsam b { color: var(--danger); }
.kp-kapasite { margin-top: 18px; padding-top: 14px; border-top: 2px solid var(--border); }
.kp-bas { display: flex; flex-wrap: wrap; gap: 8px 18px; align-items: center; margin-bottom: 10px; }
.kp-bas .eayp-h { flex: 0 0 auto; }
.kp-bilgi { display: flex; flex-wrap: wrap; gap: 6px 18px; align-items: center; }
.kp-bilgi > span { display: flex; flex-direction: column; } .kp-bilgi small { color: var(--muted); font-size: 11px; }
.kp-diger { display: flex; flex-direction: column; } .kp-diger .input { width: auto; }
.kp-tablo td { padding: 4px 6px; } .kp-tablo .input { width: 100%; min-width: 110px; } .kp-tablo td:nth-child(3) .input { min-width: 220px; } .kp-tablo input.num { text-align: right; }
.kp-toplam { display: flex; flex-wrap: wrap; gap: 4px 18px; font-size: 13px; } .kp-toplam span { margin-right: 18px; }
tr.kp-acik td { background: var(--primary-soft, #e3f3ee) !important; font-weight: 600; }
.kp-tablo td:nth-child(2) select { min-width: 160px; } .kp-tablo td:nth-child(5) select { min-width: 90px; }
.ced-sekmeler { margin-bottom: 12px; }
.ced-sor { border: 1px dashed var(--warn); background: var(--warn-soft, #fff4e0); color: var(--warn); border-radius: 999px; padding: 2px 10px; font-size: 12px; cursor: pointer; white-space: nowrap; }
.ced-kp { display: inline-flex; flex-wrap: wrap; align-items: center; gap: 4px 6px; } .ced-kp small { flex-basis: 100%; }
.kr-hedef { display: flex; align-items: center; gap: 10px; min-height: 64px; padding: 12px 14px; border: 2px dashed var(--border); border-radius: var(--radius); background: var(--muted-soft); color: var(--muted); cursor: pointer; transition: border-color .15s, background .15s; }
.kr-hedef > i { font-size: 20px; } .kr-hedef:hover, .kr-hedef:focus { border-color: var(--primary); outline: none; }
.kr-hedef.dolu { border-style: solid; border-color: var(--primary); background: var(--primary-soft, #e3f3ee); color: var(--text); padding: 6px; }
.kr-hedef.uzerinde, body.kr-surukleme .kr-hedef { border-color: var(--primary); background: var(--primary-soft, #e3f3ee); }
body.kr-surukleme .kr-hedef { animation: krNabiz 1s infinite; }
.kr-hedef.uzerinde { transform: scale(1.01); }
.kr-hedef.yeni { box-shadow: 0 0 0 3px var(--primary); }
@keyframes krNabiz { 50% { box-shadow: 0 0 0 4px var(--primary-soft, #e3f3ee); } }
.kr-kart { display: flex; align-items: flex-start; gap: 10px; padding: 9px 10px; border: 1px solid var(--border); border-radius: var(--radius); background: var(--surface); }
.kr-kart > div { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 1px; } .kr-kart small { font-size: 11.5px; color: var(--muted); }
.kr-kart.secili { width: 100%; border: 0; background: transparent; } .kr-kart.secili > i { color: var(--primary); font-size: 20px; margin-top: 4px; }
.kr-vardiya { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.kr-blok { display: flex; flex-direction: column; gap: 6px; padding: 10px 12px; border: 1px solid var(--border); border-radius: var(--radius); }
.kr-blok label { display: flex; justify-content: space-between; align-items: center; gap: 10px; font-size: 13px; } .kr-blok .input { width: 90px; text-align: right; }
.kr-ozet { display: grid; grid-template-columns: repeat(auto-fill, minmax(130px, 1fr)); gap: 8px; margin: 12px 0 8px; }
.kr-ozet > div { display: flex; flex-direction: column; padding: 8px 10px; border-radius: var(--radius); background: var(--muted-soft); } .kr-ozet small { color: var(--muted); font-size: 11px; }
.kr-oran { background: var(--primary-soft, #e3f3ee) !important; } .kr-oran b { font-size: 18px; color: var(--primary); } .kr-oran.asim b { color: var(--danger); }
.kr-tablo { margin-top: 6px; }
.modal-backdrop.kr-yer { justify-content: flex-start; padding-left: max(16px, calc(50vw - 560px)); }
.kr-panel { position: fixed; top: 10vh; right: 24px; width: 330px; max-height: 76vh; display: flex; flex-direction: column; background: var(--surface); border: 1px solid var(--border); border-radius: 14px; box-shadow: 0 18px 50px rgba(0,0,0,.28); z-index: 150; animation: pop .18s; }
.kr-panel-bas { display: flex; align-items: center; gap: 8px; padding: 12px 14px; border-bottom: 1px solid var(--border); font-weight: 600; cursor: move; user-select: none; } .kr-panel-bas i { color: var(--primary); } .kr-panel-bas .icon-btn { margin-left: auto; }
.kr-ipucu { margin: 8px 14px 4px; }
.kr-liste { overflow: auto; padding: 8px 14px 14px; display: flex; flex-direction: column; gap: 8px; }
.kr-liste .kr-kart { cursor: grab; } .kr-liste .kr-kart:hover { border-color: var(--primary); } .kr-liste .kr-kart.suruk { opacity: .5; }
.kr-tut { color: var(--muted); margin-top: 3px; } .kr-top { font-size: 11.5px; display: flex; flex-wrap: wrap; gap: 0 8px; } .kr-top b { font-weight: 600; }
@media (max-width: 1100px) { .kr-panel { top: auto; bottom: 12px; right: 12px; max-height: 45vh; } .modal-backdrop.kr-yer { justify-content: center; padding-left: 16px; } }
@media (max-width: 640px) { .kr-vardiya { grid-template-columns: 1fr; } }
.kr-sekmeler { margin-bottom: 14px; }
body.kr-surukleme .kr-hedef { animation: none; border-color: var(--border); background: var(--muted-soft); }
body.kr-surukleme-kapasite #kr-hedef, body.kr-surukleme-emisyon #ig-hedef { animation: krNabiz 1s infinite; border-color: var(--primary); background: var(--primary-soft, #e3f3ee); }
#ig-hedef.dolu { padding: 12px 14px; border-style: dashed; color: var(--text); }
.kr-isil { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 8px; margin-top: 10px; }
.kr-isil > div { display: flex; flex-direction: column; padding: 10px 12px; border-radius: var(--radius); background: var(--muted-soft); } .kr-isil small { color: var(--muted); font-size: 11.5px; } .kr-isil b { font-size: 17px; }
.kr-isil .toplam { background: var(--primary-soft, #e3f3ee); } .kr-isil .toplam b { color: var(--primary); font-size: 20px; }
.kr-tumu { padding: 0 14px 4px; }
.kr-etiket { display: flex; align-items: center; gap: 6px; margin-top: 3px; font-size: 12.5px; }
.kr-ok { display: none; color: var(--ok); margin-top: 3px; } .kr-kart.eklendi { opacity: .6; } .kr-kart.eklendi .kr-ok { display: inline-block; }
.modal-head.tasinir { cursor: move; user-select: none; touch-action: none; }
.modal.tasiniyor { transition: none; box-shadow: 0 26px 70px rgba(0,0,0,.33); }
.coklu { position: relative; }
.coklu-kutu { display: flex; flex-wrap: wrap; gap: 4px; align-items: center; min-height: 38px; height: auto; padding: 4px 6px; cursor: text; }
.coklu-cipler { display: contents; }
.coklu-cip { display: inline-flex; align-items: center; gap: 2px; padding: 2px 4px 2px 9px; border-radius: 999px; background: var(--primary-soft, #e3f3ee); color: var(--primary); font-size: 12.5px; font-weight: 500; }
.coklu-cip button { border: 0; background: none; color: inherit; cursor: pointer; width: 18px; height: 18px; border-radius: 50%; font-size: 11px; } .coklu-cip button:hover { background: rgba(0,0,0,.08); }
.coklu-ara { flex: 1; min-width: 160px; border: 0; outline: none; background: transparent; padding: 4px; font: inherit; color: inherit; }
.coklu-liste { position: absolute; left: 0; right: 0; top: calc(100% + 4px); z-index: 30; max-height: 260px; overflow: auto; background: var(--surface); border: 1px solid var(--border); border-radius: var(--radius); box-shadow: 0 12px 30px rgba(0,0,0,.15); padding: 4px; }
.coklu-oge { display: flex; align-items: center; gap: 8px; padding: 6px 8px; border-radius: 6px; cursor: pointer; font-size: 13px; } .coklu-oge:hover, .coklu-oge.aktif { background: var(--muted-soft); }
.coklu-yeni { padding: 6px 8px; }
.coklu-hucre { display: flex; flex-wrap: wrap; gap: 3px; max-width: 360px; }
.coklu-cip-k { padding: 1px 7px; border-radius: 999px; background: var(--muted-soft); font-size: 11.5px; white-space: nowrap; }
.gizli-ayrac { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
.modal.tasindi { animation: none; }
.ep-sekmeler { margin-bottom: 10px; }
.lab-arac { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; margin-bottom: 10px; }
.lab-arac .search { flex: 1 1 260px; } .lab-arac select.input { width: auto; }
.lab-tablo { max-height: 60vh; overflow: auto; }
tr.lab-satir { cursor: pointer; } tr.lab-satir:hover td { background: var(--muted-soft); } tr.lab-satir.acik td { background: var(--primary-soft, #e3f3ee); }
tr.lab-detay-satir td { background: var(--surface-2, #fafbfa); padding: 10px 14px; }
.lab-ust { display: flex; flex-wrap: wrap; gap: 6px 14px; align-items: center; font-size: 12.5px; color: var(--muted); margin-bottom: 8px; }
.lab-kapsam { margin-top: 8px; } .lab-kapsam > b { color: var(--primary); }
.lab-param { display: flex; flex-wrap: wrap; gap: 4px; margin-top: 4px; }
.lab-param span { padding: 2px 8px; border-radius: 999px; background: var(--surface); border: 1px solid var(--border); font-size: 12px; cursor: help; }
.lab-durum { display: block; margin-top: 4px; }
.ek-rapor { display: flex; flex-wrap: wrap; gap: 8px 18px; align-items: center; justify-content: space-between; padding: 10px 12px; border: 1px solid var(--primary); border-radius: var(--radius); background: var(--primary-soft, #e3f3ee); margin: 8px 0; }
.ek-rapor > div:first-child { display: flex; flex-direction: column; } .ek-rapor small { font-size: 11.5px; color: var(--muted); }
.ek-sayac { display: flex; flex-wrap: wrap; gap: 6px; align-items: center; } .ek-sayac .badge { font-size: 12.5px; padding: 4px 10px; }
.ek-bagsiz { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.ek-tutmuyor { margin: 6px 0; padding: 8px 12px; border-radius: var(--radius); background: var(--warn-soft, #fff4e0); color: var(--warn); font-size: 13px; }
.ek-par-liste { max-height: 260px; overflow: auto; }
.ek-sayi { display: inline-flex; align-items: baseline; gap: 4px; margin-right: 10px; white-space: nowrap; } .ek-sayi small { color: var(--muted); font-size: 11.5px; }
.dd-menu label.dd-oge { cursor: pointer; }
.ek-teyit { margin: 6px 0; } .ek-teyit .btn { margin-left: 6px; }
.sag-menu { position: fixed; z-index: 3000; min-width: 210px; padding: 4px; background: var(--surface); border: 1px solid var(--border); border-radius: 8px; box-shadow: 0 8px 24px rgba(0,0,0,.18); display: flex; flex-direction: column; }
.sag-menu .dd-oge[disabled] { opacity: .45; cursor: default; }
td.isaret-hucre { text-align: center; }
.aciklama-isaret { color: var(--primary); font-size: 15px; }
.aciklama-metin { white-space: pre-wrap; word-break: break-word; max-height: 60vh; overflow: auto; padding: 10px 12px; border: 1px solid var(--border); border-radius: 8px; background: var(--bg, transparent); line-height: 1.5; }
/* Logo alanı: üst çubukla (sayfa başlığı alanı) aynı renk ve alt çizgi */
.sidebar .brand { background: var(--surface); border-bottom: 1px solid var(--border); border-right: 1px solid var(--border); }
.sidebar .brand b { color: var(--text); }
.sidebar .brand small { color: var(--muted); }
.sidebar .brand, .topbar { min-height: 76px; box-sizing: border-box; }
.sidebar .brand:not(.has-logo) { padding-top: 16px; padding-bottom: 16px; }
/* Yüklenen logo marka alanını doldurur: logo ile çizgiler arasında yalnızca küçük bir boşluk kalır.
   Alan yüksekliği üst çubukla aynı; Ayarlar'daki logo boyutu büyütülürse alan ve üst çubuk birlikte büyür. */
.sidebar .brand.has-logo { padding: 4px 6px; min-height: max(76px, calc(var(--logo-h, 46px) + 9px)); }
.sidebar .brand.has-logo .brand-full .brand-logo { height: max(67px, var(--logo-h, 46px)); max-height: none; width: auto; max-width: 100%; object-fit: contain; }
body:has(.sidebar .brand.has-logo) .topbar { min-height: max(76px, calc(var(--logo-h, 46px) + 9px)); }
.range-sayi { display: inline-flex; align-items: center; gap: 6px; font-weight: 700; color: var(--muted); }
.range-sayi input.input { width: 76px; padding: 5px 8px; text-align: right; font-variant-numeric: tabular-nums; }
/* Giriş ekranı: logo boyutu Ayarlar'dan ayrı ayarlanır; altta tasarım ibaresi */
.login-card .login-logo { height: var(--logo-giris-h, 64px); max-height: none; width: auto; max-width: 100%; object-fit: contain; }
.lp-light .lp-box .brand-logo { height: var(--logo-giris-h, 64px); max-height: none; width: auto; max-width: 100%; object-fit: contain; }
.login-side { position: relative; padding-bottom: 56px; }
.login-copy { position: absolute; left: 16px; right: 16px; bottom: 18px; text-align: center; font-size: 12px; color: var(--muted); }
/* Giriş ekranı: logonun altında ürün adı */
.login-urun { margin-top: 14px; padding-left: 12px; border-left: 3px solid var(--primary); font-size: 17px; font-weight: 600; letter-spacing: .2px; color: var(--text); line-height: 1.3; }
.login-urun b { color: var(--primary); font-weight: 800; }
/* Ana Sayfa › Çevre Yönetim Paneli: firma seçimi */
.hf-secici { display: inline-flex; align-items: center; gap: 8px; margin: 0; font-weight: 400; }
.hf-kutu { position: relative; display: inline-flex; align-items: center; }
.hf-kutu > .fa-building { position: absolute; left: 10px; color: var(--primary); font-size: 13px; pointer-events: none; z-index: 1; }
.hf-kutu .input { width: 280px; max-width: 60vw; padding-left: 30px; font-weight: 700; }
@media (max-width: 700px) { .hf-secici { width: 100%; } .hf-kutu, .hf-kutu .input { width: 100%; max-width: none; } }
/* Uygunsuzluk Raporu */
.uy-bolum { margin-top: 26px; }
.uy-bas { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 16px; margin-bottom: 12px; }
.uy-bas .eayp-h { flex: 0 0 auto; }
.uy-bas .kp-bilgi { flex: 1 1 auto; }
.uy-sayac { display: inline-flex; flex-wrap: wrap; gap: 6px; align-items: center; }
td.uy-foto-hucre { width: 64px; text-align: center; }
.uy-kucuk { width: 52px; height: 40px; object-fit: cover; border-radius: 6px; border: 1px solid var(--border); display: block; margin: auto; }
tr.uy-kapali td { color: var(--muted); }
.uy-foto-kutu { position: relative; height: 190px; border: 2px dashed var(--border-strong, var(--border)); border-radius: 10px; background: var(--bg); display: flex; align-items: center; justify-content: center; cursor: pointer; overflow: hidden; }
.uy-foto-kutu:hover, .uy-foto-kutu:focus-visible, .uy-foto-kutu.uzerinde { border-color: var(--primary); outline: none; }
.uy-foto-kutu img { max-width: 100%; max-height: 100%; object-fit: contain; }
.uy-foto-bos { display: flex; flex-direction: column; align-items: center; gap: 4px; color: var(--muted); }
.uy-foto-bos i { font-size: 26px; color: var(--primary); }
.uy-foto-sil { position: absolute; top: 8px; right: 8px; background: var(--surface); box-shadow: 0 1px 4px rgba(0,0,0,.2); }
.kp-bilgi > span.uy-sayac { flex-direction: row; flex-wrap: wrap; align-items: center; gap: 6px; }
.uy-dugmeler { display: flex; gap: 8px; align-items: center; flex-wrap: wrap; }
.uy-dugmeler .dd-oge .badge { margin-left: auto; }
.sg-bitti { position: fixed; inset: 0; z-index: 4000; background: var(--bg); display: grid; place-items: center; text-align: center; padding: 24px; }
.sg-bitti i { font-size: 42px; color: var(--primary); } .sg-bitti h2 { margin: 12px 0 6px; } .sg-bitti p { color: var(--muted); }
/* MevzuNet: belge içinde arama (fare hangi bölmenin üzerindeyse orada) */
.mz-bul { display: flex; align-items: center; gap: 6px; border: 1px solid var(--border-strong, var(--border)); border-radius: 999px; padding: 3px 6px 3px 4px; background: var(--surface); flex: 0 1 430px; min-width: 260px; }
.mz-bul:focus-within { border-color: var(--primary); box-shadow: 0 0 0 3px var(--primary-soft, transparent); }
.mz-bul-hedef { flex: 0 0 auto; font-size: 12px; font-weight: 700; color: var(--primary); background: var(--primary-soft, #e3f3ee); border-radius: 999px; padding: 4px 10px; white-space: nowrap; }
.mz-bul input { flex: 1; min-width: 60px; border: 0; outline: 0; background: transparent; color: var(--text); font: inherit; font-size: 14px; padding: 4px 2px; }
.mz-bul-sayi { white-space: nowrap; min-width: 34px; text-align: right; }
.mz-bul .icon-btn { width: 28px; height: 28px; }
.mz-pane.mz-hedef { border-color: var(--primary); box-shadow: 0 0 0 2px var(--primary-soft, rgba(23,129,106,.25)); }
mark.mz-bul-isaret { background: #ffe066; color: inherit; border-radius: 2px; padding: 0; }
mark.mz-bul-isaret.aktif { background: #ff9632; box-shadow: 0 0 0 2px #ff9632; }
@media (max-width: 900px) { .mz-bul { flex: 1 1 100%; order: 3; } }
/* İletim raporu görüntüleyici */
.ir-govde { display: flex; flex-direction: column; gap: 10px; min-height: 300px; }
.ir-bas { width: 100%; border-collapse: collapse; font-size: 13.5px; }
.ir-bas th { text-align: left; width: 120px; color: var(--muted); font-weight: 600; padding: 4px 10px 4px 0; vertical-align: top; }
.ir-bas td { padding: 4px 0; word-break: break-word; }
.ir-ileti { border: 1px solid var(--border); border-radius: 10px; overflow: hidden; background: #fff; }
.ir-ileti iframe { width: 100%; height: 52vh; border: 0; display: block; background: #fff; }
.ir-ileti pre { margin: 0; padding: 14px; white-space: pre-wrap; word-break: break-word; font: 13.5px/1.5 Calibri, 'Segoe UI', Arial, sans-serif; color: #222; max-height: 52vh; overflow: auto; }
.ir-pdf { width: 100%; height: 66vh; border: 1px solid var(--border); border-radius: 10px; }
.ir-gorsel { text-align: center; max-height: 66vh; overflow: auto; } .ir-gorsel img { max-width: 100%; }
.ep-iletim-ac { width: 24px; height: 24px; vertical-align: middle; }
/* e-Posta durumu: rozet ve aşama penceresi */
.badge.b-gonder { background: var(--info-soft); color: var(--info); }
.ep-durum { cursor: help; }
.ep-kontrol { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; margin-bottom: 8px; }
.ep-zaman { position: fixed; z-index: 3500; min-width: 290px; max-width: 360px; background: var(--surface); border: 1px solid var(--border); border-radius: 10px; box-shadow: 0 10px 28px rgba(0,0,0,.18); padding: 10px 12px; font-size: 13px; pointer-events: none; }
.ep-zaman h5 { margin: 0 0 8px; font-size: 13px; } .ep-zaman h5 i { color: var(--primary); }
.ep-zaman ul { list-style: none; margin: 0 0 6px; padding: 0; display: grid; gap: 6px; }
.ep-zaman li { display: grid; grid-template-columns: 18px 1fr auto; gap: 8px; align-items: center; color: var(--muted); }
.ep-zaman li.tamam { color: var(--text); } .ep-zaman li.tamam i { color: var(--primary); }
.ep-zaman li b { font-weight: 600; white-space: nowrap; font-variant-numeric: tabular-nums; }
.ep-zorunlu { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 16px; padding: 8px 10px; border-radius: 8px; background: var(--primary-soft, #e3f3ee); }
.ep-zorunlu .check { margin: 0; } .ep-zorunlu input:disabled { opacity: 1; accent-color: var(--primary); }
.ep-zaman .ep-uyari { margin: 0 0 6px; color: var(--danger); font-size: 12.5px; }
/* MevzuNet: yakınlaştır / uzaklaştır */
.mz-yakin { display: inline-flex; align-items: center; gap: 2px; border: 1px solid var(--border); border-radius: 999px; padding: 2px; background: var(--surface); }
.mz-yakin .icon-btn { width: 28px; height: 28px; }
.mz-yakin .icon-btn:disabled { opacity: .35; cursor: default; }
.mz-yakin-oran { min-width: 46px; border: 0; background: transparent; font: inherit; font-size: 12.5px; font-weight: 700; color: var(--text); cursor: pointer; border-radius: 999px; padding: 4px 6px; font-variant-numeric: tabular-nums; }
.mz-yakin-oran:hover { background: var(--primary-soft, #e3f3ee); color: var(--primary); }
.mz-ek-bas .mz-yakin { margin-right: 4px; }
/* SMS ile çift doğrulama */
.cd-kod { font-size: 24px; letter-spacing: 10px; text-align: center; font-variant-numeric: tabular-nums; font-weight: 700; }
.cd-alt { display: flex; justify-content: space-between; gap: 8px; margin-top: 12px; }
.cd-ayar { display: flex; align-items: center; gap: 16px; flex-wrap: wrap; }
.cd-anahtar { display: inline-flex; align-items: center; gap: 10px; cursor: pointer; margin: 0; }
.cd-anahtar input { position: absolute; opacity: 0; width: 0; height: 0; }
.cd-kaydirici { width: 44px; height: 24px; border-radius: 999px; background: var(--border-strong, #c9cfcd); position: relative; transition: background .15s; flex: 0 0 auto; }
.cd-kaydirici::after { content: ''; position: absolute; left: 3px; top: 3px; width: 18px; height: 18px; border-radius: 50%; background: #fff; box-shadow: 0 1px 3px rgba(0,0,0,.25); transition: transform .15s; }
.cd-anahtar input:checked + .cd-kaydirici { background: var(--primary); }
.cd-anahtar input:checked + .cd-kaydirici::after { transform: translateX(20px); }
.cd-anahtar input:focus-visible + .cd-kaydirici { box-shadow: 0 0 0 3px var(--primary-soft, rgba(23,129,106,.3)); }
.cd-yontemler { display: flex; flex-direction: column; gap: 6px; margin-top: 12px; }
.cd-yontemler .check { margin: 0; } .cd-yontemler i { color: var(--primary); width: 18px; text-align: center; }
.cd-diger { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; margin-top: 14px; padding-top: 12px; border-top: 1px solid var(--border); }
.cd-yontem { border: 1px solid var(--border-strong, var(--border)); background: var(--surface); color: var(--text); border-radius: 999px; padding: 5px 12px; font: inherit; font-size: 13px; cursor: pointer; }
.cd-yontem:hover { border-color: var(--primary); color: var(--primary); }
.cd-kod.cd-yedek { letter-spacing: 4px; text-transform: uppercase; }
.cd-profil { display: flex; flex-direction: column; gap: 10px; }
.cd-satir { display: flex; align-items: center; gap: 10px; padding: 10px 12px; border: 1px solid var(--border); border-radius: 10px; }
.cd-satir > div { flex: 1; display: flex; flex-direction: column; gap: 2px; } .cd-satir b i { color: var(--primary); margin-right: 4px; }
.cd-qr { display: flex; justify-content: center; padding: 12px; background: #fff; border-radius: 10px; min-height: 120px; align-items: center; }
.cd-gizli { font-size: 14px; letter-spacing: 1px; user-select: all; }
.cd-adimlar { margin: 0 0 8px; padding-left: 20px; line-height: 1.6; }
.cd-yedek-liste { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; } .cd-yedek-liste code { text-align: center; font-size: 15px; padding: 8px; border: 1px dashed var(--border-strong, var(--border)); border-radius: 8px; letter-spacing: 1px; }
/* MevzuNet sekmeleri ve Diğer Mevzuatlar */
.mz-sekmeler { margin-bottom: 12px; }
.mz-diger-filtre .mz-satir { flex-wrap: wrap; align-items: flex-end; }
.mz-diger-filtre .mz-kutu { flex: 1 1 280px; }
.mz-diger-filtre .mz-alan { display: flex; flex-direction: column; gap: 2px; }
.mz-diger-filtre .mz-alan select { min-width: 190px; }
.mz-birim { display: inline-block; font-size: 11px; font-weight: 700; border-radius: 999px; padding: 1px 8px; margin-right: 2px; background: var(--primary-soft, #e3f3ee); color: var(--primary); }
.mz-birim.mz-b-iklim { background: #e6f0fb; color: #1f5fa8; } .mz-birim.mz-b-ced { background: #eaf6e4; color: #3e7b27; } .mz-birim.mz-b-cygm { background: #fff1d6; color: #9a6a0b; }
.mz-birim.mz-b-ist { background: #f6e6f0; color: #8a2a64; }
.mz-il-sayac { display: flex; flex-wrap: wrap; gap: 6px; margin: -4px 0 10px; }
.mz-il-sayac .mz-birim { border: 1px solid transparent; cursor: pointer; font: inherit; font-size: 12px; font-weight: 700; padding: 3px 10px; }
.mz-il-sayac .mz-birim b { margin-left: 4px; } .mz-il-sayac .mz-birim.secili { border-color: currentColor; }
/* MevzuNet: sayfa içi PDF görüntüleyici (pdf.js) */
.mz-pdf { position: relative; flex: 1; min-height: 0; overflow: auto; background: #525659; padding: 14px; }
.mz-pdf-ic { display: flex; flex-direction: column; align-items: center; gap: 12px; }
.mz-pdf-s { position: relative; background: #fff; box-shadow: 0 2px 8px rgba(0,0,0,.35); flex: 0 0 auto; }
.mz-pdf-s canvas { display: block; }
.mz-pdf-no { position: sticky; bottom: 0; float: right; margin-top: -30px; background: rgba(32,33,36,.85); color: #fff; font-size: 12px; font-weight: 600; padding: 4px 10px; border-radius: 999px; font-variant-numeric: tabular-nums; pointer-events: none; }
.mz-pdf .textLayer { position: absolute; inset: 0; overflow: hidden; line-height: 1; text-size-adjust: none; forced-color-adjust: none; transform-origin: 0 0; z-index: 2; }
.mz-pdf .textLayer span, .mz-pdf .textLayer br { color: transparent; position: absolute; white-space: pre; cursor: text; transform-origin: 0% 0%; }
.mz-pdf .textLayer ::selection { background: rgba(0, 100, 255, .3); }
.mz-pdf .textLayer mark.mz-bul-isaret { color: transparent; background: rgba(255, 224, 102, .55); padding: 0; border-radius: 1px; }
.mz-pdf .textLayer mark.mz-bul-isaret.aktif { background: rgba(255, 150, 50, .65); box-shadow: none; }
/* MevzuNet otomatik güncelleme */
.mz-izle { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 14px; margin: -4px 0 12px; font-size: 13px; }
.mz-izle > i { color: var(--primary); }
.mz-izle .btn { margin-left: auto; }
.mz-takip { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; margin-top: 8px; } .mz-takip i { color: var(--primary); }
.mz-yeni { display: inline-block; font-size: 10.5px; font-weight: 800; letter-spacing: .3px; text-transform: uppercase; color: #fff; background: var(--danger, #c1272d); border-radius: 999px; padding: 1px 7px; vertical-align: 2px; margin-right: 4px; }
.notif li.notif-ac { cursor: pointer; color: var(--primary); border-radius: 4px; }
.notif li.notif-ac:hover { text-decoration: underline; background: var(--primary-soft, #e3f3ee); }
.notif li.notif-ac i { font-size: 10px; margin-right: 2px; }
.notif-git { display: inline-flex; align-items: center; gap: 5px; margin-top: 4px; font-size: 12px; font-weight: 700; color: var(--primary); }
/* Takip Tablosu: sütun gizleme ve detay */
.tk-bolum-menu { max-height: 70vh; overflow: auto; min-width: 280px; }
.tk-bolum-bas { cursor: context-menu; }
.tk-bm-no { display: inline-grid; place-items: center; min-width: 22px; height: 20px; border-radius: 6px; background: var(--primary); color: #fff; font-size: 11px; font-weight: 700; }
.tk-sutun small { margin-left: auto; }
.tk-gizli-not { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin: 0 0 12px; padding: 8px 12px; border-radius: 8px; background: var(--primary-soft, #e3f3ee); font-size: 13px; }
.tk-gizli-not > i { color: var(--primary); }
.tk-sutun-bas { font-size: 12px; font-weight: 700; color: var(--muted); padding: 6px 12px 4px; text-transform: uppercase; letter-spacing: .3px; }
.tk-sutun-bas i { color: var(--primary); }
.tk-sutun { cursor: pointer; gap: 8px; } .tk-sutun input { accent-color: var(--primary); }
.tk-detay { width: 100%; border-collapse: collapse; font-size: 14px; }
.tk-detay th { text-align: left; width: 38%; color: var(--muted); font-weight: 600; padding: 7px 10px 7px 0; vertical-align: top; border-bottom: 1px solid var(--border); }
.tk-detay td { padding: 7px 0; border-bottom: 1px solid var(--border); }
.tk-ay-ekle { display: flex; align-items: flex-end; gap: 10px; flex-wrap: wrap; margin-bottom: 12px; }
.tk-ay-ekle .field { margin: 0; flex: 1 1 200px; }
.tk-ay-silinen { display: flex; flex-wrap: wrap; gap: 6px; }
.tk-ay-sira { white-space: nowrap; } .tk-ay-sira .icon-btn { width: 26px; height: 26px; } .tk-ay-sira .icon-btn:disabled { opacity: .3; }
.tk-kilit { gap: 6px; } .tk-kilit .fa-lock { color: var(--primary); }
.tk-sutun.kilitli { cursor: not-allowed; opacity: .75; } .tk-sutun.kilitli input { cursor: not-allowed; }
/* Takip Tablosu Başlıkları penceresi */
.tk-ay-ic .table-wrap { max-height: 62vh; overflow: auto; }
.tk-ay-ic table.grid td, .tk-ay-ic table.grid th { padding: 9px 12px; vertical-align: middle; }
.tk-ay-ad { min-width: 260px; }
.tk-ay-ad > .icon-btn { width: 26px; height: 26px; opacity: .45; margin-left: 4px; }
.tk-ay-ad:hover > .icon-btn { opacity: 1; }
.tk-ay-ad-duzen { display: flex; align-items: center; gap: 4px; }
.tk-ay-ad-duzen .input { flex: 1; min-width: 220px; }
.tk-ay-ekle .field:first-child { flex: 2 1 320px; }
/* başlık simgesi seçici */
.tk-ay-ikon { border: 1px solid transparent; background: transparent; border-radius: 6px; width: 28px; height: 28px; cursor: pointer; color: var(--primary); font-size: 14px; }
.tk-ay-ikon:hover { border-color: var(--primary); background: var(--primary-soft, #e3f3ee); }
.tk-ay-simge-alan { flex: 0 0 auto !important; } .tk-ay-simge { height: 38px; color: var(--primary); gap: 6px; }
.tk-simge-sec { width: 340px; max-height: 360px; overflow: auto; z-index: 4000; }
.tk-simge-izgara { display: grid; grid-template-columns: repeat(8, 1fr); gap: 4px; padding: 4px 6px 8px; }
.tk-simge { border: 1px solid var(--border); background: var(--surface); border-radius: 8px; height: 34px; cursor: pointer; color: var(--text); font-size: 15px; }
.tk-simge:hover { border-color: var(--primary); color: var(--primary); }
.tk-simge.on { background: var(--primary); border-color: var(--primary); color: #fff; }
/* İK › Planlama */
.pl-sekmeler { margin-bottom: 12px; }
.pl-kosul { display: inline-block; font-size: 12.5px; color: var(--text); background: var(--bg); border: 1px dashed var(--border-strong, var(--border)); border-radius: 6px; padding: 1px 7px; }
.pl-gun { display: inline-block; font-size: 12px; font-weight: 700; color: var(--danger); background: var(--danger-soft, #fde8e8); border-radius: 999px; padding: 1px 9px; margin: 1px 0; }
tr.pl-cakisma td { background: var(--danger-soft, #fde8e8) !important; }
tr.pl-bitti td { color: var(--muted); }
/* Ana Sayfa takvimi */
.hero-sag { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; }
/* büyük takvim */
.tkv-modal .modal-body { padding-top: 10px; }
.tkv-ust { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; margin-bottom: 10px; }
.tkv-ust .btn-primary { margin-left: auto; }
.tkv-gezin { display: flex; align-items: center; gap: 6px; } .tkv-gezin h3 { margin: 0 6px; min-width: 150px; text-align: center; font-size: 18px; }
.tkv-govde { display: grid; grid-template-columns: 1fr 240px; gap: 14px; }
.tkv-ay { display: grid; grid-template-columns: repeat(7, 1fr); border: 1px solid var(--border); border-radius: 10px; overflow: hidden; }
.tkv-gb { padding: 6px 8px; font-size: 12px; font-weight: 700; color: var(--muted); background: var(--bg); border-bottom: 1px solid var(--border); text-align: center; }
.tkv-gun { min-height: 92px; padding: 4px 4px 6px; border-right: 1px solid var(--border); border-bottom: 1px solid var(--border); cursor: pointer; display: flex; flex-direction: column; gap: 2px; min-width: 0; background: var(--surface); }
.tkv-gun:nth-child(7n) { border-right: 0; }
.tkv-gun:hover { background: var(--primary-soft, #e3f3ee); }
.tkv-gun.dis { background: var(--bg); } .tkv-gun.dis .tkv-no { opacity: .45; }
.tkv-gun.hs .tkv-no { color: var(--danger); }
.tkv-no { font-size: 12px; font-weight: 700; align-self: flex-end; min-width: 22px; height: 22px; display: grid; place-items: center; border-radius: 50%; }
.tkv-gun.bugun .tkv-no { background: var(--primary); color: #fff !important; }
.tkv-cip { display: block; width: 100%; text-align: left; border: 0; border-left: 3px solid var(--primary); background: var(--primary-soft, #e3f3ee); color: var(--text); font: inherit; font-size: 11px; font-weight: 600; padding: 2px 5px; border-radius: 4px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; cursor: pointer; }
.tkv-cip.aralik { border-left-color: #1f5fa8; background: #e6f0fb; }
.tkv-cip.aralik.devam { color: transparent; border-left-color: transparent; border-radius: 0; }
.tkv-cip.uyari { border-left-color: var(--danger); background: var(--danger-soft, #fde8e8); color: var(--danger); }
.tkv-cip:hover { filter: brightness(.95); }
.tkv-daha { font-size: 11px; color: var(--primary); font-weight: 700; padding-left: 4px; cursor: pointer; }
.tkv-yan h4 { margin: 0 0 8px; font-size: 13px; } .tkv-yan h4 i { color: var(--primary); }
.tkv-belirsiz { display: flex; flex-direction: column; gap: 6px; max-height: 52vh; overflow: auto; }
.tkv-b { display: flex; flex-direction: column; gap: 2px; text-align: left; border: 1px solid var(--border); border-radius: 8px; background: var(--surface); padding: 6px 8px; font: inherit; font-size: 12px; cursor: pointer; color: var(--text); }
.tkv-b:hover { border-color: var(--primary); }
.tkv-b small { font-size: 11px; }
.tkv-lejant { display: flex; flex-direction: column; gap: 4px; margin-top: 12px; font-size: 11.5px; color: var(--muted); }
.tkv-r { display: inline-block; width: 12px; height: 10px; border-radius: 2px; border-left: 3px solid var(--primary); background: var(--primary-soft, #e3f3ee); margin-right: 6px; vertical-align: -1px; }
.tkv-r.aralik { border-left-color: #1f5fa8; background: #e6f0fb; } .tkv-r.uyari { border-left-color: var(--danger); background: var(--danger-soft, #fde8e8); }
@media (max-width: 900px) { .tkv-govde { grid-template-columns: 1fr; } .tkv-gun { min-height: 70px; } }
/* Takvim: üst çubuk simgesi ve sekmeler */
.takvim-btn { width: 40px; height: 40px; border: 1px solid var(--border); border-radius: 10px; background: var(--surface-2); color: var(--primary); font-size: 16px; }
.takvim-btn:hover { background: var(--surface); box-shadow: var(--shadow); }
.tkv-sekmeler { display: flex; gap: 4px; border-bottom: 1px solid var(--border); margin: -4px 0 12px; }
.tkv-sekmeler button { border: 0; background: none; font: inherit; font-weight: 600; font-size: 13.5px; color: var(--muted); padding: 8px 14px; border-bottom: 2.5px solid transparent; margin-bottom: -1px; cursor: pointer; border-radius: 8px 8px 0 0; }
.tkv-sekmeler button:hover { color: var(--text); background: var(--surface-2); }
.tkv-sekmeler button.on { color: var(--primary); border-bottom-color: var(--primary); }
.tkv-modal .modal-body { max-height: calc(100vh - 170px); overflow: auto; }
/* Aylık Program */
.seg-btn { display: inline-flex; border: 1px solid var(--border); border-radius: 9px; padding: 2px; background: var(--surface-2); gap: 2px; }
.seg-btn button { border: 0; background: none; font: inherit; font-size: 12.5px; font-weight: 600; color: var(--muted); padding: 5px 10px; border-radius: 7px; cursor: pointer; }
.seg-btn button.on { background: var(--surface); color: var(--primary); box-shadow: var(--shadow); }
.ap-araclar { display: flex; align-items: center; gap: 8px; margin-left: auto; flex-wrap: wrap; }
.ap-filtre { padding: 5px 8px; border: 1px solid var(--border-strong); border-radius: 8px; font: inherit; font-size: 12.5px; background: var(--surface); color: var(--text); }
.ap-yok { text-align: center; padding: 50px 10px; color: var(--muted); } .ap-yok i { font-size: 34px; }
.ap-ipucu { margin: 8px 0 0; }
.ap-notlar { margin-top: 10px; display: flex; flex-direction: column; gap: 6px; font-size: 13px; }
.ap-not-metin { white-space: pre-wrap; }
.ap-form { display: flex; flex-direction: column; gap: 12px; }
.ap-form .field > span, .ap-pa .field > span, .ap-tatil-form .field > span { font-weight: 600; font-size: 13px; }
.ap-so-sec { display: flex; gap: 18px; font-size: 13px; } .ap-so-sec label { display: flex; align-items: center; gap: 6px; cursor: pointer; }
.ap-firma-alan { display: flex; flex-direction: column; gap: 12px; }
.ap-uy { margin: 0 0 4px; font-size: 12.5px; } .ap-uy.danger { color: var(--danger); font-weight: 600; } .ap-uy.muted { color: var(--muted); }
.ap-talep { display: flex; flex-direction: column; gap: 6px; } .ap-talep > b { font-size: 12.5px; }
.ap-ml { list-style: none; margin: 0 0 10px; padding: 0; display: flex; flex-direction: column; gap: 4px; }
.ap-ml li { display: flex; justify-content: space-between; align-items: center; padding: 4px 6px 4px 10px; border: 1px solid var(--border); border-left: 4px solid var(--c); border-radius: 8px; }
.ap-ml-ekle { display: flex; gap: 8px; }
/* Puanlama */
.ap-sag { margin-left: auto; }
.ap-puan { display: flex; flex-direction: column; gap: 14px; }
.ap-ozet { max-width: 760px; }
.ap-kartlar { display: grid; grid-template-columns: repeat(auto-fill, minmax(330px, 1fr)); gap: 12px; align-items: start; }
.ap-kart { border: 1px solid var(--border); border-top: 4px solid var(--c); border-radius: 10px; padding: 8px 10px; background: var(--surface); }
.ap-kart h4 { margin: 2px 0 8px; color: var(--c); font-size: 14px; }
.ap-kart td:first-child { max-width: 170px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ap-puan .grid td, .ap-puan .grid th { padding: 4px 6px; font-size: 12.5px; }
.ap-sayi { width: 56px; padding: 3px 5px; border: 1px solid var(--border-strong); border-radius: 6px; font: inherit; text-align: center; background: var(--surface); color: var(--text); }
.ap-eksik { color: var(--danger); font-weight: 700; } .ap-fazla { color: #b4531c; font-weight: 700; } .ap-kalan { color: var(--primary); font-weight: 700; }
.ap-pa { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; }
/* Açılır listeler: tarayıcı oku yerine dikeyde tam ortalı ok */
select:not([multiple]):not([size]) {
  -webkit-appearance: none; appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8'%3E%3Cpath d='M1.5 1.75 6 6.25l4.5-4.5' stroke='%238a948f' stroke-width='1.8' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-repeat: no-repeat; background-position: right 11px center; background-size: 11px 8px;
  padding-right: 32px !important;
}
select:not([multiple]):not([size]):focus { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8'%3E%3Cpath d='M1.5 1.75 6 6.25l4.5-4.5' stroke='%231f7a5c' stroke-width='1.8' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E"); }
select::-ms-expand { display: none; }
.firm-switch select { background-position: right 2px center; padding-right: 22px !important; }
/* Aylık Program: Excel tasarımı (asıl stil aylik-program.js › EXCEL_CSS); ekranda düzenleme ekleri */
.ap-kaydir { overflow-x: auto; border-radius: 6px; box-shadow: 0 0 0 1px var(--border); }
.ap-kaydir .apx { min-width: 1180px; }
.apx .soluk { opacity: .28; }
.apx .duz { cursor: pointer; }
.apx td.apx-h.duz:hover, .apx td.apx-so.duz:hover { outline: 2px solid #1f7a5c; outline-offset: -2px; }
.apx th.apx-t.duz:hover { text-decoration: underline; }
.apx .apx-t.bugun { box-shadow: inset 0 -3px 0 #1f7a5c; }
.apx .apx-t.tatil:not(.so) { color: #c00000; }
.apx td.surukle { opacity: .4; }
.apx td.hedef { outline: 2px dashed #1f7a5c; outline-offset: -2px; }
.apx .ap-uyi { position: absolute; top: 2px; right: 3px; font-size: 10px; color: #ffd24d; text-shadow: 0 0 2px #000; }
.apx .apx-h:not(.dolu) .ap-uyi, .apx .apx-h.hs .ap-uyi { color: #c00000; text-shadow: none; }
.ap-not-duz { display: flex; gap: 8px; align-items: flex-start; }
.ap-not-duz textarea { flex: 1; border: 1px dashed #bbb; border-radius: 4px; padding: 4px 6px; font: inherit; color: #F0A22E; font-weight: 700; background: #fff; resize: vertical; }
.ap-engel { margin: 0 0 8px; padding-left: 20px; display: flex; flex-direction: column; gap: 4px; }
.ap-engel li { font-weight: 600; }
.ap-uy.warn { color: #b06d00; font-weight: 600; }
/* ================================================================ Mobil uyum (telefon / dar ekran) */
@media (max-width: 820px) {
  /* üst çubuk: başlık + simgeler ilk satırda, firma seçici alt satırda */
  .topbar { gap: 8px 8px; padding: 10px 12px; }
  .topbar .page-heading { order: 1; }
  .topbar .takvim-btn, .topbar .uyg-saat, .topbar .theme-switch, .topbar .veri-durum, .topbar .notif-wrap { order: 2; }
  .topbar .firm-switch { order: 10; }
  .page-heading h1 { font-size: 17px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
  .page-heading small { display: block; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; font-size: 11px; }
  .takvim-btn, .notif-btn { width: 36px; height: 36px; font-size: 15px; }
  .theme-switch { padding: 2px; } .theme-switch button { width: 28px; height: 30px; font-size: 13px; }
  .veri-durum { width: 26px; }
  .notif-panel { position: fixed; left: 8px; right: 8px; top: 58px; width: auto; max-width: none; }
  .notif-list { max-height: calc(100vh - 140px); }
  /* içerik */
  .main { padding: 12px 12px 36px; }
  .card { padding: 14px; margin-bottom: 14px; }
  .hero h2 { font-size: 20px; }
  .tiles { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
  .tile { padding: 12px; }
  .toolbar { padding: 8px; gap: 8px; }
  .toolbar-group { gap: 6px; }
  .mini-row { flex-wrap: wrap; }
  .logo-grid, .two-col, .form-grid, .perm-groups { grid-template-columns: minmax(0, 1fr); } /* tek sütun, içerik sütunu genişletmez */
  .logo-grid > *, .two-col > * { min-width: 0; }
  .koord-filters .field { min-width: 0; flex: 1 1 100%; }
  /* .table-wrap dışındaki tablolar kendi içinde yatay kaydırılır */
  .card > table.grid, .modal-body > table.grid, .card > div:not(.table-wrap) > table.grid { display: block; overflow-x: auto; max-width: 100%; }
  .grid th { padding: 9px 10px; } .grid td { padding: 8px 10px; }
  .grid td.empty { text-align: left; } /* geniş tabloda "kayıt yok" yazısı ekranda kalsın */
  /* pencereler: ekranın tamamını kullanır, düğmeler sığmazsa alt satıra iner */
  .modal-backdrop { padding: 8px; }
  .modal-body { padding: 14px; }
  .modal-foot { flex-wrap: wrap; padding: 10px 14px; }
  .modal-foot .btn { flex: 1 1 auto; justify-content: center; }
  .toast-box { left: 12px; right: 12px; bottom: 12px; } .toast { max-width: none; }
  /* sayfaya özel */
  .tk-ozet { display: grid; grid-template-columns: 1fr 1fr; }
  .mz-alan { flex-wrap: wrap; } .mz-alan .input[type=date] { flex: 1 1 120px; min-width: 0; }
  .tkv-sekmeler { overflow-x: auto; scrollbar-width: none; } .tkv-sekmeler button { white-space: nowrap; padding: 8px 10px; }
  .tkv-ust { gap: 8px; } .tkv-gezin h3 { min-width: 0; font-size: 16px; }
  .ap-araclar { margin-left: 0; }
  .ap-kaydir .apx { min-width: 980px; }
  .tkv-gun { min-height: 58px; } .tkv-cip { font-size: 10px; padding: 1px 3px; }
}
@media (max-width: 600px) { .modal { width: 100% !important; } }
@media (max-width: 420px) { .kpis.small { grid-template-columns: 1fr 1fr; } }
@media (max-width: 340px) { .tk-ozet { grid-template-columns: 1fr; } }
/* FaturaPort */
.grid.fatura .month.fp.on { background: #1f5fa8; border-color: #1f5fa8; }
.fp-esle { display: grid; grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); gap: 10px 14px; margin: 10px 0; }
.fp-esle .field > span { font-weight: 600; font-size: 13px; }
.fp-secenek { display: flex; flex-wrap: wrap; gap: 8px 22px; margin: 6px 0 10px; font-size: 13px; } .fp-secenek label { display: flex; gap: 6px; align-items: center; cursor: pointer; }
.fp-onizle .table-wrap { margin-top: 6px; } .fp-onizle .grid td, .fp-onizle .grid th { font-size: 12px; padding: 6px 8px; white-space: nowrap; }
.fp-ayar-alan { margin-bottom: 10px; }
.fp-aktar { max-height: 55vh; overflow: auto; } .fp-aktar .grid td, .fp-aktar .grid th { padding: 7px 10px; font-size: 13px; }
/* Atık formu: lisanslı firmanın R / D kodları */
.atk-rkod { margin-top: 6px; padding: 8px 10px; border: 1px solid var(--border); border-radius: 8px; background: var(--surface-2); font-size: 13px; display: flex; flex-direction: column; gap: 4px; }
.atk-rkod > div > i, .atk-rkod > i { color: var(--primary); }
.atk-rcip { border: 1px solid var(--primary); background: var(--surface); color: var(--primary); border-radius: 999px; padding: 1px 9px; margin: 2px 3px; font: inherit; font-size: 12px; font-weight: 700; cursor: pointer; }
.atk-rcip:hover, .atk-rcip.on { background: var(--primary); color: #fff; }
.atk-rkod-d .atk-rcip { border-color: var(--muted); color: var(--muted); } .atk-rkod-d .atk-rcip.on { background: var(--muted); color: #fff; }
.atk-rkod-uyari { color: var(--danger); font-weight: 600; }
/* Ayarlar › Menü Sırası */
.ms-ust, .ms-alt { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 4px; }
.ms-blok { border: 1px solid var(--border); border-radius: 10px; padding: 4px; background: var(--surface); }
.ms-alt { margin: 4px 0 2px 28px; }
.ms-satir { display: flex; align-items: center; gap: 8px; padding: 5px 6px; border-radius: 7px; cursor: grab; background: var(--surface); }
.ms-satir > span { flex: 1; } .ms-satir > i:not(.ms-tut) { color: var(--primary); width: 18px; text-align: center; }
.ms-bas { font-weight: 700; } .ms-alt .ms-satir { background: var(--surface-2); font-size: 13.5px; }
.ms-tut { color: var(--muted); }
.ms-satir.surukle { opacity: .45; } .ms-satir.hedef { outline: 2px dashed var(--primary); outline-offset: -2px; }
.eayp-not { margin: 6px 0 0; }
.grid tr.eayp-uyari-satir > td:first-child { box-shadow: inset 4px 0 0 var(--danger); }
.grid tr.eayp-dikkat-satir > td:first-child { box-shadow: inset 4px 0 0 #e0a000; }
/* tablo başlığının en sağındaki simge düğme (CrudTable headerAction) */
.grid th.th-ac-hucre { position: relative; padding-right: 44px; }
.grid .th-ac { position: absolute; right: 8px; top: 50%; transform: translateY(-50%); width: 28px; height: 28px; border: 1px solid var(--border); border-radius: 7px; background: var(--surface); color: var(--primary); cursor: pointer; display: grid; place-items: center; font-size: 12px; }
.grid .th-ac:hover { border-color: var(--primary); background: var(--primary-soft, #e3f3ee); }
/* EAYP Hazırla */
.eayp-hazirla { margin-left: auto; align-self: flex-end; }
.eh-modal .modal-body { max-height: calc(100vh - 170px); overflow: auto; }
.eh-ust { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; margin-bottom: 12px; } .eh-ust > span { margin-right: auto; }
.eh-blok { border: 1px solid var(--border); border-radius: 10px; padding: 10px 12px; margin-bottom: 12px; background: var(--surface); }
.eh-blok h4 { margin: 0 0 8px; font-size: 14.5px; color: var(--primary); }
.eh-metin { width: 100%; resize: vertical; margin-bottom: 8px; }
.eh-kv { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 8px 14px; }
.eh-kv .field > span { font-weight: 600; font-size: 12.5px; }
.eh-grup { grid-column: 1 / -1; font-weight: 700; font-size: 12.5px; color: var(--muted); border-bottom: 1px dashed var(--border); padding-top: 4px; }
.eh-tablo { margin-top: 8px; } .eh-tablo .grid td { padding: 4px 6px; vertical-align: top; } .eh-tablo .grid .input { padding: 5px 7px; font-size: 13px; }
.eh-tablo textarea.input { resize: vertical; min-width: 220px; }
.eh-tablo td.eh-kod { width: 110px; } .eh-tablo td.eh-miktar { width: 140px; }
.eh-tarih { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; margin-bottom: 6px; font-size: 13px; } .eh-tarih .input { width: auto; }
.eh-tablo > .btn { margin-top: 6px; }
.eayp-yapi { margin: 0; padding-left: 20px; display: flex; flex-direction: column; gap: 4px; font-size: 13px; } .eayp-yapi ul { margin: 2px 0 0; padding-left: 16px; }
/* Firma Kartı › Logo */
.fl-kutu { display: flex; gap: 16px; align-items: center; flex-wrap: wrap; }
.fl-onizle { width: 280px; height: 140px; border: 1px dashed var(--border-strong); border-radius: 10px; display: grid; place-items: center; background: repeating-conic-gradient(#f2f2f2 0% 25%, #fff 0% 50%) 50% / 16px 16px; overflow: hidden; }
.fl-onizle img { max-width: 92%; max-height: 88%; object-fit: contain; }
.fl-dugmeler { display: flex; flex-direction: column; gap: 8px; align-items: flex-start; }
/* tablo altı: kayıt sayısı ve gösterim seçimi (15 · 30 · 45 · Hepsi) */
.table-info { display: flex; align-items: center; justify-content: space-between; gap: 8px 16px; flex-wrap: wrap; }
.gosterim { display: inline-flex; align-items: center; gap: 3px; }
.gosterim .muted { margin-right: 4px; }
.gosterim button { border: 1px solid var(--border); background: var(--surface); color: var(--muted); font: inherit; font-size: 12px; font-weight: 600; padding: 3px 10px; border-radius: 7px; cursor: pointer; min-width: 38px; }
.gosterim button:hover { border-color: var(--primary); color: var(--text); }
.gosterim button.on { background: var(--primary); border-color: var(--primary); color: #fff; }
.gosterim button:disabled { opacity: .4; cursor: default; border-color: var(--border); color: var(--muted); }
.gosterim button.on:disabled { color: #fff; }
.fp-acilis { max-height: 55vh; overflow: auto; } .fp-acilis .input { width: 150px; text-align: right; }
/* Hesap Ekstresi / Fatura Kes */
.ek-modal .modal-body, .fk-modal .modal-body { max-height: calc(100vh - 170px); overflow: auto; }
.ek-ust { display: flex; justify-content: space-between; align-items: flex-end; gap: 12px; flex-wrap: wrap; margin-bottom: 10px; }
.ek-firma { display: flex; flex-direction: column; } .ek-firma b { font-size: 15px; }
.ek-donem { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; font-size: 12.5px; } .ek-donem label { display: flex; align-items: center; gap: 4px; } .ek-donem .input { width: auto; }
.ek-kartlar { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; margin-bottom: 10px; }
.ek-kart { border: 1px solid var(--border); border-radius: 10px; padding: 8px 10px; display: flex; flex-direction: column; gap: 2px; background: var(--surface-2); }
.ek-kart b { font-size: 16px; } .ek-kart small { font-size: 11.5px; }
.ek-kart.borc b { color: var(--danger); } .ek-kart.alacak b { color: var(--ok); }
.ek-tablo { max-height: 50vh; overflow: auto; } .ek-tablo .grid td, .ek-tablo .grid th { padding: 6px 8px; font-size: 12.5px; }
.ek-tablo tr.ek-devir td, .ek-tablo tr.ek-toplam td { background: var(--surface-2); }
.ek-ac { max-width: 280px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ek-ekler { display: flex; flex-direction: column; gap: 4px; }
.fk-ust { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-bottom: 8px; }
.fk-ust .b-kutu { border: 1px solid var(--border); border-radius: 10px; padding: 8px 10px; display: flex; flex-direction: column; gap: 2px; }
.fk-alan { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; } .fk-alan .field > span { font-weight: 600; font-size: 12.5px; }
@media (max-width: 700px) { .ek-kartlar { grid-template-columns: 1fr 1fr; } .fk-ust, .fk-alan { grid-template-columns: 1fr; } }
.pdf-modal .modal-body { padding: 0; } .pdf-cerceve { display: block; width: 100%; height: calc(100vh - 190px); min-height: 360px; border: 0; background: #525659; }
.fk-genis { grid-column: 1 / -1; }
.paylas-sec { display: flex; gap: 10px; flex-wrap: wrap; margin-bottom: 12px; }
.paylas-btn { flex: 1 1 140px; display: flex; flex-direction: column; align-items: center; gap: 6px; padding: 14px 10px; border: 1px solid var(--border); border-radius: 12px; background: var(--surface-2); color: var(--text); font: inherit; font-weight: 600; cursor: pointer; }
.paylas-btn i { font-size: 26px; color: var(--primary); } .paylas-btn.wa i { color: #25d366; } .paylas-btn.tg i { color: #229ed9; }
.paylas-btn:hover { border-color: var(--primary); }
.grid.fatura .input.cell.ilk-fatura { background: var(--primary-soft, #e3f3ee); color: var(--primary); font-weight: 600; }

.fk-alan.fk-alan4 { grid-template-columns: repeat(4, minmax(0, 1fr)); } .fk-alan .fk-iki { grid-column: span 2; }
.fk-modal .sub-h { margin: 12px 0 6px; font-size: 13.5px; } .fk-modal .sub-h i { color: var(--primary); }
.fk-kalem td { vertical-align: top; padding: 5px 6px; } .fk-kalem .input { padding: 6px 8px; font-size: 13px; } .fk-kalem td:first-child { min-width: 260px; }
.fk-kalem .input.num { width: 96px; text-align: right; } .fk-kalem select.input { min-width: 78px; } .fk-kalem .fk-acik { margin-top: 4px; font-size: 12px; color: var(--muted); }
.fk-kalem tfoot td { border: 0; padding: 4px 6px; }
.fk-toplu-ust { display: flex; flex-wrap: wrap; gap: 10px 18px; align-items: center; justify-content: space-between; } .fk-toplu-ust label { display: flex; align-items: center; gap: 6px; font-size: 13px; } .fk-toplu-ust .input { width: auto; }
.fk-toplu-liste { max-height: 52vh; overflow: auto; margin-top: 8px; }
@media (max-width: 900px) { .fk-alan.fk-alan4 { grid-template-columns: 1fr 1fr; } }
@media (max-width: 600px) { .fk-alan.fk-alan4 { grid-template-columns: 1fr; } .fk-alan .fk-iki { grid-column: auto; } }
.ek-bicim { margin-bottom: 12px; }

/* şubeler (aynı vergi no) */
tr.sube-satir td:first-child { padding-left: 34px; } tr.sube-satir td { background: var(--surface-2); } .sube-ok { margin-right: 4px; }
.sube-ac { margin-left: 4px; border: 1px solid var(--border); background: var(--primary-soft, #e3f3ee); color: var(--primary); border-radius: 999px; padding: 1px 9px; font: inherit; font-size: 11.5px; font-weight: 600; cursor: pointer; display: inline-flex; align-items: center; gap: 5px; vertical-align: middle; }
.sube-ac:hover { border-color: var(--primary); } .sube-ac i { font-size: 10px; }
.mk-not { display: block; margin-top: 4px; font-size: 12px; } .mk-not .btn { margin-left: 6px; }
tr.oz-grup { cursor: pointer; } tr.oz-grup:hover td { background: var(--primary-soft, #e3f3ee); } .oz-ok { font-size: 11px; color: var(--muted); transition: transform .15s; width: 12px; }
tr.oz-grup.acik .oz-ok { transform: rotate(90deg); } tr.oz-sube td { background: var(--surface-2); font-size: 12.5px; } .oz-sube-ad { padding-left: 18px; display: inline-flex; gap: 6px; align-items: center; }

/* sitenin tasarımında arama listesi (öneri) */
.oneri-liste { margin-top: 4px; border: 1px solid var(--border); border-radius: 10px; background: var(--surface); max-height: 240px; overflow: auto; box-shadow: var(--shadow); }
.oneri-oge { display: flex; justify-content: space-between; align-items: center; gap: 10px; width: 100%; padding: 8px 12px; border: 0; border-bottom: 1px solid var(--border); background: transparent; color: var(--text); font: inherit; font-size: 13.5px; text-align: left; cursor: pointer; }
.oneri-oge:last-child { border-bottom: 0; } .oneri-oge:hover, .oneri-oge.aktif { background: var(--primary-soft, #e3f3ee); } .oneri-oge small { white-space: nowrap; }
.oneri-bos { padding: 10px 12px; }
.fk-kalem select[data-k="sube"] { min-width: 110px; }

tr.oz-grup.acik .sube-ac i { transform: rotate(180deg); } .sube-ac i { transition: transform .15s; }

/* Eğitim Portalı */
.eg-cubuk { display: inline-block; vertical-align: middle; width: 110px; height: 8px; border-radius: 99px; background: var(--border); overflow: hidden; } .eg-cubuk > span { display: block; height: 100%; background: var(--primary); }
.eg-cubuk.genis { width: 100%; margin-top: 4px; } .eg-yuzde { font-size: 12.5px; margin-left: 4px; } td.eg-hucre { white-space: nowrap; }
.eg-modal .modal-body { max-height: calc(100vh - 170px); overflow: auto; } .eg-modal .sub-h { margin: 14px 0 6px; font-size: 13.5px; } .eg-modal .sub-h i { color: var(--primary); }
.eg-ekle { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; margin-top: 8px; } .eg-ekle .inline-form { flex: 1 1 420px; display: flex; gap: 8px; } .eg-ekle .inline-form .input { flex: 1; }
.eg-dosya { cursor: pointer; } .eg-dosya.disabled { opacity: .55; pointer-events: none; }
.eg-kat { display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 4px 12px; margin-top: 6px; max-height: 220px; overflow: auto; padding: 6px; border: 1px solid var(--border); border-radius: 10px; }
.eg-kartlar { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; margin-bottom: 10px; } .eg-kartlar .ek-kart b small { font-size: 12px; color: var(--muted); }
.eg-video-oz { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 6px 14px; margin-bottom: 10px; } .eg-video-oz > div { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 8px; }
@media (max-width: 700px) { .eg-kartlar { grid-template-columns: 1fr 1fr; } }

/* üstteki firma seçimi (sitenin tasarımında açılır liste) */
select.fs-gizli { position: absolute; width: 1px; height: 1px; opacity: 0; pointer-events: none; min-width: 0; }
.fs-dugme { display: flex; align-items: center; justify-content: space-between; gap: 10px; min-width: 240px; max-width: 360px; border: 0; background: transparent; font: inherit; font-weight: 700; color: var(--text); padding: 2px 0; cursor: pointer; text-align: left; }
.fs-dugme .fs-ad { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; } .fs-dugme > i { font-size: 11px; color: var(--primary); transition: transform .15s; } .fs-dugme.acik > i { transform: rotate(180deg); }
.fs-dugme:disabled { cursor: default; color: var(--muted); }
.fs-panel { position: fixed; z-index: 1200; background: var(--surface); border: 1px solid var(--border); border-radius: 12px; box-shadow: var(--shadow, 0 12px 32px rgba(0,0,0,.18)); padding: 8px; display: flex; flex-direction: column; gap: 6px; max-height: min(480px, calc(100vh - 90px)); }
.fs-ara { display: flex; align-items: center; gap: 8px; border: 1px solid var(--border); border-radius: 9px; padding: 0 10px; background: var(--surface-2); } .fs-ara i { color: var(--muted); font-size: 13px; }
.fs-ara input { flex: 1; border: 0; background: transparent; font: inherit; color: var(--text); padding: 9px 0; outline: none; }
.fs-liste { overflow: auto; display: flex; flex-direction: column; gap: 2px; }
.fs-oge { display: flex; align-items: center; justify-content: space-between; gap: 8px; width: 100%; padding: 8px 10px; border: 0; border-radius: 8px; background: transparent; color: var(--text); font: inherit; font-size: 13.5px; text-align: left; cursor: pointer; }
.fs-oge:hover, .fs-oge.aktif { background: var(--primary-soft, #e3f3ee); } .fs-oge.secili { font-weight: 700; color: var(--primary); } .fs-oge > i { color: var(--primary); font-size: 12px; }
.fs-bos { padding: 10px; } .fs-alt { padding: 2px 4px 0; text-align: right; }
@media (max-width: 760px) { .fs-dugme { min-width: 0; width: 100%; max-width: none; } }
/* pencerelerdeki firma seçimi: kutu .input görünümünde, liste aynı panel tasarımında */
.fs-dugme.fs-form { min-width: 0; max-width: none; width: 100%; padding: 9px 11px; font-weight: 500; border: 1px solid var(--border-strong); background: var(--surface); }
.fs-dugme.fs-form > i { color: var(--muted); }
.fs-dugme.fs-form.acik { border-color: var(--primary); box-shadow: 0 0 0 3px color-mix(in srgb, var(--primary) 16%, transparent); }
.fs-dugme.fs-form:disabled { background: var(--surface-2); cursor: not-allowed; }
.inline-form .fs-dugme.fs-form { flex: 1 1 260px; width: auto; }

.sa-izgara { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; } .sa-kutu { border: 1px solid var(--border); border-radius: 10px; padding: 10px; display: flex; flex-direction: column; gap: 8px; align-items: flex-start; }
.sa-on { width: 100%; height: 120px; border: 1px dashed var(--border); border-radius: 8px; display: flex; align-items: center; justify-content: center; background: #fff; } .sa-on img { max-width: 90%; max-height: 110px; }
@media (max-width: 600px) { .sa-izgara { grid-template-columns: 1fr; } }

.kp-dosya { display: flex; flex-direction: column; gap: 6px; } .kp-dosya-sat { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
.kp-dosya-ad { display: inline-flex; align-items: center; gap: 6px; } .kp-dosya-not { color: var(--muted); } .kp-dosya-not .btn { margin-left: 6px; }
.kp-onizle { max-height: 60vh; overflow: auto; }

/* ÇED ve Çevre İzin Kontrol › Çevre İzni değerlendirmesi */
.ced-deg { margin-top: 16px; border-top: 2px solid var(--border); padding-top: 12px; }
.ced-sonuc { display: flex; gap: 10px; align-items: flex-start; padding: 10px 14px; border-radius: 10px; margin: 8px 0 12px; font-size: 13.5px; } .ced-sonuc i { margin-top: 2px; }
.ced-sonuc.b-danger { border: 1px solid var(--danger); } .ced-sonuc.b-ok { border: 1px solid var(--ok, #2e9e6b); } .ced-sonuc.b-warn { border: 1px solid var(--warn); }
.ced-deg-izgara { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; } .ced-deg-kutu { border: 1px solid var(--border); border-radius: 10px; padding: 10px 12px; margin-bottom: 12px; min-width: 0; }
.ced-deg-kutu .sub-h { margin: 0 0 6px; font-size: 13.5px; } .ced-deg-kutu .sub-h i { color: var(--primary); } .ced-deg .kp-bilgi .btn { align-self: center; }
tr.ced-asim td { background: var(--danger-soft, #fdecea); }
@media (max-width: 900px) { .ced-deg-izgara { grid-template-columns: 1fr; } }

/* Ayarlar › Sistem Rolleri */
.rol-liste { display: flex; flex-direction: column; gap: 10px; margin-top: 10px; }
.rol-kart { border: 1px solid var(--border); border-radius: 12px; padding: 12px; display: flex; flex-direction: column; gap: 8px; background: var(--surface); }
.rol-ust { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.rol-ust .rol-onizle { min-width: 90px; text-align: center; }
.rol-ust [data-rol-ad] { flex: 1 1 200px; width: auto; min-width: 0; }
.rol-ust [data-rol-renk] { flex: 0 0 120px; width: auto; }
.rol-ust .rol-sayi { white-space: nowrap; }
.rol-kurallar { display: flex; flex-wrap: wrap; gap: 6px 18px; }
.rol-kurallar .check input:disabled + * , .rol-kurallar .check:has(input:disabled) { opacity: .65; cursor: default; }
.rol-aciklama { margin: 12px 0 0; padding-left: 18px; list-style: disc; display: flex; flex-direction: column; gap: 3px; }

/* Bekra Beyanı (js/pages/bekra.js) */
.bk-bolum { margin-top: 18px; padding-top: 14px; border-top: 2px solid var(--border); }
.bk-arac { display: flex; gap: 6px; flex-wrap: wrap; margin-left: auto; }
.bk-tablo td { vertical-align: top; }
.bk-tablo td:nth-child(2) { min-width: 240px; } .bk-tablo td:nth-child(3) { min-width: 120px; } .bk-tablo td:nth-child(4) { min-width: 190px; }
.bk-tablo td:nth-child(5) select { min-width: 170px; } .bk-tablo td:nth-child(6) .input { width: 100px; }
.bk-tablo .bk-ec { margin-top: 4px; }
.bk-tablo tr.bk-kontrolsuz td:first-child { box-shadow: inset 3px 0 0 var(--warn); }
.bk-hkod { display: flex; flex-wrap: wrap; gap: 4px; margin-bottom: 4px; }
.bk-hkod .coklu-cip-k button { border: 0; background: none; color: inherit; cursor: pointer; padding: 0 0 0 4px; font-size: 14px; line-height: 1; opacity: .7; }
.bk-hkod .coklu-cip-k button:hover { opacity: 1; }
.bk-uyari { margin-top: 4px; font-size: 12px; color: var(--warn); }
.bk-uyari .link-btn { border: 0; background: none; padding: 0; color: var(--primary); text-decoration: underline; cursor: pointer; font: inherit; }
.bk-oranlar { display: flex; flex-wrap: wrap; gap: 4px; margin-top: 4px; }
.bk-oran { font-size: 11.5px; color: var(--muted); background: var(--surface-2); border-radius: 6px; padding: 1px 6px; white-space: nowrap; }
.bk-sonuc { margin-top: 16px; display: flex; flex-direction: column; gap: 10px; max-width: 760px; }
.bk-sonuc td.bk-asti { color: var(--danger); font-weight: 700; }
.bk-karar { padding: 12px 14px; border-radius: 10px; font-weight: 600; display: flex; gap: 10px; align-items: flex-start; }
.bk-karar.disi { background: color-mix(in srgb, var(--ok) 12%, transparent); color: var(--ok); }
.bk-karar.alt { background: color-mix(in srgb, var(--warn) 14%, transparent); color: var(--warn); }
.bk-karar.ust { background: color-mix(in srgb, var(--danger) 12%, transparent); color: var(--danger); }

/* Güvenlik Bilgi Formu (js/pages/gbf.js) */
.gbf-ghs { display: inline-flex; align-items: center; justify-content: center; width: 19px; height: 19px; margin: 4px 5px; border: 2px solid #d62828; background: #fff; border-radius: 2px; transform: rotate(45deg); vertical-align: middle; }
.gbf-ghs b { transform: rotate(-45deg); font-size: 9.5px; color: #111; line-height: 1; }
.gbf-toplu ul { display: flex; flex-direction: column; gap: 6px; margin: 0; }
.gbf-icerik { display: flex; flex-direction: column; gap: 2px; font-size: 12.5px; white-space: nowrap; }
.gbf-detay th { width: 190px; text-align: left; vertical-align: top; color: var(--muted); font-weight: 600; }
/* ÇED Kapasite ve Makine Bilgileri (js/pages/ced-bilgi.js) */
.ced-bilgi { margin-top: 16px; border-top: 2px solid var(--border); padding-top: 12px; }
.ced-bilgi-izgara { display: grid; grid-template-columns: 1fr; gap: 12px; }
.ced-bilgi-tablo td { vertical-align: middle; } .ced-bilgi-tablo .input-sm { min-width: 70px; }
.ced-bilgi-tablo td:has([data-a="ad"]) { min-width: 200px; } .ced-bilgi-tablo .num .input { width: 100px; }
.ptd-durum { padding: 10px 0; }
.imza-alani { width: 100%; height: auto; aspect-ratio: 1000 / 340; border: 1.5px dashed var(--border-strong); border-radius: 10px; background: #fff; touch-action: none; cursor: crosshair; display: block; }
/* İmza penceresi (js/imza.js) */
.imza-sekme { margin-bottom: 12px; }
.imza-yontem { display: flex; flex-direction: column; gap: 8px; margin-bottom: 12px; }
.imza-yontem .check { align-items: flex-start; } .imza-yontem .check span { display: flex; flex-direction: column; } .imza-yontem small { color: var(--muted); font-weight: 400; font-size: 12px; }
.imza-yontem .check.pasif { opacity: .55; cursor: default; }
.imza-kimlik { display: flex; gap: 10px; align-items: center; padding: 10px 12px; border: 1px solid var(--border); border-radius: 10px; margin-bottom: 10px; }
.imza-kimlik > i { font-size: 20px; color: var(--primary); } .imza-kimlik small { display: block; color: var(--muted); font-size: 12px; }
.imza-onizle { height: 150px; border: 1.5px dashed var(--border-strong); border-radius: 10px; background: #fff; display: grid; place-items: center; margin-bottom: 10px; }
.imza-onizle img { max-width: 90%; max-height: 130px; }
.imza-arac { display: flex; gap: 14px; align-items: center; flex-wrap: wrap; }
.pdf-modal .modal-foot { flex-wrap: wrap; row-gap: 8px; }
/* Ekomvet (js/pages/ekomvet.js) */
.ekv-ozet { margin-bottom: 12px; }
.ekv-hesap { display: block; margin-top: 4px; color: var(--muted); }
tr.satir-pasif td { opacity: .55; }
.ekv-yerler { display: flex; flex-direction: column; gap: 4px; max-height: 260px; overflow: auto; border: 1px solid var(--border); border-radius: 10px; padding: 6px; margin-bottom: 10px; }
.ekv-yer { display: flex; gap: 8px; align-items: flex-start; padding: 6px 8px; border-radius: 8px; cursor: pointer; }
.ekv-yer:hover { background: var(--hover); } .ekv-yer span { display: flex; flex-direction: column; } .ekv-yer small { font-size: 12px; }
.ekv-cikacak .check { margin: 2px 0; }
.ekv-fg-arac { display: flex; gap: 10px; align-items: center; margin-bottom: 10px; } .ekv-fg-arac .search { flex: 1; }
.ekv-fg-liste { max-height: 380px; overflow: auto; }
.ekv-fg-guncel { margin-top: 12px; } .ekv-fg-guncel summary { cursor: pointer; font-weight: 600; }
.ekv-fg-oto { margin-top: 12px; padding: 10px 12px; border: 1px solid var(--border); border-radius: 10px; background: var(--surface-2); }
.satir-soluk td { opacity: .6; }
.uk-bas { margin: 16px 0 8px; font-size: 14px; }
.uk-sutunlar { display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 6px 14px; }
.uk-sutunlar .check { font-weight: 400; font-size: 13px; }
.sm-liste { display: flex; flex-direction: column; gap: 8px; max-height: 58vh; overflow: auto; margin-top: 10px; padding-right: 4px; }
.sm-satir textarea { width: 100%; resize: vertical; font-size: 13px; }
.sm-satir.degisti textarea { border-color: var(--warn, #d18a00); background: color-mix(in srgb, var(--warn, #d18a00) 8%, transparent); }
.sm-ara { max-width: 320px; }
.bk-belgeler { margin-top: 18px; }
.bk-belgeler input[type=date] { min-width: 140px; }
.bk-belgeler { margin-top: 18px; }
.bk-belgeler input[type=date] { min-width: 140px; }
:root[data-theme="dark"] .brand-logo, :root[data-theme="dark"] .login-logo { filter: brightness(0) invert(1); }
.fp-donem { margin: 0 0 10px; align-items: center; }
.mz-alan .input[type=date] { padding: 9px 12px; min-width: 150px; border-radius: var(--radius, 10px); font: inherit; cursor: pointer; }
:root[data-theme="dark"] .mz-alan .input[type=date] { color-scheme: dark; }

/* tarih seçici (js/tarih-secici.js) */
input[type=date]::-webkit-calendar-picker-indicator { cursor: pointer; opacity: 1; background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cpath fill='%2317816a' d='M128 0c18 0 32 14 32 32v32h128V32a32 32 0 1 1 64 0v32h48c27 0 48 21 48 48v48H0v-48c0-27 21-48 48-48h48V32c0-18 14-32 32-32zM0 192h448v272c0 27-21 48-48 48H48c-27 0-48-21-48-48V192z'/%3E%3C/svg%3E") center/14px no-repeat; }
.ts-kutu { position: fixed; z-index: 100000; width: 288px; max-width: calc(100vw - 16px); padding: 12px; background: var(--surface); color: var(--text); border: 1px solid var(--border); border-radius: 12px; box-shadow: 0 12px 32px rgba(0,0,0,.18); font-size: 13px; }
.ts-bas { display: flex; align-items: center; gap: 4px; margin-bottom: 8px; }
.ts-ok { flex: none; width: 30px; height: 30px; border: 0; border-radius: 8px; background: none; color: var(--muted); cursor: pointer; }
.ts-ok:hover { background: var(--primary-soft); color: var(--primary); }
.ts-sec { flex: 1; min-width: 0; height: 30px; padding: 0 4px; border: 1px solid var(--border); border-radius: 8px; background: var(--surface); color: var(--text); font: inherit; font-weight: 600; }
.ts-izgara { display: grid; grid-template-columns: repeat(7, 1fr); gap: 2px; }
.ts-gun-ad { text-align: center; padding: 4px 0; color: var(--muted); font-size: 11px; font-weight: 700; }
.ts-gun { height: 34px; border: 0; border-radius: 8px; background: none; color: var(--text); font: inherit; cursor: pointer; }
.ts-gun:hover:not(:disabled) { background: var(--primary-soft); color: var(--primary); }
.ts-gun.hafta-sonu { color: var(--muted); }
.ts-gun.dis { opacity: .4; }
.ts-gun.bugun { box-shadow: inset 0 0 0 1px var(--primary); color: var(--primary); font-weight: 700; }
.ts-gun.secili, .ts-gun.secili:hover { background: var(--primary); color: #fff; font-weight: 700; opacity: 1; }
.ts-gun:disabled { opacity: .25; cursor: not-allowed; }
.ts-alt { display: flex; justify-content: space-between; margin-top: 8px; padding-top: 8px; border-top: 1px solid var(--border); }
.ts-alt button { border: 0; background: none; color: var(--primary); font: inherit; font-weight: 600; padding: 4px 8px; border-radius: 6px; cursor: pointer; }
.ts-alt button:hover:not(:disabled) { background: var(--primary-soft); }
.ts-alt button:disabled { opacity: .4; cursor: not-allowed; }
.pdf-mobil { overflow: auto; padding: 4px; text-align: center; color: #fff; }
.pdf-mobil canvas { display: block; width: 100%; height: auto; margin: 0 0 6px; background: #fff; }
.uyg-saat { font-weight: 700; font-size: 14px; color: var(--text); white-space: nowrap; }
@media (max-width: 900px) {
  .mz-diger-filtre .mz-satir { align-items: stretch; }
  .mz-diger-filtre .mz-kutu { flex: none; }
  .mz-diger-filtre .mz-alan { width: 100%; }
}
.toolbar > .fp-donem { margin: 0 0 0 auto; }
@media (max-width: 700px) {
  .ap-kartlar { grid-template-columns: minmax(0, 1fr); }
  .ap-ozet, .ap-kart { min-width: 0; max-width: 100%; overflow-x: auto; }
  .ap-puan .grid { width: 100%; }
  .ap-puan .grid td, .ap-puan .grid th { padding: 5px 3px; font-size: 11px; letter-spacing: 0; white-space: normal; }
  .ap-puan .grid th:first-child, .ap-puan .grid td:first-child { padding-left: 6px; }
  .ap-kart td:first-child { max-width: none; white-space: normal; overflow-wrap: anywhere; }
  .ap-puan .ap-sayi { width: 36px; padding: 3px 1px; }
  .ap-puan .badge { padding: 2px 5px; font-size: 10px; }
  .tkv-modal .modal-body { padding-left: 10px; padding-right: 10px; }
  .tkv-ust { flex-wrap: wrap; }
}
/* Telefon: sayfa yana taşmaz; geniş tablolar ve sekmeler kendi içinde kayar */
@media (max-width: 820px) {
  html, body { max-width: 100%; overflow-x: hidden; }
  .app, .content, .main { min-width: 0; max-width: 100vw; }
  .topbar { flex-wrap: wrap; max-width: 100%; }
  .topbar .page-heading { flex: 1 1 0; min-width: 0; }
  .topbar .firm-switch { flex: 1 1 100%; width: 100%; min-width: 0; max-width: 100%; box-sizing: border-box; }
  .firm-switch > div { flex: 1 1 auto; min-width: 0; }
  .firm-switch select, .firm-switch .input { width: 100%; min-width: 0 !important; max-width: 100% !important; text-overflow: ellipsis; }
  .card, .toolbar, .toolbar-group, .page-intro, .table-wrap { max-width: 100%; min-width: 0; box-sizing: border-box; }
  .toolbar > .search, .toolbar > .fp-donem { flex: 1 1 100%; margin-left: 0; }
  .tabs { display: flex; flex-wrap: nowrap; overflow-x: auto; max-width: 100%; }
  .tabs > button { flex: none; }
  .form-grid { grid-template-columns: minmax(0, 1fr) !important; }
  .main img, .main canvas, .main video { max-width: 100%; height: auto; }
  .main select.input { max-width: 100%; }
  .modal { max-width: calc(100vw - 16px); }
  .modal-body { overflow-x: auto; }
}
