:root {
  --navy: #0f2744;
  --accent: #1d4ed8;
  --bg: #f4f7fb;
  --surface: #ffffff;
  --hover: #e8eef6;
  --text: #334155;
  --strong: #0f172a;
  --muted: #64748b;
  --border: #e5eaf1;
  --btn: #1d4ed8;
  --mark: #1d4ed8;
  --ok: #16a34a;
  --radius: 8px;
  --radius-lg: 12px;
  font-family: "Segoe UI", system-ui, sans-serif;
}
* { box-sizing: border-box; }
html, body { margin: 0; color: var(--text); background: var(--bg); }
html:has(body.app-body), body.app-body { height: 100%; overflow: hidden; }
button, input, select, textarea { font: inherit; }
.btn-primary {
  background: var(--btn); color: #fff; border: 0; border-radius: var(--radius);
  padding: 10px 16px; cursor: pointer;
}
.btn-ghost {
  background: transparent; border: 1px solid var(--border); border-radius: var(--radius);
  padding: 8px 12px; cursor: pointer; color: inherit;
}
.btn-ghost.light { border-color: rgba(255,255,255,.35); color: #fff; }
.btn-text { background: none; border: 0; color: #475569; cursor: pointer; padding: 8px; }
.hide-btn, .btn-cache {
  background: var(--navy); color: #fff; border: 0; border-radius: var(--radius);
  padding: 8px 14px; cursor: pointer; font-size: 13px; font-weight: 600; white-space: nowrap;
}
.hide-btn:hover, .btn-cache:hover { background: var(--accent); }
.btn-ghost.tiny { font-size: 12px; padding: 4px 8px; width: 100%; margin-bottom: 8px; color: #cbd5e1; border-color: rgba(255,255,255,.2); }
.form-err { color: #b91c1c; font-size: 13px; }
.muted { color: var(--muted); }
.small { font-size: 12px; }
.grow { flex: 1; }
.grid2 { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.grid5 { display: grid; grid-template-columns: repeat(5, 1fr); gap: 8px; }

.login-body {
  display: grid; place-items: center; min-height: 100vh; color: #0f172a;
  background:
    radial-gradient(900px 420px at 50% -8%, rgba(80, 220, 140, .16), transparent 55%),
    radial-gradient(800px 480px at 80% 110%, rgba(74, 29, 110, .45), transparent 50%),
    linear-gradient(165deg, #05060a 0%, #0b1020 48%, #12101c 100%);
  position: relative;
}
.login-body::before {
  content: ""; position: absolute; inset: 0;
  background-image: linear-gradient(rgba(255,255,255,.035) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.035) 1px, transparent 1px);
  background-size: 48px 48px;
  mask-image: radial-gradient(circle at 50% 42%, #000 18%, transparent 72%);
}
.login-shell { position: relative; z-index: 1; width: min(420px, 92vw); }
.login-wrap { position: relative; z-index: 1; width: min(1100px, 96vw); }
.login-shell .login-card {
  background: #fff; border-radius: 12px;
  box-shadow: 0 28px 70px rgba(0,0,0,.45); padding: 0; overflow: visible;
}
.login-form-pad { padding: 24px 28px 28px; overflow: visible; position: relative; z-index: 1; }
.user-combo { position: relative; z-index: 5; }
.user-combo .combo-btn {
  width: 100%; text-align: left; padding: 11px 36px 11px 12px; border: 1px solid #d1d5db;
  border-radius: 8px; background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath fill='%236b7280' d='M1 1l5 5 5-5'/%3E%3C/svg%3E") no-repeat right 12px center;
  color: #9ca3af; cursor: pointer;
}
.user-combo .combo-btn.has { color: #111827; }
.user-combo .combo-panel {
  position: absolute; left: 0; right: 0; top: calc(100% + 4px); z-index: 40;
  background: #fff; border: 1px solid #cbd5e1; border-radius: 8px;
  box-shadow: 0 12px 30px rgba(15,23,42,.16); max-height: 280px;
  display: flex; flex-direction: column; overflow: hidden;
}
.user-combo .combo-panel[hidden] { display: none !important; }
.user-combo .combo-panel input {
  width: calc(100% - 16px); margin: 8px; padding: 9px 10px; border: 2px solid #111827; border-radius: 6px;
}
.user-combo .combo-panel table { width: 100%; border-collapse: collapse; font-size: 13px; }
.user-combo .combo-panel thead th {
  background: #e8eef4; color: #163a58; font-size: 11px; letter-spacing: .06em;
  text-align: left; padding: 8px 12px; font-weight: 700;
}
.user-combo .combo-panel tbody { display: block; max-height: 180px; overflow: auto; }
.user-combo .combo-panel thead, .user-combo .combo-panel tbody tr { display: table; width: 100%; table-layout: fixed; }
.user-combo .combo-panel td { padding: 10px 12px; cursor: pointer; }
.user-combo .combo-panel tbody tr:hover td, .user-combo .combo-panel tbody tr.on td { background: #f1f5f9; }
.login-card {
  background: #fff; border-radius: 12px;
  box-shadow: 0 28px 70px rgba(0,0,0,.45); padding: 28px 32px;
}
.login-brand {
  background: #000; padding: 28px 28px 22px; display: flex; justify-content: center;
  border-bottom: 1px solid #1a1a1a;
}
.login-brand img { height: 48px; width: auto; display: block; mix-blend-mode: normal; }
.login-card h1 { margin: 0 0 4px; font-size: 20px; font-weight: 650; color: #111827; letter-spacing: -.02em; }
.kicker { letter-spacing: .14em; text-transform: uppercase; color: #6b7280; font-size: 11px; margin: 0 0 20px; }
.login-card .field { margin-bottom: 14px; }
.login-card label { display: block; margin: 0 0 6px; font-size: 12px; font-weight: 600; color: #4b5563; }
.login-card input, .login-card select {
  width: 100%; padding: 11px 12px; border: 1px solid #d1d5db; border-radius: 8px; background: #fff; color: #111827;
}
.login-card input:focus, .login-card select:focus, .dd-btn:focus {
  outline: 2px solid #5b21b6; outline-offset: 1px; border-color: #5b21b6;
}
.login-card .btn-primary {
  width: 100%; margin-top: 8px; background: #4c1d6e; padding: 12px 16px; font-weight: 600;
}
.login-card .btn-primary:hover { background: #3b1558; }
.login-card .btn-primary:disabled { opacity: .65; cursor: wait; }
.login-card .form-err {
  background: #fef2f2; border: 1px solid #fecaca; color: #991b1b;
  border-radius: 8px; padding: 10px 12px; margin: 4px 0 10px; font-size: 13px;
}
.pw-wrap { position: relative; z-index: 1; }
.pw-wrap input { padding-right: 72px; }
.pw-toggle {
  position: absolute; right: 8px; top: 50%; transform: translateY(-50%);
  border: 0; background: none; color: #6b7280; cursor: pointer; font-size: 12px; font-weight: 600;
}
.dd { position: relative; }
.dd-btn {
  width: 100%; text-align: left; padding: 11px 36px 11px 12px; border: 1px solid #d1d5db;
  border-radius: 8px; background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath fill='%236b7280' d='M1 1l5 5 5-5'/%3E%3C/svg%3E") no-repeat right 12px center;
  color: #9ca3af; cursor: pointer;
}
.dd-btn.has { color: #111827; }
.dd-panel[hidden] { display: none !important; }
.firm-combo .panel[hidden] { display: none !important; }
.dd-panel input { margin: 8px; width: calc(100% - 16px); }
.dd-panel ul { list-style: none; margin: 0; padding: 0 0 8px; overflow: auto; max-height: 200px; }
.dd-panel li {
  padding: 10px 14px; cursor: pointer; display: flex; flex-direction: column; gap: 2px;
}
.dd-panel li:hover, .dd-panel li.on { background: #f5f3ff; }
.dd-panel li strong { font-size: 13px; color: #111827; }
.dd-panel li span { font-size: 12px; color: #6b7280; }
.brand-logo { display: block; height: 56px; margin: 0 auto 8px; mix-blend-mode: screen; }
.aside-logo { height: 42px; margin: 0 0 8px; }
.admin-logo { height: 36px; margin: 0 10px 0 0; mix-blend-mode: screen; }
.copy { text-align: center; color: #94a3b8; font-size: 11px; margin-top: 14px; }

.company-wrap { width: min(1100px, 96vw); }
.company-card { max-height: 92vh; overflow: auto; padding: 28px 32px; }
.who { margin: 0 0 12px; color: var(--muted); font-size: 13px; }
.subh { font-size: 15px; margin: 18px 0 8px; }
.table-wrap { max-height: 280px; overflow: auto; border: 1px solid #e2e8f0; border-radius: 8px; margin-top: 10px; }
.pick-table { width: 100%; border-collapse: collapse; font-size: 13px; }
.pick-table th, .pick-table td { padding: 8px 10px; border-bottom: 1px solid #e2e8f0; text-align: left; }
.pick-table tbody tr { cursor: pointer; }
.pick-table tbody tr.on { background: rgba(29,79,122,.08); }
.pick-table.compact { margin-top: 0; }
.cost-row { margin-top: 16px; }
.row-actions { display: flex; justify-content: space-between; margin-top: 18px; }

.firm-combo { position: relative; }
.firm-combo .combo-btn {
  width: 100%; text-align: left; padding: 10px 12px; border: 1px solid #cbd5e1;
  border-radius: 8px; background: #fff; cursor: pointer;
}
.firm-combo .panel {
  position: absolute; left: 0; right: 0; top: calc(100% + 4px); z-index: 20;
  background: #fff; border: 1px solid #cbd5e1; border-radius: 8px;
  box-shadow: 0 12px 30px rgba(15,23,42,.16); max-height: 280px; overflow: auto;
}
.firm-combo .panel input { width: calc(100% - 16px); margin: 8px; }
.firm-combo .panel table { width: 100%; border-collapse: collapse; font-size: 13px; }
.firm-combo .panel td { padding: 8px 10px; cursor: pointer; }
.firm-combo .panel tr:hover td { background: #f1f5f9; }

.app-body { height: 100vh; height: 100dvh; display: flex; background: var(--bg); overflow: hidden; }
#app-aside {
  width: min(280px, 28vw); min-width: 0; flex: 0 0 auto;
  background: var(--navy); color: #e8eef4; display: flex; flex-direction: column;
  overflow: hidden; transition: width .2s;
}
#app-aside.closed { width: 0; }
.brand { padding: 16px 16px 12px; border-bottom: 1px solid rgba(255,255,255,.08); display: flex; flex-direction: column; gap: 2px; }
.app-name {
  font-size: 11px; letter-spacing: .12em; text-transform: uppercase; color: #7dd3fc; font-weight: 600;
}
.brand strong { color: #fff; font-size: 15px; font-weight: 700; }
.who-role { color: #94a3b8; font-size: 11px; letter-spacing: .08em; text-transform: uppercase; }
.nav-sticky { padding: 10px 12px 12px; position: sticky; top: 0; background: var(--navy); z-index: 2; }
.nav-toggles { display: flex; gap: 14px; margin-bottom: 8px; }
.nav-link {
  background: none; border: 0; padding: 0; color: #7dd3fc; cursor: pointer; font-size: 12px;
}
.nav-link:hover { text-decoration: underline; }
#nav-search {
  width: 100%; border: 0; border-radius: 8px; padding: 8px 10px;
  background: rgba(0,0,0,.28); color: #e2e8f0; outline: none;
}
#nav-search::placeholder { color: #94a3b8; }
#nav-search:focus { background: rgba(56,189,248,.18); }
#nav { flex: 1; overflow: auto; padding: 4px 0 12px; }
.dash-item {
  display: block; width: 100%; text-align: left; background: none; border: 0; color: #f8fafc;
  padding: 8px 16px; cursor: pointer; font-size: 14px;
}
.dash-item[data-screen="home"] {
  min-height: 1cm; display: flex; align-items: center;
}
.dash-item:hover { background: rgba(255,255,255,.08); }
#nav [draggable="true"] { cursor: grab; }
.dash-item.on { background: #1d4ed8; color: #fff; }
#nav details.dash-group { border-top: 1px solid rgba(255,255,255,.06); }
#nav details.dash-group > summary {
  cursor: pointer; list-style: none; color: #93c5fd; font-size: 11px; letter-spacing: .08em;
  text-transform: uppercase; font-weight: 700; padding: 12px 16px 4px;
}
#nav details.dash-group > summary::-webkit-details-marker { display: none; }
#nav details.dash-group .dash-item { padding-left: 22px; font-size: 13px; }
.badge { background: #f59e0b; color: #1c1917; border-radius: 999px; padding: 0 6px; font-size: 11px; margin-left: 6px; }
#catalog details.mod { border-top: 1px solid rgba(255,255,255,.06); }
#catalog .cat-label {
  margin: 0; padding: 12px 16px 2px; color: #93c5fd; font-size: 11px;
  letter-spacing: .08em; text-transform: uppercase; font-weight: 700;
}
#catalog .cat-group .dash-item { padding-left: 16px; }
#catalog summary { cursor: pointer; list-style: none; color: #f8fafc; }
#catalog summary::-webkit-details-marker { display: none; }
#catalog details.mod > summary,
#catalog details.sec-box > summary {
  display: flex; align-items: center; justify-content: flex-start; gap: 8px;
}
#catalog details.mod > summary {
  padding: 8px 14px; font-size: 14px;
}
#catalog .chev {
  display: inline-block; width: 12px; flex: 0 0 12px; color: #cbd5e1;
  font-size: 12px; font-weight: 700; line-height: 1; transform-origin: 50% 50%;
  transition: transform .15s ease;
}
#catalog details[open] > summary > .chev { transform: rotate(90deg); }
#catalog details.sec-box > summary {
  padding: 6px 14px 6px 28px; font-size: 13px; color: #e2e8f0;
}
#catalog .leaf {
  display: block; width: 100%; text-align: left; background: none; border: 0;
  color: #f8fafc; padding: 7px 14px 7px 40px; cursor: pointer; font-size: 13px;
}
#catalog .leaf-pano { padding-left: 28px; font-weight: 600; }
#catalog .leaf:hover, #catalog .leaf.on { background: rgba(0,0,0,.25); }
.mod-dash { max-width: none; overflow: auto; min-height: 0; }
.mod-dash h2 { margin: 0; color: var(--strong); font-size: 20px; }
.report-links { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 18px; }
.admin-link {
  display: block; padding: 12px 16px; color: #fff; text-decoration: none;
  border-top: 1px solid rgba(255,255,255,.1);
}
.main { flex: 1; display: flex; flex-direction: column; min-width: 0; min-height: 0; overflow: hidden; }
.full-btn {
  background: var(--navy); color: #fff; border: 0; border-radius: var(--radius);
  padding: 8px 14px; cursor: pointer; font-size: 13px; font-weight: 650; white-space: nowrap;
}
.full-btn:hover { background: var(--accent); }
.full-btn[hidden] { display: none !important; }
body.is-screen-full #app-aside,
body.is-screen-full #tabs,
body.is-screen-full .nav-backdrop { display: none !important; }
body.is-screen-full .main > header {
  position: fixed; top: 10px; right: 10px; left: auto; width: auto; min-height: 0;
  height: auto; padding: 0; border: 0; background: transparent; z-index: 70; gap: 0;
}
body.is-screen-full .main > header > *:not(#full-btn) { display: none !important; }
body.is-screen-full #content {
  margin: 0; border: 0; border-radius: 0;
}
.main > header {
  min-height: 56px; height: auto; background: var(--surface); color: var(--strong); display: flex; align-items: center; gap: 10px;
  padding: 8px 12px; border-bottom: 1px solid var(--border); overflow: visible; position: relative; z-index: 30;
  flex-wrap: wrap; flex-shrink: 0;
}
.header-firm { min-width: 280px; flex: 1; z-index: 40; }
.last-cache {
  margin-left: auto;
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 6px 12px 6px 8px;
  border: 1px solid #d5e2ee;
  border-radius: 10px;
  background: linear-gradient(180deg, #f8fbfe 0%, #eef4f9 100%);
  box-shadow: inset 3px 0 0 #122f47;
  white-space: nowrap;
  flex-shrink: 0;
}
.last-cache-mark {
  width: 30px;
  height: 30px;
  border-radius: 8px;
  background: #122f47;
  color: #fff;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 30px;
}
.last-cache-mark svg { display: block; }
.last-cache-copy { display: flex; flex-direction: column; gap: 1px; line-height: 1.15; }
.last-cache-kicker {
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: #5b7c99;
}
.last-cache strong {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 13px;
  color: #122f47;
  font-weight: 700;
  font-variant-numeric: tabular-nums;
}
.last-cache-time {
  font-size: 12px;
  font-weight: 650;
  color: #122f47;
  background: #fff;
  border: 1px solid #d5e2ee;
  border-radius: 999px;
  padding: 1px 7px;
}
.header-firm.firm-pick .panel {
  position: absolute; left: 0; right: 0; top: calc(100% + 4px); margin-top: 0; z-index: 50;
  max-height: min(440px, 70vh);
}
#tabs {
  display: flex; align-items: flex-end; gap: 3px;
  padding: 7px 12px 0; background: #122f47;
  border-bottom: 3px solid #fff; flex-shrink: 0; overflow-x: auto;
}
.tab {
  position: relative;
  border: 1px solid transparent; border-bottom: 0; background: transparent;
  color: #5c6b7a; border-radius: 6px 6px 0 0;
  padding: 8px 14px 9px; margin-bottom: -1px; cursor: pointer;
  font-size: 12.5px; font-weight: 600; letter-spacing: .01em;
  display: inline-flex; align-items: center; gap: 8px; white-space: nowrap;
}
.tab:hover { color: var(--navy); background: rgba(255,255,255,.62); }
.tab.on {
  color: var(--navy); background: #fff;
  border-color: #d3dbe5;
  box-shadow: inset 0 2px 0 var(--navy);
}
.tab .tab-x {
  width: 16px; height: 16px; margin: 0 -2px 0 0; padding: 0; border-radius: 3px;
  color: #94a3b8; font-size: 13px; line-height: 15px; text-align: center;
}
.tab.on .tab-x { color: #64748b; }
.tab .tab-x:hover { background: #e8eef6; color: var(--navy); }
#tabs .tab {
  border-color: rgba(255,255,255,.14); background: rgba(255,255,255,.08);
  color: #d6e2ee; margin-bottom: 0;
}
#tabs .tab:hover { color: #fff; background: rgba(255,255,255,.18); }
#tabs .tab.on {
  color: #122f47; background: #fff; font-weight: 700;
  border-color: #fff;
  box-shadow: inset 0 3px 0 #1d6fb8;
}
#tabs .tab .tab-x { color: #9fb4c8; }
#tabs .tab:hover .tab-x { color: #fff; }
#tabs .tab.on .tab-x { color: #5b7186; }
#tabs .tab .tab-x:hover { background: rgba(255,255,255,.22); color: #fff; }
#tabs .tab.on .tab-x:hover { background: #e6edf4; color: #122f47; }
#content {
  flex: 1; min-height: 0; margin: 8px; background: var(--surface); border: 1px solid var(--border); border-radius: 8px;
  padding: clamp(8px, 1.1vw, 16px); overflow: hidden;
  display: flex; flex-direction: column;
}
#content > .rpt-shell,
#content > .quick-card,
#content > .cek-dash,
#content > .cari-dash,
#content > .ggd-page,
#content > .mod-dash,
#content > .sess-card,
#content > .card-list {
  flex: 1; min-height: 0; width: 100%; max-width: none; overflow: auto;
}
.sess-card {
  max-width: none; background: #fff; border: 1px solid #d7dee8; border-radius: 10px;
  padding: 22px 24px; box-shadow: 0 8px 24px rgba(15, 41, 66, .06); overflow: auto;
}
.sess-head h2 { margin: 0; font-size: 18px; color: #0f172a; font-weight: 650; }
.sess-head .lead { margin: 6px 0 18px; }
.sess-grid {
  display: grid; grid-template-columns: 1fr 1fr; gap: 0;
  border: 1px solid #e2e8f0; border-radius: 8px; overflow: hidden; margin: 0;
}
.sess-grid > div {
  display: grid; grid-template-columns: 140px 1fr; gap: 10px; align-items: center;
  padding: 12px 14px; border-bottom: 1px solid #eef2f6; background: #fff;
}
.sess-grid > div:nth-child(odd) { background: #f8fafc; }
.sess-grid > div:nth-last-child(-n+2) { border-bottom: 0; }
.sess-grid dt { margin: 0; font-size: 12px; font-weight: 600; color: #64748b; }
.sess-grid dd { margin: 0; font-size: 14px; font-weight: 600; color: #0f172a; }
.sess-actions { display: flex; gap: 10px; margin-top: 18px; flex-wrap: wrap; }
@media (max-width: 700px) {
  .sess-grid { grid-template-columns: 1fr; }
  .sess-grid > div:nth-last-child(-n+2) { border-bottom: 1px solid #eef2f6; }
  .sess-grid > div:last-child { border-bottom: 0; }
}
.quick-card {
  background: var(--surface); border: 1px solid var(--border); border-radius: 2px; overflow: hidden;
  min-height: 100%; display: flex; flex-direction: column;
}
.quick-head {
  padding: 18px 20px 14px; border-bottom: 1px solid var(--border); background: var(--surface);
}
.quick-head .kicker {
  margin: 0 0 4px; font-size: 11px; font-weight: 700; letter-spacing: .14em;
  text-transform: uppercase; color: var(--accent);
}
.quick-head h2 { margin: 0; font-size: 18px; font-weight: 650; color: var(--strong); letter-spacing: -.01em; }
.quick-head .lead { margin: 4px 0 0; font-size: 13px; color: var(--muted); }
.quick-card.drop-on, .dash-item.drop-on { outline: 2px solid var(--accent); outline-offset: -2px; }
.dash-hub.quick-card { background: linear-gradient(180deg, #d7e8fb 0%, #eef6fd 100%); border-color: #b9d2ea; }
.dash-hub-bar {
  background: linear-gradient(90deg, #0f3d73, #1d4ed8); color: #fff; padding: 14px 20px; flex-shrink: 0;
}
.dash-hub-bar h2 {
  margin: 0; font-size: 15px; font-weight: 650; letter-spacing: .06em; text-transform: uppercase;
}
.dash-hub-body {
  display: flex; flex-direction: column; gap: 12px; padding: 16px;
}
.dash-hub-sec {
  background: #fff; border: 1px solid #d7e0ea; border-radius: 8px; overflow: hidden;
}
.dash-hub-sec.is-drop { outline: 2px solid var(--navy); outline-offset: -2px; }
.dash-hub-sec > header {
  display: flex; align-items: center; gap: 10px;
  padding: 10px 14px; background: linear-gradient(90deg, #163a6b, #2563eb); border-bottom: 0; cursor: grab; color: #fff;
}
.dash-sec-ico, .dash-tile-ico {
  width: 28px; height: 28px; border-radius: 7px; background: linear-gradient(145deg, #38bdf8, #1d4ed8); color: #fff;
  display: inline-flex; align-items: center; justify-content: center; flex: 0 0 28px;
  box-shadow: 0 4px 10px rgba(29, 78, 216, .28);
}
.dash-hub-sec > header .dash-sec-ico { background: rgba(255,255,255,.22); box-shadow: none; }
.dash-sec-ico svg, .dash-tile-ico svg { width: 16px; height: 16px; display: block; }
.dash-hub-sec h3 {
  margin: 0; flex: 1; font-size: 12px; letter-spacing: .1em; text-transform: uppercase; color: #fff; font-weight: 700;
}
.dash-hub-sec > header span:last-child {
  min-width: 22px; height: 22px; padding: 0 6px; border-radius: 11px;
  background: rgba(255,255,255,.22); color: #fff; font-size: 12px; font-weight: 700;
  display: inline-flex; align-items: center; justify-content: center;
}
.dash-hub-items { display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 10px; padding: 12px; }
.dash-hub-item, .dash-tile {
  display: flex; align-items: center; gap: 12px;
  width: 100%; text-align: left; border: 1px solid #e5eaf1; border-radius: 8px;
  background: #fff; color: var(--strong); padding: 12px; cursor: grab; font-size: 14px; font-weight: 650;
}
.dash-tile-ico { width: 36px; height: 36px; flex-basis: 36px; border-radius: 8px; }
.dash-tile-ico svg { width: 18px; height: 18px; }
.dash-tile-name { min-width: 0; }
.dash-tile.is-drop:not(.dash-hub-item) { border-color: var(--navy); background: #f4f7fb; }
.dash-tile:hover:not(.dash-hub-item) { border-color: #60a5fa; background: #eff6ff; box-shadow: 0 6px 16px rgba(37, 99, 235, .12); }
.dash-hub-item {
  border: 0; color: #fff;
  background: linear-gradient(145deg, #334155, #122f47);
  box-shadow: 0 8px 16px rgba(15, 39, 68, .16);
}
.dash-hub-item .dash-tile-ico {
  background: rgba(255,255,255,.24); color: #fff; box-shadow: none;
}
.dash-hub-item:hover { filter: brightness(1.06); box-shadow: 0 12px 22px rgba(15, 39, 68, .22); }
.dash-hub-sec[data-group="Yönetim"] > header { background: linear-gradient(90deg, #1e3a8a, #2563eb); }
.dash-hub-sec[data-group="Ticaret"] > header { background: linear-gradient(90deg, #047857, #10b981); }
.dash-hub-sec[data-group="Stok"] > header { background: linear-gradient(90deg, #6d28d9, #8b5cf6); }
.dash-hub-sec[data-group="Finans"] > header { background: linear-gradient(90deg, #0e7490, #06b6d4); }
.dash-hub-sec[data-group="Muhasebe"] > header { background: linear-gradient(90deg, #9a3412, #ea580c); }
.dash-hub-sec[data-group="Diğer"] > header { background: linear-gradient(90deg, #9d174d, #e11d48); }
.dash-hub-item[data-screen="ceo-dash"] { background: linear-gradient(145deg, #3b82f6, #1e3a8a); }
.dash-hub-item[data-screen="ops-karlilik"] { background: linear-gradient(145deg, #22c55e, #047857); }
.dash-hub-item[data-screen="alis-dash"] { background: linear-gradient(145deg, #06b6d4, #0e7490); }
.dash-hub-item[data-screen="ops-siparis"] { background: linear-gradient(145deg, #3b82f6, #1d4ed8); }
.dash-hub-item[data-screen="ops-envanter"] { background: linear-gradient(145deg, #8b5cf6, #5b21b6); }
.dash-hub-item[data-screen="raf-dash"] { background: linear-gradient(145deg, #3b82f6, #1e3a8a); }
.dash-hub-item[data-screen="ops-kasa"] { background: linear-gradient(145deg, #22c55e, #166534); }
.dash-hub-item[data-screen="cari-dash"] { background: linear-gradient(145deg, #0ea5e9, #075985); }
.dash-hub-item[data-screen="cek-dash"] { background: linear-gradient(145deg, #f43f5e, #be123c); }
.dash-hub-item[data-screen="kredi-dash"] { background: linear-gradient(145deg, #38bdf8, #2563eb); }
.dash-hub-item[data-screen="pos-dash"] { background: linear-gradient(145deg, #818cf8, #4f46e5); }
.dash-hub-item[data-screen="gider-dash"] { background: linear-gradient(145deg, #f97316, #c2410c); }
.dash-hub-item[data-screen="fa-dash"] { background: linear-gradient(145deg, #a855f7, #6b21a8); }
.dash-hub-item[data-screen="ops-personel"] { background: linear-gradient(145deg, #ec4899, #9d174d); }
.dash-hub-item[data-screen="plasiyer-dash"] { background: linear-gradient(145deg, #14b8a6, #115e59); }
.tone-menu {
  position: fixed; z-index: 90; width: 220px; background: #fff; border: 1px solid #d7e0ea;
  border-radius: 8px; box-shadow: 0 12px 32px rgba(15, 23, 42, .18); padding: 6px; 
}
.tone-menu p {
  margin: 0; padding: 6px 8px 4px; font-size: 11px; font-weight: 700; letter-spacing: .06em;
  text-transform: uppercase; color: #3b6ea5;
}
.tone-menu button {
  display: block; width: 100%; text-align: left; border: 0; background: transparent;
  color: var(--strong); border-radius: 6px; padding: 8px 10px; cursor: pointer; font-size: 13px; font-weight: 650;
}
.tone-menu button:hover { background: #f4f7fb; }
.quick-wrap { margin: 0; border: 0; flex: 1; overflow: auto; }
.quick-table { width: 100%; border-collapse: collapse; font-size: 13px; }
.quick-table th {
  text-align: left; font-size: 11px; font-weight: 700; color: var(--muted);
  background: var(--bg); padding: 0 20px; height: 36px; letter-spacing: .08em;
  text-transform: uppercase; border-bottom: 1px solid var(--border);
}
.quick-table td { padding: 0 20px; border-bottom: 1px solid var(--border); color: var(--strong); vertical-align: middle; }
.quick-table tbody tr { height: 1cm; cursor: pointer; }
.quick-table tbody tr:nth-child(even) { background: var(--bg); }
.quick-table tbody tr:hover { background: var(--hover); }
.quick-table tbody tr.quick-placeholder { cursor: default; height: auto; background: transparent; }
.quick-table tbody tr.quick-placeholder:hover { background: transparent; }
.quick-table tbody tr.quick-placeholder td { padding: 28px 20px; color: var(--muted); font-size: 13px; }
.quick-table .mono {
  font-variant-numeric: tabular-nums; font-weight: 700; color: var(--navy);
  width: 88px; letter-spacing: .04em;
}
.quick-act { width: 88px; text-align: right; }
.quick-act .btn-text { color: var(--muted); font-size: 12px; font-weight: 600; padding: 0; letter-spacing: .02em; }
.quick-act .btn-text:hover { color: var(--navy); }
#catalog .leaf.dragging { opacity: .55; }
.cdash-ui.cek-dash { background: #f4f6f8; padding: 14px; }
.cdash-ui .cdash-head {
  background: #fff; color: #0f172a; border: 1px solid #e5eaf1; border-radius: 12px; margin-bottom: 14px;
  padding: 14px 20px; min-height: 64px; align-items: center;
}
.cdash-ui .cdash-head .kicker { display: none; }
.cdash-ui .cdash-head h2 { color: #0f172a; font-size: 18px; font-weight: 700; }
.cdash-ui .cdash-head .lead { color: #64748b; margin: 2px 0 0; font-size: 12px; }
.cdash-ui .cdash-head .btn-ghost,
.cdash-ui .btn-ghost {
  border: 1px solid #e5eaf1; background: #f8fafc; color: #0f172a; border-radius: 8px; padding: 8px 14px; cursor: pointer; font-weight: 650;
}
.cdash-go { background: #2563eb !important; color: #fff !important; border: 0; border-radius: 8px; padding: 10px 16px; height: 38px; font-weight: 650; }
.cdash-chips { display: flex; gap: 8px; flex-wrap: wrap; margin: 0 0 14px; }
.cdash-chip {
  border: 1px solid #e5eaf1; background: #fff; color: #334155; border-radius: 999px;
  padding: 6px 12px; cursor: pointer; font-size: 12px; font-weight: 650;
}
.cdash-chip.is-on, .cdash-chip:hover { background: #2563eb; color: #fff; border-color: #2563eb; }
.cdash-kpis { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; margin-bottom: 14px; }
.cdash-kpis-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.cdash-kpi {
  background: linear-gradient(145deg, #3b82f6, #1d4ed8); border: 0; border-radius: 10px; padding: 12px 14px;
  min-height: 77px; box-shadow: 0 8px 16px rgba(29, 78, 216, .22); color: #fff;
}
.cdash-kpi span { display: block; font-size: 12px; letter-spacing: 0; text-transform: none; color: rgba(255,255,255,.9); font-weight: 700; }
.cdash-kpi strong {
  display: block; margin-top: 6px; font-size: 19px; color: #fff;
  font-weight: 700; font-variant-numeric: tabular-nums; letter-spacing: 0;
}
.cdash-kpi small { display: block; margin-top: 4px; color: rgba(255,255,255,.88); font-size: 12px; }
.cdash-kpi.is-senet { background: linear-gradient(145deg, #38bdf8, #1d4ed8); }
.cdash-kpi.is-musteri { background: linear-gradient(145deg, #34d399, #047857); }
.cdash-kpi.is-kendi { background: linear-gradient(145deg, #fb7185, #e11d48); }
.cdash-kpi.is-total { background: linear-gradient(145deg, #a78bfa, #6d28d9); }
.cdash-kpi.is-port { background: linear-gradient(145deg, #2dd4bf, #0f766e); }
.cdash-kpi.is-net-neg { background: linear-gradient(145deg, #fb923c, #ea580c); }
.cdash-kpi.is-net-pos { background: linear-gradient(145deg, #4ade80, #15803d); }
.cdash-split-leg { display: flex; gap: 16px; flex-wrap: wrap; margin: 6px 0 10px; font-size: 12px; font-weight: 650; }
.cdash-split-leg .is-musteri { color: #1b7a3d; }
.cdash-split-leg .is-kendi { color: #a84832; }
.cdash-split-leg .is-senet { color: #1e3a5f; }
.cdash-banner {
  display: flex; justify-content: space-between; align-items: center; gap: 12px;
  padding: 10px 14px; border-radius: 8px; margin-bottom: 12px; font-size: 14px;
}
.cdash-banner.is-neg { background: linear-gradient(90deg, #fb7185, #e11d48); color: #fff; }
.cdash-banner.is-pos { background: linear-gradient(90deg, #34d399, #047857); color: #fff; }
.cdash-paper {
  background: #fff; border: 1px solid #e5eaf1; border-radius: 12px; overflow: hidden;
  box-shadow: none; margin-bottom: 12px;
}
.cdash-tbl-head, .cdash-chart-head {
  display: flex; justify-content: space-between; align-items: center; gap: 12px;
  padding: 12px 14px; background: #fff; border-bottom: 1px solid #eef2f6;
}
.cdash-tbl-head strong,
.cdash-tbl-head h3,
.cdash-chart-head h3,
.cdash-chart-head strong {
  color: #0f172a; font-size: 13px; letter-spacing: 0; text-transform: none; font-weight: 700;
}
.cdash-ui .cdash-paper h3 {
  background: transparent; color: #0f172a; height: auto; padding: 0; margin: 0;
  font-size: 13px; letter-spacing: 0; text-transform: none; font-weight: 700;
}
.cdash-tbl-sub { color: #94a3b8; font-size: 11px; font-weight: 600; }
.cdash-legend { display: flex; flex-wrap: wrap; gap: 10px; font-size: 11px; color: #64748b; font-weight: 650; }
.cdash-legend i { display: inline-block; width: 10px; height: 10px; border-radius: 2px; margin-right: 6px; vertical-align: -1px; }
.cdash-ui .cdash-table th {
  background: #dbe4f0; color: #0f2744; height: auto; padding: 8px 12px;
  border-bottom: 1px solid #c5d0e0; text-transform: none; font-size: 12px; font-weight: 700;
}
.cdash-ui .cdash-table td { padding: 8px 12px; }
.cdash-ui .cdash-table tbody tr:nth-child(even) { background: #f8fafc; }
.cdash-ui .cdash-table tfoot td { font-weight: 700; background: #f8fafc; border-top: 1px solid #e2e8f0; }
.cdash-ui .cek-table-wrap { max-height: min(420px, 48vh); }
.cdash-stock-scroll { max-height: 669px; overflow: auto; }
.cdash-stock-scroll thead th { position: sticky; top: 0; z-index: 1; }
.cdash-pay em { font-style: normal; font-size: 11px; color: #64748b; }
.cdash-ui .cdash-table tbody tr.is-link { cursor: pointer; }
.cdash-ui .cdash-table tbody tr.is-link:hover { background: #f1f5f9; }
.cdash-kpi.is-link { cursor: pointer; }
.cdash-kpi.is-link:hover { filter: brightness(.98); box-shadow: 0 2px 8px rgba(15,23,42,.06); }
.cdash-chart { overflow-x: auto; padding: 8px 10px 10px; background: #fff; }
.ggd.cdash .cdash-chart.is-profit .cek-svg { height: clamp(188px, 26vh, 236px); }
.cdash-amt { position: relative; min-width: 140px; text-align: right; }
.cdash-amt-fill {
  position: absolute; left: 0; top: 2px; bottom: 2px;
  background: linear-gradient(90deg, #38bdf8, #1d4ed8); border-radius: 4px; z-index: 0; opacity: 1;
}
.cdash-amt b { position: relative; z-index: 1; font-variant-numeric: tabular-nums; }
.cdash-cell-stack { display: flex; flex-direction: column; align-items: flex-end; gap: 2px; }
.cdash-cell-stack small { color: #94a3b8; font-weight: 500; }
.cdash-cell-stack .is-red, .cdash-table .is-overdue b { color: #dc2626; }
.cdash-mix { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-bottom: 0; }
.cdash-mix .cek-card { margin-bottom: 12px; }
.cdash-svg { height: 220px; }
.cek-svg-ylab { fill: #94a3b8; font-size: 9px; font-family: "Segoe UI", system-ui, sans-serif; }
.cek-svg-delta { font-size: 9px; text-anchor: middle; font-family: "Segoe UI", system-ui, sans-serif; }
.cek-svg-delta.is-minus { fill: #a84832; }
.cek-svg-delta.is-plus { fill: #1b7a3d; }
@media (max-width: 1100px) {
  .cdash-kpis, .cdash-kpis-3, .cdash-mix { grid-template-columns: 1fr; }
}
.cek-dash-head {
  display: flex; justify-content: space-between; align-items: flex-end; gap: 16px;
  margin: 0 0 12px; padding: 14px 16px;
  background: #122f47; color: #fff; border-radius: 8px;
}
.cek-kicker {
  margin: 0 0 4px; font-size: 10px; letter-spacing: .16em; text-transform: uppercase;
  color: #7dd3fc; font-weight: 650;
}
.cek-dash-head h2 { margin: 0; font-size: clamp(16px, 1.6vw, 20px); color: #fff; letter-spacing: .01em; font-weight: 650; }
.cek-dash-head .lead { margin: 6px 0 0; color: #94a3b8; font-size: 12px; }
.cek-head-acts { display: flex; gap: 8px; flex-shrink: 0; }
.cek-filters {
  display: flex; flex-wrap: wrap; gap: 12px; align-items: flex-end;
  margin-bottom: 12px; padding: 12px 14px;
  background: #fff; border: 1px solid #c5d0dc; border-radius: 8px; flex-shrink: 0;
}
.cek-field { display: flex; flex-direction: column; gap: 4px; min-width: 148px; }
.cek-field span { font-size: 11px; font-weight: 650; letter-spacing: .06em; text-transform: uppercase; color: #64748b; }
.cek-field input {
  border: 1px solid #c5d0dc; border-radius: 6px; padding: 8px 10px; background: #fff; color: #122f47;
  cursor: pointer; font-weight: 600;
}
.cek-cal { position: relative; }
.cek-cal-face { position: relative; display: block; }
.cek-cal .cek-cal-face input { width: 100%; box-sizing: border-box; padding-right: 34px; }
.cek-cal-ico {
  position: absolute; right: 4px; top: 0; bottom: 0; width: 30px; margin: auto 0; height: 30px;
  border: 0; background: transparent; color: #122f47; padding: 0; cursor: pointer;
  display: grid; place-items: center;
}
.cek-cal-ico svg { width: 18px; height: 18px; }
.cek-cal-ico:hover { color: #0b1f33; }
.cek-cal-pop {
  position: absolute; z-index: 40; top: calc(100% + 4px); left: 0;
  width: 272px; background: #fff; border: 1px solid #c5d0dc; border-radius: 8px;
  box-shadow: 0 12px 28px rgba(18,47,71,.16); padding: 10px;
}
.cek-cal-nav {
  display: flex; align-items: center; justify-content: space-between; margin-bottom: 8px; color: #122f47;
}
.cek-cal-nav button {
  width: 28px; height: 28px; border: 0; background: #eef3f8; border-radius: 6px; cursor: pointer; color: #122f47;
}
.cek-cal-nav strong { font-size: 13px; }
.cek-cal-week, .cek-cal-days { display: grid; grid-template-columns: repeat(7, 1fr); gap: 2px; }
.cek-cal-week span {
  text-align: center; font-size: 10px; font-weight: 700; color: #64748b; padding: 4px 0; text-transform: uppercase;
}
.cek-cal-days button {
  border: 0; background: transparent; border-radius: 6px; padding: 6px 0; cursor: pointer; color: #122f47; font-size: 12px;
}
.cek-cal-days button:hover { background: #eef3f8; }
.cek-cal-days button.out { color: #94a3b8; }
.cek-cal-days button.on { background: #122f47; color: #fff; }
.cek-kpis {
  display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 10px; margin-bottom: 12px;
}
.cek-kpi {
  background: #fff; border: 1px solid #c5d0dc; border-radius: 8px;
  padding: 12px 14px; border-top: 3px solid #122f47;
}
.cek-kpi.warn { border-top-color: #9a3412; }
.cek-kpi span { display: block; font-size: 11px; letter-spacing: .08em; text-transform: uppercase; color: #64748b; font-weight: 650; }
.cek-kpi strong {
  display: block; margin-top: 8px; font-size: clamp(15px, 1.5vw, 20px); color: #122f47;
  font-weight: 650; font-variant-numeric: tabular-nums;
}
.cek-kpi.warn strong { color: #9a3412; }
.cek-grid { display: grid; grid-template-columns: minmax(280px, .95fr) minmax(0, 1.2fr); gap: 12px; margin-bottom: 12px; }
.cek-card { background: #fff; border: 1px solid #c5d0dc; border-radius: 8px; overflow: hidden; }
.cek-card h3 {
  margin: 0; padding: 0 14px; height: 1cm; display: flex; align-items: center;
  background: #122f47; color: #fff; font-size: 12px; font-weight: 650; letter-spacing: .04em; text-transform: uppercase;
}
.cek-table { width: 100%; border-collapse: collapse; font-size: 13px; }
.cek-table th {
  text-align: left; padding: 0 12px; height: 1cm; background: #1a3a54; color: #fff;
  font-size: 11px; letter-spacing: .05em; text-transform: uppercase; font-weight: 650;
}
.cek-table td { padding: 8px 12px; border-bottom: 1px solid #e8eef4; color: #1e293b; }
.cek-table tbody tr { cursor: pointer; }
.cek-table tbody tr:nth-child(even) { background: #f7f9fc; }
.cek-table tbody tr:hover { background: #eef3f8; }
.cek-table tbody tr.on { background: #e8eef4; }
.cek-table tbody tr.plain { cursor: default; }
.cek-table .num { font-variant-numeric: tabular-nums; text-align: right; font-weight: 650; color: #122f47; white-space: nowrap; }
.cek-table .mono { font-variant-numeric: tabular-nums; font-weight: 650; color: #122f47; }
.cek-table .pay { min-width: 110px; }
.cek-pay {
  display: block; height: 6px; background: #e8eef4; border-radius: 99px; overflow: hidden; margin-bottom: 4px;
}
.cek-pay i { display: block; height: 100%; background: #122f47; border-radius: 99px; }
.cek-table .pay em { font-style: normal; font-size: 11px; color: #64748b; font-variant-numeric: tabular-nums; }
.cek-chart { padding: 8px 10px 4px; min-height: 168px; }
.cek-svg { width: 100%; height: clamp(140px, 22vh, 180px); display: block; }
.cek-svg .cek-gridline { stroke: #e2e8f0; stroke-width: 1; }
.cek-svg .cek-svg-bar { fill: #2563eb; }
.cek-svg .cek-svg-lab { fill: #64748b; font-size: 10px; text-anchor: middle; font-family: "Segoe UI", system-ui, sans-serif; }
.cek-empty, .cek-empty-box {
  margin: 0; padding: 28px 16px; text-align: center; color: #64748b; font-size: 13px;
}
.cek-empty-box { background: #fff; border: 1px solid #c5d0dc; border-radius: 8px; }
.cek-table-wrap { max-height: min(280px, 32vh); overflow: auto; }
.sdash-head {
  display: flex; justify-content: space-between; align-items: flex-end; gap: 16px;
  margin: 0 0 12px; padding: 14px 16px; background: var(--navy); color: #fff; border-radius: 8px;
}
.sdash-head h2 { margin: 0; font-size: clamp(16px, 1.6vw, 20px); color: #fff; font-weight: 650; }
.sdash-head .lead { margin: 6px 0 0; color: #94a3b8; font-size: 12px; }
.sdash-head .btn-ghost.light { color: #fff; border-color: rgba(255,255,255,.35); }
.sdash-toolbar {
  display: flex; flex-wrap: wrap; gap: 10px; align-items: flex-end;
  margin-bottom: 12px; padding: 12px 14px; background: #fff; border: 1px solid #c5d0dc; border-radius: 8px;
}
.sdash-toolbar select {
  border: 1px solid #c5d0dc; border-radius: 6px; padding: 8px 10px; background: #fff; color: #122f47; min-width: 140px;
}
.cdash-chips { display: flex; gap: 6px; flex-wrap: wrap; }
.cdash-chip {
  border: 1px solid #c5d0dc; background: #fff; color: #122f47; border-radius: 999px;
  padding: 6px 12px; cursor: pointer; font-size: 12px; font-weight: 650;
}
.cdash-chip:hover { background: #122f47; color: #fff; border-color: #122f47; }
.cek-kpi.musteri { border-top-color: #15803d; }
.cek-kpi.kendi { border-top-color: #b91c1c; }
.cek-kpi.senet { border-top-color: #122f47; }
.cdash-split { display: flex; height: 12px; border-radius: 99px; overflow: hidden; background: #e8eef4; }
.cdash-split .musteri { background: #059669; }
.cdash-split .kendi { background: #e11d48; }
.cdash-split .senet { background: #2563eb; }
.cdash-pad { padding: 12px 14px; }
.cdash-band, .cdash-charts { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-bottom: 12px; }
.cdash-charts { grid-template-columns: 1.2fr 1fr 1fr; }
.cdash-3 { display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 12px; margin-bottom: 12px; }
.cdash-yorum {
  margin: 0 0 12px; padding: 12px 14px; background: #fff; border: 1px solid #c5d0dc;
  border-radius: 8px; color: #334155; font-size: 13px; line-height: 1.55;
}
.cdash-modal { width: min(960px, 96vw); max-height: 90vh; display: flex; flex-direction: column; }
.cdash-modal-tools { display: flex; gap: 8px; padding: 10px 16px; align-items: center; }
.cdash-modal-tools input[type="search"] { flex: 1; padding: 8px 10px; border: 1px solid #c5d0dc; border-radius: 6px; }
.cdash-modal-grid { max-height: 55vh; margin: 0 16px 16px; }
@media (max-width: 1100px) {
  .cdash-charts, .cdash-3, .cdash-band { grid-template-columns: 1fr; }
}
@media (max-width: 1100px) {
  #app-aside:not(.closed) { width: 220px; }
}
@media (max-width: 980px) {
  .cek-kpis, .cek-grid, .cdash-charts, .cdash-3, .cdash-band { grid-template-columns: 1fr; }
}
@media (max-width: 820px) {
  #app-aside:not(.closed) { width: 180px; }
  .header-firm { min-width: 140px; }
}
.dash-grid { max-width: none; margin: 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: 12px; }
.kpi { border-left: 4px solid var(--accent); }
@media (max-width: 1100px) { .dash-grid { grid-template-columns: repeat(3, 1fr); } }
@media (max-width: 700px) { .dash-grid { grid-template-columns: 1fr; } .grid2, .grid5 { grid-template-columns: 1fr; } }

.admin-body { background: #e8edf3; min-height: 100vh; color: #334155; }
.admin-head {
  min-height: 58px; background: #0f2744; color: #fff; display: flex; align-items: center;
  gap: 14px; padding: 10px 22px; position: sticky; top: 0; z-index: 40;
}
.admin-head-text { display: flex; flex-direction: column; gap: 1px; }
.admin-kicker {
  font-size: 11px; letter-spacing: .16em; text-transform: uppercase; color: #9fb0c3; font-weight: 650;
}
.admin-head strong { font-size: 18px; font-weight: 650; letter-spacing: .01em; }
.admin-nav {
  display: flex; align-items: flex-end; gap: 4px; padding: 8px 16px 0;
  background: #e8edf3; border-bottom: 1px solid #d3dbe5; position: sticky; top: 58px; z-index: 30;
  overflow-x: auto;
}
.admin-nav button {
  border: 1px solid transparent; border-bottom: 0; background: transparent; color: #5c6b7a;
  border-radius: 6px 6px 0 0; padding: 8px 14px 9px; margin-bottom: -1px; cursor: pointer;
  font-size: 12.5px; font-weight: 600; white-space: nowrap;
}
.admin-nav button:hover { color: #0f2744; background: rgba(255,255,255,.62); }
.admin-nav button.on {
  color: #0f2744; background: #fff; border-color: #d3dbe5;
  box-shadow: inset 0 2px 0 #0f2744;
}
.admin-main { padding: 18px 20px 32px; max-width: 1180px; margin: 0 auto; }
.admin-card {
  background: #fff; border: 1px solid #d3dbe5; border-radius: 8px; overflow: hidden; margin-bottom: 14px;
  box-shadow: 0 1px 2px rgba(15, 39, 68, .04);
}
.admin-card-h {
  background: #fff; color: #0f2744; padding: 14px 16px 12px; border-bottom: 1px solid #e6edf3;
}
.admin-card-h h2 { margin: 0; font-size: 15px; font-weight: 650; letter-spacing: .01em; }
.admin-card-h p { margin: 4px 0 0; color: #64748b; font-size: 12px; font-weight: 500; }
.perm-layout { display: grid; grid-template-columns: 250px 1fr; min-height: 460px; }
.perm-users { border-right: 1px solid #e6edf3; background: #f7f9fb; padding: 8px; }
.perm-user {
  width: 100%; text-align: left; border: 0; background: transparent; border-radius: 6px;
  padding: 10px 12px; cursor: pointer; color: #334155;
}
.perm-user strong { display: block; font-size: 13px; font-weight: 650; }
.perm-user span { display: block; margin-top: 2px; font-size: 11px; color: #64748b; }
.perm-user.on { background: #fff; color: #0f2744; box-shadow: inset 3px 0 0 #0f2744; }
.perm-board { padding: 14px 16px 18px; }
.perm-tools { display: flex; gap: 8px; align-items: center; flex-wrap: wrap; margin-bottom: 12px; }
.perm-tools input[type="search"] {
  flex: 1; min-width: 180px; padding: 8px 10px; border: 1px solid #d3dbe5; border-radius: 6px; background: #fff;
}
.perm-status { font-size: 12px; color: #64748b; font-weight: 650; }
.perm-note { margin: 0 0 12px; font-size: 12px; color: #475569; }
.perm-group { margin: 0 0 16px; }
.perm-group h3 {
  margin: 0 0 6px; font-size: 11px; letter-spacing: .06em; text-transform: uppercase;
  color: #0f2744; font-weight: 700;
}
.perm-row {
  display: grid; grid-template-columns: 1fr auto; gap: 12px; align-items: center;
  padding: 8px 0; border-bottom: 1px solid #eef2f6; font-size: 13px;
}
.perm-row .no { font-variant-numeric: tabular-nums; font-weight: 700; color: #0f2744; margin-right: 8px; }
.perm-choice { display: flex; border: 1px solid #d3dbe5; border-radius: 6px; overflow: hidden; }
.perm-choice label { position: relative; }
.perm-choice input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.perm-choice span { display: block; padding: 6px 12px; font-size: 12px; font-weight: 650; cursor: pointer; color: #64748b; }
.perm-choice input:checked + span.yes { background: #0f2744; color: #fff; }
.perm-choice input:checked + span.no { background: #64748b; color: #fff; }
.perm-choice input:disabled + span { cursor: default; }
.admin-card-b { padding: 16px; }
.admin-form { display: grid; gap: 10px; align-items: center; }
.admin-form.cols-5 { grid-template-columns: repeat(5, 1fr); }
.admin-form.cols-2 { grid-template-columns: 1fr 1fr; }
.admin-form input, .admin-form select {
  padding: 9px 10px; border: 1px solid #cbd5e1; border-radius: 6px; background: #fff;
}
.admin-check { display: flex; align-items: center; gap: 10px; margin: 8px 0; font-size: 13px; color: #334155; }
.admin-actions { display: flex; gap: 10px; margin-top: 14px; }
.admin-table-wrap { overflow: auto; }
.admin-table { width: 100%; border-collapse: collapse; font-size: 13px; }
.admin-table th {
  text-align: left; font-size: 11px; font-weight: 650; color: #fff; background: #1a3a54;
  padding: 0 14px; height: 1cm; letter-spacing: .04em;
}
.admin-table td { padding: 0 14px; border-bottom: 1px solid #e8eef4; color: #1e293b; vertical-align: middle; }
.admin-table tbody tr { height: 1cm; }
.admin-table tbody tr:nth-child(even) { background: #f7f9fc; }
.admin-table .mono { font-variant-numeric: tabular-nums; font-weight: 650; color: #122f47; }
.admin-act { text-align: right; width: 100px; }
@media (max-width: 900px) {
  .admin-form.cols-5, .admin-form.cols-2 { grid-template-columns: 1fr; }
}

.firm-body { min-height: 100vh; height: auto; overflow: auto; margin: 0; background: #e8eef3; }
.firm-top .muted { color: #94a3b8; }
.firm-main { padding: 20px; max-width: 1280px; margin: 0 auto; }
.conn-bar {
  display: flex; align-items: center; justify-content: space-between; gap: 12px;
  background: #fff; border: 1px solid #e2e8f0; border-radius: 12px; padding: 14px 18px;
  margin-bottom: 14px; box-shadow: 0 8px 24px rgba(15,23,42,.06);
}
.conn-bar.good { border-color: #86efac; background: #f0fdf4; }
.conn-bar.bad { border-color: #fecaca; background: #fef2f2; }
.conn-title { font-size: 12px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: #64748b; }
.conn-line { margin: 4px 0 0; font-size: 14px; color: #0f172a; }
.firm-panel { margin-bottom: 14px; overflow: visible; }
.firm-pick-label {
  display: block; margin: 0; font-size: 12px; font-weight: 600; color: #334155;
}
.firm-field { border: 1px solid #d7dee8; border-radius: 10px; background: #f8fafc; padding: 12px; }
.firm-field-bar {
  display: flex; align-items: center; gap: 10px; margin-bottom: 10px;
}
.firm-field-bar .firm-meta { margin-left: auto; }
.firm-refresh {
  flex: 0 0 auto;
}
.firm-pick { z-index: 4; }
.firm-pick .combo-btn {
  display: grid; grid-template-columns: 92px 1fr minmax(140px, 1.1fr); gap: 10px;
  align-items: center; padding: 12px 44px 12px 14px; font-size: 14px; color: #64748b;
  background: #fff; position: relative; border: 1px solid #c5d0dc; min-height: 46px;
  box-shadow: inset 0 1px 0 #fff;
}
.firm-pick .combo-btn::after {
  content: ">"; position: absolute; right: 16px; top: 50%; transform: translateY(-50%);
  color: #1e3a5f; font-weight: 700; font-size: 15px;
}
.firm-pick.is-open .combo-btn::after { content: "v"; }
.firm-pick .combo-btn.has { color: #0f172a; font-weight: 500; }
.firm-pick .fv-kod { font-variant-numeric: tabular-nums; font-weight: 700; color: #1e3a5f; }
.firm-pick .fv-ad { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.firm-pick .fv-donem { color: #475569; font-size: 13px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.firm-pick .fv-ph { grid-column: 1 / -1; color: #94a3b8; }
.firm-pick .panel {
  position: relative; left: auto; right: auto; top: auto;
  max-height: 440px; z-index: 4; margin-top: 8px;
  border: 1px solid #c5d0dc; border-radius: 8px; overflow: hidden;
  box-shadow: 0 10px 28px rgba(15, 41, 66, .1);
}
.firm-pick .panel input[type="search"] {
  width: calc(100% - 16px); margin: 8px; padding: 9px 12px;
  border: 1px solid #cbd5e1; border-radius: 6px; background: #fff;
}
.firm-combo .panel[hidden] { display: none !important; }
.firm-combo .combo-btn.has { color: #111827; }
.firm-panel {
  background: #fff; border-radius: 12px; box-shadow: 0 10px 40px rgba(15,23,42,.08);
  padding: 22px 24px 28px; border: 1px solid #e2e8f0;
}
.firm-head { display: flex; justify-content: space-between; gap: 16px; align-items: flex-end; margin-bottom: 16px; }
.firm-head h1 { margin: 0; font-size: 22px; color: #122f47; letter-spacing: -.02em; }
.lead { margin: 6px 0 0; color: #64748b; font-size: 13px; }
.firm-meta { font-size: 12px; color: #475569; background: #f1f5f9; border-radius: 999px; padding: 6px 12px; white-space: nowrap; }
.firm-toolbar { display: flex; gap: 10px; margin-bottom: 12px; align-items: center; }
.firm-toolbar input[type="search"] {
  flex: 1; padding: 10px 12px; border: 1px solid #cbd5e1; border-radius: 8px;
}
.sel-chip {
  max-width: 42%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
  font-size: 12px; color: #64748b; border: 1px solid #e2e8f0; border-radius: 8px; padding: 8px 12px;
}
.sel-chip.on { color: #0f172a; border-color: #c4b5fd; background: #f5f3ff; }
.firm-table-wrap {
  border: 1px solid #e2e8f0; border-radius: 8px; max-height: 360px; overflow: auto;
}
.firm-grid { width: 100%; border-collapse: collapse; font-size: 13px; }
.firm-grid thead th {
  position: sticky; top: 0; background: #e8eef4; color: #163a58; font-size: 11px;
  letter-spacing: .05em; text-transform: uppercase; text-align: left; padding: 10px 12px;
  font-weight: 700; border-bottom: 1px solid #d5dee8;
}
.firm-grid td { padding: 10px 12px; border-bottom: 1px solid #f1f5f9; color: #1e293b; }
.firm-grid tbody tr { cursor: pointer; }
.firm-grid tbody tr:nth-child(even) { background: #f8fafc; }
.firm-grid tbody tr:hover { background: #eef3f8; }
.firm-grid tbody tr.on { background: #e8eef4; }
.firm-grid .mono { font-variant-numeric: tabular-nums; font-weight: 600; color: #334155; }
.firm-grid .col-rad { width: 28px; }
.firm-grid .radio {
  display: inline-block; width: 14px; height: 14px; border-radius: 50%;
  border: 2px solid #94a3b8; vertical-align: middle;
}
.firm-grid tr.on .radio { border-color: #122f47; box-shadow: inset 0 0 0 3px #122f47; }
.firm-grid .empty td { text-align: center; color: #94a3af; cursor: default; padding: 28px; }
.pill {
  display: inline-block; background: #dcfce7; color: #166534; font-size: 11px;
  font-weight: 700; border-radius: 999px; padding: 2px 8px;
}
.firm-stack { display: flex; flex-direction: column; gap: 16px; margin-top: 4px; }
.firm-bottom { display: grid; grid-template-columns: 1.7fr 0.9fr; gap: 16px; margin-top: 18px; align-items: start; }
.sec-card, .cost-card { border: 1px solid #e2e8f0; border-radius: 12px; padding: 16px; background: #fafbfc; overflow: visible; }
.sec-card h2, .cost-card h2 { margin: 0 0 6px; font-size: 15px; font-weight: 650; color: #122f47; }
.sec-toolbar { display: flex; justify-content: space-between; align-items: flex-end; gap: 16px; margin-bottom: 14px; }
.sec-all { min-width: 240px; }
.sec-all label { display: block; margin-bottom: 6px; font-size: 12px; font-weight: 600; color: #4b5563; }
.sec-count { margin: 6px 0 0; font-size: 12px; color: #64748b; }
.sec-cols {
  display: grid; grid-template-columns: 1fr 220px; gap: 12px; align-items: center;
  padding: 0 14px; height: 1cm; font-size: 11px; font-weight: 650; letter-spacing: .05em;
  text-transform: uppercase; color: #fff; background: #122f47; border-radius: 8px 8px 0 0;
}
.sec-list { list-style: none; margin: 0; padding: 0; border: 1px solid #c5d0dc; border-top: 0; border-radius: 0 0 8px 8px; background: #fff; }
.sec-list li {
  display: grid; grid-template-columns: 1fr 220px; gap: 12px; align-items: center;
  padding: 8px 14px; border-bottom: 1px solid #e8eef4; font-size: 13px; min-height: 1cm;
}
.sec-list li:nth-child(even) { background: #f7f9fc; }
.sec-list li:last-child { border-bottom: 0; }
.sec-list strong { font-weight: 650; color: #122f47; letter-spacing: 0; }
.sec-combo .combo-btn { padding: 8px 10px; font-size: 13px; }
.sec-combo .panel { z-index: 30; }
.cost-card { border-color: #d7dee8; background: #f8fafc; }
.cost-card label { display: block; margin: 10px 0 6px; font-size: 12px; font-weight: 600; color: #334155; }
.prepare-btn, .cost-card .btn-primary { width: 100%; margin-top: 8px; background: var(--navy); }
.rpt-shell {
  display: flex; flex-direction: column; overflow: hidden; min-height: 0; background: #fff;
  border: 1px solid #e2e8f0; border-radius: 8px;
}
.rpt-shell h2 { margin: 0; font-size: 16px; font-weight: 650; color: #122f47; }
.rpt-head {
  display: flex; justify-content: space-between; align-items: flex-start; gap: 12px;
  padding: 12px 14px 8px; flex-shrink: 0;
}
.rpt-meta { margin: 6px 0 0; font-size: 12px; color: #64748b; }
.rpt-acts { display: flex; flex-wrap: wrap; gap: 6px; justify-content: flex-end; position: relative; }
.rpt-btn {
  background: #fff; border: 1px solid #c5d0dc; border-radius: 6px; padding: 7px 11px;
  cursor: pointer; font-size: 13px; color: #122f47; font-weight: 600;
}
.rpt-btn:hover, .rpt-btn.is-on { background: #e8eef4; }
.rpt-btn.is-navy { background: #122f47; color: #fff; border-color: #122f47; }
.rpt-btn.is-navy:hover { background: #1d4f7a; }
.rpt-btn.is-icon { letter-spacing: 1px; font-weight: 700; min-width: 36px; }
.rpt-tools {
  display: grid; grid-template-columns: 1.4fr .8fr; gap: 12px; padding: 0 14px 10px; flex-shrink: 0;
}
.rpt-box { background: #f7f9fc; border: 1px solid #e8eef4; border-radius: 8px; padding: 10px 12px; }
.rpt-box h3 {
  margin: 0 0 8px; font-size: 11px; letter-spacing: .08em; text-transform: uppercase; color: #64748b;
}
.rpt-fields { display: flex; flex-wrap: wrap; gap: 10px; }
.rpt-box .ggd-filters { display: flex; flex-wrap: wrap; gap: 10px; align-items: flex-end; margin: 0; }
.rpt-field { display: flex; flex-direction: column; gap: 4px; min-width: 180px; flex: 1; }
.rpt-field span { font-size: 12px; color: #475569; font-weight: 600; }
.rpt-field input, .rpt-field select {
  border: 1px solid #c5d0dc; border-radius: 6px; padding: 8px 10px; background: #fff; color: #122f47;
}
.rpt-grid-wrap { flex: 1; min-height: 0; overflow: auto; padding: 0 8px 8px; }
.rpt-grid { width: 100%; border-collapse: collapse; font-size: 13px; }
.rpt-grid thead th {
  position: sticky; top: 0; z-index: 2; background: #e8eef4; color: #334155;
  font-size: 12px; font-weight: 700; padding: 8px 18px 8px 10px; border-bottom: 1px solid #d5dce4;
  white-space: nowrap; cursor: pointer; user-select: none;
}
.rpt-grid.is-sized, .cdash-detail-table.is-sized { table-layout: fixed; width: max-content; min-width: 100%; }
.xl-th { position: sticky; }
.xl-funnel {
  position: absolute; right: 10px; top: 50%; transform: translateY(-50%);
  width: 16px; height: 16px; padding: 0; border: 0; background: transparent;
  color: #94a3b8; cursor: pointer; line-height: 0;
}
.xl-funnel.is-on { color: #0f2744; }
.xl-grip {
  position: absolute; top: 0; right: 0; width: 6px; height: 100%; cursor: col-resize;
}
.xl-menu {
  position: fixed; z-index: 90; width: 260px; background: #fff; color: #0f2744;
  border: 1px solid #d3dbe5; border-radius: 8px; box-shadow: 0 16px 40px rgba(15, 39, 68, .18);
  padding: 8px; display: flex; flex-direction: column;
}
.xl-menu .xl-sort {
  text-align: left; border: 0; background: transparent; padding: 7px 8px; cursor: pointer;
  font-weight: 650; font-size: 12px; color: #0f2744; border-radius: 4px;
}
.xl-menu .xl-sort:hover { background: #eef2f6; }
.xl-menu input[type="search"] {
  width: 100%; margin: 6px 0; padding: 7px 8px; border: 1px solid #d3dbe5; border-radius: 6px;
}
.xl-all { display: flex; align-items: center; gap: 8px; font-size: 12px; font-weight: 650; padding: 4px; }
.xl-list { max-height: 180px; overflow: auto; border-top: 1px solid #e8edf3; margin-top: 4px; }
.xl-list label { display: flex; align-items: center; gap: 8px; padding: 4px; font-size: 12px; }
.xl-actions { display: flex; justify-content: flex-end; gap: 8px; margin-top: 8px; }
.xl-actions .btn-primary, .xl-actions .btn-ghost { padding: 6px 10px; font-size: 12px; }
.cdash-list-all {
  border: 1px solid #d3dbe5; background: #fff; color: #0f2744; border-radius: 6px;
  padding: 6px 10px; font-size: 12px; font-weight: 650; cursor: pointer; white-space: nowrap;
}
.rpt-th-lab { margin-right: 14px; }
.rpt-sort {
  display: inline-block; width: 0; height: 0; border-left: 4px solid transparent;
  border-right: 4px solid transparent; border-top: 5px solid #94a3b8; vertical-align: 2px;
}
.rpt-sort.is-asc { border-top: 0; border-bottom: 5px solid #122f47; }
.rpt-sort.is-desc { border-top-color: #122f47; }
.rpt-grid td {
  padding: 7px 10px; border-bottom: 1px solid #eef2f6; color: #1e293b; white-space: nowrap;
  max-width: 280px; overflow: hidden; text-overflow: ellipsis;
}
.rpt-grid tbody tr:nth-child(even) { background: #f4f7fa; }
.rpt-grid tbody tr:hover { background: #eef3f8; }
.rpt-grid th.is-right, .rpt-grid td.is-right { text-align: right; font-variant-numeric: tabular-nums; }
.rpt-grid th.is-center, .rpt-grid td.is-center { text-align: center; }
.rpt-grid th.is-left, .rpt-grid td.is-left { text-align: left; }
.rpt-colpanel {
  position: absolute; right: 0; top: calc(100% + 4px); z-index: 30; width: min(420px, 92vw);
  max-height: 48vh; overflow: auto; background: #fff; border: 1px solid #c5d0dc;
  border-radius: 8px; box-shadow: 0 12px 28px rgba(18,47,71,.16); padding: 8px;
}
.rpt-colrow {
  display: grid; grid-template-columns: 18px 1fr auto; gap: 8px; align-items: center;
  padding: 6px 4px; border-bottom: 1px solid #f1f5f9; font-size: 12px;
}
.rpt-align { display: flex; gap: 4px; }
.rpt-align button {
  border: 1px solid #c5d0dc; background: #fff; border-radius: 4px; padding: 2px 6px;
  font-size: 11px; cursor: pointer; color: #122f47;
}
.rpt-align button:hover { background: #e8eef4; }
@media (max-width: 900px) {
  .rpt-tools { grid-template-columns: 1fr; }
}
.data-wrap { flex: 1; min-height: 0; overflow: auto; margin-top: 0; }
.data-grid { min-width: 100%; font-size: clamp(10px, 0.92vw, 13px); }
.data-grid thead th {
  position: sticky; top: 0; z-index: 2; background: #122f47; color: #fff; border-bottom: 0;
}
.data-grid th, .data-grid td { white-space: nowrap; max-width: min(280px, 28vw); overflow: hidden; text-overflow: ellipsis; }
.prep-card {
  background: #fff; border-radius: 12px; width: min(760px, 100%); overflow: visible;
  box-shadow: 0 24px 60px rgba(18, 47, 71, .28); text-align: left; border: 1px solid #d7dee8;
}
.prep-picks { display: grid; gap: 12px; padding: 14px 24px 6px; }
.prep-picks[hidden] { display: none !important; }
.prep-cost { padding: 0; }
.prep-cost label { display: block; margin: 0 0 6px; font-size: 12px; font-weight: 600; color: #334155; }
#prep-firm.firm-pick { z-index: 6; }
#prep-firm.firm-pick .panel {
  position: absolute; left: 0; right: 0; top: calc(100% + 4px); margin-top: 0; z-index: 8;
  max-height: min(320px, 46vh);
}
.cost-pick .combo-btn {
  display: flex; align-items: center; min-height: 46px; padding: 12px 14px;
  border: 1px solid #c5d0dc; background: #fff; color: #64748b;
  box-shadow: inset 0 1px 0 #fff;
}
.cost-pick .combo-btn.has { color: #0f172a; font-weight: 650; }
.cost-pick .panel {
  background: #122f47; border-color: rgba(255,255,255,.1); color: #e8eef4;
}
.cost-pick .panel input[type="search"] {
  background: rgba(0,0,0,.28); color: #e2e8f0; border: 0; border-radius: 8px;
}
.cost-pick .panel input[type="search"]::placeholder { color: #94a3b8; }
.cost-pick .panel thead th {
  background: #122f47; color: #7dd3fc; border-bottom: 1px solid rgba(255,255,255,.08);
}
.cost-pick .panel td { color: #f8fafc; }
.cost-pick .panel tr:hover td { background: rgba(0,0,0,.28); color: #fff; }
.prep-card-head {
  background: var(--navy); color: #fff; padding: 20px 24px 18px; border-radius: 12px 12px 0 0;
}
.prep-kicker {
  margin: 0 0 6px; font-size: 11px; letter-spacing: .12em; text-transform: uppercase; color: #7dd3fc; font-weight: 600;
}
.prep-card-head h2 { margin: 0; font-size: 18px; font-weight: 650; color: #fff; }
.prep-card-head .lead { margin: 8px 0 0; color: #cbd5e1; font-size: 13px; }
.prep-status {
  margin: 0; padding: 10px 24px; font-size: 13px; font-weight: 600; color: #1e3a5f;
  background: #eef3f8; border-bottom: 1px solid #e2e8f0;
}
.prep-table-wrap { padding: 8px 16px 4px; max-height: min(52vh, 420px); overflow: auto; }
.prep-table { width: 100%; border-collapse: collapse; font-size: 13px; }
.prep-table th {
  text-align: left; font-size: 12px; font-weight: 600; color: #334155;
  background: #fff; padding: 10px 8px; border-bottom: 1px solid #e2e8f0;
}
.prep-table td { padding: 9px 8px; border-bottom: 1px solid #f1f5f9; color: #0f172a; }
.prep-table tr.is-run { background: #e7f0f8; }
.prep-table tr.is-run td { color: #122f47; font-weight: 700; }
.prep-table td.run { color: #1d4f7a; font-weight: 600; }
.prep-table td.ok { color: #15803d; }
.prep-table td.bad { color: #b91c1c; }
.prep-card .form-err { margin: 8px 24px 0; }
.prep-card-actions { display: flex; justify-content: flex-end; gap: 8px; padding: 12px 20px 16px; }
.wait-mask {
  position: fixed; inset: 0; background: rgba(15, 23, 42, .52); z-index: 80;
  display: flex; align-items: center; justify-content: center; padding: 24px;
}
.wait-mask[hidden] { display: none !important; }
.wait-box {
  background: #fff; border-radius: 12px; padding: 24px 28px; max-width: 420px;
  box-shadow: 0 20px 50px rgba(15,23,42,.25); text-align: center;
}
.wait-box strong { display: block; font-size: 16px; color: #0f172a; margin-bottom: 8px; }
.wait-box p { margin: 0; color: #64748b; font-size: 13px; line-height: 1.5; }
.firm-combo .panel thead th {
  background: #e8eef4; color: #334155; font-size: 12px; font-weight: 600;
  text-align: left; padding: 8px 10px; letter-spacing: 0; text-transform: none;
}
.group-panel { display: flex; flex-direction: column; max-height: 380px; background: #122f47; color: #e8eef4; }
.group-panel[hidden] { display: none !important; }
.group-panel input[type="search"] {
  width: calc(100% - 16px); margin: 8px; padding: 8px 10px; border: 0; border-radius: 8px;
  background: rgba(0,0,0,.28); color: #e2e8f0; outline: none;
}
.group-panel input[type="search"]::placeholder { color: #94a3b8; }
.g-cols {
  display: grid; grid-template-columns: 22px 92px 1fr 100px; gap: 8px;
  padding: 9px 14px; font-size: 12px; font-weight: 600; color: #7dd3fc;
  background: #122f47; border-bottom: 1px solid rgba(255,255,255,.08);
}
.g-list { overflow: auto; background: #122f47; }
.g-firm { border-bottom: 1px solid rgba(255,255,255,.06); }
.g-head {
  width: 100%; display: grid; grid-template-columns: 22px 92px 1fr 100px; gap: 8px;
  align-items: center; text-align: left; border: 0; background: transparent;
  padding: 10px 14px; cursor: pointer; font: inherit; color: #f8fafc;
}
.g-head:hover { background: rgba(0,0,0,.22); }
.g-firm.open .g-head { background: rgba(0,0,0,.22); }
.g-chev { color: #cbd5e1; font-size: 13px; font-weight: 700; line-height: 1; width: 14px; }
.g-name { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.g-count { font-size: 12px; color: #94a3b8; text-align: right; }
.g-periods { border-top: 1px solid rgba(255,255,255,.06); background: rgba(0,0,0,.18); }
.g-period {
  width: 100%; display: grid; grid-template-columns: 120px 1fr; gap: 8px;
  text-align: left; border: 0; background: transparent; padding: 8px 14px 8px 44px;
  cursor: pointer; font: inherit; color: #e2e8f0; font-size: 13px;
}
.g-period:hover, .g-period.on { background: rgba(0,0,0,.28); color: #fff; }
.g-empty { padding: 20px; text-align: center; color: #94a3b8; font-size: 13px; }
.g-head .mono, .g-period .mono { font-variant-numeric: tabular-nums; font-weight: 600; color: #fff; }
.firm-pick .panel {
  background: #122f47; border-color: rgba(255,255,255,.1);
}
.firm-pick .panel input[type="search"] {
  background: rgba(0,0,0,.28); color: #e2e8f0; border: 0;
}
@media (max-width: 900px) {
  .firm-bottom, .firm-head, .firm-toolbar { display: block; }
  .sel-chip { max-width: none; margin-top: 8px; }
}

:root {
  --sd-ink: #152433;
  --sd-muted: #6a7582;
  --sd-line: #d5dce4;
  --sd-card: #fff;
  --sd-wash: #f4f6f8;
  --sd-hero: #122f47;
  --sd-net: #1d4f7a;
}
body.sdash-modal-open { overflow: hidden; }
.sdash-modal {
  position: fixed; inset: 0; z-index: 70; background: rgba(15,23,42,.5);
  display: flex; align-items: center; justify-content: center; padding: 18px 16px;
  font-family: "Segoe UI", system-ui, sans-serif;
}
.sdash-modal.is-full { padding: 0; }
.sdash-modal-card {
  width: min(980px, 96vw); height: min(88vh, 860px); background: var(--sd-card);
  border-radius: 12px; box-shadow: 0 28px 64px rgba(15,23,42,.32);
  display: flex; flex-direction: column; overflow: hidden; position: relative;
  color: var(--sd-ink);
}
.cdash-detail-card {
  width: min(1280px, 98vw); height: min(92vh, 920px); border-radius: 10px;
}
.cdash-detail-card::before {
  content: ""; position: absolute; left: 0; right: 0; top: 0; height: 3px; background: var(--sd-hero);
}
.sdash-modal.is-full .sdash-modal-card,
.cdash-detail-card.is-full {
  width: 100vw; height: 100vh; border-radius: 0; box-shadow: none;
}
.cdash-detail-head {
  display: flex; justify-content: space-between; gap: 16px; align-items: flex-start;
  padding: 16px 18px 12px;
  background: color-mix(in srgb, var(--sd-hero) 7%, var(--sd-card));
}
.cdash-detail-kicker {
  margin: 0 0 4px; font-size: 10.5px; font-weight: 700; letter-spacing: .12em;
  text-transform: uppercase; color: var(--sd-net);
}
.cdash-detail-head h3 {
  margin: 0; font-size: 1.4rem; font-weight: 650; letter-spacing: -.02em; color: var(--sd-hero);
}
.cdash-detail-meta { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 8px; }
.cdash-detail-meta span {
  font-size: 12px; background: #fff; border: 1px solid #d5dce4; border-radius: 999px; padding: 3px 10px;
}
.cdash-detail-actions { display: flex; gap: 8px; flex-shrink: 0; }
.cdash-detail-actions button {
  font-size: 13px; font-weight: 600; border-radius: 6px; padding: 8px 14px;
  border: 1px solid #d5dce4; background: #fff; color: var(--sd-ink); cursor: pointer;
}
.cdash-detail-actions button:disabled { opacity: .45; cursor: default; }
.cdash-detail-actions button.is-close {
  background: var(--sd-hero); color: #fff; border-color: var(--sd-hero);
}
.cdash-detail-actions button.is-close:hover { filter: brightness(1.08); }
.cdash-detail-toolbar {
  display: flex; align-items: center; gap: 12px; padding: 8px 18px 12px;
}
.cdash-detail-q {
  flex: 1; height: 36px; border: 1px solid var(--sd-line); border-radius: 6px; padding: 0 12px; font: inherit;
}
.cdash-detail-q:focus { outline: 0; border-color: var(--sd-net); }
.cdash-detail-stats { margin-left: auto; color: var(--sd-muted); font-size: 13px; white-space: nowrap; }
.cdash-detail-stats b { color: var(--sd-hero); font-variant-numeric: tabular-nums; font-weight: 650; }
.cdash-detail-scroll { flex: 1; min-height: 0; overflow: auto; }
.cdash-detail-table {
  border-collapse: separate; border-spacing: 0; width: max-content; min-width: 100%; font-size: 12.5px;
}
.cdash-detail-table th, .cdash-detail-table td {
  padding: 8px 12px; white-space: nowrap; border-bottom: 1px solid var(--sd-line); text-align: left;
}
.cdash-detail-table thead tr:first-child th {
  position: sticky; top: 0; z-index: 3;
  background: color-mix(in srgb, var(--sd-hero) 8%, var(--sd-card));
  font-size: 10.5px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--sd-muted);
  cursor: pointer;
}
.cdash-detail-table thead tr.cdash-detail-find th {
  position: sticky; top: 36px; z-index: 2;
  background: color-mix(in srgb, var(--sd-hero) 8%, var(--sd-card));
}
.cdash-sort {
  display: inline-block; width: 0; height: 0; margin-left: 6px; vertical-align: middle;
  border-left: 4px solid transparent; border-right: 4px solid transparent; border-bottom: 5px solid #94a3b8;
}
.cdash-sort.is-desc { border-bottom: 0; border-top: 5px solid var(--sd-hero); }
.cdash-sort.is-asc { border-bottom-color: var(--sd-hero); }
.cdash-col-q {
  width: 100%; height: 28px; border: 1px solid var(--sd-line); border-radius: 4px; padding: 0 8px; font: inherit;
}
.cdash-col-q.is-on {
  border-color: var(--sd-net);
  background: color-mix(in srgb, var(--sd-net) 8%, var(--sd-card));
}
.cdash-detail-table tbody tr:nth-child(even) { background: color-mix(in srgb, var(--sd-wash) 70%, transparent); }
.cdash-detail-table tbody tr:hover { background: color-mix(in srgb, var(--sd-net) 8%, var(--sd-card)); }
.cdash-detail-table td.is-idx, .cdash-detail-table th.is-idx {
  width: 40px; text-align: right; color: var(--sd-muted);
}
.cdash-detail-table .is-num { text-align: right; font-variant-numeric: tabular-nums; font-weight: 650; }
.cdash-detail-table .is-wide { max-width: 220px; overflow: hidden; text-overflow: ellipsis; }
.cdash-detail-table td.is-overdue { color: #b42318; font-weight: 700; }
.cdash-detail-table tfoot td {
  position: sticky; bottom: 0; background: color-mix(in srgb, var(--sd-hero) 8%, var(--sd-card));
  font-weight: 650; color: var(--sd-hero);
}
.cdash-pill {
  display: inline-block; max-width: 180px; overflow: hidden; text-overflow: ellipsis;
  border-radius: 999px; padding: 2px 8px; font-size: 11.5px; font-weight: 650;
}
.cdash-pill.is-hold { background: color-mix(in srgb, #1b5c4e 16%, var(--sd-card)); color: #1b5c4e; }
.cdash-pill.is-ok { background: color-mix(in srgb, #147a3e 16%, var(--sd-card)); color: #147a3e; }
.cdash-pill.is-move { background: color-mix(in srgb, #1d4f7a 16%, var(--sd-card)); color: #1d4f7a; }
.cdash-pill.is-wait { background: color-mix(in srgb, #5b3d8c 16%, var(--sd-card)); color: #5b3d8c; }
.cdash-pill.is-warn { background: color-mix(in srgb, #8a5a12 16%, var(--sd-card)); color: #8a5a12; }
.cdash-pill.is-risk { background: color-mix(in srgb, #b42318 16%, var(--sd-card)); color: #b42318; }
.cdash-pill.is-out { background: color-mix(in srgb, #3d4a57 12%, var(--sd-card)); color: var(--sd-ink); }
.cdash-pill.is-mute { background: var(--sd-wash); color: var(--sd-ink); }
.cdash-pill.is-musteri { background: color-mix(in srgb, #15803d 16%, var(--sd-card)); color: #15803d; }
.cdash-pill.is-kendi { background: color-mix(in srgb, #9b2c20 16%, var(--sd-card)); color: #9b2c20; }
.cdash-pill.is-senet { background: color-mix(in srgb, #122f47 16%, var(--sd-card)); color: #122f47; }
.cdash-detail-empty { margin: 0; padding: 48px 16px; text-align: center; color: var(--sd-muted); }

/* —— Telefon / tablet —— */
.nav-backdrop {
  display: none;
  position: fixed; inset: 0; z-index: 55;
  background: rgba(15, 23, 42, .48); border: 0; padding: 0; cursor: pointer;
}
.nav-backdrop[hidden] { display: none !important; }
html { -webkit-text-size-adjust: 100%; text-size-adjust: 100%; }
button, a, input, select, textarea { -webkit-tap-highlight-color: rgba(29, 79, 122, .18); }
@media (max-width: 900px) {
  .nav-backdrop:not([hidden]) { display: block; }
  /* iOS odak zoomunu engelle: form alanlari >= 16px */
  input, select, textarea, .combo-btn, .firm-pick .combo-btn { font-size: 16px; }
  #app-aside {
    position: fixed; inset: 0 auto 0 0; z-index: 60;
    width: min(300px, 88vw) !important;
    max-width: 320px;
    transform: translateX(0);
    transition: transform .22s ease, box-shadow .22s ease;
    box-shadow: 8px 0 28px rgba(0, 0, 0, .28);
  }
  #app-aside.closed {
    width: min(300px, 88vw) !important;
    transform: translateX(-105%);
    box-shadow: none;
    pointer-events: none;
  }
  .main > header {
    gap: 8px; padding: 8px 10px;
  }
  .header-firm { min-width: 0; flex: 1 1 100%; order: 3; }
  .last-cache { margin-left: 0; order: 4; }
  .hide-btn, .btn-cache, .full-btn, .main > header .btn-primary, .main > header .btn-text {
    min-height: 40px; padding: 8px 12px; font-size: 13px;
  }
  #content { margin: 6px; padding: 8px; border-radius: 6px; }
  #tabs { padding: 6px 8px 0; -webkit-overflow-scrolling: touch; }
  .tab { white-space: nowrap; min-height: 40px; padding: 10px 14px; }
  .dash-item, #catalog .leaf, #catalog summary {
    min-height: 44px; padding-top: 10px; padding-bottom: 10px;
  }
  .prep-card { width: min(760px, 100%); max-height: 92dvh; }
  .prep-table-wrap { max-height: min(42vh, 280px); }
  .wait-mask { padding: 12px; align-items: flex-end; }
  .sdash-modal-card, .cdash-modal {
    width: 100% !important; max-width: 100%;
    max-height: 96dvh; border-radius: 12px 12px 0 0;
  }
  .login-shell { width: min(420px, 94vw); }
  .login-form-pad { padding: 20px 18px 22px; }
  .login-brand { padding: 22px 18px 18px; }
  .login-brand img { height: 40px; }
  .admin-head { flex-wrap: wrap; gap: 8px; padding: 10px 12px; }
  .admin-nav {
    overflow-x: auto; -webkit-overflow-scrolling: touch;
    flex-wrap: nowrap; padding: 8px 8px 0;
  }
  .admin-nav button { flex: 0 0 auto; min-height: 44px; white-space: nowrap; }
  .perm-layout { grid-template-columns: 1fr; }
  .perm-users {
    border-right: 0; border-bottom: 1px solid #e6edf3;
    display: flex; gap: 6px; overflow-x: auto;
  }
  .perm-user { min-width: 168px; }
  .admin-main { padding: 12px; }
  .firm-main { padding: 12px; }
  .firm-pick .combo-btn {
    grid-template-columns: 1fr; gap: 4px; min-height: 52px; padding: 10px 40px 10px 12px;
  }
  .firm-top { flex-wrap: wrap; }
  .data-grid { font-size: 12px; }
  .rpt-field { min-width: 0; flex: 1 1 100%; }
  .rpt-toolbar { flex-wrap: wrap; }
  .cek-field { min-width: 0; flex: 1 1 calc(50% - 8px); }
  .cdash-amt { min-width: 0; }
}
@media (max-width: 600px) {
  .last-cache-kicker { display: none; }
  .btn-cache { letter-spacing: 0; }
  .cek-field { flex: 1 1 100%; }
  .sess-card { padding: 14px; }
  .quick-table th, .quick-table td { padding: 0 10px; }
  .admin-logo, .firm-top .admin-logo { height: 28px; }
}
@media (hover: none) and (pointer: coarse) {
  .data-wrap, .rpt-grid-wrap, .cek-table-wrap, #nav, .admin-table-wrap {
    -webkit-overflow-scrolling: touch;
  }
  .firm-combo .panel, .user-combo .combo-panel {
    max-height: min(50dvh, 360px);
  }
}

.ggd.cdash.cdash-ui { background: linear-gradient(180deg, #cfe4f8 0%, #e7f2fb 48%, #f4f8fc 100%); padding: 14px; }
.ggd.cdash .sdash-head {
  background: transparent; color: #0f2744; padding: 0 0 8px; border-radius: 0;
}
.ggd.cdash .sdash-head h2,
.ggd.cdash .sdash-head .kicker { color: #0f2744; }
.ggd.cdash .sdash-head .lead { color: #3d5a73; }
.ggd.cdash .cdash-kpi {
  border: 0; border-radius: 14px;
  box-shadow: 0 10px 22px rgba(15, 39, 68, .16);
}
.ggd.cdash .cdash-kpi span,
.ggd.cdash .cdash-kpi small { color: rgba(255,255,255,.92); }
.ggd.cdash .cdash-kpi strong { color: #fff; }
.ggd.cdash .cdash-paper,
.ggd.cdash .cek-card {
  background: #fff; border: 1px solid #c5daf0; border-radius: 14px;
  box-shadow: 0 10px 24px rgba(15, 39, 68, .08);
}
.ggd.cdash .cek-card h3 { background: linear-gradient(90deg, #163a6b, #2563eb); }
.ggd.cdash .cdash-chart-head,
.ggd.cdash .cdash-tbl-head { background: #fff; }
.ggd.cdash .cdash-chart-head h3,
.ggd.cdash .cdash-chart-head strong,
.ggd.cdash .cdash-tbl-head strong {
  background: transparent; color: #0f2744; height: auto; margin: 0; padding: 0;
  display: block; font-size: 13px; font-weight: 700; letter-spacing: 0; text-transform: none;
}
.fa-table tr.is-total td { font-weight: 700; background: #f4f7fb; }
.fa-table tr.is-acc td:first-child { padding-left: 22px; }
.fa-table td.num { text-align: right; font-variant-numeric: tabular-nums; }
.ggd.cdash .cdash-table th,
.ggd.cdash .cek-table th { background: linear-gradient(180deg, #1e4b8a, #163a6b); color: #fff; }

.ggd.cdash {
  --page-bg: #d7e8f8;
  --card-bg: #FFFFFF;
  --text-primary: #0f2744;
  --text-secondary: #3d5a73;
  --sd-line: #c5daf0;
  background: var(--page-bg);
  color: var(--text-primary);
  font-family: Inter, "Segoe UI", sans-serif;
  padding: 14px;
  box-sizing: border-box;
}
.ggd.cdash .ggd-head {
  display: flex; justify-content: space-between; align-items: flex-end; gap: 12px;
  margin: 0 0 12px;
}
.ggd.cdash .ggd-head h2 { margin: 0; font-size: 20px; color: var(--text-primary); font-weight: 700; }
.ggd.cdash .ggd-head p { margin: 4px 0 0; color: var(--text-secondary); font-size: 12px; }
.ggd.cdash .ggd-head small { color: var(--text-secondary); font-size: 12px; white-space: nowrap; }
.ggd.cdash .ggd-filters { display: flex; flex-wrap: wrap; gap: 8px; align-items: flex-end; margin: 0 0 12px; }
.dash-yorum-btn {
  height: 36px; padding: 0 16px; border: 0; border-radius: 8px;
  background: linear-gradient(180deg, #3b82f6, #1d4ed8); color: #fff;
  font-size: 13px; font-weight: 700; letter-spacing: .01em;
  cursor: pointer; align-self: flex-end;
  box-shadow: 0 6px 14px rgba(29, 78, 216, .35);
}
.dash-yorum-btn,
.dash-yorum-btn.is-on {
  background: linear-gradient(180deg, #3b82f6, #1d4ed8); color: #fff;
}
.dash-yorum-btn:hover { filter: brightness(1.08); }
.dash-yorum-btn.is-on { box-shadow: 0 0 0 2px #fff, 0 8px 16px rgba(29, 78, 216, .45); }
.dash-yorum-slot { margin-top: 12px; }
.dash-yorum-slot:empty { display: none; }
.ggd.cdash .dash-yorum-slot .ggd-yorum {
  margin: 8px 0 0; padding: 12px 14px; background: #fff; color: #0f2744;
  border: 1px solid #c5daf0; border-left: 4px solid #1e3a8a; border-radius: 8px;
  font-size: 13px; line-height: 1.5;
}
.ggd.cdash .ggd-go {
  height: 34px; padding: 0 14px; border: 0; border-radius: 8px; cursor: pointer;
  background: linear-gradient(180deg, #10b981, #047857); color: #fff; font-weight: 650;
  box-shadow: 0 6px 14px rgba(4, 120, 87, .28);
}
.ggd.cdash .ggd-go:hover { background: #047857; }
.ggd.cdash .ggd-link {
  height: 34px; padding: 0 8px; border: 0; background: transparent; color: #3E86E7;
  font-weight: 650; cursor: pointer;
}
.ggd.cdash .ggd-chips { display: flex; flex-wrap: wrap; gap: 6px; }
.ggd.cdash .ggd-chip {
  height: 30px; padding: 0 12px; border-radius: 999px; border: 1px solid var(--sd-line);
  background: #fff; color: var(--text-primary); cursor: pointer; font-weight: 650; font-size: 12px;
}
.ggd.cdash .ggd-chip.is-on, .ggd.cdash .ggd-chip:hover { background: #1d4ed8; color: #fff; border-color: #1d4ed8; }
.ggd.cdash .ggd-kpis.is-4 {
  display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; margin: 0 0 12px;
}
.ggd.cdash .ggd-kpi {
  display: flex; gap: 10px; align-items: center; text-align: left; width: 100%;
  background: linear-gradient(145deg, #3b82f6, #1d4ed8); border: 0; border-radius: 14px; padding: 12px;
  box-shadow: 0 10px 22px rgba(15, 39, 68, .16);
  cursor: pointer; color: #fff; font-family: Inter, "Segoe UI", sans-serif;
}
.ggd.cdash .ggd-kpi:hover { filter: brightness(1.05); }
.ggd.cdash .ggd-kpi-ico { width: 42px; height: 42px; border-radius: 12px; flex: 0 0 42px; background: rgba(255,255,255,.28); box-shadow: inset 0 0 0 1px rgba(255,255,255,.35); }
.ggd.cdash .ggd-kpi-body { min-width: 0; display: flex; flex-direction: column; gap: 2px; }
.ggd.cdash .ggd-kpi-body span { color: rgba(255,255,255,.9); font-size: 12px; font-weight: 650; }
.ggd.cdash .ggd-kpi-body strong { color: #fff; font-size: 18px; font-weight: 700; line-height: 1.2; }
.ggd.cdash .ggd-kpi-body small { color: rgba(255,255,255,.88); font-size: 11px; }
.ggd.cdash .ggd-kpi.is-blue { background: linear-gradient(145deg, #38bdf8, #1d4ed8); }
.ggd.cdash .ggd-kpi.is-teal { background: linear-gradient(145deg, #2dd4bf, #0f766e); }
.ggd.cdash .ggd-kpi.is-red { background: linear-gradient(145deg, #fb7185, #e11d48); }
.ggd.cdash .ggd-kpi.is-green { background: linear-gradient(145deg, #4ade80, #15803d); }
.ggd.cdash .ggd-kpi.is-orange { background: linear-gradient(145deg, #fb923c, #ea580c); }
.ggd.cdash .cdash-split {
  display: grid; grid-template-columns: 1fr 1fr; gap: 12px;
  height: auto; background: transparent; border-radius: 0; overflow: visible;
}
.ggd.cdash .cdash-side {
  background: linear-gradient(180deg, #f8fbff, #e7f1fb); border: 1px solid #b9d4ee; border-radius: 14px; padding: 12px; min-width: 0;
  box-shadow: 0 8px 18px rgba(15, 39, 68, .06);
}
.ggd.cdash .cdash-side .ggd-kpis.is-4 { grid-template-columns: 1fr 1fr; }
.ggd.cdash .cdash-side-h {
  display: flex; justify-content: space-between; align-items: center; gap: 10px;
  color: #fff; font-family: Arial, Helvetica, sans-serif; border-radius: 10px;
  padding: 12px 14px; margin-bottom: 12px;
}
.ggd.cdash .cdash-side-h span { font-size: 18px; font-weight: 700; }
.ggd.cdash .cdash-side-h strong { font-size: 22px; font-weight: 700; }
.ggd.cdash .cdash-side-h.is-alacakli { background: linear-gradient(135deg, #34d399, #047857); box-shadow: 0 8px 16px rgba(4, 120, 87, .28); }
.ggd.cdash .cdash-side-h.is-borclu { background: linear-gradient(135deg, #fb7185, #be123c); box-shadow: 0 8px 16px rgba(190, 18, 60, .24); }
.ggd.cdash .cdash-side-h.is-diger { background: linear-gradient(135deg, #38bdf8, #1d4ed8); box-shadow: 0 8px 16px rgba(29, 78, 216, .24); }
.ggd.cdash .ggd-card {
  background: #fff; border: 1px solid var(--sd-line); border-radius: 14px; padding: 12px 14px; margin-top: 12px;
}
.ggd.cdash .ggd-card h3 { margin: 0 0 8px; font-size: 14px; color: var(--text-primary); }
.ggd.cdash .ggd-empty, .ggd-wait { margin: 8px 0; color: #6B7280; font-size: 13px; }
.ggd.cdash table { width: 100%; border-collapse: collapse; font-size: 13px; }
.ggd.cdash th { text-align: left; color: var(--text-secondary); font-size: 12px; font-weight: 650; padding: 6px 8px; }
.ggd.cdash td { padding: 7px 8px; border-top: 1px solid #eef3f8; vertical-align: top; }
.ggd.cdash td small { display: block; color: var(--text-secondary); font-size: 11px; }
.ggd.cdash .is-num { text-align: right; font-variant-numeric: tabular-nums; white-space: nowrap; }
.ggd.cdash tr.is-link { cursor: pointer; }
.ggd.cdash tr.is-link:hover { background: #F3F8FD; }
.ggd.cdash .kdash-trend { display: flex; flex-direction: column; gap: 4px; }
.ggd.cdash .kdash-pair {
  display: grid; grid-template-columns: minmax(108px, 140px) 1fr auto; gap: 8px; align-items: center;
  width: 100%; border: 0; background: transparent; padding: 3px 0; cursor: pointer; text-align: left;
  color: var(--text-primary); font: inherit;
}
.ggd.cdash .kdash-pair span { font-size: 12px; }
.ggd.cdash .kdash-pair .bar {
  display: block; height: 12px; border-radius: 99px; background: #dbe7f5; overflow: hidden; font-weight: 400;
}
.ggd.cdash .kdash-pair i { display: block; height: 12px; width: 0; background: linear-gradient(90deg, #4ade80, #047857); border-radius: 99px; }
.ggd.cdash .kdash-pair i.is-fazla { background: linear-gradient(90deg, #38bdf8, #1d4ed8); }
.ggd.cdash .kdash-pair em { font-style: normal; font-size: 12px; font-variant-numeric: tabular-nums; white-space: nowrap; }
.ggd.cdash .ggd-notes { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; margin-top: 12px; }
.ggd.cdash .ggd-note { border-radius: 12px; padding: 12px 14px; }
.ggd.cdash .ggd-note strong { display: block; margin-bottom: 4px; }
.ggd.cdash .ggd-note p { margin: 0; color: var(--text-primary); font-size: 13px; line-height: 1.45; }
.ggd.cdash .ggd-note.is-dikkat { background: linear-gradient(180deg, #ffe4e6, #fecdd3); border: 1px solid #fb7185; }
.ggd.cdash .ggd-note.is-dikkat strong { color: #9f1239; }
.ggd.cdash .ggd-note.is-firsat { background: linear-gradient(180deg, #d1fae5, #a7f3d0); border: 1px solid #34d399; }
.ggd.cdash .ggd-note.is-firsat strong { color: #065f46; }
.ggd.cdash .ggd-note.is-oneri { background: linear-gradient(180deg, #dbeafe, #bfdbfe); border: 1px solid #60a5fa; }
.ggd.cdash .ggd-note.is-oneri strong { color: #1e3a8a; }
.ggd.cdash .ggd-yorum {
  margin: 12px 0 0; padding: 12px 14px; background: #fff; border: 1px solid var(--sd-line);
  border-radius: 12px; color: var(--text-primary); font-size: 13px; line-height: 1.5;
}
@media (max-width: 1100px) {
  .ggd.cdash .cdash-split, .ggd.cdash .ggd-kpis.is-4, .ggd.cdash .ggd-notes { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 720px) {
  .ggd.cdash .cdash-split, .ggd.cdash .ggd-kpis.is-4, .ggd.cdash .ggd-notes { grid-template-columns: 1fr; }
  .ggd.cdash .cdash-side-h { flex-direction: column; align-items: flex-start; }
}
.tone-page { background: #eef3f8; }
.tone-layout { display: grid; grid-template-columns: 240px minmax(0, 1fr); flex: 1; min-height: 0; }
.tone-nav { background: #fff; border-right: 1px solid #d7e0ea; overflow: auto; padding: 8px 0 16px; }
.tone-nav-label {
  margin: 14px 16px 4px; font-size: 11px; letter-spacing: .1em; text-transform: uppercase; color: #3b6ea5; font-weight: 700;
}
.tone-nav button {
  display: block; width: 100%; text-align: left; border: 0; background: transparent;
  color: var(--strong); padding: 9px 16px; cursor: pointer; font-size: 13px; font-weight: 650;
}
.tone-nav button.on { background: var(--navy); color: #fff; }
.tone-nav button:hover:not(.on) { background: #f4f7fb; }
.tone-main { overflow: auto; padding: 16px 18px 28px; }
.tone-main h3 { margin: 0; font-size: 16px; color: var(--navy); }
.tone-lead { margin: 6px 0 14px; color: var(--muted); font-size: 13px; }
.tone-row {
  display: grid; grid-template-columns: 120px 1fr 1fr; gap: 10px; align-items: center;
  background: #fff; border: 1px solid #d7e0ea; border-radius: 8px; padding: 10px 12px; margin-bottom: 8px;
}
.tone-cell { display: flex; flex-direction: column; gap: 4px; min-width: 0; }
.tone-cell > span { font-size: 11px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: #64748b; }
.tone-swatch, .tone-color {
  display: flex; align-items: center; gap: 8px; width: 100%; text-align: left;
  border: 1px solid #d7e0ea; background: #fff; border-radius: 8px; padding: 7px 10px; cursor: pointer;
  color: var(--strong); font-size: 13px; font-weight: 650;
}
.tone-swatch i, .tone-color i {
  width: 18px; height: 18px; border-radius: 4px; flex: 0 0 18px; border: 1px solid rgba(15, 23, 42, .16); display: block;
}
.tone-swatch i.is-empty {
  background:
    linear-gradient(135deg, #fff 46%, #cbd5e1 46% 54%, #fff 54%);
}
.tone-swatch:hover, .tone-color:hover, .tone-color.on { border-color: var(--navy); }
.tone-actions { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 14px; }
.tone-status { margin: 10px 0 0; font-size: 12px; color: var(--muted); }
.tone-pop-back {
  position: fixed; inset: 0; z-index: 80; background: rgba(15, 23, 42, .35);
  display: flex; align-items: center; justify-content: center; padding: 16px;
}
.tone-pop {
  width: min(760px, 100%); max-height: min(80vh, 720px); background: #fff; border-radius: 10px;
  display: flex; flex-direction: column; overflow: hidden; box-shadow: 0 18px 50px rgba(15, 23, 42, .25);
}
.tone-pop-bar { display: flex; gap: 8px; padding: 12px; border-bottom: 1px solid #e5eaf1; }
.tone-pop-bar input {
  flex: 1; min-width: 0; border: 1px solid #d7e0ea; border-radius: 8px; padding: 8px 10px;
}
.tone-grid { overflow: auto; display: grid; grid-template-columns: repeat(auto-fill, minmax(168px, 1fr)); gap: 6px; padding: 12px; }
@media (max-width: 800px) {
  .tone-layout { grid-template-columns: 1fr; }
  .tone-nav { border-right: 0; border-bottom: 1px solid #d7e0ea; max-height: 220px; }
  .tone-row { grid-template-columns: 1fr; }
  .req-split { grid-template-columns: 1fr; }
}

.req-mask {
  position: fixed; inset: 0; z-index: 80; background: rgba(15, 23, 42, .45);
  display: flex; align-items: center; justify-content: center; padding: 18px;
}
.req-card, .req-desk {
  background: #fff; color: #0f2744; border: 1px solid #d3dbe5; border-radius: 10px;
}
.req-card { width: min(560px, 100%); padding: 18px 18px 16px; box-shadow: 0 18px 50px rgba(15, 23, 42, .22); }
.req-kicker { margin: 0; font-size: 11px; letter-spacing: .12em; text-transform: uppercase; color: #64748b; font-weight: 700; }
.req-card h2, .req-desk-h h2, .req-detail-h h2 { margin: 4px 0 8px; font-size: 18px; }
.req-source { margin: 0 0 12px; font-size: 13px; font-weight: 650; color: #0f2744; }
.req-card label { display: flex; flex-direction: column; gap: 6px; margin: 0 0 12px; font-size: 12px; font-weight: 650; }
.req-card input, .req-card textarea, .req-work textarea {
  border: 1px solid #d3dbe5; border-radius: 6px; padding: 8px 10px; font: inherit; color: #0f172a;
}
.req-card textarea, .req-work textarea { min-height: 120px; resize: vertical; }
.req-actions, .req-work { display: flex; gap: 8px; justify-content: flex-end; flex-wrap: wrap; }
.req-work { justify-content: flex-start; margin-top: 12px; }
.req-work textarea { flex: 1 1 100%; }
.req-err { color: #b42318; font-size: 13px; margin: 0 0 8px; }
.req-desk { border: 0; }
.req-desk-h { display: flex; justify-content: space-between; align-items: flex-end; margin-bottom: 10px; }
.req-filters { display: flex; gap: 6px; flex-wrap: wrap; margin-bottom: 12px; }
.req-chip {
  border: 1px solid #d3dbe5; background: #fff; color: #334155; border-radius: 99px;
  padding: 6px 12px; font-size: 12px; font-weight: 650; cursor: pointer;
}
.req-chip.on { background: #0f2744; color: #fff; border-color: #0f2744; }
.req-split { display: grid; grid-template-columns: minmax(240px, 320px) 1fr; gap: 12px; min-height: 420px; }
.req-list, .req-detail {
  border: 1px solid #d3dbe5; border-radius: 8px; background: #fff; min-height: 280px;
}
.req-list { overflow: auto; }
.req-detail { padding: 14px 16px; }
.req-item {
  width: 100%; text-align: left; border: 0; border-bottom: 1px solid #e8edf3; background: #fff;
  padding: 10px 12px; cursor: pointer; display: grid; gap: 2px;
}
.req-item.on { background: #f4f7fb; box-shadow: inset 3px 0 0 #0f2744; }
.req-item strong { font-size: 13px; color: #0f2744; }
.req-item em, .req-item i, .req-meta, .req-log span { font-style: normal; font-size: 12px; color: #64748b; }
.req-no { font-size: 11px; font-weight: 700; letter-spacing: .04em; color: #0f2744; }
.req-steps { display: flex; gap: 6px; flex-wrap: wrap; list-style: none; margin: 0 0 12px; padding: 0; }
.req-steps li {
  border: 1px solid #d3dbe5; border-radius: 99px; padding: 4px 8px; font-size: 11px; font-weight: 650; color: #64748b;
}
.req-steps li.on { background: #0f2744; color: #fff; border-color: #0f2744; }
.req-body { white-space: pre-wrap; font-size: 14px; line-height: 1.45; margin: 0 0 14px; }
.req-log { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; }
.req-log li { border-top: 1px solid #e8edf3; padding-top: 8px; }
.req-log strong { display: block; font-size: 13px; }
.req-log p { margin: 4px 0 0; font-size: 13px; }

.fa-dash .fa-tabs { display: flex; gap: 4px; margin: 0 0 12px; }
.fa-dash .fa-tabs .tab { background: rgba(255,255,255,.55); }
.fa-dash .fa-panel { display: none; }
.fa-dash .fa-panel.on { display: block; }
.fa-dash .fa-h { margin: 0 0 4px; color: #0f2744; font-size: 16px; }
.fa-dash .fa-hero { display: grid; grid-template-columns: minmax(0,1.1fr) minmax(0,.9fr); gap: 18px; align-items: start; }
.fa-dash .fa-balance { display: grid; grid-template-columns: 1fr auto 1fr; gap: 10px; }
.fa-dash .fa-bcol h3 { display: flex; justify-content: space-between; gap: 8px; margin: 0 0 6px; font-size: 13px; color: #0f2744; }
.fa-dash .fa-bcol h3 span { font-weight: 600; color: #3d5a73; }
.fa-dash .fa-stack { height: 260px; display: flex; flex-direction: column; border-radius: 12px; overflow: hidden; border: 1px solid #c5daf0; background: #fff; }
.fa-dash .fa-seg { display: flex; flex-direction: column; justify-content: center; padding: 6px 10px; color: #fff; min-height: 28px; overflow: hidden; }
.fa-dash .fa-seg span { font-size: 12px; }
.fa-dash .fa-seg b { font-size: 14px; }
.fa-dash .fa-seg.is-dv { background: linear-gradient(180deg, #3b82f6, #1d4ed8); }
.fa-dash .fa-seg.is-dur { background: linear-gradient(180deg, #1e3a5f, #0f2744); }
.fa-dash .fa-seg.is-kv { background: linear-gradient(180deg, #fb923c, #c2410c); }
.fa-dash .fa-seg.is-uv { background: linear-gradient(180deg, #94a3b8, #475569); }
.fa-dash .fa-seg.is-oz { background: linear-gradient(180deg, #34d399, #047857); }
.fa-dash .fa-eq { display: flex; align-items: center; font-size: 22px; font-weight: 800; color: #3d5a73; padding-top: 22px; }
.fa-dash .fa-kpis { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.fa-dash .fa-tools { display: flex; flex-wrap: wrap; gap: 10px 16px; align-items: center; margin: 0 0 10px; }
.fa-dash .fa-segbtn { display: inline-flex; border: 1px solid #163a6b; border-radius: 8px; overflow: hidden; }
.fa-dash .fa-segbtn button { font: inherit; font-weight: 700; font-size: 12px; background: #fff; color: #0f2744; border: 0; padding: 7px 10px; cursor: pointer; }
.fa-dash .fa-segbtn button.on { background: #163a6b; color: #fff; }
.fa-dash .fa-chk { display: inline-flex; gap: 6px; align-items: center; font-size: 13px; color: #0f2744; }
.fa-dash .fa-scroll { overflow: auto; max-height: 70vh; border: 1px solid #c5daf0; border-radius: 12px; background: #fff; }
.fa-dash .fa-table { width: 100%; border-collapse: separate; border-spacing: 0; font-size: 13px; }
.fa-dash .fa-table th, .fa-dash .fa-table td { padding: 6px 10px; text-align: right; white-space: nowrap; border-bottom: 1px solid #e6eef6; background: #fff; }
.fa-dash .fa-table th { position: sticky; top: 0; z-index: 2; background: linear-gradient(180deg, #1e4b8a, #163a6b); color: #fff; font-size: 12px; }
.fa-dash .fa-table th.is-month { cursor: pointer; }
.fa-dash .fa-table th.is-month:hover { filter: brightness(1.12); }
.fa-dash .fa-table th.nm, .fa-dash .fa-table td.nm { position: sticky; left: 0; z-index: 1; text-align: left; min-width: 220px; white-space: normal; }
.fa-dash .fa-table thead th.nm { z-index: 3; }
.fa-dash .fa-table td.hl, .fa-dash .fa-table th.hl { box-shadow: inset 0 -2px 0 #fbbf24; }
.fa-dash .fa-table tr.is-sec td { background: #e8f0fa; font-weight: 800; }
.fa-dash .fa-table tr.is-grp td { background: #f4f7fb; font-weight: 700; }
.fa-dash .fa-table tr.is-sub td, .fa-dash .fa-table tr.is-tot td { font-weight: 800; background: #f4f7fb; }
.fa-dash .fa-table tr.is-tot td { border-top: 2px solid #0f2744; }
.fa-dash .fa-table tr.is-acc td.nm { padding-left: 22px; }
.fa-dash .fa-table.is-hide-acc tr.is-acc { display: none; }
.fa-dash .fa-table td.is-move { cursor: pointer; }
.fa-dash .fa-table td.is-move:hover { background: #fff7e6; }
.fa-move-pop {
  position: fixed;
  z-index: 80;
  max-height: 320px;
  overflow: auto;
  background: #fff;
  color: #122f47;
  border: 1px solid #d5deea;
  border-radius: 10px;
  box-shadow: 0 12px 32px rgba(18, 47, 71, .18);
  padding: 10px 12px;
}
.fa-move-pop h4 { margin: 0 0 4px; font-size: 13px; }
.fa-move-pop .fa-move-bal { margin: 0 0 8px; font-weight: 700; }
.fa-move-pop .fa-move-wait { margin: 0; color: #3d5a73; font-size: 12px; }
.fa-move-pop table { width: 100%; border-collapse: collapse; font-size: 12px; }
.fa-move-pop th, .fa-move-pop td { padding: 4px 6px; border-bottom: 1px solid #e8eef5; text-align: left; }
.fa-move-pop .num { text-align: right; font-variant-numeric: tabular-nums; }
.fa-move-pop .fa-move-more {
  margin-top: 8px;
  border: 0;
  background: #122f47;
  color: #fff;
  border-radius: 8px;
  padding: 6px 10px;
  cursor: pointer;
  font: inherit;
  font-size: 12px;
}
.fa-dash .fa-table td.nm.is-link { cursor: pointer; }
.fa-dash .fa-cd { color: #3d5a73; font-size: 11px; margin-right: 6px; }
.fa-dash .fa-table td.is-neg { color: #b91c1c; }
.fa-dash .fa-table td.is-pos { color: #047857; }
.fa-dash .fa-grid { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: 12px; margin-top: 14px; }
.fa-dash .fa-card { padding: 12px 14px; }
.fa-dash .fa-bars { display: grid; gap: 8px; margin-top: 8px; }
.fa-dash .fa-bar { display: grid; grid-template-columns: 160px 1fr 64px; gap: 8px; align-items: center; font-size: 12px; color: #0f2744; }
.fa-dash .fa-track { height: 8px; border-radius: 99px; background: #e8f0fa; overflow: hidden; }
.fa-dash .fa-track i { display: block; height: 100%; background: linear-gradient(90deg, #1d4ed8, #163a6b); }
.fa-dash .fa-empty { padding: 12px; color: #3d5a73; font-size: 13px; }
.cdash-ui .fa-fis { min-width: 220px; position: relative; }
.cdash-ui .fa-fis-btn {
  min-height: 38px; width: 100%; text-align: left; cursor: pointer; font: inherit; font-weight: 650;
  color: #122f47; background: #fff; border: 1px solid #c5d0dc; border-radius: 8px; padding: 8px 12px;
}
.cdash-ui .fa-fis-panel {
  position: absolute; z-index: 30; top: calc(100% + 4px); left: 0; width: min(320px, 72vw);
  background: #122f47; color: #f8fafc; border-radius: 10px; padding: 8px;
  box-shadow: 0 14px 28px rgba(15, 39, 68, .28);
}
.cdash-ui .fa-fis-q {
  width: 100%; box-sizing: border-box; margin-bottom: 6px; border: 0; border-radius: 6px;
  background: rgba(0, 0, 0, .28); color: #fff; padding: 7px 8px; font: inherit;
}
.cdash-ui .fa-fis-list { max-height: 240px; overflow: auto; display: grid; gap: 2px; }
.cdash-ui .fa-fis-list label { display: flex; gap: 8px; align-items: flex-start; padding: 5px 4px; font-size: 13px; cursor: pointer; }
.cdash-ui .fa-fis-go {
  margin-top: 8px; width: 100%; border: 0; border-radius: 6px; background: #fff; color: #122f47;
  font: inherit; font-weight: 700; padding: 7px 10px; cursor: pointer;
}
.fa-dash .fa-findings { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 12px; }
.fa-dash .fa-find { border-radius: 999px; padding: 4px 10px; font-size: 12px; font-weight: 700; background: #e8eef4; color: #334155; }
.fa-dash .fa-find.is-iyi, .fa-dash .fa-pill.is-iyi { background: #ecfdf5; color: #047857; }
.fa-dash .fa-find.is-dikkat, .fa-dash .fa-pill.is-dikkat { background: #fff7ed; color: #b45309; }
.fa-dash .fa-find.is-zayif, .fa-dash .fa-pill.is-zayif { background: #fef2f2; color: #b91c1c; }
.fa-dash .fa-ratios { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.fa-dash .fa-ratio-card {
  background: #fff; border: 1px solid #c5daf0; border-radius: 14px; padding: 12px 14px;
  box-shadow: 0 10px 24px rgba(15, 39, 68, .08);
}
.fa-dash .fa-ratio-card h3 { margin: 0 0 8px; color: #0f2744; font-size: 14px; }
.fa-dash .fa-ratio { width: 100%; border-collapse: collapse; }
.fa-dash .fa-ratio td { padding: 7px 4px; border-bottom: 1px solid #e6eef6; vertical-align: top; }
.fa-dash .fa-ratio .nm b { display: block; color: #0f2744; font-size: 13px; }
.fa-dash .fa-ratio .nm small { display: block; margin-top: 2px; color: #64748b; font-size: 11px; line-height: 1.35; }
.fa-dash .fa-ratio .val { text-align: right; font-variant-numeric: tabular-nums; font-weight: 750; color: #122f47; white-space: nowrap; }
.fa-dash .fa-ratio .tone { width: 72px; text-align: right; }
.fa-dash .fa-pill { display: inline-block; border-radius: 999px; padding: 2px 8px; font-size: 11px; font-weight: 700; }
@media (max-width: 900px) {
  .fa-dash .fa-hero, .fa-dash .fa-grid, .fa-dash .fa-balance, .fa-dash .fa-ratios { grid-template-columns: 1fr; }
  .fa-dash .fa-eq { display: none; }
  .fa-dash .fa-bar { grid-template-columns: 1fr; }
}

.kredi-dash .kredi-layout {
  display: grid;
  grid-template-columns: minmax(220px, 280px) minmax(0, 1fr) minmax(280px, 380px);
  gap: 12px;
  align-items: start;
}
.kredi-dash .kredi-side,
.kredi-dash .kredi-mid { display: grid; gap: 12px; }
.kredi-dash .kredi-table { grid-column: 3; grid-row: 1 / span 2; min-height: 100%; }
.kredi-dash .kredi-span { grid-column: 1 / 3; }
.kredi-dash .kredi-filters { display: grid; gap: 10px; }
.kredi-dash .kredi-chk {
  display: flex; align-items: center; gap: 8px;
  font-size: 14px; color: #0f2744; font-weight: 650;
}
.kredi-dash .kredi-card { padding: 0; }
.ggd.cdash.kredi-dash:not(.pos-dash):not(.raf-dash) .kredi-card-h {
  background: linear-gradient(90deg, #1d4ed8, #2563eb);
  padding: 10px 14px;
  border-radius: 13px 13px 0 0;
}
.ggd.cdash.kredi-dash:not(.pos-dash):not(.raf-dash) .kredi-card h3 {
  height: auto; display: block; margin: 0; padding: 0;
  background: transparent; color: #fff;
  font-size: 14px; font-weight: 700; letter-spacing: 0; text-transform: none;
}
.ggd.cdash.kredi-dash:not(.pos-dash):not(.raf-dash) .kredi-sub { color: #d6e4f0; }
#content > .kredi-dash.ggd-page:not(.pos-dash):not(.raf-dash) {
  overflow: hidden;
  display: flex;
  flex-direction: column;
}
.kredi-dash:not(.pos-dash):not(.raf-dash) .sdash-head { flex-shrink: 0; }
.kredi-dash:not(.pos-dash):not(.raf-dash) .kredi-layout {
  flex: 1;
  min-height: 0;
  grid-template-rows: minmax(0, 1fr) minmax(132px, 30%);
  align-items: stretch;
}
.kredi-dash:not(.pos-dash):not(.raf-dash) .kredi-side,
.kredi-dash:not(.pos-dash):not(.raf-dash) .kredi-mid,
.kredi-dash:not(.pos-dash):not(.raf-dash) .kredi-span,
.kredi-dash:not(.pos-dash):not(.raf-dash) .kredi-table {
  min-height: 0;
}
.kredi-dash:not(.pos-dash):not(.raf-dash) .kredi-side,
.kredi-dash:not(.pos-dash):not(.raf-dash) .kredi-mid { overflow: auto; align-content: start; }
.kredi-dash:not(.pos-dash):not(.raf-dash) .kredi-mid {
  grid-template-rows: auto minmax(0, 1fr);
}
.kredi-dash:not(.pos-dash):not(.raf-dash) .kredi-mid > .kredi-card { min-height: 0; overflow: auto; }
.kredi-dash:not(.pos-dash):not(.raf-dash) .kredi-table.kredi-card,
.kredi-dash:not(.pos-dash):not(.raf-dash) .kredi-span.kredi-card {
  display: flex;
  flex-direction: column;
  overflow: hidden;
}
.kredi-dash:not(.pos-dash):not(.raf-dash) .kredi-sheet-scroll {
  flex: 1;
  min-height: 0;
  max-height: none;
}
.kredi-dash:not(.pos-dash):not(.raf-dash) .kredi-months {
  flex: 1;
  min-height: 0;
  height: auto;
}
.kredi-dash:not(.pos-dash):not(.raf-dash) .kredi-m {
  grid-template-rows: 14px minmax(40px, 1fr) auto;
  height: 100%;
}
.kredi-dash:not(.pos-dash):not(.raf-dash) .kredi-gauge { padding: 4px 12px 8px; }
.kredi-dash:not(.pos-dash):not(.raf-dash) .kredi-gauge-svg { width: min(100%, 168px); }
.kredi-dash:not(.pos-dash):not(.raf-dash) .kredi-gauge-mid { top: 54px; }
.kredi-dash:not(.pos-dash):not(.raf-dash) .kredi-gauge-mid b { font-size: 22px; }
.kredi-dash:not(.pos-dash):not(.raf-dash) .kredi-gauge-scale { max-width: 168px; }
.kredi-dash:not(.pos-dash):not(.raf-dash) .kredi-donut { width: 112px; height: 112px; }
.kredi-dash:not(.pos-dash):not(.raf-dash) .kredi-note {
  flex-shrink: 0;
  margin: 0 0 8px;
  padding: 8px 12px;
  text-align: left;
}
.kredi-dash .kredi-card-h {
  display: flex; align-items: baseline; justify-content: space-between; gap: 8px;
  padding: 12px 14px 0;
}
.kredi-dash .kredi-sub { margin: 0; color: #64748b; font-size: 12px; }
.kredi-dash .kredi-gauge { position: relative; padding: 8px 16px 12px; text-align: center; }
.kredi-dash .kredi-gauge-svg { width: min(100%, 240px); height: auto; }
.kredi-dash .kredi-gauge-mid {
  position: absolute; left: 0; right: 0; top: 78px;
  display: grid; justify-items: center;
}
.kredi-dash .kredi-gauge-mid b { font-size: 28px; color: #122f47; line-height: 1; }
.kredi-dash .kredi-gauge-mid span { font-size: 12px; color: #64748b; font-weight: 650; }
.kredi-dash .kredi-gauge-scale {
  display: flex; justify-content: space-between; color: #64748b; font-size: 12px;
  max-width: 240px; margin: -6px auto 0;
}
.kredi-dash .kredi-donut-wrap { display: flex; justify-content: center; padding: 8px 0 0; }
.kredi-dash .kredi-donut { width: 168px; height: 168px; }
.kredi-dash .kredi-legend { list-style: none; margin: 0; padding: 4px 16px 14px; display: grid; gap: 6px; }
.kredi-dash .kredi-legend li { display: flex; align-items: center; gap: 8px; font-size: 13px; color: #0f2744; }
.kredi-dash .kredi-legend i { width: 12px; height: 12px; border-radius: 3px; background: #5b7c99; }
.kredi-dash .kredi-legend .is-due i { background: #122f47; }
.kredi-dash:not(.pos-dash):not(.raf-dash) .kredi-split-legend {
  display: flex; flex-wrap: wrap; gap: 14px;
  padding: 8px 14px 0; margin: 0;
}
.kredi-dash:not(.pos-dash):not(.raf-dash) .kredi-split-legend li { color: #334155; font-size: 12px; font-weight: 700; }
.kredi-dash:not(.pos-dash):not(.raf-dash) .kredi-split-legend .is-kredi i { background: #2563eb; }
.kredi-dash:not(.pos-dash):not(.raf-dash) .kredi-split-legend .is-paid i { background: #10b981; }
.kredi-dash:not(.pos-dash):not(.raf-dash) .kredi-split-legend .is-kalan i { background: #f97316; }
.kredi-dash:not(.pos-dash):not(.raf-dash) .kredi-legend .is-paid i { background: #10b981; }
.kredi-dash:not(.pos-dash):not(.raf-dash) .kredi-legend .is-due i { background: #f97316; }
.kredi-dash:not(.pos-dash):not(.raf-dash) .kredi-m .track {
  width: 100%; gap: 2px; justify-content: center;
}
.kredi-dash:not(.pos-dash):not(.raf-dash) .kredi-m .bar {
  width: auto; flex: 1 1 0; min-width: 0; max-width: 10px;
}
.kredi-dash:not(.pos-dash):not(.raf-dash) .kredi-m .bar.is-kredi { background: #2563eb; }
.kredi-dash:not(.pos-dash):not(.raf-dash) .kredi-m .bar.is-paid { background: #10b981; }
.kredi-dash:not(.pos-dash):not(.raf-dash) .kredi-m .bar.is-kalan { background: #f97316; }
.kredi-dash:not(.pos-dash):not(.raf-dash) .kredi-bank .track.kredi-split {
  height: auto; display: grid; gap: 3px; background: transparent; overflow: visible;
}
.kredi-dash:not(.pos-dash):not(.raf-dash) .kredi-split .line {
  display: block; height: 7px; background: #eef3f8; border-radius: 3px; overflow: hidden;
}
.kredi-dash:not(.pos-dash):not(.raf-dash) .kredi-split .line i { display: block; height: 100%; border-radius: 3px; }
.kredi-dash:not(.pos-dash):not(.raf-dash) .kredi-split .line i.is-kredi { background: #2563eb; }
.kredi-dash:not(.pos-dash):not(.raf-dash) .kredi-split .line i.is-paid { background: #10b981; }
.kredi-dash:not(.pos-dash):not(.raf-dash) .kredi-split .line i.is-kalan { background: #f97316; }
.kredi-dash .kredi-kpis { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; }
.kredi-dash .kredi-kpi {
  background: #fff; border: 1px solid #c5daf0; border-radius: 14px;
  box-shadow: 0 10px 24px rgba(15, 39, 68, .08);
  padding: 14px 12px; text-align: left; cursor: pointer; font: inherit;
}
.kredi-dash:not(.raf-dash) .kredi-kpi {
  background: linear-gradient(145deg, #38bdf8, #2563eb);
  border: 0; color: #fff;
  box-shadow: 0 10px 22px rgba(37, 99, 235, .22);
}
.kredi-dash:not(.raf-dash) .kredi-kpi.is-paid {
  background: linear-gradient(145deg, #34d399, #059669);
  box-shadow: 0 10px 22px rgba(5, 150, 105, .22);
}
.kredi-dash:not(.raf-dash) .kredi-kpi.is-due {
  background: linear-gradient(145deg, #fb923c, #ea580c);
  box-shadow: 0 10px 22px rgba(234, 88, 12, .22);
}
.kredi-dash.pos-dash .kredi-kpi.is-due {
  background: linear-gradient(145deg, #a5b4fc, #4f46e5);
  box-shadow: 0 10px 22px rgba(79, 70, 229, .22);
}
.kredi-dash .kredi-kpi b { display: block; font-size: 26px; color: #122f47; line-height: 1.1; }
.kredi-dash:not(.raf-dash) .kredi-kpi b,
.kredi-dash:not(.raf-dash) .kredi-kpi span { color: #fff; }
.kredi-dash .kredi-kpi.is-paid b { color: #0f766e; }
.kredi-dash:not(.raf-dash) .kredi-kpi.is-paid b { color: #fff; }
.kredi-dash .kredi-kpi span { display: block; margin-top: 4px; color: #64748b; font-size: 13px; font-weight: 700; }
.kredi-dash .kredi-kpi:hover { border-color: #122f47; filter: brightness(1.05); }
.kredi-dash .kredi-banks { display: grid; gap: 10px; padding: 12px 14px 16px; }
.kredi-dash .kredi-bank {
  display: grid; grid-template-columns: minmax(96px, 34%) 1fr auto;
  gap: 8px; align-items: center; width: 100%;
  background: transparent; border: 0; padding: 0; cursor: pointer; font: inherit; text-align: left;
}
.kredi-dash .kredi-bank .nm { color: #334155; font-size: 12px; font-weight: 700; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.kredi-dash .kredi-bank .track { height: 22px; background: #eef3f8; border-radius: 4px; overflow: hidden; }
.kredi-dash .kredi-bank .bar { display: block; height: 100%; background: #122f47; min-width: 2px; }
.kredi-dash .kredi-bank b { color: #122f47; font-size: 13px; }
.kredi-dash .kredi-months {
  display: grid; grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: 6px; align-items: end; padding: 8px 12px 14px; min-height: 220px;
}
.kredi-dash .kredi-m {
  display: grid; grid-template-rows: 18px 150px auto; justify-items: center; gap: 4px;
  background: transparent; border: 0; padding: 0; cursor: pointer; font: inherit; min-width: 0;
}
.kredi-dash .kredi-m .v { font-size: 10px; color: #334155; font-weight: 700; }
.kredi-dash .kredi-m .track { width: 70%; height: 100%; display: flex; align-items: flex-end; }
.kredi-dash .kredi-m .bar { display: block; width: 100%; background: #122f47; border-radius: 3px 3px 0 0; }
.kredi-dash .kredi-m .l { font-size: 11px; color: #475569; }
.kredi-dash .kredi-sheet-scroll { max-height: 640px; overflow: auto; }
.kredi-dash .kredi-sheet { width: 100%; border-collapse: collapse; font-size: 13px; }
.kredi-dash .kredi-sheet th, .kredi-dash .kredi-sheet td { padding: 8px 10px; border-bottom: 1px solid #e6eef6; text-align: left; }
.kredi-dash .kredi-sheet th { position: sticky; top: 0; background: #122f47; color: #fff; font-weight: 700; }
.kredi-dash:not(.raf-dash) .kredi-sheet th { background: linear-gradient(90deg, #1d4ed8, #2563eb); }
.kredi-dash .kredi-sheet .num, .kredi-dash .kredi-sheet th.num { text-align: right; font-variant-numeric: tabular-nums; }
.kredi-dash .kredi-sheet tr.is-due .num { color: #b91c1c; font-weight: 700; }
.kredi-dash .kredi-sheet tr.is-paid .num { color: #15803d; font-weight: 700; }
.kredi-dash .kredi-sheet tr.is-inst td { color: #475569; font-size: 12px; background: #f8fafc; }
.kredi-dash .kredi-sheet tfoot td { font-weight: 800; background: #f4f7fb; color: #0f2744; }
.kredi-dash .kredi-fold {
  width: 22px; height: 22px; margin-right: 6px; border: 1px solid #c5d0dc; border-radius: 4px;
  background: #fff; color: #122f47; font: inherit; font-weight: 700; cursor: pointer;
}
.kredi-dash .kredi-sheet td:first-child { cursor: pointer; }
.kredi-dash .kredi-empty { margin: 0; padding: 12px 14px; color: #64748b; font-size: 13px; }
@media (max-width: 1100px) {
  .kredi-dash .kredi-layout { grid-template-columns: 1fr; }
  .kredi-dash .kredi-table, .kredi-dash .kredi-span { grid-column: auto; grid-row: auto; }
  .kredi-dash .kredi-months { min-height: 180px; }
  .kredi-dash .kredi-m { grid-template-rows: 16px 110px auto; }
  #content > .kredi-dash.ggd-page:not(.pos-dash):not(.raf-dash) { overflow: auto; }
  .kredi-dash:not(.pos-dash):not(.raf-dash) .kredi-layout {
    flex: none;
    grid-template-rows: none;
  }
}

.raf-dash .kredi-kpis { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.raf-dash .kredi-kpi.is-neg b { color: #b45309; }
.raf-dash .kredi-sheet .num.is-neg { color: #b45309; font-weight: 700; }
.raf-dash .raf-types { display: grid; gap: 12px; align-content: start; }
.raf-dash .raf-checks { display: grid; gap: 6px; }
.raf-dash .raf-checks-h { font-size: 12px; font-weight: 700; color: #122f47; }
.raf-dash .kredi-sheet-scroll { max-height: 280px; }
@media (max-width: 1100px) {
  .raf-dash .kredi-kpis { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

.pos-dash .kredi-months { grid-template-columns: repeat(auto-fit, minmax(56px, 1fr)); }
.pos-dash .kredi-months.is-day { grid-template-columns: repeat(auto-fit, minmax(18px, 1fr)); }
.pos-dash .kredi-months.is-day .l { font-size: 9px; }
.pos-dash .pos-legend { display: flex; gap: 12px; padding: 0; margin: 0; }
.pos-dash .pos-legend .is-done i { background: #10b981; }
.pos-dash .kredi-legend .is-paid i { background: #10b981; }
.pos-dash .kredi-legend .is-due i,
.pos-dash .pos-legend .is-due i { background: #6366f1; }
.pos-dash .kredi-bank .bar.pos-stack,
.pos-dash .kredi-m .bar.pos-stack { display: flex; background: transparent; min-width: 0; }
.pos-dash .kredi-bank .bar.pos-stack { height: 100%; flex-direction: row; }
.pos-dash .kredi-m .bar.pos-stack { width: 100%; flex-direction: column; justify-content: flex-end; }
.pos-dash .pos-stack i { display: block; min-width: 0; min-height: 0; }
.pos-dash .kredi-bank .pos-stack i { height: 100%; }
.pos-dash .kredi-m .pos-stack i { width: 100%; }
.pos-dash .pos-stack i.is-wait { background: #6366f1; }
.pos-dash .pos-stack i.is-done { background: #10b981; }
.pos-dash .kredi-sheet td.num.is-wait { color: #b91c1c; font-weight: 700; }
.pos-dash .kredi-sheet td.num.is-done { color: #15803d; font-weight: 700; }

