@font-face {
  font-family: "Manrope";
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("/fonts/manrope-400-latin.woff2") format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: "Manrope";
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("/fonts/manrope-400-latinext.woff2") format("woff2");
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: "Manrope";
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("/fonts/manrope-600-latin.woff2") format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: "Manrope";
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("/fonts/manrope-600-latinext.woff2") format("woff2");
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: "Manrope";
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("/fonts/manrope-700-latin.woff2") format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: "Manrope";
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("/fonts/manrope-700-latinext.woff2") format("woff2");
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: "Syne";
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("/fonts/syne-700-latin.woff2") format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: "Syne";
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("/fonts/syne-700-latinext.woff2") format("woff2");
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

:root {
  --ui-bg: #f4f6fa;
  --ui-surface: #ffffff;
  --ui-sidebar: #ffffff;
  --ui-sidebar-text: #334155;
  --ui-sidebar-active: #2f5bea;
  --ui-line: #e5e9f0;
  --ui-line-soft: #eef1f6;
  --ui-text: #16202e;
  --ui-muted: #667385;
  --ui-accent: #2f5bea;
  --ui-accent-2: #2449c9;
  --ui-accent-soft: #ebf0ff;
  --ui-focus: #2f5bea;
  --ui-danger: #d23a2c;
  --ui-warn: #b06a00;
  --ui-ok: #16883e;
  --ui-radius-sm: 8px;
  --ui-radius: 10px;
  --ui-radius-card: 14px;
  --ui-radius-lg: 16px;
  --ui-font: "Manrope", "Segoe UI", system-ui, sans-serif;
  --ui-display: "Manrope", "Segoe UI", system-ui, sans-serif;
  --ui-rail: 68px;
  --ui-rail-open: 284px;
  --ui-nav-label: 0.95rem;
  --ui-nav-sub: 0.875rem;
  --ui-topbar-h: 64px;
  --ui-shadow: 0 1px 2px rgba(16, 24, 40, 0.04), 0 6px 16px rgba(16, 24, 40, 0.045);
  --ui-ease: 180ms ease;
  --ui-rail-motion: 280ms cubic-bezier(0.22, 0.61, 0.36, 1);
  --ui-brand-blue: #2f5bea;
  --ui-ico-home: var(--ui-brand-blue);
  --ui-ico-sales: var(--ui-brand-blue);
  --ui-ico-buy: var(--ui-brand-blue);
  --ui-ico-products: var(--ui-brand-blue);
  --ui-ico-stock: var(--ui-brand-blue);
  --ui-ico-finance: var(--ui-brand-blue);
  --ui-ico-invoice: var(--ui-brand-blue);
  --ui-ico-hr: var(--ui-brand-blue);
  --ui-ico-org: var(--ui-brand-blue);
  --ui-ico-device: var(--ui-brand-blue);
  --ui-ico-report: var(--ui-brand-blue);
  --ui-ico-archive: var(--ui-brand-blue);
  --ui-ico-settings: var(--ui-brand-blue);
  --kpi-sales: #4d8dff;
  --kpi-in: #991d1b;
  --kpi-out: #596a7c;
  --kpi-income: #2f5bea;
  --kpi-cost: #a29b04;
}

@keyframes ui-rise {
  from { opacity: 0; transform: translateY(-6px); }
  to { opacity: 1; transform: none; }
}

@keyframes ui-soft-in {
  from { opacity: 0; }
  to { opacity: 1; }
}

.ui-shell {
  display: grid;
  grid-template-columns: var(--ui-rail) minmax(0, 1fr);
  grid-template-rows: var(--ui-topbar-h) minmax(0, 1fr);
  min-height: 100vh;
  height: 100%;
  background: var(--ui-bg);
  color: var(--ui-text);
  font-family: var(--ui-font);
  font-weight: 400;
  transition: grid-template-columns var(--ui-rail-motion);
}

.ui-shell.is-nav-pinned {
  grid-template-columns: var(--ui-rail-open) minmax(0, 1fr);
}

.ui-sidebar {
  grid-column: 1;
  grid-row: 1 / -1;
  display: flex;
  flex-direction: column;
  width: var(--ui-rail);
  background: var(--ui-sidebar);
  color: var(--ui-sidebar-text);
  border-right: 1px solid var(--ui-line);
  min-width: 0;
  overflow: hidden;
  position: relative;
  z-index: 56;
  box-shadow: none;
  transition: width var(--ui-rail-motion), box-shadow var(--ui-rail-motion);
}

.ui-shell.is-nav-pinned .ui-sidebar {
  width: var(--ui-rail-open);
}

@media (min-width: 1025px) {
  .ui-shell:not(.is-nav-pinned) .ui-sidebar {
    transition-delay: 70ms;
  }

  .ui-shell:not(.is-nav-pinned) .ui-sidebar:hover,
  .ui-shell:not(.is-nav-pinned) .ui-sidebar:focus-within {
    width: var(--ui-rail-open);
    z-index: 56;
    box-shadow: 8px 0 24px rgba(16, 24, 40, 0.08);
    transition-delay: 0s;
  }
}

.ui-brand {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0;
  height: var(--ui-topbar-h);
  padding: 0.1rem 0.4rem;
  border-bottom: 1px solid var(--ui-line);
  text-decoration: none;
  color: var(--ui-text);
  overflow: hidden;
  transition: padding var(--ui-rail-motion);
}

.ui-brand:hover { text-decoration: none; color: var(--ui-text); }

.ui-brand-mark {
  display: none;
  flex: 0 0 auto;
  width: 34px;
  height: 34px;
  align-items: center;
  justify-content: center;
  border-radius: 10px;
  background: var(--ui-brand-blue);
  font-family: "Syne", var(--ui-display);
  font-weight: 700;
  font-size: 1.28rem;
  line-height: 1;
  letter-spacing: -0.05em;
  color: #fff;
}

.ui-brand img {
  display: none;
}

.ui-brand-text {
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  line-height: 1;
  white-space: nowrap;
  min-width: 0;
}

.ui-brand-text strong {
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  font-family: "Syne", var(--ui-display);
  font-size: 0;
  font-weight: 700;
  letter-spacing: 0;
  color: transparent;
  line-height: 0.9;
}

.ui-brand-text strong::before,
.ui-brand-text strong::after {
  font-size: 2.15rem;
  font-weight: 700;
  letter-spacing: 0.01em;
  line-height: 0.9;
  transition: font-size var(--ui-rail-motion), letter-spacing var(--ui-rail-motion);
}

.ui-brand-text strong::before {
  content: "SPİL";
  color: #2f5bea;
}

.ui-brand-text strong::after {
  content: "NET";
  color: #d71920;
}

.ui-brand-text small {
  display: none;
}

.ui-nav {
  flex: 1;
  min-height: 0;
  overflow-y: auto;
  overflow-x: hidden;
  padding: 0.55rem 0.4rem 1rem;
}

.ui-nav-sprite { position: absolute; width: 0; height: 0; overflow: hidden; }

.ui-acc { margin: 0 0 0.08rem; flex: 0 0 auto; }

.ui-acc > summary {
  list-style: none;
  display: flex;
  align-items: center;
  gap: 0.7rem;
  min-height: 2.6rem;
  height: auto;
  padding: 0.34rem 0.55rem;
  border-radius: 6px;
  cursor: pointer;
  color: var(--ui-sidebar-text);
  font-size: var(--ui-nav-label);
  font-weight: 600;
  background: transparent;
  box-shadow: none;
  transition: color var(--ui-ease);
}

.ui-acc > summary::-webkit-details-marker { display: none; }

.ui-acc > summary:hover {
  background: transparent;
  color: var(--ui-text);
}

a.ui-nav-leaf {
  display: flex;
  align-items: center;
  gap: 0.7rem;
  min-height: 2.6rem;
  height: auto;
  padding: 0.34rem 0.55rem;
  border-radius: 6px;
  color: var(--ui-sidebar-text);
  font-size: var(--ui-nav-label);
  font-weight: 600;
  text-decoration: none;
  background: transparent;
  box-shadow: none;
  flex: 0 0 auto;
}

a.ui-nav-leaf:hover,
a.ui-nav-leaf.is-open {
  color: var(--ui-text);
  background: transparent;
  text-decoration: none;
}

.ui-acc.is-open > summary {
  background: transparent;
  color: var(--ui-text);
  box-shadow: none;
}

.ui-nav-ico,
.ui-nav-chev {
  width: 1.32rem;
  height: 1.32rem;
  flex: 0 0 auto;
  display: block;
  overflow: hidden;
}

.ui-nav-ico {
  color: var(--ui-brand-blue);
}

.ui-acc--home .ui-nav-ico { color: var(--ui-ico-home); }
.ui-acc--sales .ui-nav-ico { color: var(--ui-ico-sales); }
.ui-acc--purchase .ui-nav-ico { color: var(--ui-ico-buy); }
.ui-acc--products .ui-nav-ico { color: var(--ui-ico-products); }
.ui-acc--stock .ui-nav-ico { color: var(--ui-ico-stock); }
.ui-acc--finance .ui-nav-ico { color: var(--ui-ico-finance); }
.ui-acc--invoice .ui-nav-ico { color: var(--ui-ico-invoice); }
.ui-acc--hr .ui-nav-ico { color: var(--ui-ico-hr); }
.ui-acc--org .ui-nav-ico { color: var(--ui-ico-org); }
.ui-acc--devices .ui-nav-ico { color: var(--ui-ico-device); }
.ui-acc--reports .ui-nav-ico { color: var(--ui-ico-report); }
.ui-acc--archive .ui-nav-ico { color: var(--ui-ico-archive); }
.ui-acc--staff .ui-nav-ico { color: var(--ui-ico-hr); }

.ui-nest {
  margin: 0.04rem 0 0.04rem 1.85rem;
}

.ui-nest > summary {
  list-style: none;
  cursor: pointer;
  padding: 0.36rem 0.55rem;
  border-radius: 6px;
  color: var(--ui-muted);
  font-size: var(--ui-nav-sub);
  font-weight: 500;
}

.ui-nest > summary::-webkit-details-marker { display: none; }

.ui-nest.is-open > summary,
.ui-nest[open] > summary {
  color: var(--ui-text);
  font-weight: 650;
}

.ui-nest-sub {
  display: flex;
  flex-direction: column;
}

.ui-nest-sub a {
  margin-left: 0.75rem;
}

.ui-nav-chev { width: 0.8rem; opacity: 0.45; margin-left: auto; color: var(--ui-muted); transition: transform 150ms ease; }
.ui-acc[open] > summary .ui-nav-chev { transform: rotate(90deg); }

.ui-nav-label {
  flex: 1 1 auto;
  min-width: 0;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.ui-sub {
  display: none;
  flex-direction: column;
  padding: 0.1rem 0 0.35rem;
}

.ui-acc[open] .ui-sub { display: flex; }

.ui-sub a {
  display: block;
  margin: 0.04rem 0 0.04rem 1.85rem;
  padding: 0.36rem 0.55rem;
  border-radius: 6px;
  color: var(--ui-muted);
  font-size: var(--ui-nav-sub);
  font-weight: 500;
  text-decoration: none;
  white-space: nowrap;
  overflow: hidden;
  background: transparent;
  box-shadow: none;
  transition: color var(--ui-ease);
}

.ui-sub a:hover {
  color: var(--ui-text);
  background: transparent;
  text-decoration: none;
}

.ui-sub a.is-active {
  color: var(--ui-accent);
  background: transparent;
  font-weight: 650;
  box-shadow: none;
}

.ui-sub a.is-off { opacity: 0.5; }

.ui-side-foot { display: none; }

.ui-collapse { display: none; }

.ui-shell:not(.is-nav-pinned) .ui-nav-label,
.ui-shell:not(.is-nav-pinned) .ui-nav-chev,
.ui-shell:not(.is-nav-pinned) .ui-sub {
  display: none;
}

.ui-shell:not(.is-nav-pinned) .ui-brand {
  justify-content: center;
  padding: 0.12rem 0.08rem;
}

.ui-shell:not(.is-nav-pinned) .ui-brand-mark {
  display: flex;
}

.ui-shell:not(.is-nav-pinned) .ui-brand-text {
  display: none;
}

@media (min-width: 1025px) {
  .ui-shell:not(.is-nav-pinned) .ui-sidebar:hover .ui-brand,
  .ui-shell:not(.is-nav-pinned) .ui-sidebar:focus-within .ui-brand {
    justify-content: center;
    padding: 0.1rem 0.4rem;
  }

  .ui-shell:not(.is-nav-pinned) .ui-sidebar:hover .ui-brand-mark,
  .ui-shell:not(.is-nav-pinned) .ui-sidebar:focus-within .ui-brand-mark {
    display: none;
  }

  .ui-shell:not(.is-nav-pinned) .ui-sidebar:hover .ui-brand-text,
  .ui-shell:not(.is-nav-pinned) .ui-sidebar:focus-within .ui-brand-text {
    display: flex;
  }

  .ui-shell:not(.is-nav-pinned) .ui-sidebar:hover .ui-brand-text strong,
  .ui-shell:not(.is-nav-pinned) .ui-sidebar:focus-within .ui-brand-text strong {
    flex-direction: row;
    align-items: center;
  }

  .ui-shell:not(.is-nav-pinned) .ui-sidebar:hover .ui-brand-text strong::before,
  .ui-shell:not(.is-nav-pinned) .ui-sidebar:focus-within .ui-brand-text strong::before,
  .ui-shell:not(.is-nav-pinned) .ui-sidebar:hover .ui-brand-text strong::after,
  .ui-shell:not(.is-nav-pinned) .ui-sidebar:focus-within .ui-brand-text strong::after {
    font-size: 2.15rem;
    letter-spacing: 0.01em;
  }

  .ui-shell:not(.is-nav-pinned) .ui-sidebar:hover .ui-nav-label,
  .ui-shell:not(.is-nav-pinned) .ui-sidebar:focus-within .ui-nav-label,
  .ui-shell:not(.is-nav-pinned) .ui-sidebar:hover .ui-nav-chev,
  .ui-shell:not(.is-nav-pinned) .ui-sidebar:focus-within .ui-nav-chev {
    display: block;
  }

  .ui-shell:not(.is-nav-pinned) .ui-acc[open] .ui-sub {
    display: none;
  }

  .ui-shell:not(.is-nav-pinned) .ui-sidebar:hover .ui-acc[open] .ui-sub,
  .ui-shell:not(.is-nav-pinned) .ui-sidebar:focus-within .ui-acc[open] .ui-sub {
    display: flex;
  }

  .ui-shell:not(.is-nav-pinned) .ui-sidebar:hover .ui-nest,
  .ui-shell:not(.is-nav-pinned) .ui-sidebar:focus-within .ui-nest {
    display: block;
  }

  .ui-shell:not(.is-nav-pinned) .ui-acc > summary,
  .ui-shell:not(.is-nav-pinned) a.ui-nav-leaf {
    justify-content: center;
    padding-inline: 0.45rem;
  }

  .ui-shell:not(.is-nav-pinned) .ui-sidebar:hover .ui-acc > summary,
  .ui-shell:not(.is-nav-pinned) .ui-sidebar:focus-within .ui-acc > summary,
  .ui-shell:not(.is-nav-pinned) .ui-sidebar:hover a.ui-nav-leaf,
  .ui-shell:not(.is-nav-pinned) .ui-sidebar:focus-within a.ui-nav-leaf {
    justify-content: flex-start;
    padding-inline: 0.55rem;
  }
}

.ui-shell.is-nav-pinned .ui-brand-mark { display: none; }
.ui-shell.is-nav-pinned .ui-brand-text { display: flex; }
.ui-shell.is-nav-pinned .ui-nav-label { display: block; }
.ui-shell.is-nav-pinned .ui-nav-chev { display: block; }
.ui-shell.is-nav-pinned .ui-acc[open] .ui-sub { display: flex; }

.ui-topbar {
  grid-column: 2;
  grid-row: 1;
  z-index: 50;
  display: grid;
  grid-template-columns: minmax(0, auto) minmax(160px, 1fr) max-content;
  align-items: center;
  gap: 0.85rem 1.1rem;
  padding: 0 1.15rem;
  background: #f3f6f9;
  border-bottom: 1px solid #e4ebf2;
  min-width: 0;
  overflow: visible;
}

.ui-crumb {
  display: flex;
  align-items: center;
  gap: 0.7rem;
  min-width: 0;
  font-size: 1.08rem;
  font-weight: 500;
  color: var(--ui-muted);
}

.ui-crumb strong {
  color: var(--ui-text);
  font-size: 1.2rem;
  font-weight: 650;
  letter-spacing: -0.01em;
}

.ui-search {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  width: 100%;
  max-width: 28rem;
  height: 2.4rem;
  padding: 0 0.8rem;
  border: 1px solid #dce5ee;
  border-radius: 8px;
  background: #fff;
  justify-self: start;
  transition: border-color var(--ui-ease), box-shadow var(--ui-ease);
}

.ui-search:focus-within {
  background: #fff;
  border-color: var(--ui-accent);
  box-shadow: 0 0 0 3px rgba(47, 91, 234, 0.1);
}

.ui-search-ico {
  width: 1.05rem;
  height: 1.05rem;
  color: var(--ui-muted);
  flex: 0 0 auto;
}

.ui-search input {
  width: 100%;
  border: 0;
  background: transparent;
  font: inherit;
  font-size: 0.82rem;
  outline: none;
  color: var(--ui-text);
}

.ui-search input::placeholder { color: #8a97a8; }

.ui-top-end {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 0.95rem;
  flex: 0 0 auto;
  min-width: 0;
  overflow: visible;
  padding-right: 0.15rem;
}

.ui-identity {
  --ui-branch-motion: 260ms cubic-bezier(0.22, 0.61, 0.36, 1);
  position: relative;
  display: flex;
  align-items: center;
  flex: 0 0 auto;
  min-width: 0;
  overflow: visible;
}

.ui-org {
  display: flex;
  align-items: center;
  gap: 0;
  min-width: 0;
  max-width: 22rem;
  min-height: 2.35rem;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
}

.ui-org:hover,
.ui-org:focus-within {
  border-color: transparent;
  box-shadow: none;
}

.ui-org-meta {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  min-width: 0;
  line-height: 1.2;
}

.ui-org-co {
  font-size: 0.75rem;
  font-weight: 650;
  letter-spacing: -0.01em;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: 18rem;
  text-align: right;
}

.ui-org-sep { display: none; }

.ui-identity .branch-selector { margin: 0; min-width: 0; }
.ui-identity .branch-selector-label { display: none; }
.ui-identity .branch-selector-control {
  border: 0;
  background: transparent;
  font: inherit;
  font-size: 0.74rem;
  font-weight: 600;
  color: var(--ui-text);
  max-width: 15.75rem;
  padding: 0.2rem 0.35rem;
  border-radius: 6px;
  cursor: pointer;
}

.ui-top-end:has(.ui-branch-switcher) > a.ui-iconbtn[aria-label="Yardım"] {
  display: none;
}

.ui-branch-trigger,
.ui-branch-menu { display: none; }

.ui-identity.is-enhanced .ui-branch-trigger {
  display: inline-flex;
  align-items: center;
  gap: 0.85rem;
  flex: 0 0 auto;
  min-width: 0;
  min-height: 2.7rem;
  padding: 0.15rem 0.1rem 0.15rem 0.2rem;
  border: 0;
  background: transparent;
  color: var(--ui-text);
  font: inherit;
  cursor: pointer;
}

.ui-identity.is-enhanced .ui-branch-trigger:hover,
.ui-identity.is-enhanced .ui-branch-trigger:focus-visible {
  background: transparent;
  outline: none;
}

.ui-identity-text {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 0.12rem;
  flex: 0 0 auto;
  width: max-content;
  max-width: 28rem;
  line-height: 1.3;
}

.ui-identity-title {
  max-width: none;
  overflow: visible;
  white-space: nowrap;
  font-size: 1.08rem;
  font-weight: 650;
  letter-spacing: 0.01em;
  text-align: right;
  color: var(--ui-text);
}

.ui-identity-sub {
  max-width: none;
  overflow: visible;
  white-space: nowrap;
  font-size: 0.9rem;
  font-weight: 500;
  text-align: right;
  color: var(--ui-muted);
}

.ui-branch-chevron {
  flex: 0 0 auto;
  color: #8a97a8;
  transition: transform var(--ui-branch-motion);
}

.ui-identity.is-open .ui-branch-chevron { transform: rotate(180deg); }

.ui-identity.is-enhanced .branch-selector {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.ui-branch-scrim {
  position: fixed;
  inset: 0;
  z-index: 85;
  background: rgba(16, 24, 40, 0.16);
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity var(--ui-branch-motion), visibility 0s linear 260ms;
}

.ui-identity.is-open .ui-branch-scrim {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transition: opacity var(--ui-branch-motion), visibility 0s;
}

.ui-identity.is-enhanced .ui-branch-menu {
  display: flex;
  flex-direction: column;
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: auto;
  z-index: 90;
  box-sizing: border-box;
  width: min(25rem, 92vw);
  max-width: 25rem;
  max-height: none;
  height: 100%;
  padding: 0;
  background: #fff;
  border: 0;
  border-left: 1px solid var(--ui-line);
  border-radius: 0;
  box-shadow: var(--ui-shadow);
  opacity: 1;
  visibility: hidden;
  pointer-events: none;
  transform: translateX(100%);
  transition: transform var(--ui-branch-motion), visibility 0s linear 260ms;
}

.ui-identity.is-enhanced.is-open .ui-branch-menu {
  visibility: visible;
  pointer-events: auto;
  transform: none;
  transition: transform var(--ui-branch-motion), visibility 0s;
}

.ui-branch-list {
  overflow-x: hidden;
  overflow-y: auto;
  padding: 0.35rem;
  min-height: 0;
  flex: 1 1 auto;
}

.ui-branch-empty {
  margin: 0.5rem 0.75rem;
  font-size: 0.82rem;
  line-height: 1.5;
  color: var(--ui-muted);
}

.ui-branch-option {
  display: flex;
  align-items: center;
  width: 100%;
  min-height: 2.7rem;
  padding: 0.5rem 0.75rem;
  border: 0;
  border-radius: 8px;
  background: transparent;
  color: var(--ui-text);
  font: inherit;
  font-size: 0.82rem;
  font-weight: 500;
  text-align: left;
  cursor: pointer;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  transition: background-color var(--ui-branch-motion), color var(--ui-branch-motion);
}

.ui-branch-option:hover,
.ui-branch-option.is-active {
  background: #f3f6f9;
}

.ui-branch-option.is-on {
  background: var(--ui-accent-soft);
  color: var(--ui-accent);
  font-weight: 650;
}

.ui-branch-option.is-on:hover,
.ui-branch-option.is-on.is-active {
  background: #dceaf4;
}

.ui-iconbtn {
  width: 2.15rem;
  height: 2.15rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 0;
  border-radius: 8px;
  background: transparent;
  color: var(--ui-muted);
  text-decoration: none;
  cursor: pointer;
  transition: background-color var(--ui-ease), color var(--ui-ease);
}

.ui-iconbtn:hover { color: var(--ui-accent); background: #e8eef4; text-decoration: none; }

.ui-notify { position: relative; flex: 0 0 auto; }
.ui-notify > summary { list-style: none; }
.ui-notify > summary::-webkit-details-marker { display: none; }

.ui-notify-btn {
  display: inline-grid;
  place-items: center;
  width: 2.55rem;
  height: 2.55rem;
  padding: 0;
  border: 1px solid #dce5ee;
  border-radius: 50%;
  background: #fff;
  color: #5c6770;
  cursor: pointer;
  flex: 0 0 auto;
  appearance: none;
  -webkit-appearance: none;
  transition: background-color var(--ui-branch-motion, 200ms ease), color var(--ui-ease), border-color var(--ui-ease);
}

.ui-notify-btn:hover,
.ui-notify[open] .ui-notify-btn {
  background: #f3f6f9;
  color: var(--ui-accent);
  border-color: #cfd9e4;
}

.ui-notify-btn:focus-visible {
  outline: 2px solid var(--ui-accent);
  outline-offset: 2px;
}

.ui-notify-btn { position: relative; }

.ui-notify-badge {
  position: absolute;
  top: 2px;
  right: 2px;
  min-width: 16px;
  height: 16px;
  padding: 0 4px;
  border-radius: 999px;
  background: #e11d48;
  color: #fff;
  font-size: 10px;
  font-weight: 700;
  line-height: 16px;
  text-align: center;
}

.ui-notify-list {
  display: grid;
  gap: 8px;
  margin: 0 0 10px;
  max-height: 280px;
  overflow: auto;
}

.ui-notify-item {
  display: block;
  padding: 8px 10px;
  border-radius: 10px;
  background: #f8fafc;
  text-decoration: none;
  color: inherit;
}

.ui-notify-item strong {
  display: block;
  font-size: 13px;
  margin-bottom: 2px;
}

.ui-notify-item span {
  display: block;
  font-size: 12px;
  color: #64748b;
}

.ui-notify-empty {
  margin: 0;
  color: #64748b;
  font-size: 13px;
}

.ui-notify-panel {
  position: absolute;
  right: 0;
  top: calc(100% + 0.45rem);
  z-index: 70;
  width: 16.5rem;
  padding: 0.45rem;
  background: #fff;
  border: 1px solid var(--ui-line);
  border-radius: 12px;
  box-shadow: var(--ui-shadow);
}

.ui-notify[open] .ui-notify-panel {
  animation: ui-rise 180ms ease;
}

.ui-notify-title {
  margin: 0 0 0.35rem;
  padding: 0.25rem 0.45rem;
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--ui-muted);
}

.ui-notify-panel a {
  display: block;
  padding: 0.5rem 0.55rem;
  border-radius: 8px;
  font-size: 0.8rem;
  font-weight: 600;
  color: var(--ui-text);
  text-decoration: none;
}

.ui-notify-panel a:hover { background: #f3f7fb; color: var(--ui-accent); }

.ui-avatar {
  width: 2.55rem;
  height: 2.55rem;
  border-radius: 50%;
  border: 1px solid #dce5ee;
  background: #f3f6f9;
  color: #5c6770;
  display: grid;
  place-items: center;
  font-size: 0.74rem;
  font-weight: 600;
  flex: 0 0 auto;
}

.ui-identity-logout {
  margin: 0;
  border-top: 1px solid var(--ui-line);
  background: #f3f6f9;
}

.ui-logout {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  min-height: 2.7rem;
  padding: 0.55rem 0.95rem;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: var(--ui-text);
  font: inherit;
  font-size: 0.82rem;
  font-weight: 600;
  cursor: pointer;
}

.ui-logout:hover,
.ui-logout:focus-visible {
  background: #e8eef4;
  outline: none;
}

.ui-logout svg { color: var(--ui-muted); }

/* Masaüstü şube paneli chrome — mobilde gizli (portal-mobile dokunulmaz) */
.ui-branch-desk-chrome { display: none; }
.ui-branch-ico { display: none; }
.ui-branch-name { display: inline; min-width: 0; }

@media (min-width: 1025px) {
  .ui-branch-desk-chrome {
    display: flex;
    flex-direction: column;
    gap: 0.65rem;
    flex: 0 0 auto;
    padding: 0.85rem 0.95rem 0.55rem;
    border-bottom: 1px solid #e8edf2;
    background: #fff;
  }

  .ui-branch-close {
    align-self: flex-end;
    display: inline-grid;
    place-items: center;
    width: 2rem;
    height: 2rem;
    margin: 0;
    padding: 0;
    border: 0;
    border-radius: 6px;
    background: transparent;
    color: #6b7785;
    cursor: pointer;
  }

  .ui-branch-close:hover,
  .ui-branch-close:focus-visible {
    background: #f1f4f7;
    color: #1f2933;
    outline: none;
  }

  .ui-branch-tools {
    display: flex;
    align-items: center;
    gap: 0.45rem;
  }

  .ui-branch-search {
    flex: 1 1 auto;
    display: flex;
    align-items: center;
    gap: 0.45rem;
    min-width: 0;
    min-height: 2.35rem;
    padding: 0 0.7rem;
    border: 1px solid #cfd8e3;
    border-radius: 4px;
    background: #fff;
    color: #7a8794;
  }

  .ui-branch-search input {
    flex: 1 1 auto;
    min-width: 0;
    width: 100%;
    border: 0;
    padding: 0;
    margin: 0;
    background: transparent;
    font: inherit;
    font-size: 0.88rem;
    color: #1f2933;
    outline: none;
  }

  .ui-branch-tool {
    flex: 0 0 auto;
    display: inline-grid;
    place-items: center;
    width: 2.35rem;
    height: 2.35rem;
    padding: 0;
    border: 1px solid #cfd8e3;
    border-radius: 4px;
    background: #fff;
    color: #5c6770;
    cursor: pointer;
  }

  .ui-branch-tool:hover,
  .ui-branch-tool:focus-visible {
    background: #f5f7fa;
    color: #1f2933;
    outline: none;
  }

  .ui-branch-tool[aria-hidden="true"] {
    pointer-events: none;
  }

  .ui-identity.is-enhanced .ui-branch-menu {
    width: min(26rem, 92vw);
    max-width: 26rem;
  }

  .ui-branch-list {
    counter-reset: ui-br;
    padding: 0;
  }

  .ui-branch-option {
    gap: 0.55rem;
    min-height: 3.15rem;
    padding: 0.75rem 1rem;
    border-radius: 0;
    border-bottom: 1px solid #e9eef3;
    font-size: 0.9rem;
    font-weight: 600;
    letter-spacing: 0.01em;
    text-transform: uppercase;
    color: #1a1f25;
    background: #fff;
  }

  .ui-branch-option::before {
    counter-increment: ui-br;
    content: counter(ui-br) ".";
    flex: 0 0 auto;
    min-width: 1.35rem;
    color: #6b7785;
    font-weight: 600;
    font-variant-numeric: tabular-nums;
  }

  .ui-branch-option:hover,
  .ui-branch-option.is-active {
    background: #f7f9fb;
  }

  .ui-branch-option.is-on {
    background: #f0f6fb;
    color: #1a1f25;
    font-weight: 700;
    box-shadow: inset 3px 0 0 var(--ui-accent, #168af4);
  }

  .ui-branch-option.is-on:hover,
  .ui-branch-option.is-on.is-active {
    background: #eaf3fa;
  }

  .ui-branch-ico {
    display: inline-grid;
    place-items: center;
    flex: 0 0 auto;
    color: #9aa6b2;
  }

  .ui-branch-name {
    flex: 1 1 auto;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  .ui-identity-logout {
    background: #e5e9ee;
    border-top: 0;
  }

  .ui-logout {
    min-height: 3rem;
    padding: 0.7rem 1rem;
    font-size: 0.92rem;
    font-weight: 600;
    color: #1a1f25;
  }

  .ui-logout:hover,
  .ui-logout:focus-visible {
    background: #d8dee6;
  }

  .ui-logout svg { color: #4b5563; }
}

.ui-main {
  grid-column: 2;
  grid-row: 2;
  overflow: auto;
  padding: 1.25rem 1.5rem 5.5rem;
}

.ui-nav-toggle {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.35rem;
  width: 2.85rem;
  height: 2.85rem;
  border: 0;
  background: transparent;
  border-radius: 10px;
  padding: 0;
  color: var(--ui-text);
  cursor: pointer;
  flex: 0 0 auto;
  transition: background-color 120ms ease;
}

.ui-nav-toggle:hover { background: #e8eef4; }

.ui-nav-toggle-text { display: none; }

.ui-search-toggle { display: none; }

/* Buttons */
.ui-btn,
.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.4rem;
  min-height: 2.5rem;
  padding: 0.4rem 0.95rem;
  border-radius: 10px;
  border: 1px solid transparent;
  font-family: var(--ui-font);
  font-size: 0.8rem;
  font-weight: 600;
  letter-spacing: -0.01em;
  text-decoration: none;
  cursor: pointer;
  background: #fff;
  color: var(--ui-text);
  transition: background-color var(--ui-ease), border-color var(--ui-ease), color var(--ui-ease), transform 160ms ease;
}

.ui-btn:hover, .btn:hover { text-decoration: none; }
.ui-btn:active, .btn:active { transform: translateY(1px); }

.ui-btn-primary,
.btn-primary {
  background: var(--ui-accent);
  border-color: var(--ui-accent);
  color: #fff;
}

.ui-btn-primary:hover,
.btn-primary:hover {
  background: var(--ui-accent-2);
  border-color: var(--ui-accent-2);
  color: #fff;
}

.ui-btn-ghost,
.btn-outline,
.btn-link {
  background: #fff;
  border-color: var(--ui-line);
  color: var(--ui-text);
}

.btn-link { border: 0; background: transparent; min-height: auto; padding: 0.2rem; font-weight: 600; }

/* Forms */
.form-control,
.ui-input,
.ui-select,
select.form-control,
input.form-control {
  width: 100%;
  min-height: 2.625rem;
  border: 1px solid var(--ui-line);
  border-radius: 10px;
  padding: 0.4rem 0.75rem;
  font: inherit;
  font-size: 0.86rem;
  background: #fff;
  color: var(--ui-text);
  transition: border-color var(--ui-ease), box-shadow var(--ui-ease), background-color var(--ui-ease);
}

.form-control:hover,
.ui-input:hover,
.ui-select:hover,
select.form-control:hover,
input.form-control:hover {
  border-color: #d3dce6;
}

.form-control:focus,
.ui-input:focus,
.ui-select:focus,
select.form-control:focus,
input.form-control:focus {
  outline: none;
  border-color: var(--ui-focus);
  box-shadow: 0 0 0 3px rgba(47, 91, 234, 0.12);
}

.ui-filters,
.filters {
  display: flex;
  flex-wrap: wrap;
  gap: 0.65rem 0.85rem;
  align-items: end;
  margin: 0 0 1rem;
}

.ui-filters label,
.filters label {
  display: grid;
  gap: 0.28rem;
  font-size: 0.72rem;
  font-weight: 600;
  color: var(--ui-muted);
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.ui-form,
.portal-form {
  display: grid;
  gap: 1.15rem;
}

.ui-shell a:hover { text-decoration: none; }

.ui-fieldset {
  padding: 1.05rem 1.15rem 1.2rem;
  background: var(--ui-surface);
  border: 1px solid var(--ui-line-soft);
  border-radius: var(--ui-radius-card);
  box-shadow: var(--ui-shadow);
}

.ui-fieldset .btn { margin-top: 0.85rem; }

.ui-form-actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 0.45rem;
  margin-top: 0.85rem;
}

.ui-fieldset .ui-form-actions { margin-top: 0.85rem; }
.ui-fieldset .ui-form-actions .btn { margin-top: 0; }

.ui-fieldset h2 {
  margin: 0 0 0.85rem;
  font-size: 0.78rem;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--ui-muted);
}

.ops-panel-head {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 0.75rem;
  padding: 0.85rem 1rem 0;
}

.form-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem 1.1rem;
}

.form-grid label,
.ui-form label,
.portal-form > label {
  display: grid;
  gap: 0.4rem;
  font-size: 0.78rem;
  font-weight: 650;
  color: var(--ui-muted);
}

/* Page */
.ui-page-head,
.portal-page-header {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 0.85rem;
  align-items: flex-start;
  margin-bottom: 1.15rem;
}

.ui-page-head h1,
.portal-page-header h1 {
  margin: 0;
  font-family: var(--ui-font);
  font-size: 1.2rem;
  font-weight: 600;
  letter-spacing: -0.02em;
}

.portal-page-header .muted {
  margin: 0.2rem 0 0;
  font-size: 0.82rem;
  font-weight: 400;
}

.muted, .ui-muted { color: var(--ui-muted); }

.ui-actions, .portal-actions { display: flex; flex-wrap: wrap; gap: 0.45rem; }

/* Surface / table */
.ui-panel,
.portal-panel {
  background: var(--ui-surface);
  border: 1px solid var(--ui-line-soft);
  border-radius: var(--ui-radius-card);
  box-shadow: var(--ui-shadow);
}

.ui-panel { padding: 0; overflow: hidden; }

.ui-table,
.ops-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.84rem;
}

.ui-table th,
.ops-table th {
  text-align: left;
  font-size: 0.66rem;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: var(--ui-muted);
  font-weight: 600;
  padding: 0.5rem 0.8rem;
  border-bottom: 1px solid var(--ui-line);
  background: #f8fafc;
  position: sticky;
  top: 0;
  z-index: 1;
}

.ui-table td,
.ops-table td {
  padding: 0.55rem 0.8rem;
  border-bottom: 1px solid var(--ui-line-soft);
  vertical-align: middle;
}

.ui-table tbody tr:hover td,
.ops-table tbody tr:hover td { background: #f6f8fb; }

.ui-table .num, .ops-table .num { text-align: right; font-variant-numeric: tabular-nums; font-weight: 650; }

.table-wrap {
  overflow-x: auto;
  border-radius: var(--ui-radius-sm);
}

.ui-table-foot {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 0.75rem;
  flex-wrap: wrap;
  padding: 0.55rem 0.95rem 0.75rem;
  font-size: 0.78rem;
  color: var(--ui-muted);
}

.ops-link { color: var(--ui-accent); font-weight: 650; }
.ops-empty { color: var(--ui-muted); }

.ui-detail-head h1 {
  margin: 0.15rem 0 0.2rem;
  font-family: var(--ui-font);
  font-size: 1.2rem;
  font-weight: 600;
  letter-spacing: -0.02em;
}

.ui-badge,
.badge-danger {
  display: inline-flex;
  align-items: center;
  min-height: 1.35rem;
  padding: 0 0.45rem;
  border-radius: 6px;
  font-size: 0.7rem;
  font-weight: 700;
  letter-spacing: 0.02em;
}

.ui-badge-ok { background: #e3f6ea; color: var(--ui-ok); }
.ui-badge-warn { background: #fff1d6; color: var(--ui-warn); }
.ui-badge-off { background: #eef1f5; color: var(--ui-muted); }
.ui-badge-alert, .badge-danger { background: #fde4e2; color: var(--ui-danger); }

.ui-empty {
  padding: 1.6rem 1.15rem;
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
}

.ui-empty::before {
  content: "";
  width: 2.4rem;
  height: 2.4rem;
  margin-bottom: 0.7rem;
  border-radius: 10px;
  background-color: var(--ui-accent);
  opacity: 0.85;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='22 12 16 12 14 15 10 15 8 12 2 12'/%3E%3Cpath d='M5.45 5.11 2 12v6a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-6l-3.45-6.89A2 2 0 0 0 16.76 4H7.24a2 2 0 0 0-1.79 1.11z'/%3E%3C/svg%3E") center / 1.15rem no-repeat;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='22 12 16 12 14 15 10 15 8 12 2 12'/%3E%3Cpath d='M5.45 5.11 2 12v6a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-6l-3.45-6.89A2 2 0 0 0 16.76 4H7.24a2 2 0 0 0-1.79 1.11z'/%3E%3C/svg%3E") center / 1.15rem no-repeat;
}

.ui-empty h2 { margin: 0 0 0.25rem; font-size: 0.95rem; font-weight: 600; }
.ui-empty p { margin: 0 0 0.85rem; color: var(--ui-muted); max-width: 28rem; font-size: 0.84rem; font-weight: 400; }

.ui-loading {
  padding: 0.9rem 1.05rem;
  color: var(--ui-muted);
  font-size: 0.84rem;
}

.ui-row-menu {
  position: relative;
}

.ui-row-menu summary {
  list-style: none;
  width: 1.85rem;
  height: 1.85rem;
  display: grid;
  place-items: center;
  border: 1px solid var(--ui-line);
  border-radius: 8px;
  background: #fff;
  cursor: pointer;
  color: var(--ui-muted);
}

.ui-row-menu summary::-webkit-details-marker { display: none; }

.ui-row-menu[open] summary { border-color: #c5d0dc; color: var(--ui-text); }

.ui-row-menu-list {
  position: absolute;
  right: 0;
  top: calc(100% + 0.2rem);
  z-index: 8;
  min-width: 9.5rem;
  padding: 0.25rem;
  background: #fff;
  border: 1px solid var(--ui-line);
  border-radius: 10px;
  box-shadow: var(--ui-shadow);
}

.ui-row-menu[open] .ui-row-menu-list {
  animation: ui-rise 180ms ease;
}

.ui-row-menu-list a,
.ui-row-menu-list button {
  display: block;
  width: 100%;
  text-align: left;
  border: 0;
  background: transparent;
  padding: 0.4rem 0.55rem;
  font: inherit;
  font-size: 0.8rem;
  color: var(--ui-text);
  cursor: pointer;
}

.ui-row-menu-list a:hover,
.ui-row-menu-list button:hover { background: #f6f8fb; }

.form-error { color: var(--ui-danger); font-weight: 650; }
.form-success { color: var(--ui-ok); font-weight: 650; }

.pager { display: flex; gap: 0.35rem; flex-wrap: wrap; padding: 0.75rem; }
.pager a {
  min-width: 2rem;
  height: 2rem;
  display: grid;
  place-items: center;
  border: 1px solid var(--ui-line);
  border-radius: 10px;
  font-size: 0.78rem;
  font-weight: 650;
  color: var(--ui-text);
}

.ui-tabs, .portal-subnav {
  display: flex;
  gap: 0.15rem;
  margin: 0 0 1rem;
  border-bottom: 1px solid var(--ui-line);
}

.ui-tabs a, .portal-subnav a {
  padding: 0.55rem 0.8rem;
  font-size: 0.82rem;
  font-weight: 650;
  color: var(--ui-muted);
  text-decoration: none;
  border-bottom: 2px solid transparent;
  margin-bottom: -1px;
}

.ui-tabs a.is-active, .portal-subnav a.is-active {
  color: var(--ui-text);
  border-bottom-color: var(--ui-accent);
}

.ui-kpi-row, .kpi-row, .ops-kpi {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0.75rem;
  margin-bottom: 1.1rem;
}

.ui-kpi, .kpi-card, .ops-kpi-item {
  background: var(--ui-surface);
  border: 1px solid var(--ui-line-soft);
  border-radius: var(--ui-radius-card);
  box-shadow: var(--ui-shadow);
  padding: 0.9rem 1rem 1rem;
}

.ui-kpi-label, .ops-kpi-label, .kpi-card .muted {
  font-size: 0.7rem;
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--ui-muted);
}

.ui-kpi-value, .ops-kpi-value, .kpi-card .value {
  margin-top: 0.2rem;
  font-family: var(--ui-font);
  font-size: 1.2rem;
  font-weight: 600;
  letter-spacing: -0.02em;
  font-variant-numeric: tabular-nums;
}

.ui-kpi-value.is-alert, .ops-kpi-value.is-alert { color: var(--ui-danger); }

/* Dashboard */
.dash-hello {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  gap: 1rem;
  margin-bottom: 1rem;
}

.dash-hello h1 {
  margin: 0;
  font-family: var(--ui-font);
  font-size: 1.45rem;
  font-weight: 600;
  letter-spacing: -0.035em;
}

.dash-hello p { margin: 0.22rem 0 0; color: var(--ui-muted); font-weight: 500; font-size: 0.84rem; }

.dash-hello-date {
  text-align: right;
  flex: 0 0 auto;
}

.dash-hello-date strong {
  display: block;
  font-size: 0.92rem;
  font-weight: 650;
}

.dash-hello-date span {
  display: block;
  margin-top: 0.12rem;
  font-size: 0.78rem;
  color: var(--ui-muted);
  font-weight: 500;
  text-transform: capitalize;
}

.dash-kpi-row {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0.9rem;
  margin-bottom: 1rem;
  min-width: 0;
}

.dash-kpi {
  --kpi-tone: var(--ui-accent);
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  gap: 0.45rem;
  overflow: hidden;
  min-width: 0;
  background: #fff;
  border: 1px solid var(--ui-line);
  border-radius: 20px;
  box-shadow: var(--ui-shadow);
  padding: 1.3rem 1.4rem 1.2rem;
  min-height: 9.25rem;
  color: var(--ui-text);
  transition: transform 200ms ease, box-shadow 200ms ease;
}

.dash-kpi:hover {
  transform: translateY(-2px);
  box-shadow: var(--ui-shadow);
}

.dash-kpi--sales {
  --kpi-tone: var(--ui-brand-blue);
  background: var(--ui-brand-blue);
  border-color: transparent;
  color: #fff;
}

.dash-kpi--in { --kpi-tone: var(--kpi-in); }
.dash-kpi--out { --kpi-tone: var(--kpi-out); }
.dash-kpi--income { --kpi-tone: var(--kpi-income); }
.dash-kpi--cost { --kpi-tone: var(--kpi-cost); }

.dash-kpi-ico {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.15rem;
  height: 1.15rem;
  flex: 0 0 auto;
  border-radius: 0;
  background: none;
  color: var(--kpi-tone);
}

.dash-kpi--sales .dash-kpi-ico { color: #f4c542; }
.dash-kpi--income .dash-kpi-ico { color: #c9a227; }
.dash-kpi--in .dash-kpi-ico { color: var(--ui-ok); }
.dash-kpi--out .dash-kpi-ico { color: var(--ui-accent); }

.dash-kpi-ico svg { width: 1.15rem; height: 1.15rem; display: block; }

.dash-kpi span {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  font-size: 0.95rem;
  font-weight: 600;
  letter-spacing: -0.02em;
  text-transform: none;
  color: var(--ui-muted);
}

.dash-kpi--sales span { color: rgba(255, 255, 255, 0.86); }

.dash-kpi strong {
  display: block;
  margin-top: 0.35rem;
  font-size: 1.85rem;
  font-weight: 600;
  letter-spacing: -0.04em;
  line-height: 1.05;
  font-variant-numeric: tabular-nums;
  color: var(--ui-text);
}

.dash-kpi--sales strong {
  font-size: 2.55rem;
  line-height: 0.95;
  color: #fff;
}

.dash-kpi small {
  display: block;
  margin-top: 0.35rem;
  font-size: 0.8rem;
  line-height: 1.35;
  color: var(--ui-muted);
  font-weight: 500;
  text-transform: none;
  letter-spacing: 0;
}

.dash-kpi--sales small { color: rgba(255, 255, 255, 0.72); }

.dash-quick-wrap { margin-bottom: 0.9rem; }

.dash-quick-wrap > h2,
.dash-block-head h2,
.dash-block > h2,
.dash-block h2 {
  margin: 0 0 0.65rem;
  font-size: 0.78rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.dash-quick-wrap > h2,
.dash-block-head h2,
.dash-block > h2 {
  color: var(--ui-brand-blue);
}

.dash-quick {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0.55rem;
  min-width: 0;
}

.dash-quick a {
  display: flex;
  align-items: center;
  gap: 0.55rem;
  min-width: 0;
  min-height: 3.1rem;
  padding: 0.55rem 0.85rem;
  background: #fff;
  border: 1px solid var(--ui-line);
  border-radius: 16px;
  box-shadow: var(--ui-shadow);
  color: var(--ui-text);
  text-decoration: none;
  font-size: 0.88rem;
  font-weight: 600;
  transition: border-color 200ms ease, color 200ms ease, transform 200ms ease;
}

.dash-quick a:hover { border-color: #c9d5e1; color: var(--ui-accent); background: #fff; text-decoration: none; transform: translateY(-2px); }

.dash-quick svg {
  width: 1.25rem;
  height: 1.25rem;
  padding: 0;
  box-sizing: border-box;
  border-radius: 0;
  background: none;
  color: var(--ui-accent);
  flex: 0 0 auto;
}

.dash-spark-labels {
  display: flex;
  justify-content: space-between;
  gap: 0.35rem;
  margin-top: 0.4rem;
  font-size: 0.68rem;
  color: var(--ui-muted);
  font-weight: 600;
}

.dash-spark-labels span { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }

.dash-stat-list {
  margin: 0;
  padding: 0;
  list-style: none;
}

.dash-stat-list li {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 1rem;
  padding: 0.55rem 0;
  border-bottom: 1px solid var(--ui-line-soft);
  font-size: 0.84rem;
}

.dash-stat-list li:last-child { border-bottom: 0; }

.dash-stat-list span { color: var(--ui-muted); }
.dash-stat-list strong { font-variant-numeric: tabular-nums; font-weight: 650; }
.dash-stat-list strong.is-alert { color: var(--ui-danger); }

.dash-note { margin: 0.85rem 0 0; font-size: 0.78rem; }
.ui-table tr.is-current td { background: #f3f7fb; }

.dash-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.85fr) minmax(0, 1fr);
  gap: 0.85rem;
  margin-bottom: 0.85rem;
}

.dash-block {
  background: #fff;
  border: 1px solid var(--ui-line);
  border-radius: 20px;
  box-shadow: var(--ui-shadow);
  padding: 1.25rem 1.35rem 1.3rem;
}

.dash-block-head {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 0.75rem;
  margin-bottom: 0.65rem;
}

.dash-block-head h2 { margin: 0; }

.dash-range {
  display: flex;
  gap: 0.15rem;
  padding: 0.15rem;
  background: #f3f6f9;
  border-radius: 10px;
}

.dash-range a {
  padding: 0.28rem 0.62rem;
  border-radius: 8px;
  font-size: 0.72rem;
  font-weight: 650;
  color: var(--ui-muted);
  text-decoration: none;
  transition: background-color 120ms ease, color 120ms ease;
}

.dash-range a:hover { color: var(--ui-text); text-decoration: none; }

.dash-range a.is-on {
  background: #fff;
  color: var(--ui-accent);
  box-shadow: var(--ui-shadow);
}

.dash-block .ui-empty { padding: 1.1rem 0.5rem; }
.dash-block .ui-empty h2 { font-size: 0.92rem; font-weight: 600; }
.dash-block .ui-empty p { margin-bottom: 0.65rem; font-size: 0.82rem; }

.dash-spark { width: 100%; height: 128px; display: block; }
.dash-spark-line { fill: none; stroke: var(--ui-accent); stroke-width: 2.2; }
.dash-spark-fill { fill: rgba(47, 91, 234, 0.08); stroke: none; }
.dash-spark-axis { fill: var(--ui-muted); font-size: 10px; font-family: var(--ui-font); }

.dash-chart__sum {
  display: flex;
  flex-wrap: wrap;
  gap: 0.35rem 1.15rem;
  margin: 0.85rem 0 0.7rem;
  font-size: 0.78rem;
  color: var(--ui-muted);
}

.dash-chart__sum strong {
  color: var(--ui-text);
  font-weight: 650;
  font-variant-numeric: tabular-nums;
}

.dash-chart {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 0.65rem;
  min-height: 15.5rem;
}

.dash-chart__axis {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  padding-bottom: 1.55rem;
  font-size: 0.68rem;
  font-weight: 600;
  color: var(--ui-muted);
  text-align: right;
  font-variant-numeric: tabular-nums;
}

.dash-chart__plot {
  position: relative;
  display: grid;
  grid-template-rows: minmax(11rem, 1fr) auto;
  min-width: 0;
}

.dash-chart__grid {
  position: absolute;
  inset: 0 0 1.55rem;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  pointer-events: none;
}

.dash-chart__grid i {
  display: block;
  height: 1px;
  background: var(--ui-line-soft);
}

.dash-chart__bars {
  position: relative;
  display: grid;
  grid-auto-flow: column;
  grid-auto-columns: minmax(0, 1fr);
  align-items: end;
  gap: 0.45rem;
  min-height: 11rem;
}

.dash-chart__col {
  display: flex;
  align-items: flex-end;
  justify-content: center;
  height: 100%;
}

.dash-chart__col i {
  display: block;
  width: min(34px, 72%);
  min-height: 3px;
  border-radius: 6px 6px 2px 2px;
  background: var(--ui-brand-blue);
}

.dash-chart__col.is-today i { background: var(--ui-accent); }
.dash-chart__col.is-peak i { background: var(--ui-accent); }
.dash-chart__col.is-zero i {
  width: min(34px, 72%);
  height: 3px !important;
  background: var(--ui-line);
}

.dash-chart__labs {
  display: grid;
  grid-auto-flow: column;
  grid-auto-columns: minmax(0, 1fr);
  gap: 0.45rem;
  margin-top: 0.45rem;
  font-size: 0.72rem;
  font-weight: 650;
  color: var(--ui-muted);
  text-align: center;
}

.dash-chart__labs span {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.dash-chart__labs span.is-today,
.dash-chart__labs span.is-peak { color: var(--ui-accent); }

.dash-chart--dense .dash-chart__bars,
.dash-chart--dense .dash-chart__labs { gap: 0.18rem; }
.dash-chart--dense .dash-chart__col i,
.dash-chart--dense .dash-chart__col.is-zero i { width: 70%; max-width: 16px; }
.dash-chart--dense .dash-chart__labs { font-size: 0.62rem; }

.dash-alert-list { margin: 0; padding: 0; list-style: none; display: grid; gap: 0.4rem; }
.dash-alert-list li {
  padding: 0.55rem 0.7rem;
  border-radius: 8px;
  border-left: 3px solid var(--ui-accent);
  background: #f6f8fb;
  font-size: 0.82rem;
}

.dash-alert-list li.is-warn { border-left-color: var(--ui-warn); }
.dash-alert-list li.is-alert { border-left-color: var(--ui-danger); }
.dash-alert-ok { color: var(--ui-ok); font-size: 0.84rem; margin: 0; text-align: center; padding: 1rem 0.5rem; }

.ui-detail-head {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 1rem;
  padding: 1.1rem 1.15rem;
  background: var(--ui-surface);
  border: 1px solid var(--ui-line-soft);
  border-radius: var(--ui-radius-card);
  margin-bottom: 1rem;
}

.ui-detail-kpis {
  display: flex;
  flex-wrap: wrap;
  gap: 1.25rem;
}

.ui-detail-kpis span { display: grid; gap: 0.15rem; font-size: 0.72rem; color: var(--ui-muted); font-weight: 700; text-transform: uppercase; letter-spacing: 0.05em; }
.ui-detail-kpis strong { font-size: 1.05rem; color: var(--ui-text); font-weight: 750; text-transform: none; letter-spacing: 0; }

.portal-feature {
  max-width: 40rem;
  padding: 1.5rem 1.35rem;
  background: var(--ui-surface);
  border: 1px solid var(--ui-line-soft);
  border-radius: var(--ui-radius-card);
}

.portal-feature-kicker {
  margin: 0 0 0.35rem;
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--ui-muted);
}

.portal-feature h1 { margin: 0 0 0.5rem; font-family: var(--ui-font); font-size: 1.2rem; font-weight: 600; }
.portal-feature-lead { margin: 0 0 0.5rem; font-size: 0.95rem; font-weight: 500; }
.portal-feature-detail, .portal-feature-contact { color: var(--ui-muted); }

.ui-dock {
  display: none;
}

.portal-list { list-style: none; margin: 0; padding: 0; }
.portal-list li {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  padding: 0.8rem 1rem;
  border-bottom: 1px solid var(--ui-line-soft);
}

@media (max-width: 1366px) {
  .dash-kpi strong { font-size: 1.55rem; }
  .dash-kpi--sales strong { font-size: 2.2rem; }
}

@media (max-width: 1100px) {
  .ui-kpi-row, .kpi-row, .ops-kpi, .dash-grid, .dash-quick { grid-template-columns: 1fr 1fr; }
  .dash-kpi-row { grid-template-columns: 1fr 1fr; }
  .ui-topbar { grid-template-columns: minmax(0, auto) minmax(140px, 1fr) max-content; }
}

.ui-nav-scrim {
  display: none;
}

@media (max-width: 1024px) {
  .ui-shell,
  .ui-shell.is-nav-pinned {
    grid-template-columns: 1fr;
    grid-template-rows: var(--ui-topbar-h) minmax(0, 1fr);
  }

  .ui-sidebar { display: none; }
  .ui-shell.nav-open .ui-sidebar {
    display: flex;
    position: fixed;
    inset: 0 auto 0 0;
    width: min(284px, 88vw);
    z-index: 60;
    border-right: 1px solid var(--ui-line);
  }

  .ui-shell.nav-open .ui-brand-mark { display: none; }
  .ui-shell.nav-open .ui-brand-text { display: flex; }
  .ui-shell.nav-open .ui-brand-text strong {
    display: flex;
    flex-direction: row;
    align-items: center;
  }
  .ui-shell.nav-open .ui-brand-text strong::before,
  .ui-shell.nav-open .ui-brand-text strong::after {
    font-size: 2.15rem;
    letter-spacing: 0.01em;
  }
  .ui-shell.nav-open .ui-nav-label,
  .ui-shell.nav-open .ui-nav-chev { display: block; }
  .ui-shell.nav-open .ui-acc[open] .ui-sub { display: flex; }
  .ui-shell.nav-open .ui-acc > summary,
  .ui-shell.nav-open a.ui-nav-leaf {
    justify-content: flex-start;
    padding-inline: 0.55rem;
  }

  .ui-shell.nav-open .ui-nav-scrim {
    display: block;
    position: fixed;
    inset: 0;
    z-index: 55;
    background: rgba(11, 21, 34, 0.4);
    border: 0;
    padding: 0;
    cursor: pointer;
  }

  .ui-topbar, .ui-main { grid-column: 1; }
  .ui-nav-toggle { display: inline-flex; }
  .form-grid { grid-template-columns: 1fr; }
  .ui-main { padding-bottom: 5.75rem; }
  .dash-today-grid, .dash-kpi-row { grid-template-columns: 1fr 1fr; }
  .dash-spark-labels { font-size: 0.62rem; }
  .ui-dock {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    position: fixed;
    left: 0; right: 0; bottom: 0;
    z-index: 50;
    background: #fff;
    border-top: 1px solid var(--ui-line);
    padding: 0.25rem 0.2rem calc(0.3rem + env(safe-area-inset-bottom));
  }
  .ui-dock a {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    min-height: 3rem;
    font-size: 0.65rem;
    font-weight: 600;
    color: var(--ui-text);
    text-decoration: none;
  }
}

@media (max-width: 720px) {
  .ui-search { display: none; }
  .ui-topbar { grid-template-columns: auto max-content; }
  .ui-crumb span, .ui-crumb strong { display: none; }
  .ui-identity-sub { display: none; }
  .dash-kpi-row, .dash-quick { grid-template-columns: 1fr 1fr; }
  .dash-hello { align-items: flex-start; }
  .dash-block-head { flex-wrap: wrap; }
}

@media (max-width: 480px) {
  .dash-kpi-row, .dash-quick { grid-template-columns: 1fr; }
}

@media (prefers-reduced-motion: reduce) {
  * { animation: none !important; transition: none !important; }
  .dash-kpi:hover,
  .dash-quick a:hover,
  .ops-quick a:hover { transform: none; }
}

/* ===== Ops screens - flat ERP density. Dashboard (.dash) untouched. ===== */
.ops {
  --ops-ink: #16202e;
  --ops-lead: #5b6879;
  --ops-blue: #2f5bea;
  --ops-green: #16883e;
  --ops-amber: #b06a00;
  --ops-rose: #d23a2c;
  --ops-line: var(--ui-line);
}

.ops-crumb {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.35rem;
  margin: 0 0 0.7rem;
  font-size: 0.8rem;
  font-weight: 600;
  color: var(--ops-lead);
}

.ops-crumb a { color: var(--ops-blue); text-decoration: none; }
.ops-crumb a:hover { text-decoration: underline; }
.ops-crumb strong { color: var(--ops-ink); font-weight: 700; }

.ops-head {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: flex-end;
  gap: 0.75rem 1.25rem;
  margin: 0 0 1.35rem;
}

.ops-head h1 {
  margin: 0;
  font-size: 1.5rem;
  font-weight: 600;
  letter-spacing: -0.02em;
  color: var(--ops-ink);
}

.ops-head p {
  margin: 0.28rem 0 0;
  font-size: 0.88rem;
  font-weight: 500;
  color: var(--ops-lead);
}

.ops-head p a,
.ops-note a {
  color: var(--ops-blue);
  font-weight: 650;
  text-decoration: none;
}

.ops-head p a:hover,
.ops-note a:hover { text-decoration: underline; }

.ops-note {
  margin: 0 0 1rem;
  font-size: 0.86rem;
  font-weight: 600;
  color: var(--ops-lead);
}

.ops-note strong { color: var(--ops-ink); font-weight: 750; }
.ops-note.is-warn { color: var(--ops-amber); }
.ops-note.is-warn strong { color: var(--ops-amber); }

.ops-btn,
.ops .ui-btn,
.ops .btn,
.ops a.ops-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.35rem;
  min-height: 2.4rem;
  padding: 0.4rem 0.95rem;
  border-radius: 8px;
  font-size: 0.84rem;
  font-weight: 650;
  text-decoration: none;
  border: 1px solid transparent;
  cursor: pointer;
  box-shadow: none;
  transition: background-color 180ms ease, border-color 180ms ease, color 180ms ease, transform 160ms ease;
}

.ops-btn:active,
.ops .ui-btn:active,
.ops .btn:active,
.ops a.ops-btn:active {
  transform: translateY(1px);
}

.ops-btn-primary,
.ops .ui-btn-primary,
.ops .btn-primary {
  background: var(--ops-blue);
  border-color: var(--ops-blue);
  color: #fff;
}

.ops-btn-primary:hover,
.ops .ui-btn-primary:hover,
.ops .btn-primary:hover {
  background: #2449c9;
  border-color: #2449c9;
  color: #fff;
}

.ops-btn-primary svg,
.ops .ui-btn-primary svg { flex: 0 0 auto; }

.ops-btn-ghost,
.ops .ui-btn-ghost,
.ops .btn-outline {
  background: transparent;
  color: var(--ops-ink);
  border-color: var(--ops-line);
}

.ops-btn-ghost:hover,
.ops .ui-btn-ghost:hover {
  background: #fff;
  border-color: #c5d0db;
}

.ops-btn-danger {
  background: transparent;
  border-color: var(--ops-line);
  color: var(--ops-rose);
}

.ops-kpis {
  display: flex;
  flex-wrap: wrap;
  gap: 0.35rem 1.5rem;
  margin: 0 0 1rem;
  padding: 0 0 0.85rem;
  border-bottom: 1px solid var(--ops-line);
}

.ops-kpi {
  min-height: 0;
  padding: 0;
  border-radius: 0;
  color: var(--ops-ink);
  background: none !important;
  box-shadow: none;
}

.ops-kpi span {
  display: inline;
  margin-right: 0.35rem;
  font-size: 0.8rem;
  font-weight: 600;
  letter-spacing: 0;
  text-transform: none;
  color: var(--ops-lead);
}

.ops-kpi strong {
  display: inline;
  margin: 0;
  font-size: 0.86rem;
  font-weight: 750;
  letter-spacing: 0;
  font-variant-numeric: tabular-nums;
}

.ops-toolbar {
  display: flex;
  flex-wrap: wrap;
  gap: 0.7rem 0.85rem;
  align-items: flex-end;
  margin: 0 0 1.15rem;
  padding: 0.9rem 1rem;
  background: #fff;
  border-radius: var(--ui-radius-card);
  box-shadow: var(--ui-shadow);
  border: 1px solid var(--ui-line);
}

.ops-toolbar label {
  display: grid;
  gap: 0.32rem;
  margin: 0;
  font-size: 0.78rem;
  font-weight: 650;
  letter-spacing: 0;
  text-transform: none;
  color: var(--ops-ink);
}

.ops-toolbar .form-control {
  min-width: 10rem;
  min-height: 2.4rem;
  border-radius: 8px;
}

.ops-toolbar .ops-search {
  flex: 1 1 16rem;
  min-width: 12rem;
}

.ops-toolbar .ops-search .form-control { min-width: 100%; }

.ops .parasut-callback {
  display: block;
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
  margin: 0.35rem 0 0;
  padding: 0.55rem 0.75rem;
  border: 1px solid var(--ui-line);
  border-radius: 10px;
  background: #fff;
  color: var(--ui-text);
  font-size: 0.86rem;
  line-height: 1.45;
  overflow-wrap: anywhere;
  word-break: break-all;
  user-select: text;
}

.ops-panel {
  background: none;
  border: 0;
  box-shadow: none;
  border-radius: 0;
}

.ops-panel + .ops-panel { margin-top: 1.75rem; }

.ops .ui-panel {
  background: none;
  border: 0;
  box-shadow: none;
  border-radius: 0;
}

.ops .table-wrap {
  background: #fff;
  border-radius: var(--ui-radius-card);
  border: 1px solid var(--ui-line);
  box-shadow: var(--ui-shadow);
  overflow: hidden;
}

.ops .ui-table th {
  color: var(--ops-lead);
  font-size: 0.78rem;
  font-weight: 600;
  letter-spacing: 0;
  text-transform: none;
  background: #f8fafc;
  border-bottom: 1px solid var(--ops-line);
  padding: 0.75rem 1rem;
}

.ops .ui-table td {
  color: var(--ops-ink);
  font-size: 0.875rem;
  font-weight: 500;
  border-bottom: 1px solid var(--ui-line-soft);
  padding: 0.8rem 1rem;
}

.ops .ui-table tbody tr:hover td { background: #f7f9fb; }

.ops .ui-table-foot {
  padding: 0.7rem 0.15rem 0;
  color: var(--ops-lead);
  font-weight: 550;
}

.ops .ui-badge,
.ops .badge-danger {
  display: inline-flex;
  align-items: center;
  background: #f3f6f9;
  padding: 0 0.5rem;
  min-height: 1.45rem;
  border-radius: 999px;
  font-size: 0.72rem;
  font-weight: 650;
  letter-spacing: 0.01em;
  color: var(--ops-lead);
}

.ops .ui-badge-ok { background: #e3f6ea; color: var(--ops-green); }
.ops .ui-badge-warn { background: #fff1d6; color: var(--ops-amber); }
.ops .ui-badge-alert,
.ops .badge-danger { background: #fde4e2; color: var(--ops-rose); }
.ops .ui-badge-off { background: #eef1f5; color: var(--ops-lead); }
.ops .ui-badge-info { background: #ebf0ff; color: var(--ops-blue); }

.ops .ui-empty {
  align-items: center;
  text-align: center;
  padding: 2.1rem 1.25rem;
  background: #fff;
  border: 1px solid var(--ui-line);
  border-radius: var(--ui-radius-card);
  box-shadow: var(--ui-shadow);
}

.ops .ui-empty::before { display: none; }

.ops .ui-empty h2 {
  font-size: 1rem;
  font-weight: 700;
  color: var(--ops-ink);
}

.ops .ui-empty p {
  color: var(--ops-lead);
  font-size: 0.88rem;
  font-weight: 500;
}

.ops-field { display: grid; gap: 0.4rem; }

.ops-field > span,
.ops .ui-form label,
.ops .form-grid label,
.ops .ui-fieldset label {
  color: var(--ops-ink);
  font-size: 0.8rem;
  font-weight: 650;
  letter-spacing: 0;
  text-transform: none;
}

.ops-field small {
  font-size: 0.78rem;
  font-weight: 500;
  color: var(--ops-lead);
  text-transform: none;
  letter-spacing: 0;
}

.ops .ui-fieldset {
  margin: 0 0 1.25rem;
  padding: 0 0 1.15rem;
  border: 0;
  border-bottom: 1px solid var(--ops-line);
  background: transparent;
  box-shadow: none;
}

.ops .ui-fieldset h2 {
  margin: 0 0 0.85rem;
  font-size: 0.92rem;
  font-weight: 750;
  letter-spacing: 0;
  text-transform: none;
  color: var(--ops-ink);
}

.ops-quick {
  display: flex;
  flex-wrap: wrap;
  gap: 0.35rem 1.35rem;
  margin: 0 0 1.15rem;
  padding: 0 0 0.95rem;
  border-bottom: 1px solid var(--ops-line);
}

.ops-quick a {
  display: inline-flex;
  align-items: baseline;
  gap: 0.35rem;
  min-height: 0;
  padding: 0;
  background: none;
  border-radius: 0;
  box-shadow: none;
  text-decoration: none;
  color: var(--ops-blue);
  font-weight: 650;
}

.ops-quick a:hover { transform: none; box-shadow: none; text-decoration: underline; }

.ops-quick-ico,
.ops-quick-go { display: none; }

.ops-quick b { font-size: 0.88rem; font-weight: 650; }
.ops-quick small { display: none; }

.ops-split {
  display: grid;
  grid-template-columns: minmax(200px, 0.7fr) minmax(0, 2fr);
  gap: 1.5rem 1.75rem;
  align-items: start;
}

.ops-tree {
  background: none;
  border-radius: 0;
  padding: 0 1.25rem 0 0;
  box-shadow: none;
  border-right: 1px solid var(--ops-line);
}

.ops-tree h2 {
  margin: 0 0 0.55rem;
  padding: 0;
  font-size: 0.92rem;
  font-weight: 750;
  letter-spacing: 0;
  text-transform: none;
  color: var(--ops-ink);
}

.ops-tree-manage {
  display: inline-block;
  margin: 0 0 0.7rem;
  padding: 0;
  font-size: 0.8rem;
  font-weight: 650;
  color: var(--ops-blue);
}

.ops-tree a:not(.ops-tree-manage),
.ops-tree button.ops-tree-item {
  display: block;
  width: 100%;
  text-align: left;
  padding: 0.38rem 0;
  border: 0;
  background: transparent;
  border-radius: 0;
  color: var(--ops-ink);
  font: inherit;
  font-size: 0.86rem;
  font-weight: 550;
  text-decoration: none;
  cursor: pointer;
}

.ops-tree a.is-on,
.ops-tree button.ops-tree-item.is-on {
  background: none;
  color: var(--ops-blue);
  font-weight: 750;
}

.ops-tree .is-child { padding-left: 0.9rem; color: var(--ops-lead); }

.ops-drawer {
  position: fixed;
  inset: 0;
  z-index: 80;
  visibility: hidden;
  pointer-events: none;
}

.ops-drawer.is-open {
  visibility: visible;
  pointer-events: auto;
}

.ops-drawer-scrim {
  position: absolute;
  inset: 0;
  border: 0;
  background: rgba(15, 28, 42, 0.4);
  cursor: pointer;
  opacity: 0;
  transition: opacity 200ms ease;
}

.ops-drawer.is-open .ops-drawer-scrim { opacity: 1; }

.ops-drawer-panel {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  width: min(800px, 100vw);
  display: flex;
  flex-direction: column;
  background: #fff;
  box-shadow: -8px 0 24px rgba(16, 24, 40, 0.12);
  transform: translateX(100%);
  transition: transform 200ms ease;
}

.ops-drawer.is-open .ops-drawer-panel { transform: none; }

.ops-drawer-head {
  padding: 1.25rem 1.5rem 1rem;
  border-bottom: 1px solid var(--ops-line);
}

.ops-drawer-head h2 {
  margin: 0;
  font-size: 1.2rem;
  font-weight: 750;
  color: var(--ops-ink);
}

.ops-drawer-head p {
  margin: 0.28rem 0 0;
  font-size: 0.88rem;
  font-weight: 500;
  color: var(--ops-lead);
}

.ops-drawer-body {
  flex: 1;
  overflow: auto;
  padding: 1.25rem 1.5rem 1.5rem;
}

.ops-tree form { margin-top: 0.75rem; display: grid; gap: 0.45rem; }

.ops-drawer-panel > form {
  display: flex;
  flex-direction: column;
  min-height: 0;
  flex: 1;
}

.ops-drawer-foot {
  display: flex;
  justify-content: flex-end;
  gap: 0.5rem;
  padding: 0.9rem 1.5rem;
  border-top: 1px solid var(--ops-line);
  background: #fff;
}

.ops-drawer-foot .ops-btn-danger { margin-right: auto; }

.ops-form-card {
  margin: 0 0 1rem;
  padding: 1.15rem 1.2rem 1.2rem;
  background: #fff;
  border-radius: var(--ui-radius-card);
  box-shadow: var(--ui-shadow);
  border: 1px solid var(--ui-line);
}

.ops-form-card:last-child { margin-bottom: 0; }

/* Entegrasyonlar hub kart listesi */
.int-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
  gap: 1rem;
}

.int-card { display: flex; flex-direction: column; }

.int-card__head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 0.75rem;
  margin-bottom: 0.55rem;
}

.int-card__head h2 { margin: 0.15rem 0 0; }

.int-card > p {
  margin: 0 0 1rem;
  flex: 1;
  color: var(--ops-muted, #5b6472);
  font-size: 0.88rem;
  line-height: 1.5;
}

.int-card .ops-btn { align-self: flex-start; }

.int-lead {
  margin: 0 0 1rem;
  color: var(--ops-muted, #5b6472);
  font-size: 0.88rem;
  line-height: 1.5;
}

.ops-form-card h2 {
  margin: 0 0 0.9rem;
  font-size: 0.92rem;
  font-weight: 650;
  letter-spacing: -0.01em;
  text-transform: none;
  color: var(--ops-ink);
}

.ops-drawer-body .ops-form-card {
  margin: 0 0 1.1rem;
  padding: 0 0 1.1rem;
  background: none;
  border: 0;
  border-bottom: 1px solid var(--ops-line);
  border-radius: 0;
  box-shadow: none;
}

.ops-drawer-body .ops-form-card:last-child {
  margin-bottom: 0;
  padding-bottom: 0;
  border-bottom: 0;
}

.ops .form-success { color: var(--ops-green); font-weight: 650; }
.ops .form-error { color: var(--ops-rose); font-weight: 650; }

.ops-stock {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 0.45rem;
}

.ops-qty {
  font-weight: 700;
  font-variant-numeric: tabular-nums;
  color: var(--ops-ink);
}

.ops-row-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.35rem;
  align-items: center;
}

.ops-row-actions form { margin: 0; }

.ops-tabs {
  display: flex;
  flex-wrap: wrap;
  gap: 0;
  margin: 0 0 1.25rem;
  border-bottom: 1px solid var(--ops-line);
}

.ops-tabs a {
  display: inline-flex;
  align-items: center;
  min-height: 2.35rem;
  padding: 0.25rem 0.15rem;
  margin-right: 1.15rem;
  border-radius: 0;
  text-decoration: none;
  font-size: 0.86rem;
  font-weight: 650;
  color: var(--ops-lead);
  background: none;
  box-shadow: none;
  border-bottom: 2px solid transparent;
}

.ops-tabs a.is-on,
.ops-tabs a.is-active {
  background: none;
  color: var(--ops-blue);
  border-bottom-color: var(--ops-blue);
}

.ops-detail {
  background: none;
  border-radius: 0;
  padding: 0;
  box-shadow: none;
}

.co-file {
  background: #fff;
  border: 1px solid var(--ui-line);
  border-radius: 20px;
  box-shadow: var(--ui-shadow);
  padding: 1.75rem 2rem 1.5rem;
}

.co-file__head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem;
}

.co-file__meta {
  margin: 0 0 0.35rem;
  font-size: 0.86rem;
  font-weight: 600;
  color: var(--ops-lead);
}

.co-file h1 {
  margin: 0;
  font-size: 1.7rem;
  font-weight: 600;
  letter-spacing: -0.03em;
  line-height: 1.15;
  color: var(--ops-ink);
}

.co-file h2 {
  margin: 0 0 0.85rem;
  font-size: 0.95rem;
  font-weight: 650;
  letter-spacing: 0;
  text-transform: none;
  color: var(--ops-ink);
}

.co-file__unvan {
  margin-top: 1.35rem;
  padding-top: 1.25rem;
  border-top: 1px solid var(--ui-line);
}

.co-file__unvan p {
  margin: 0;
  max-width: 46rem;
  font-size: 1.05rem;
  font-weight: 650;
  line-height: 1.55;
  color: var(--ops-ink);
}

.co-file__split {
  display: grid;
  grid-template-columns: 1fr 1fr;
  margin-top: 1.35rem;
  border-top: 1px solid var(--ui-line);
}

.co-file__split > section {
  padding-top: 1.25rem;
}

.co-file__split > section + section {
  padding-left: 1.75rem;
  border-left: 1px solid var(--ui-line-soft);
}

.co-file dl {
  display: grid;
  gap: 1rem;
  margin: 0;
}

.co-file dt {
  margin: 0;
  font-size: 0.78rem;
  font-weight: 650;
  color: var(--ops-lead);
}

.co-file dd {
  margin: 0.22rem 0 0;
  font-size: 1.02rem;
  font-weight: 650;
  line-height: 1.4;
  color: var(--ops-ink);
  overflow-wrap: anywhere;
}

.co-file a {
  color: var(--ui-accent);
  text-decoration: none;
}

.co-file a:hover { text-decoration: underline; }

.co-file__num { font-variant-numeric: tabular-nums; letter-spacing: 0.02em; }

.co-file__block {
  margin-top: 1.35rem;
  padding-top: 1.25rem;
  border-top: 1px solid var(--ui-line);
}

.co-file__address {
  grid-template-columns: 1.3fr 1.6fr 0.8fr;
}

.co-file__span2 { grid-column: span 2; }

@media (max-width: 800px) {
  .co-file { padding: 1.25rem 1.15rem 1.1rem; }
  .co-file h1 { font-size: 1.4rem; }
  .co-file__split,
  .co-file__address { grid-template-columns: 1fr; }
  .co-file__span2 { grid-column: auto; }
  .co-file__split > section + section {
    margin-top: 1.25rem;
    padding-left: 0;
    border-left: 0;
    border-top: 1px solid var(--ui-line-soft);
  }
}

.ops-detail h2 {
  margin: 0 0 0.3rem;
  font-size: 1.15rem;
  font-weight: 750;
  color: var(--ops-ink);
}

.ops-detail p { margin: 0 0 0.85rem; color: var(--ops-lead); font-weight: 500; }

.ops-dl {
  display: grid;
  grid-template-columns: 8.5rem 1fr;
  gap: 0.5rem 0.85rem;
  margin: 0;
}

.ops-dl dt {
  font-size: 0.8rem;
  font-weight: 650;
  letter-spacing: 0;
  text-transform: none;
  color: var(--ops-lead);
}

.ops-dl dd { margin: 0; font-weight: 650; color: var(--ops-ink); }

.ops-balance.is-debt { color: var(--ops-rose); font-weight: 750; }
.ops-balance.is-credit { color: var(--ops-green); font-weight: 750; }

.ops-section-title {
  margin: 0 0 0.65rem;
  font-size: 0.95rem;
  font-weight: 750;
  color: var(--ops-ink);
}

.ops-section-title a {
  font-weight: 650;
  color: var(--ops-blue);
  text-decoration: none;
}

.ops-section-title a:hover { text-decoration: underline; }

.ops-row-actions .ops-btn-primary {
  background: transparent;
  color: var(--ops-blue);
  border-color: var(--ops-line);
}

.ops-form-actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 0.55rem;
  margin-top: 1.15rem;
}

.ops-form-actions .ops-btn-primary {
  min-width: 11.5rem;
}

.xfer-doc .xfer-head { border-bottom: 1px solid var(--ops-line); }
.xfer-meta {
  display: grid;
  grid-template-columns: 1fr 1.2fr;
  gap: 1rem 1.5rem;
  align-items: end;
}
.xfer-source {
  display: inline-block;
  margin: 0.15rem 0.45rem 0 0;
  font-size: 1.05rem;
}
.xfer-note-label {
  display: block;
  margin: 0;
  font-size: 0.8rem;
  font-weight: 650;
  color: var(--ops-lead);
}
.xfer-note-label .form-control { margin-top: 0.35rem; }
.xfer-table select.form-control,
.xfer-table input.form-control {
  min-width: 0;
  width: 100%;
}
.xfer-table .xfer-qty { max-width: 7.5rem; margin-left: auto; }
.xfer-onhand {
  font-variant-numeric: tabular-nums;
  font-weight: 700;
  color: var(--ops-ink);
}
@media (max-width: 800px) {
  .xfer-meta { grid-template-columns: 1fr; }
}

.doc-sheet .doc-head {
  margin-bottom: 0.85rem;
}
.doc-meta {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(12rem, 1fr));
  gap: 0.85rem 1.25rem;
  align-items: end;
}
.doc-no {
  display: block;
  margin: 0.15rem 0 0.2rem;
  font-size: 1.15rem;
  font-variant-numeric: tabular-nums;
}
.ops-check-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(11rem, 1fr));
  gap: 0.45rem 0.85rem;
}
.ops-check {
  display: flex;
  align-items: center;
  gap: 0.4rem;
  font-size: 0.88rem;
  font-weight: 600;
}

.ops-muted {
  color: var(--ops-lead);
  font-size: 0.82rem;
  font-weight: 500;
}

.ops-prod-thumb {
  width: 40px;
  height: 40px;
  border-radius: 8px;
  object-fit: contain;
  display: block;
  background: var(--ops-panel-2, #1a2230);
  padding: 2px;
}
.ops-prod-thumb-empty { opacity: 0.35; }
.ops-cat-multi { margin-top: 0.75rem; border: 0; padding: 0; }
.ops-cat-multi legend {
  font-size: 0.78rem;
  font-weight: 600;
  margin-bottom: 0.4rem;
}
.ops-cat-checks {
  display: flex;
  flex-wrap: wrap;
  gap: 0.35rem 0.85rem;
}
.ops-img-block { display: grid; gap: 0.65rem; }
.ops-img-preview {
  width: 140px;
  height: 140px;
  object-fit: contain;
  border-radius: 10px;
  background: #fff;
  border: 1px solid rgba(0,0,0,0.10);
  padding: 4px;
}
.ops-img-grid {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  min-height: 1.5rem;
  font-size: 0.82rem;
  color: var(--ops-lead);
}
.ops-img-pick {
  border: 2px solid transparent;
  padding: 2px;
  border-radius: 8px;
  overflow: hidden;
  cursor: pointer;
  background: #fff;
  width: 76px;
  height: 76px;
  flex: none;
}
.ops-img-pick img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  display: block;
  border-radius: 6px;
}
.ops-img-pick.is-selected { border-color: var(--ops-accent, #3db8ff); }
.ops-cat-hide h2 { font-size: 1rem; margin: 0 0 0.35rem; }

.ops-check {
  display: flex !important;
  flex-direction: row;
  align-items: center;
  gap: 0.45rem;
  text-transform: none !important;
  letter-spacing: 0 !important;
  font-size: 0.86rem !important;
}

@media (max-width: 1100px) {
  .ops-split { grid-template-columns: 1fr; }
  .ops-tree { padding: 0 0 0.85rem; border-right: 0; border-bottom: 1px solid var(--ops-line); }
}

@media (max-width: 640px) {
  .ops-head { align-items: stretch; }
  .ops-head h1 { font-size: 1.25rem; }
  .ops-head .ops-btn,
  .ops-head a.ops-btn { width: 100%; }
  .ops-drawer-panel { width: 100vw; }
}

.ops-code {
  margin: 0 0 0.75rem;
  font-size: 1.45rem;
  letter-spacing: 0.14em;
  font-weight: 750;
}

/* Satış adisyon popup */
body.sale-modal-open { overflow: hidden; }

.sale-modal {
  position: fixed;
  inset: 0;
  z-index: 80;
  display: grid;
  place-items: center;
  padding: 1rem;
}
.sale-modal[hidden] { display: none !important; }
.sale-modal-scrim {
  position: absolute;
  inset: 0;
  border: 0;
  background: rgba(20, 16, 12, 0.45);
  cursor: pointer;
}
.sale-modal-panel {
  position: relative;
  z-index: 1;
  width: min(34rem, 100%);
  max-height: min(92vh, 52rem);
  display: flex;
  flex-direction: column;
  background: #fff;
  border: 1px solid var(--ops-line);
  border-radius: 0.65rem;
  box-shadow: 0 18px 48px rgba(20, 16, 12, 0.22);
}
.sale-modal-head,
.sale-modal-foot {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  padding: 0.85rem 1.1rem;
  border-bottom: 1px solid var(--ops-line);
}
.sale-modal-foot {
  border-bottom: 0;
  border-top: 1px solid var(--ops-line);
  justify-content: flex-end;
}
.sale-modal-head h2 {
  margin: 0;
  font-size: 1.05rem;
  font-weight: 750;
}
.sale-modal-body {
  overflow: auto;
  padding: 1rem 1.1rem 1.2rem;
  -webkit-overflow-scrolling: touch;
}

.sale-receipt-head {
  display: flex;
  justify-content: space-between;
  gap: 0.75rem;
  align-items: flex-start;
  margin-bottom: 0.85rem;
}
.sale-receipt-kicker {
  margin: 0;
  font-size: 0.75rem;
  font-weight: 650;
  color: var(--ops-lead);
  text-transform: uppercase;
  letter-spacing: 0.04em;
}
.sale-receipt-title {
  margin: 0.15rem 0 0.2rem;
  font-size: 1.2rem;
  font-weight: 750;
}
.sale-receipt-meta {
  margin: 0;
  font-size: 0.84rem;
  color: var(--ops-lead);
}
.sale-receipt-badges { display: flex; flex-wrap: wrap; gap: 0.35rem; }
.sale-receipt-info {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0.55rem 1rem;
  margin: 0 0 1rem;
}
.sale-receipt-info div { margin: 0; }
.sale-receipt-info dt {
  margin: 0;
  font-size: 0.72rem;
  font-weight: 650;
  color: var(--ops-lead);
}
.sale-receipt-info dd {
  margin: 0.1rem 0 0;
  font-weight: 650;
}
.sale-receipt-lines {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.88rem;
  margin-bottom: 0.85rem;
}
.sale-receipt-lines th,
.sale-receipt-lines td {
  padding: 0.45rem 0.3rem;
  border-bottom: 1px solid var(--ops-line);
  text-align: left;
  vertical-align: top;
}
.sale-receipt-lines .num { text-align: right; font-variant-numeric: tabular-nums; }
.sale-receipt-totals {
  display: grid;
  gap: 0.35rem;
  margin: 0 0 1rem;
  font-size: 0.9rem;
}
.sale-receipt-totals > div {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
}
.sale-receipt-totals .is-disc strong { color: var(--ops-rose); }
.sale-receipt-totals .is-grand {
  margin-top: 0.25rem;
  padding-top: 0.45rem;
  border-top: 1px solid var(--ops-line);
  font-size: 1.02rem;
}
.sale-receipt-pays h4 {
  margin: 0 0 0.45rem;
  font-size: 0.86rem;
  font-weight: 750;
}
.sale-receipt-pays ul {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 0.35rem;
}
.sale-receipt-pays li {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  padding: 0.45rem 0.55rem;
  background: #f7f4ef;
  border-radius: 0.4rem;
  font-variant-numeric: tabular-nums;
}
.sale-pay-label[data-method="card"] { color: #1d4ed8; font-weight: 700; }
.sale-pay-label[data-method="cash"] { color: #15803d; font-weight: 700; }
.sale-pay-label[data-method="halk"] { color: #a16207; font-weight: 700; }

@media print {
  body.sale-receipt-printing * { visibility: hidden !important; }
  body.sale-receipt-printing .sale-modal,
  body.sale-receipt-printing .sale-modal * { visibility: visible !important; }
  body.sale-receipt-printing .sale-modal {
    position: static;
    padding: 0;
    display: block;
  }
  body.sale-receipt-printing .sale-modal-scrim,
  body.sale-receipt-printing .no-print { display: none !important; }
  body.sale-receipt-printing .sale-modal-panel {
    width: 100%;
    max-height: none;
    border: 0;
    box-shadow: none;
    border-radius: 0;
  }
  body.sale-receipt-printing .sale-modal-body {
    overflow: visible;
    padding: 0;
  }
}

@media (max-width: 640px) {
  .sale-receipt-info { grid-template-columns: 1fr; }
  .sale-modal-panel { width: 100%; max-height: 96vh; }
}

/* ═══ Ürün Formu — Menulux stili yeniden tasarım ═══ */

/* Görsel blok: preview sol, kontroller sağ */
.ops-img-layout {
  display: grid;
  grid-template-columns: 148px 1fr;
  gap: 1rem;
  align-items: start;
}

.ops-img-preview-wrap {
  position: relative;
}

.ops-img-preview-wrap .ops-img-preview {
  width: 148px;
  height: 148px;
  object-fit: contain;
  border-radius: 12px;
  background: #fff;
  border: 1.5px solid rgba(0,0,0,0.10);
  padding: 6px;
  display: block;
}

.ops-img-clear-btn {
  position: absolute;
  top: 4px;
  right: 4px;
  width: 20px;
  height: 20px;
  border-radius: 50%;
  background: rgba(220,38,38,0.85);
  border: none;
  color: #fff;
  font-size: 0.7rem;
  line-height: 1;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0;
}

.ops-img-controls {
  display: flex;
  flex-direction: column;
  gap: 0.55rem;
}

.ops-img-controls label.ops-upload-label {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  padding: 0.4rem 0.75rem;
  border-radius: 7px;
  background: var(--ops-panel-2, #1a2230);
  border: 1px solid var(--ops-line, #2a3447);
  font-size: 0.78rem;
  font-weight: 500;
  cursor: pointer;
  color: var(--ops-text, #e8edf4);
  text-transform: none;
  letter-spacing: 0;
}

.ops-img-controls label.ops-upload-label input[type="file"] {
  display: none;
}

.ops-img-candidates-label {
  font-size: 0.68rem;
  font-weight: 600;
  color: var(--ops-lead, #7a8fa8);
  letter-spacing: 0.08em;
  text-transform: uppercase;
  margin-bottom: 0.2rem;
}

/* ── Tag / Chip kategori input ── */
.ops-tag-field {
  position: relative;
}

.ops-tag-box {
  display: flex;
  flex-wrap: wrap;
  gap: 0.35rem;
  align-items: center;
  min-height: 2.4rem;
  padding: 0.35rem 0.6rem;
  border-radius: 8px;
  border: 1px solid var(--ops-line, #2a3447);
  background: var(--ops-panel-2, #1a2230);
  cursor: text;
  transition: border-color 0.15s;
}

.ops-tag-box:focus-within {
  border-color: var(--ops-accent, #3db8ff);
  outline: 1px solid rgba(61,184,255,0.25);
}

.ops-tag-chip {
  display: inline-flex;
  align-items: center;
  gap: 0.3rem;
  padding: 0.18rem 0.55rem 0.18rem 0.6rem;
  border-radius: 999px;
  background: rgba(61,184,255,0.18);
  border: 1px solid rgba(61,184,255,0.35);
  font-size: 0.73rem;
  font-weight: 600;
  color: #7fd4ff;
  white-space: nowrap;
  line-height: 1.4;
}

.ops-tag-chip-remove {
  appearance: none;
  border: none;
  background: none;
  padding: 0;
  cursor: pointer;
  color: rgba(127,212,255,0.70);
  font-size: 0.8rem;
  line-height: 1;
  display: flex;
  align-items: center;
}

.ops-tag-chip-remove:hover { color: #f87171; }

.ops-tag-input {
  border: none;
  outline: none;
  background: transparent;
  font: inherit;
  font-size: 0.82rem;
  color: var(--ops-text, #e8edf4);
  min-width: 120px;
  flex: 1;
  padding: 0.1rem 0;
}

.ops-tag-input::placeholder { color: var(--ops-lead, #7a8fa8); }

.ops-tag-dropdown {
  position: absolute;
  top: calc(100% + 4px);
  left: 0;
  right: 0;
  z-index: 50;
  background: var(--ops-panel, #131d2b);
  border: 1px solid var(--ops-line, #2a3447);
  border-radius: 8px;
  max-height: 200px;
  overflow-y: auto;
  box-shadow: 0 8px 24px rgba(0,0,0,0.40);
  display: block;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transform: translateY(-6px);
  transition: opacity 180ms ease, transform 180ms ease, visibility 180ms ease;
}

.ops-tag-dropdown.is-open {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transform: none;
}

.ops-tag-option {
  padding: 0.55rem 0.8rem;
  font-size: 0.82rem;
  cursor: pointer;
  color: var(--ops-text, #e8edf4);
  transition: background 0.1s;
}

.ops-tag-option:hover,
.ops-tag-option.is-focused { background: rgba(61,184,255,0.10); }

.ops-tag-option.is-selected { color: #7fd4ff; font-weight: 600; }

.ops-tag-option-empty {
  padding: 0.55rem 0.8rem;
  font-size: 0.80rem;
  color: var(--ops-lead, #7a8fa8);
  font-style: italic;
}

/* Gizli checkbox kümesi */
.ops-cat-hidden { display: none; }

/* Form section başlıkları Menulux stili */
.ops-form-section-title {
  font-size: 0.65rem;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--ops-lead, #7a8fa8);
  margin: 0 0 0.7rem;
  padding-bottom: 0.4rem;
  border-bottom: 1px solid var(--ops-line, #2a3447);
}

.ops-img-stage {
  display: grid;
  grid-template-columns: 180px 1fr;
  gap: 1rem;
  align-items: start;
}
.ops-img-frame {
  position: relative;
  width: 180px;
  height: 180px;
  border: 1px solid var(--ops-line, #d8e0e8);
  border-radius: 16px;
  background: #f7f9fb;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
}
.ops-img-frame .ops-img-preview {
  width: 100%;
  height: 100%;
  object-fit: contain;
  background: #fff;
  padding: 8px;
}
.ops-img-placeholder {
  font-size: 0.72rem;
  font-weight: 650;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--ops-lead, #4a5568);
}
.ops-img-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  align-items: center;
}
.ops-img-actions .ops-btn,
.ops-img-actions .ops-upload-label {
  transition: background-color 140ms ease, border-color 140ms ease, color 140ms ease;
}
@media (max-width: 640px) {
  .ops-img-stage { grid-template-columns: 1fr; }
  .ops-img-frame { width: 100%; height: 160px; }
}

.ops-archive-layout {
  display: grid;
  grid-template-columns: minmax(0, 1.55fr) minmax(260px, 0.8fr);
  gap: 1.15rem;
  align-items: start;
  margin: 0 0 1.25rem;
}

.ops-archive-stage,
.ops-archive-files {
  background: var(--ui-surface);
  border: 1px solid var(--ui-line);
  border-radius: var(--ui-radius-card);
  box-shadow: var(--ui-shadow);
}

.ops-archive-stage { min-height: 28rem; overflow: hidden; }

.ops-archive-stage-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  padding: 0.8rem 1rem;
  border-bottom: 1px solid var(--ui-line-soft);
}

.ops-archive-stage-head strong {
  display: block;
  font-size: 0.92rem;
  font-weight: 600;
  color: var(--ops-ink);
}

.ops-archive-stage-head span {
  display: block;
  margin-top: 0.12rem;
  font-size: 0.8rem;
  font-weight: 500;
  color: var(--ops-lead);
}

.ops-archive-canvas {
  display: grid;
  place-items: center;
  min-height: 32rem;
  padding: 1rem;
  background: var(--ui-bg);
}

.ops-archive-canvas img {
  display: block;
  max-width: 100%;
  max-height: min(78vh, 52rem);
  height: auto;
  width: auto;
  object-fit: contain;
  background: #fff;
  border-radius: var(--ui-radius-sm);
  box-shadow: var(--ui-shadow);
}

.ops-archive-canvas iframe {
  width: 100%;
  height: min(78vh, 52rem);
  border: 0;
  background: #fff;
}

.ops-archive-empty {
  display: grid;
  place-items: center;
  min-height: 28rem;
  padding: 2.5rem 1.5rem;
  text-align: center;
  color: var(--ops-ink);
}

.ops-archive-empty p { margin: 0 0 0.4rem; }

.ops-archive-files { padding: 0.85rem 0.75rem 1rem; }

.ops-archive-files h2 {
  margin: 0 0.4rem 0.7rem;
  font-size: 0.92rem;
  font-weight: 600;
  color: var(--ops-ink);
}

.ops-archive-type {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.5rem;
  margin: 0.7rem 0.4rem 0.35rem;
  font-size: 0.78rem;
  font-weight: 600;
  color: var(--ops-lead);
}

.ops-archive-row {
  display: grid;
  gap: 0.2rem;
  margin: 0 0 0.4rem;
  padding: 0.35rem;
  border: 1px solid transparent;
  border-radius: var(--ui-radius);
}

.ops-archive-row.is-on {
  border-color: var(--ui-line);
  background: var(--ui-accent-soft);
}

.ops-archive-file {
  display: grid;
  grid-template-columns: 52px minmax(0, 1fr);
  gap: 0.65rem;
  align-items: center;
  text-decoration: none;
  color: inherit;
  min-width: 0;
}

.ops-archive-file:focus-visible {
  outline: 2px solid var(--ui-focus);
  outline-offset: 2px;
}

.ops-archive-file strong,
.ops-archive-file small {
  display: block;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.ops-archive-file strong {
  font-size: 0.84rem;
  font-weight: 600;
  color: var(--ops-ink);
}

.ops-archive-file small {
  margin-top: 0.1rem;
  font-size: 0.74rem;
  font-weight: 500;
  color: var(--ops-lead);
}

.ops-archive-thumb {
  width: 52px;
  height: 52px;
  border-radius: var(--ui-radius-sm);
  border: 1px solid var(--ui-line-soft);
  background: var(--ui-bg);
  object-fit: cover;
  display: grid;
  place-items: center;
  font-size: 0.68rem;
  font-weight: 650;
  color: var(--ops-lead);
}

.ops-archive-row-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.55rem;
  padding: 0.1rem 0 0 60px;
}

.ops-archive-row-actions a,
.ops-archive-row-actions button {
  border: 0;
  padding: 0;
  background: none;
  font: inherit;
  font-size: 0.78rem;
  font-weight: 600;
  color: var(--ops-blue);
  cursor: pointer;
}

.ops-archive-row-actions form { margin: 0; }

.ops-archive-add {
  margin: 0.15rem 0.4rem 0.45rem;
}

.ops-archive-add button.ops-link {
  border: 0;
  padding: 0;
  background: none;
  font: inherit;
  cursor: pointer;
}

.ops-archive-add .ops-btn {
  position: relative;
  display: inline-flex;
  cursor: pointer;
}

.ops-file-input {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.ops-form-card summary {
  cursor: pointer;
  font-size: 0.92rem;
  font-weight: 650;
  color: var(--ops-ink);
  list-style: none;
}

.ops-form-card summary::-webkit-details-marker { display: none; }

.ops-form-card[open] summary { margin-bottom: 0.85rem; }

.ops-workspace {
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(320px, 0.8fr);
  gap: 1.15rem;
  align-items: start;
}

.ops-workspace-side {
  display: grid;
  gap: 0.9rem;
  min-width: 0;
}

.ops-workspace-side > .ops-form-card { margin: 0; }

.ops-viewer {
  position: relative;
  display: flex;
  flex-direction: column;
  min-height: calc(100vh - 12.5rem);
  background: #fff;
  border: 1px solid var(--ui-line);
  border-radius: var(--ui-radius-card);
  box-shadow: var(--ui-shadow);
  overflow: hidden;
  transition: border-color var(--ui-ease), box-shadow var(--ui-ease);
}

.ops-viewer.is-over {
  border-color: var(--ui-focus);
  box-shadow: 0 0 0 3px rgba(47, 91, 234, 0.12);
}

.ops-viewer-toolbar {
  display: flex;
  justify-content: flex-end;
  padding: 0.6rem 0.85rem;
  border-bottom: 1px solid var(--ui-line-soft);
}

.ops-viewer-empty {
  flex: 1;
  display: grid;
  place-items: center;
  min-height: 28rem;
  padding: 2rem 1.5rem;
  text-align: center;
  color: var(--ops-lead);
}

.ops-viewer-empty p {
  margin: 0 0 0.9rem;
  font-size: 0.92rem;
  font-weight: 500;
}

.ops-viewer-img,
.ops-viewer-frame {
  flex: 1 1 auto;
  width: 100%;
  min-height: 32rem;
  border: 0;
  background: #f6f8fb;
  object-fit: contain;
}

.ops-doc-list {
  display: grid;
}

.ops-doc-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto auto;
  align-items: center;
  gap: 0.55rem 0.75rem;
  min-height: 2.65rem;
  padding: 0.4rem 0.1rem;
  border-bottom: 1px solid var(--ui-line-soft);
}

.ops-doc-row:last-child { border-bottom: 0; }

.ops-doc-name {
  font-size: 0.86rem;
  font-weight: 600;
  color: var(--ops-ink);
}

.ops-doc-actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 0.2rem;
}

.ops-doc-actions .ops-link,
.ops-doc-actions label.ops-link {
  position: relative;
  display: inline-flex;
  align-items: center;
  margin: 0;
  min-height: 2rem;
  padding: 0.15rem 0.4rem;
  border: 0;
  border-radius: 6px;
  background: transparent;
  color: var(--ops-blue);
  font: inherit;
  font-size: 0.8rem;
  font-weight: 650;
  cursor: pointer;
  text-decoration: none;
  transition: background-color 180ms ease, color 180ms ease;
}

.ops-doc-actions .ops-link:hover,
.ops-doc-actions label.ops-link:hover {
  background: var(--ui-accent-soft);
  text-decoration: none;
}

.ops-workspace-side .ops-form-actions {
  position: sticky;
  bottom: 0;
  justify-content: flex-start;
  margin-top: 0.95rem;
  padding-top: 0.9rem;
  background: #fff;
  border-top: 1px solid var(--ui-line-soft);
}

@media (max-width: 1100px) {
  .ops-archive-layout,
  .ops-workspace { grid-template-columns: 1fr; }
  .ops-archive-stage { min-height: 0; }
  .ops-archive-canvas,
  .ops-archive-empty,
  .ops-viewer,
  .ops-viewer-empty,
  .ops-viewer-img,
  .ops-viewer-frame { min-height: 22rem; }
}

@media (prefers-reduced-motion: reduce) {
  .ops-archive-file,
  .ops-archive-row,
  .ops-viewer,
  .ops-doc-actions .ops-link { transition: none; }
}


/* —— Kategoriler (Menülux tarzı tablo + şube) —— */
.ops-cat-page {
  max-width: 100rem;
  margin-left: auto;
  margin-right: auto;
  width: 100%;
}
.ops-cat-page .ops-cat-card {
  padding: 0.7rem 0.85rem 0.55rem;
}
.ops-cat-toolbar {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-end;
  gap: 0.5rem;
  margin: 0 0 0.55rem;
  padding: 0 0.15rem;
}
.ops-cat-search { flex: 1 1 16rem; min-width: 12rem; max-width: 28rem; margin: 0 auto; }
.ops-cat-search .form-control { min-height: 2.55rem; }
.ops-cat-toolbar-actions {
  display: flex;
  align-items: center;
  gap: 0.45rem;
  margin-left: auto;
}
.ops-cat-inline-form {
  margin: 0;
  display: inline-flex;
  vertical-align: middle;
  line-height: 0;
}
.ops-cat-table-wrap {
  margin: 0;
}
.ops-cat-table {
  width: 100%;
  border-collapse: collapse;
  border-spacing: 0;
  table-layout: fixed;
}
.ops-cat-page .ops-cat-table th,
.ops-cat-page .ops-cat-table td {
  box-sizing: border-box;
  border-bottom: 1px solid var(--ui-line-soft, #e8eef4);
  vertical-align: middle;
  padding: 0.65rem 0.55rem;
}
.ops-cat-page .ops-cat-table th {
  font-size: 0.72rem;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: #6b7785;
  text-align: center;
  white-space: nowrap;
}
/* foto + kod yan yana, dar boşluk */
.ops-cat-col-thumb,
.ops-cat-thumb {
  width: 3.4rem;
  padding-left: 0.75rem !important;
  padding-right: 0.85rem !important;
  text-align: center;
}
.ops-cat-col-code,
.ops-cat-code {
  width: 6.5rem;
  padding-left: 1.5rem !important;
  padding-right: 0.5rem !important;
  text-align: left;
  font-variant-numeric: tabular-nums;
  font-weight: 650;
}
.ops-cat-page .ops-cat-table th.ops-cat-col-code {
  text-align: left;
  padding-left: 1.5rem !important;
}
.ops-cat-col-name,
.ops-cat-name {
  width: 26%;
  text-align: center !important;
}
.ops-cat-col-parent,
.ops-cat-parent {
  width: 18%;
  text-align: center !important;
}
.ops-cat-col-type,
.ops-cat-type {
  width: 8rem;
  text-align: center !important;
}
.ops-cat-table .ops-cat-col-status,
.ops-cat-table td.ops-cat-status {
  width: 4.5rem;
  text-align: center !important;
  vertical-align: middle;
}
.ops-cat-toggle-form {
  display: inline-flex;
  margin: 0;
  justify-content: center;
}
.ops-cat-toggle {
  appearance: none;
  position: relative;
  display: inline-block;
  width: 2.55rem;
  height: 1.45rem;
  padding: 0;
  border: 0;
  border-radius: 999px;
  background: #d5dde7;
  cursor: pointer;
  flex: 0 0 auto;
  transition: background-color 320ms cubic-bezier(0.22, 1, 0.36, 1);
  vertical-align: middle;
}
.ops-cat-toggle::after {
  content: "";
  position: absolute;
  top: 0.16rem;
  left: 0.16rem;
  width: 1.12rem;
  height: 1.12rem;
  border-radius: 50%;
  background: #fff;
  box-shadow: 0 1px 3px rgba(15, 23, 42, 0.2);
  transition: transform 320ms cubic-bezier(0.22, 1, 0.36, 1);
}
.ops-cat-toggle.is-on {
  background: #2dd4bf;
}
.ops-cat-toggle.is-on::after {
  transform: translateX(1.1rem);
}
.ops-cat-toggle:hover {
  filter: brightness(0.97);
}
.ops-cat-toggle:focus-visible {
  outline: 2px solid rgba(45, 212, 191, 0.45);
  outline-offset: 2px;
}
.ops-cat-toggle.is-busy {
  pointer-events: none;
}
button.ops-cat-toggle {
  font: inherit;
}
@media (prefers-reduced-motion: reduce) {
  .ops-cat-toggle,
  .ops-cat-toggle::after {
    transition: none;
  }
}
.ops-cat-col-act,
.ops-cat-acts {
  width: 5.5rem;
  text-align: right !important;
  padding-right: 0.75rem !important;
}
.ops-cat-thumb-ico {
  display: inline-grid;
  place-items: center;
  width: 2.1rem;
  height: 2.1rem;
  border-radius: 7px;
  background: #f1f4f7;
  color: #8a97a8;
}
.ops-cat-name { font-weight: 650; }
.ops-cat-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 1.55rem;
  padding: 0 0.55rem;
  border-radius: 999px;
  background: #eef1f5;
  color: #5c6770;
  font-size: 0.72rem;
  font-weight: 650;
}
.ops-cat-dot {
  display: inline-block;
  width: 0.55rem;
  height: 0.55rem;
  border-radius: 50%;
  background: #cbd5e1;
  vertical-align: middle;
}
.ops-cat-dot.is-on { background: #22c55e; }
.ops-cat-dot.is-off { background: #94a3b8; }
.ops-cat-acts {
  white-space: nowrap;
  vertical-align: middle;
  line-height: 0;
}
.ops-cat-acts-inner {
  display: inline-flex;
  align-items: center;
  justify-content: flex-end;
  gap: 0.25rem;
  vertical-align: middle;
}
.ops-cat-ico {
  display: inline-grid;
  place-items: center;
  width: 1.9rem;
  height: 1.9rem;
  border: 1px solid #dce5ee;
  border-radius: 6px;
  background: #fff;
  color: #5c6770;
  text-decoration: none;
  cursor: pointer;
  padding: 0;
  box-sizing: border-box;
  flex: 0 0 auto;
}
.ops-cat-ico:hover { color: var(--ui-accent, #168af4); border-color: #c5d5e6; }
.ops-cat-ico.is-danger:hover { color: #e11d48; border-color: #f1c4cd; }
.ops-cat-foot {
  display: flex;
  justify-content: center;
  padding: 0.75rem 0.25rem 0.35rem;
  font-size: 0.8rem;
  color: #6b7785;
}
.ops-cat-hide { margin-top: 0.85rem; }
.ops-cat-hide summary {
  cursor: pointer;
  font-weight: 650;
  padding: 0.35rem 0;
}

.ops-cat-yeni {
  background: #3b82f6 !important;
  border-color: #3b82f6 !important;
  color: #fff !important;
}
.ops-cat-yeni:hover {
  background: #60a5fa !important;
  border-color: #60a5fa !important;
  color: #fff !important;
}
/* —— Kategori popup (kibar merkez modal + switch) —— */
.ops-cat-modal {
  display: grid;
  place-items: center;
  padding: 1.25rem;
}
.ops-cat-modal .ops-drawer-scrim {
  background: rgba(15, 23, 42, 0.42);
}
.ops-cat-modal .ops-drawer-panel.ops-cat-dialog,
.ops-cat-modal .ops-cat-dialog {
  position: relative;
  top: auto;
  right: auto;
  bottom: auto;
  left: auto;
  width: min(30.5rem, calc(100vw - 2rem));
  max-height: min(88vh, 42rem);
  display: flex;
  flex-direction: column;
  border-radius: 16px;
  border: 1px solid #e8eef5;
  background: #fff;
  box-shadow: 0 24px 64px rgba(15, 23, 42, 0.18);
  transform: translateY(16px) scale(0.98);
  opacity: 0;
  transition: transform 220ms ease, opacity 220ms ease;
  overflow: hidden;
}
.ops-cat-modal.is-open .ops-cat-dialog {
  transform: none;
  opacity: 1;
}
.ops-cat-modal-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 0.85rem;
  padding: 1.15rem 1.25rem 0.95rem;
  border-bottom: 1px solid #eef2f6;
}
.ops-cat-modal-kicker {
  margin: 0 0 0.2rem;
  font-size: 0.68rem;
  font-weight: 650;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #8a97a8;
}
.ops-cat-modal-head h2 {
  margin: 0;
  font-size: 1.12rem;
  font-weight: 700;
  letter-spacing: -0.02em;
  color: #142033;
}
.ops-cat-modal-x {
  display: inline-grid;
  place-items: center;
  width: 2rem;
  height: 2rem;
  margin-top: 0.1rem;
  border: 0;
  border-radius: 8px;
  background: transparent;
  color: #8a97a8;
  cursor: pointer;
  padding: 0;
  flex: 0 0 auto;
}
.ops-cat-modal-x:hover {
  background: #f3f6f9;
  color: #334155;
}
.ops-cat-dialog-form {
  display: flex;
  flex-direction: column;
  min-height: 0;
  flex: 1;
}
.ops-cat-tabs {
  display: flex;
  flex-direction: column;
  min-height: 0;
  flex: 1;
}
.ops-cat-tablist {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0.25rem;
  margin: 0 1.25rem;
  padding: 0.25rem;
  border-radius: 11px;
  background: #f1f4f8;
  border: 1px solid #e8eef5;
}
.ops-cat-tab {
  appearance: none;
  border: 0;
  background: transparent;
  min-height: 2.15rem;
  border-radius: 8px;
  font-size: 0.82rem;
  font-weight: 650;
  color: #6b7785;
  cursor: pointer;
  transition: background-color 160ms ease, color 160ms ease, box-shadow 160ms ease;
}
.ops-cat-tab:hover { color: #243247; }
.ops-cat-tab.is-active {
  background: #fff;
  color: #142033;
  box-shadow: 0 1px 3px rgba(15, 23, 42, 0.08);
}
.ops-cat-dialog-body {
  flex: 1;
  overflow: auto;
  padding: 1.05rem 1.25rem 0.35rem;
}
.ops-cat-tab-panel {
  display: none;
  gap: 1rem;
}
.ops-cat-tab-panel.is-active {
  display: grid;
}
.ops-cat-hint {
  margin: 0;
  font-size: 0.76rem;
  font-weight: 500;
  line-height: 1.45;
  color: #8a97a8;
}
.ops-cat-input.is-readonly {
  background: #f7f9fb;
  color: #5c6770;
  cursor: default;
}
.ops-cat-field {
  display: grid;
  gap: 0.42rem;
}
.ops-cat-label {
  font-size: 0.74rem;
  font-weight: 650;
  letter-spacing: 0.02em;
  color: #6b7785;
}
.ops-cat-input {
  width: 100%;
  min-height: 2.55rem;
  padding: 0.55rem 0.8rem;
  border: 1px solid #dde5ee;
  border-radius: 10px;
  background: #fff;
  color: #142033;
  font-size: 0.9rem;
  font-weight: 500;
  outline: none;
  transition: border-color 160ms ease, box-shadow 160ms ease;
}
.ops-cat-input:focus {
  border-color: #94c5f5;
  box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.12);
}
.ops-cat-input::placeholder { color: #a8b3c0; font-weight: 450; }
select.ops-cat-input {
  appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='none' stroke='%238a97a8' stroke-width='1.5' stroke-linecap='round' d='M1 1.5l5 5 5-5'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 0.85rem center;
  padding-right: 2.2rem;
}
.ops-cat-switch-list {
  display: grid;
  gap: 0.35rem;
  padding: 0.35rem 0.15rem;
}
.ops-cat-switch {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.85rem;
  min-height: 2.55rem;
  padding: 0.35rem 0.7rem;
  border: 1px solid #e8eef5;
  border-radius: 10px;
  background: #fbfcfe;
  cursor: pointer;
  user-select: none;
}
.ops-cat-switch:hover { border-color: #d5e1ee; background: #fff; }
.ops-cat-switch-text {
  font-size: 0.88rem;
  font-weight: 600;
  color: #243247;
}
.ops-cat-switch input[type="checkbox"] {
  position: absolute;
  opacity: 0;
  width: 1px;
  height: 1px;
  pointer-events: none;
}
.ops-cat-switch input[type="hidden"] { display: none; }
.ops-cat-switch-ui {
  position: relative;
  flex: 0 0 auto;
  width: 2.55rem;
  height: 1.45rem;
  border-radius: 999px;
  background: #d5dde7;
  transition: background-color 160ms ease;
}
.ops-cat-switch-ui::after {
  content: "";
  position: absolute;
  top: 0.16rem;
  left: 0.16rem;
  width: 1.12rem;
  height: 1.12rem;
  border-radius: 50%;
  background: #fff;
  box-shadow: 0 1px 3px rgba(15, 23, 42, 0.18);
  transition: transform 160ms ease;
}
.ops-cat-switch input[type="checkbox"]:checked ~ .ops-cat-switch-ui {
  background: #2dd4bf;
}
.ops-cat-switch input[type="checkbox"]:checked ~ .ops-cat-switch-ui::after {
  transform: translateX(1.1rem);
}
.ops-cat-switch input[type="checkbox"]:focus-visible ~ .ops-cat-switch-ui {
  box-shadow: 0 0 0 3px rgba(45, 212, 191, 0.28);
}
.ops-cat-seg {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0.4rem;
  padding: 0.35rem;
  border: 1px solid #d7e0ea;
  border-radius: 12px;
  background: #eef2f6;
}
.ops-cat-seg-opt {
  position: relative;
  display: block;
  margin: 0;
  cursor: pointer;
  user-select: none;
}
.ops-cat-seg-opt input {
  position: absolute;
  opacity: 0;
  width: 1px;
  height: 1px;
  pointer-events: none;
}
.ops-cat-seg-opt span {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 2.7rem;
  border-radius: 9px;
  border: 1px solid transparent;
  background: transparent;
  color: #64748b;
  font-size: 0.92rem;
  font-weight: 700;
  transition: background-color 160ms ease, color 160ms ease, border-color 160ms ease, box-shadow 160ms ease;
}
.ops-cat-seg-opt:hover span {
  color: #243247;
  background: rgba(255, 255, 255, 0.65);
}
.ops-cat-seg-opt input:checked + span {
  background: #fff;
  color: #0f172a;
  border-color: #c9d6e4;
  box-shadow: 0 1px 4px rgba(15, 23, 42, 0.1);
}
.ops-cat-seg-opt input:focus-visible + span {
  outline: 2px solid #93c5fd;
  outline-offset: 1px;
}
.ops-cat-dialog-foot {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 0.5rem;
  padding: 0.9rem 1.25rem 1.1rem;
  border-top: 1px solid #eef2f6;
  background: #fafbfc;
}
.ops-cat-dialog-foot .ops-cat-btn-danger { margin-right: auto; }
.ops-cat-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 2.4rem;
  padding: 0.4rem 1.05rem;
  border-radius: 9px;
  border: 1px solid transparent;
  font-size: 0.86rem;
  font-weight: 650;
  cursor: pointer;
  transition: background-color 160ms ease, border-color 160ms ease, color 160ms ease;
}
.ops-cat-btn-ghost {
  background: #fff;
  border-color: #dce5ee;
  color: #5c6770;
}
.ops-cat-btn-ghost:hover {
  background: #f5f7fa;
  color: #243247;
}
.ops-cat-btn-save {
  background: #3b82f6;
  border-color: #3b82f6;
  color: #fff;
  min-width: 6.5rem;
}
.ops-cat-btn-save:hover {
  background: #2563eb;
  border-color: #2563eb;
}
.ops-cat-btn-danger {
  background: #fff;
  border-color: #f1c4cd;
  color: #be123c;
}
.ops-cat-btn-danger:hover {
  background: #fff1f2;
}
@media (prefers-reduced-motion: reduce) {
  .ops-cat-modal .ops-cat-dialog,
  .ops-cat-modal .ops-drawer-scrim,
  .ops-cat-switch-ui,
  .ops-cat-switch-ui::after { transition: none; }
}

.br-page {
  max-width: 100rem;
  width: 100%;
  margin-left: auto;
  margin-right: auto;
}

.br-page .ui-table {
  width: 100%;
  table-layout: fixed;
}

.br-page .ui-table th.br-name,
.br-page .ui-table td.br-name {
  width: 36%;
}

.br-page .ui-table td.br-name {
  font-size: 0.9rem;
  font-weight: 500;
  letter-spacing: 0;
  text-transform: uppercase;
}

.br-page .ops-head h1 {
  font-weight: 600;
  letter-spacing: -0.02em;
}

.br-page .ops-head p {
  font-weight: 500;
}

.br-page .table-wrap {
  border: 1px solid var(--ui-line);
  box-shadow: var(--ui-shadow);
}

.br-page .ui-table th {
  font-size: 0.75rem;
  font-weight: 600;
  color: var(--ops-lead);
  background: #fff;
  border-bottom: 1px solid var(--ui-line-soft);
  padding: 0.72rem 1.15rem;
}

.br-page .ui-table td {
  font-size: 0.9rem;
  font-weight: 500;
  border-bottom: 1px solid var(--ui-line-soft);
  padding: 0.85rem 1.15rem;
}

.br-page .ui-table td strong {
  font-weight: 600;
  letter-spacing: -0.01em;
}

.br-page .ops-link {
  font-weight: 600;
}

.br-page .br-modal {
  display: grid;
  place-items: center;
  padding: 1.5rem;
}

.br-page .br-modal .ops-drawer-panel {
  position: relative;
  top: auto;
  right: auto;
  bottom: auto;
  left: auto;
  width: min(32rem, calc(100vw - 2rem));
  max-height: min(90vh, 44rem);
  border: 1px solid var(--ui-line);
  border-radius: 16px;
  box-shadow: var(--ui-shadow);
  transform: none;
}

.br-page .br-modal .ops-drawer-head,
.br-page .br-modal .ops-drawer-foot {
  border-color: var(--ui-line-soft);
}

.br-page .br-modal .ops-drawer-head {
  padding: 1.15rem 1.35rem 0.85rem;
}

.br-page .br-modal .ops-drawer-head h2 {
  font-size: 1.12rem;
  font-weight: 600;
  letter-spacing: -0.02em;
}

.br-page .br-modal .ops-drawer-head p,
.br-page .br-modal label {
  font-weight: 500;
  font-size: 0.82rem;
  color: var(--ops-lead);
}

.br-page .br-modal .ops-drawer-body {
  padding: 1.05rem 1.35rem 1.15rem;
}

.br-page .br-modal .ops-drawer-body .ops-form-card {
  border-bottom: 0;
  padding-bottom: 0;
}

.br-page .br-modal .form-control,
.br-page .br-modal select.form-control,
.br-page .br-modal input.form-control {
  font-weight: 500;
  border: 1px solid var(--ui-line);
}

.br-page .br-modal .form-control:focus,
.br-page .br-modal select.form-control:focus,
.br-page .br-modal input.form-control:focus {
  box-shadow: none;
}

.br-page .br-modal .ops-drawer-foot {
  padding: 0.8rem 1.35rem;
}

.br-page .br-modal__delete {
  display: flex;
  justify-content: flex-start;
  margin: 0;
  padding: 0 1.35rem 0.95rem;
  border: 0;
}

@media (max-width: 640px) {
  .br-page .br-modal { padding: 0.75rem; }
  .br-page .br-modal .ops-drawer-panel {
    width: min(32rem, calc(100vw - 1.5rem));
  }
}

.usr-page {
  max-width: 100rem;
  width: 100%;
  margin-left: auto;
  margin-right: auto;
}

.usr-page .ui-table {
  width: 100%;
}

.usr-page .ui-table td {
  font-weight: 500;
}

.usr-acts {
  display: flex;
  justify-content: flex-end;
  gap: 0.85rem;
  white-space: nowrap;
}

.usr-acts form { margin: 0; }

.usr-act {
  border: 0;
  background: none;
  padding: 0;
  font: inherit;
  font-size: 0.84rem;
  font-weight: 600;
  color: var(--ui-accent);
  cursor: pointer;
}

.usr-act--danger { color: var(--ops-rose); }

.usr-lock {
  font-size: 0.82rem;
  font-weight: 500;
  color: var(--ops-lead);
}

.usr-page .usr-modal {
  display: grid;
  place-items: center;
  padding: 1.5rem;
}

.usr-page .usr-modal .ops-drawer-panel {
  position: relative;
  top: auto;
  right: auto;
  bottom: auto;
  left: auto;
  width: min(44rem, calc(100vw - 2rem));
  max-height: min(90vh, 46rem);
  border: 1px solid var(--ui-line);
  border-radius: 16px;
  box-shadow: var(--ui-shadow);
  transform: none;
}

.usr-page .usr-modal .ops-drawer-head,
.usr-page .usr-modal .ops-drawer-foot {
  border-color: var(--ui-line-soft);
}

.usr-page .usr-modal .ops-drawer-head h2 {
  font-size: 1.12rem;
  font-weight: 600;
  letter-spacing: -0.02em;
}

.usr-page .usr-modal .ops-drawer-head p,
.usr-perm-note {
  margin: 0.28rem 0 0;
  font-size: 0.84rem;
  font-weight: 500;
  color: var(--ops-lead);
}

.usr-fields {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0.85rem 1rem;
}

.usr-fields label {
  display: grid;
  gap: 0.28rem;
  font-size: 0.82rem;
  font-weight: 500;
  color: var(--ops-lead);
}

.usr-perm-title {
  margin: 1.15rem 0 0;
  font-size: 0.95rem;
  font-weight: 600;
  color: var(--ops-ink);
}

.usr-perms {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0.85rem 1.25rem;
  margin-top: 0.85rem;
}

.usr-perms h4 {
  margin: 0 0 0.35rem;
  font-size: 0.78rem;
  font-weight: 600;
  color: var(--ops-ink);
}

.usr-perm {
  display: flex;
  align-items: center;
  gap: 0.4rem;
  margin: 0.18rem 0;
  font-size: 0.82rem;
  font-weight: 500;
  color: var(--ops-lead);
}

.usr-page .usr-modal .form-control:focus {
  box-shadow: none;
}

.imp-bar {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 0.6rem 1rem;
  margin: 0 0 1rem;
  padding: 0.7rem 1rem;
  background: var(--ui-surface);
  border: 1px solid var(--ui-danger);
  border-radius: var(--ui-radius-card);
  color: var(--ui-text);
  font-size: 0.88rem;
}

.imp-bar p { margin: 0; }

.imp-bar form { margin: 0; }

.imp-bar__back {
  min-height: 40px;
  padding: 0 1rem;
  border: 0;
  border-radius: var(--ui-radius);
  background: var(--ui-danger);
  color: var(--ui-surface);
  font: inherit;
  font-weight: 600;
  cursor: pointer;
}

.imp-bar__back:focus-visible {
  outline: 2px solid var(--ui-focus);
  outline-offset: 2px;
}

.pw-prompt {
  --ui-work-ink: var(--ui-text);
  --ui-work-muted: var(--ui-muted);
  --ui-work-line: var(--ui-line);
  --ui-work-surface: var(--ui-surface);
  --ui-work-primary: var(--ui-accent);
  --ui-work-danger: var(--ui-danger);
  --ui-work-radius: var(--ui-radius);
  position: fixed;
  inset: 0;
  z-index: 1300;
  display: grid;
  place-items: center;
  padding: 1.25rem;
  overflow-y: auto;
  background: rgba(20, 32, 51, 0.32);
}

.pw-prompt__card {
  display: grid;
  gap: 0.85rem;
  width: min(26rem, 100%);
  padding: 2rem 1.75rem 1.5rem;
  background: var(--ui-surface);
  border: 1px solid var(--ui-line);
  border-radius: 20px;
  box-shadow: 0 24px 48px -12px rgba(16, 24, 40, 0.22);
  animation: pw-prompt-in 260ms cubic-bezier(0.16, 1, 0.3, 1) both;
}

.pw-prompt__badge {
  display: grid;
  place-items: center;
  justify-self: center;
  width: 3.5rem;
  height: 3.5rem;
  border-radius: 50%;
  background: var(--ui-accent-soft);
  color: var(--ui-accent);
}

.pw-prompt__title {
  margin: 0;
  font-size: 1.2rem;
  font-weight: 600;
  letter-spacing: -0.02em;
  text-align: center;
  color: var(--ui-text);
}

.pw-prompt__text {
  margin: 0;
  font-size: 0.88rem;
  line-height: 1.55;
  text-align: center;
  color: var(--ui-muted);
}

.pw-prompt__error {
  margin: 0;
  padding: 0.6rem 0.8rem;
  border: 1px solid var(--ui-danger);
  border-radius: var(--ui-radius);
  font-size: 0.84rem;
  color: var(--ui-danger);
}

.pw-prompt__form { display: grid; gap: 0.75rem; }

.pw-prompt__actions {
  display: flex;
  justify-content: space-between;
  gap: 0.75rem;
  padding-top: 0.25rem;
}

.pw-prompt__actions form { margin: 0; }

.pw-prompt__actions .ui-work-btn { min-width: 7rem; min-height: 2.75rem; }

.pw-prompt__actions .ui-work-btn--danger { border-color: var(--ui-danger); }

@keyframes pw-prompt-in {
  from { opacity: 0; transform: scale(0.96) translateY(0.5rem); }
  to { opacity: 1; transform: none; }
}

@media (max-width: 480px) {
  .pw-prompt__card { padding: 1.5rem 1.1rem 1.1rem; }
  .pw-prompt__actions { flex-direction: column-reverse; }
  .pw-prompt__actions .ui-work-btn { width: 100%; }
}

@media (prefers-reduced-motion: reduce) {
  .pw-prompt__card { animation: none; }
}

@media (max-width: 800px) {
  .usr-fields,
  .usr-perms { grid-template-columns: 1fr; }
  .usr-page .usr-modal { padding: 0.75rem; }
  .usr-page .usr-modal .ops-drawer-panel {
    width: min(44rem, calc(100vw - 1.5rem));
  }
}

.pdks-dash {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 1rem;
  align-items: start;
}
@media (min-width: 760px) {
  .pdks-dash { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (min-width: 1200px) {
  .pdks-dash { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
.pdks-col {
  display: grid;
  gap: 1rem;
  align-content: start;
  min-width: 0;
}
.pdks-card {
  display: flex;
  flex-direction: column;
  gap: 0.9rem;
  min-width: 0;
  padding: 1.15rem 1.25rem;
  background: var(--ui-surface);
  border: 1px solid var(--ui-line);
  border-radius: var(--ui-radius-card);
  box-shadow: var(--ui-shadow);
}
.pdks-card-head {
  display: flex;
  align-items: center;
  gap: 0.7rem;
}
.pdks-card-head h2 {
  flex: 1 1 auto;
  margin: 0;
  font-size: 0.98rem;
  font-weight: 600;
  letter-spacing: -0.01em;
  color: var(--ui-text);
}
.pdks-ico {
  display: grid;
  place-items: center;
  flex: 0 0 auto;
  width: 30px;
  height: 30px;
  border-radius: 8px;
  background: var(--ui-accent);
  color: #fff;
}
.pdks-ico svg { width: 16px; height: 16px; }
.pdks-count {
  min-width: 1.6rem;
  padding: 0.1rem 0.45rem;
  border-radius: 999px;
  background: var(--ui-accent-soft);
  color: var(--ui-accent);
  font-size: 0.78rem;
  font-weight: 600;
  text-align: center;
}
.pdks-sub {
  margin: 0;
  font-size: 0.82rem;
  color: var(--ui-muted);
}
.pdks-big {
  margin: 0;
  font-size: 1.85rem;
  font-weight: 400;
  line-height: 1.1;
  letter-spacing: -0.02em;
  color: var(--ui-ok);
}
.pdks-big span {
  font-size: 0.95rem;
  color: var(--ui-muted);
}
.pdks-bar {
  appearance: none;
  -webkit-appearance: none;
  width: 100%;
  height: 6px;
  border: 0;
  border-radius: 999px;
  background: var(--ui-line);
  overflow: hidden;
}
.pdks-bar::-webkit-progress-bar { background: var(--ui-line); border-radius: 999px; }
.pdks-bar::-webkit-progress-value { background: var(--ui-ok); border-radius: 999px; }
.pdks-bar::-moz-progress-bar { background: var(--ui-ok); border-radius: 999px; }
.pdks-legend {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  margin: 0;
  padding: 0;
  list-style: none;
  font-size: 0.82rem;
  color: var(--ui-muted);
}
.pdks-legend li { display: flex; align-items: center; gap: 0.4rem; }
.pdks-legend b { font-weight: 600; color: var(--ui-text); }
.pdks-dot {
  flex: 0 0 auto;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #c3ccd6;
}
.pdks-dot-ok { background: var(--ui-ok); }
.pdks-list {
  margin: 0;
  padding: 0;
  list-style: none;
}
.pdks-list li {
  display: flex;
  align-items: center;
  gap: 0.7rem;
  min-height: 2.9rem;
  padding: 0.45rem 0;
  border-top: 1px solid var(--ui-line-soft);
  font-size: 0.875rem;
}
.pdks-list li:first-child { border-top: 0; }
.pdks-av {
  display: grid;
  place-items: center;
  flex: 0 0 auto;
  width: 32px;
  height: 32px;
  border-radius: 50%;
  background: var(--ui-accent-soft);
  color: var(--ui-accent);
  font-size: 0.72rem;
  font-weight: 600;
}
.pdks-name,
.pdks-label {
  flex: 1 1 auto;
  min-width: 0;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
  font-weight: 400;
}
.pdks-name { color: var(--ui-accent); text-decoration: none; }
.pdks-name:hover { text-decoration: underline; }
.pdks-name-off { color: var(--ui-muted); }
.pdks-label { color: var(--ui-text); }
.pdks-meta {
  flex: 0 0 auto;
  font-size: 0.8rem;
  color: var(--ui-muted);
  white-space: nowrap;
}
.pdks-ok { color: var(--ui-ok); }
.pdks-time {
  flex: 0 0 auto;
  min-width: 3rem;
  text-align: right;
  font-variant-numeric: tabular-nums;
  color: var(--ui-text);
  white-space: nowrap;
}
.pdks-dir {
  display: grid;
  place-items: center;
  flex: 0 0 auto;
  width: 22px;
  height: 22px;
  border-radius: 50%;
  background: #c3ccd6;
  color: #fff;
}
.pdks-dir svg { width: 12px; height: 12px; }
.pdks-dir-in { background: var(--ui-ok); }
.pdks-dir-out { background: var(--ui-warn); }
.pdks-empty {
  margin: 0;
  padding: 1rem 0;
  text-align: center;
  font-size: 0.875rem;
  color: var(--ui-muted);
}
.pdks-card-foot {
  display: flex;
  justify-content: flex-end;
  margin-top: auto;
  padding-top: 0.75rem;
  border-top: 1px solid var(--ui-line-soft);
}
.pdks-card-foot a {
  font-size: 0.82rem;
  font-weight: 600;
  color: var(--ui-accent);
  text-decoration: none;
}
.pdks-card-foot a:hover { text-decoration: underline; }

/* PDKS personel penceresi: 4 adımlı kayıt (ui-work-modal üstüne) */
.pdks-wiz .ui-work-modal__dialog { max-height: min(46rem, calc(100vh - 2.5rem)); }
.pdks-wiz-form {
  display: flex;
  flex-direction: column;
  flex: 1 1 auto;
  min-height: 0;
}
.pdks-wiz .ui-work-field,
.pdks-wiz .ui-work-field > label { font-weight: 500; }
.pdks-wiz .form-error { margin: 0 0 1rem; }
.pdks-wiz-address { min-height: 4.5rem; }
.pdks-steps {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0.5rem;
  margin: 0;
  padding: 0.85rem 1.2rem;
  list-style: none;
  border-bottom: 1px solid var(--ui-line);
}
.pdks-step {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  min-width: 0;
  font-size: 0.82rem;
  color: var(--ui-muted);
  text-decoration: none;
}
a.pdks-step:hover { color: var(--ui-accent); }
.pdks-step-no {
  flex: 0 0 auto;
  display: inline-grid;
  place-items: center;
  width: 1.6rem;
  height: 1.6rem;
  border: 1px solid var(--ui-line);
  border-radius: 50%;
  background: var(--ui-surface);
  font-size: 0.78rem;
  font-variant-numeric: tabular-nums;
}
.pdks-step-label { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.pdks-steps .is-done .pdks-step-no { background: var(--ui-ok); border-color: var(--ui-ok); color: #fff; }
.pdks-steps .is-current .pdks-step { color: var(--ui-text); }
.pdks-steps .is-current .pdks-step-no { background: var(--ui-accent); border-color: var(--ui-accent); color: #fff; }
.pdks-wiz .ui-work-modal__footer { display: flex; flex-wrap: wrap; gap: 0.5rem; }
.pdks-wiz-delete { margin-right: auto; }
.pdks-check {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 0.86rem;
  font-weight: 500;
  cursor: pointer;
}
.pdks-check input { width: 1.05rem; height: 1.05rem; accent-color: var(--ui-accent); }
/* PDKS personel kartı */
.pdks-who { display: flex; align-items: center; gap: 0.9rem; min-width: 0; }
.pdks-who p { display: flex; flex-wrap: wrap; align-items: center; gap: 0.5rem; }
.pdks-av-lg { width: 52px; height: 52px; font-size: 1rem; }
.pdks-head-actions { display: flex; flex-wrap: wrap; gap: 0.5rem; }
.pdks-kv li { min-height: 2.5rem; }
.pdks-kv .pdks-label { flex: 0 0 auto; color: var(--ui-muted); }
.pdks-val {
  flex: 1 1 auto;
  min-width: 0;
  overflow: hidden;
  text-align: right;
  white-space: nowrap;
  text-overflow: ellipsis;
  color: var(--ui-text);
  font-variant-numeric: tabular-nums;
}
.pdks-big.is-warn { color: var(--ui-warn); }
.pdks-val-strong { font-weight: 600; color: var(--ui-ok); }
.pdks-val-strong.is-warn { color: var(--ui-warn); }
.pdks-row-next td { color: var(--ui-muted); }
.pdks-wide { margin-top: 1rem; }
/* PDKS giriş-çıkış dökümü */
.pdks-stats {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 1rem;
  margin-top: 1rem;
}
@media (min-width: 560px) { .pdks-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 1100px) { .pdks-stats { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
.pdks-stats .pdks-card { gap: 0.55rem; }
.pdks-log-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 1rem;
  align-items: start;
  margin-top: 1rem;
}
@media (min-width: 1100px) { .pdks-log-grid { grid-template-columns: minmax(18rem, 21rem) minmax(0, 1fr); } }
.pdks-month-nav { display: flex; gap: 0.4rem; }
.pdks-month-nav a { text-decoration: none; font-size: 1.1rem; }
.pdks-cal {
  display: grid;
  grid-template-columns: repeat(7, minmax(0, 1fr));
  gap: 0.35rem;
  width: 100%;
  max-width: 26rem;
}
.pdks-cal-wd {
  padding-bottom: 0.2rem;
  text-align: center;
  font-size: 0.72rem;
  color: var(--ui-muted);
}
.pdks-cal-day {
  display: grid;
  place-items: center;
  height: 2.5rem;
  border: 1px solid transparent;
  border-radius: var(--ui-radius-sm);
  font-size: 0.82rem;
  font-variant-numeric: tabular-nums;
  color: var(--ui-text);
  text-decoration: none;
  transition: transform 0.2s var(--ui-ease, ease);
}
a.pdks-cal-day:hover { transform: translateY(-2px); }
.pdks-cal-day.is-blank { visibility: hidden; }
.pdks-cal-day.is-future { color: var(--ui-muted); opacity: 0.55; }
.pdks-cal-day.is-off { color: var(--ui-muted); }
.pdks-cal-day.is-miss,
.pdks-cal-key.is-miss { background: var(--ui-line-soft); }
.pdks-cal-day.is-work,
.pdks-cal-key.is-work { background: color-mix(in srgb, var(--ui-ok) 16%, var(--ui-surface)); }
.pdks-cal-day.is-work { color: var(--ui-ok); font-weight: 500; }
.pdks-cal-day.is-open,
.pdks-cal-key.is-open { background: color-mix(in srgb, var(--ui-warn) 18%, var(--ui-surface)); }
.pdks-cal-day.is-open { color: var(--ui-warn); font-weight: 500; }
.pdks-cal-day.is-leave,
.pdks-cal-key.is-leave { background: var(--ui-accent-soft); }
.pdks-cal-day.is-leave { color: var(--ui-accent); font-weight: 500; }
.pdks-cal-day.is-today { border-color: var(--ui-accent); }
.pdks-cal-legend {
  display: flex;
  flex-wrap: wrap;
  gap: 0.4rem 1rem;
  margin: 0;
  padding: 0.75rem 0 0;
  list-style: none;
  border-top: 1px solid var(--ui-line-soft);
  font-size: 0.78rem;
  color: var(--ui-muted);
}
.pdks-cal-legend li { display: flex; align-items: center; gap: 0.4rem; }
.pdks-cal-key { width: 12px; height: 12px; border-radius: 4px; }
.pdks-log-grid .table-wrap { margin: 0; }
.pdks-log-table td { vertical-align: middle; }
.pdks-log-table tbody tr:target td { background: var(--ui-accent-soft); }
.pdks-day { display: flex; align-items: center; gap: 0.6rem; white-space: nowrap; }
.pdks-day-no {
  display: inline-grid;
  place-items: center;
  width: 2rem;
  height: 2rem;
  border-radius: var(--ui-radius-sm);
  background: var(--ui-line-soft);
  font-weight: 600;
  font-variant-numeric: tabular-nums;
  color: var(--ui-text);
}
.pdks-day-wd { color: var(--ui-muted); }
.pdks-clock { font-variant-numeric: tabular-nums; white-space: nowrap; }
.pdks-tl-col { width: 34%; min-width: 11rem; }
.pdks-tl-scale {
  display: flex;
  justify-content: space-between;
  font-size: 0.7rem;
  font-weight: 400;
  color: var(--ui-muted);
  font-variant-numeric: tabular-nums;
}
.pdks-tl {
  position: relative;
  display: block;
  height: 10px;
  border-radius: 3px;
  background: var(--ui-line);
}
.pdks-tl-bar {
  position: absolute;
  top: 0;
  bottom: 0;
  left: var(--a, 0%);
  width: max(6px, calc(var(--b, 0%) - var(--a, 0%)));
  border-radius: 3px;
  background: var(--ui-ok);
  box-shadow: 0 0 0 1px var(--ui-surface);
}
.pdks-tl-bar.is-open { background: var(--ui-warn); }
.pdks-tl-bar.is-live { background: var(--ui-accent); }
/* PDKS giriş-çıkış panosu (menü sekmesi) */
.pdks-daybar {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem 1.5rem;
  margin: 0 0 1rem;
  padding: 0.85rem 1.25rem;
  background: var(--ui-surface);
  border: 1px solid var(--ui-line);
  border-radius: var(--ui-radius-card);
  box-shadow: var(--ui-shadow);
}
.pdks-daybar-day { display: flex; align-items: center; gap: 0.75rem; min-width: 0; }
.pdks-daybar-day .ui-work-btn--icon { text-decoration: none; font-size: 1.15rem; }
.pdks-daybar-day .ops-btn { white-space: nowrap; }
.pdks-daybar-off { opacity: 0.35; pointer-events: none; }
.pdks-daybar-title {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  margin: 0;
  font-size: 1.2rem;
  font-weight: 600;
  line-height: 1.2;
  letter-spacing: -0.015em;
  color: var(--ui-text);
  white-space: nowrap;
}
.pdks-daybar-title span { font-weight: 400; color: var(--ui-muted); }
.pdks-daybar-title em { font-style: normal; font-size: 0.75rem; letter-spacing: 0; }
.pdks-daybar-form { display: flex; flex-wrap: nowrap; align-items: center; gap: 0.6rem; }
.pdks-daybar-form .ui-input,
.pdks-daybar-form .ui-select { min-height: 2.5rem; width: auto; min-width: 9.5rem; }
.pdks-daybar-form .ops-btn { white-space: nowrap; }
@media (max-width: 980px) {
  .pdks-daybar-form { flex-wrap: wrap; width: 100%; }
}
@media (max-width: 640px) {
  .pdks-daybar-title { font-size: 1.05rem; }
  .pdks-daybar-form .ui-input,
  .pdks-daybar-form .ui-select { flex: 1 1 9rem; }
  .pdks-daybar-form .ops-btn { flex: 1 1 100%; justify-content: center; }
}
.pdks-stats-top { margin-top: 0; }
.pdks-board-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 1rem;
  align-items: start;
  margin-top: 1rem;
}
@media (min-width: 1280px) { .pdks-board-grid { grid-template-columns: minmax(0, 1fr) minmax(17rem, 21rem); } }
.pdks-log-table td.num,
.pdks-log-table .pdks-clock { white-space: nowrap; }
.pdks-board-grid .table-wrap { margin: 0; }
.pdks-person { display: flex; align-items: center; gap: 0.65rem; min-width: 0; }
.pdks-person-text { display: flex; flex-direction: column; min-width: 0; flex: 1 1 auto; }
.pdks-person-text .pdks-name { flex: 0 0 auto; }
.pdks-person-sub { font-size: 0.78rem; color: var(--ui-muted); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.pdks-feed { max-height: 36rem; overflow-y: auto; }
/* PDKS personel listesi */
.pdks-filterbar { margin-top: 1rem; }
.pdks-search {
  position: relative;
  display: flex;
  align-items: center;
  flex: 1 1 16rem;
  max-width: 24rem;
  margin: 0;
}
.pdks-search svg {
  position: absolute;
  left: 0.75rem;
  width: 16px;
  height: 16px;
  color: var(--ui-muted);
  pointer-events: none;
}
.pdks-search .ui-input { width: 100%; min-height: 2.5rem; padding-left: 2.25rem; }
.pdks-people .pdks-no { width: 2.5rem; color: var(--ui-muted); }
.pdks-people td { white-space: nowrap; }
.pdks-muted { color: var(--ui-muted); }
.pdks-state { display: inline-flex; align-items: center; gap: 0.4rem; font-size: 0.85rem; }
.pdks-badges { display: inline-flex; flex-wrap: wrap; gap: 0.3rem; }
.pdks-actions { display: inline-flex; gap: 0.25rem; }
.pdks-actions a {
  padding: 0.3rem 0.55rem;
  border-radius: var(--ui-radius-sm);
  font-size: 0.82rem;
  font-weight: 500;
  color: var(--ui-accent);
  text-decoration: none;
  transition: background-color 0.2s;
}
.pdks-actions a:hover { background: var(--ui-accent-soft); }
@media (max-width: 1100px) { .pdks-hide-md { display: none; } }
@media (max-width: 640px) {
  .pdks-hide-sm { display: none; }
  .pdks-search { max-width: none; flex-basis: 100%; }
}
/* PDKS aylık puantaj */
.pdks-daybar-form .pdks-search { flex: 0 1 15rem; min-width: 12rem; }
.pdks-sheet-head { flex-wrap: wrap; row-gap: 0.6rem; }
.pdks-sheet-head h2 { flex: 0 0 auto; }
.pdks-sheet-legend {
  display: flex;
  flex-wrap: wrap;
  gap: 0.4rem 1rem;
  margin: 0 0 0 auto;
  padding: 0;
  list-style: none;
  font-size: 0.78rem;
  color: var(--ui-muted);
}
.pdks-sheet-legend li { display: flex; align-items: center; gap: 0.4rem; }
.pdks-sheet-wrap {
  max-height: 72vh;
  overflow: auto;
  border: 1px solid var(--ui-line);
  border-radius: var(--ui-radius-sm);
}
.pdks-sheet-wrap:focus-visible { outline: 2px solid var(--ui-focus); outline-offset: 2px; }
.pdks-sheet {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
  font-size: 0.82rem;
  font-variant-numeric: tabular-nums;
}
.pdks-sheet th,
.pdks-sheet td {
  padding: 0.3rem 0.15rem;
  border-bottom: 1px solid var(--ui-line-soft);
  text-align: center;
  white-space: nowrap;
  background: var(--ui-surface);
}
.pdks-sheet thead th {
  position: sticky;
  top: 0;
  z-index: 2;
  padding: 0.5rem 0.15rem;
  border-bottom-color: var(--ui-line);
  font-size: 0.75rem;
  font-weight: 500;
  color: var(--ui-muted);
}
.pdks-sheet-day { min-width: 1.75rem; }
.pdks-sheet-day span { display: block; font-size: 0.82rem; font-weight: 600; color: var(--ui-text); }
.pdks-sheet-day small { display: block; font-size: 0.62rem; letter-spacing: 0.02em; }
.pdks-sheet .is-sun { background: color-mix(in srgb, var(--ui-line-soft) 70%, var(--ui-surface)); }
.pdks-sheet thead .is-today span,
.pdks-sheet thead .is-today small { color: var(--ui-accent); }
.pdks-sheet thead .is-today { box-shadow: inset 0 -2px 0 var(--ui-accent); }
.pdks-sheet td.is-today { background: color-mix(in srgb, var(--ui-accent) 5%, var(--ui-surface)); }
.pdks-sheet-no {
  position: sticky;
  left: 0;
  z-index: 1;
  min-width: 2.5rem;
  color: var(--ui-muted);
}
.pdks-sheet .pdks-sheet-name {
  position: sticky;
  left: 2.5rem;
  z-index: 1;
  min-width: 11rem;
  max-width: 14rem;
  padding: 0.35rem 0.75rem;
  border-right: 1px solid var(--ui-line);
  text-align: left;
  font-weight: 400;
}
.pdks-sheet thead .pdks-sheet-no,
.pdks-sheet thead .pdks-sheet-name { z-index: 3; }
.pdks-sheet-name a {
  display: block;
  overflow: hidden;
  text-overflow: ellipsis;
  font-weight: 500;
  color: var(--ui-text);
  text-decoration: none;
}
.pdks-sheet-name a:hover { color: var(--ui-accent); }
.pdks-sheet-name span {
  display: block;
  overflow: hidden;
  text-overflow: ellipsis;
  font-size: 0.72rem;
  color: var(--ui-muted);
}
.pdks-sheet tbody tr:hover td,
.pdks-sheet tbody tr:hover th { background: color-mix(in srgb, var(--ui-accent) 4%, var(--ui-surface)); }
.pdks-sc {
  display: inline-grid;
  place-items: center;
  min-width: 1.45rem;
  height: 1.5rem;
  padding: 0 0.15rem;
  border-radius: 6px;
  font-size: 0.7rem;
  font-weight: 500;
  line-height: 1;
}
.pdks-sc.is-ok { background: color-mix(in srgb, var(--ui-ok) 16%, var(--ui-surface)); color: var(--ui-ok); font-size: 0.82rem; }
.pdks-sc.is-open,
.pdks-sc.is-late { background: color-mix(in srgb, var(--ui-warn) 18%, var(--ui-surface)); color: var(--ui-warn); }
.pdks-sc.is-late { box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--ui-warn) 45%, transparent); }
.pdks-sc.is-absent { background: color-mix(in srgb, var(--ui-danger) 13%, var(--ui-surface)); color: var(--ui-danger); }
.pdks-sc.is-leave { background: var(--ui-accent-soft); color: var(--ui-accent); }
.pdks-sc.is-off { background: var(--ui-line-soft); color: var(--ui-muted); }
.pdks-sheet .pdks-sheet-sum { min-width: 2.5rem; padding: 0.3rem 0.35rem; color: var(--ui-text); }
.pdks-sheet .pdks-sheet-sum.is-first { border-left: 1px solid var(--ui-line); }
.pdks-sheet td.pdks-sheet-sum.is-ok { color: var(--ui-ok); font-weight: 500; }
.pdks-sheet td.pdks-sheet-sum.is-warn { color: var(--ui-warn); font-weight: 500; }
.pdks-sheet td.pdks-sheet-sum.is-danger { color: var(--ui-danger); font-weight: 500; }
.pdks-sheet abbr { text-decoration: none; }
@media (max-width: 640px) {
  .pdks-daybar-form .pdks-search { flex: 1 1 100%; }
  .pdks-sheet-legend { margin-left: 0; }
  .pdks-sheet-no { display: none; }
  .pdks-sheet .pdks-sheet-name { left: 0; min-width: 9.5rem; }
}
.pdks-feed-time { min-width: 2.75rem; text-align: left; color: var(--ui-muted); }
@media (max-width: 760px) { .pdks-tl-col { display: none; } }
@media (prefers-reduced-motion: reduce) { a.pdks-cal-day { transition: none; } a.pdks-cal-day:hover { transform: none; } }
.pdks-wide .pdks-card-head h2 { flex: 1 1 auto; }
.pdks-wide .table-wrap { margin: 0; }
@media (max-width: 560px) {
  .pdks-steps { display: flex; padding: 0.75rem 1rem; }
  .pdks-steps li { flex: 0 0 auto; }
  .pdks-steps li.is-current { flex: 1 1 auto; min-width: 0; }
  .pdks-steps li:not(.is-current) .pdks-step-label { display: none; }
}
/* PDKS vardiya */
.pdks-chip {
  display: inline-flex;
  align-items: center;
  padding: 0.1rem 0.42rem;
  border-radius: 6px;
  font-size: 0.7rem;
  font-weight: 500;
  line-height: 1.45;
  white-space: nowrap;
}
.pdks-chip.is-ok { background: color-mix(in srgb, var(--ui-ok) 16%, var(--ui-surface)); color: var(--ui-ok); }
.pdks-chip.is-open { background: color-mix(in srgb, var(--ui-warn) 18%, var(--ui-surface)); color: var(--ui-warn); }
.pdks-chip.is-absent { background: color-mix(in srgb, var(--ui-danger) 13%, var(--ui-surface)); color: var(--ui-danger); }
.pdks-chip.is-leave { background: var(--ui-accent-soft); color: var(--ui-accent); }
.pdks-chip.is-off { background: var(--ui-line-soft); color: var(--ui-muted); }
.pdks-brush { margin-top: 1rem; }
.pdks-brush-row { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 0.75rem 1rem; }
.pdks-brush-list { display: flex; flex-wrap: wrap; gap: 0.5rem; min-width: 0; }
.pdks-brush-opt {
  position: relative;
  display: inline-flex;
  flex-direction: column;
  gap: 0.1rem;
  padding: 0.5rem 0.85rem;
  border: 1px solid var(--ui-line);
  border-radius: var(--ui-radius-sm);
  background: var(--ui-surface);
  cursor: pointer;
  transition: border-color 0.2s, background-color 0.2s;
}
.pdks-brush-opt input { position: absolute; opacity: 0; pointer-events: none; }
.pdks-brush-opt strong { font-size: 0.85rem; font-weight: 600; color: var(--ui-text); }
.pdks-brush-opt small { font-size: 0.75rem; color: var(--ui-muted); font-variant-numeric: tabular-nums; }
.pdks-brush-opt:hover { border-color: var(--ui-accent); }
.pdks-brush-opt:has(input:checked) { border-color: var(--ui-accent); background: var(--ui-accent-soft); box-shadow: inset 0 0 0 1px var(--ui-accent); }
.pdks-brush-opt:has(input:checked) strong { color: var(--ui-accent); }
.pdks-brush-opt:has(input:focus-visible) { outline: 2px solid var(--ui-focus); outline-offset: 2px; }
.pdks-brush-opt.is-clear strong { color: var(--ui-muted); }
.pdks-brush-side { display: flex; flex-wrap: wrap; align-items: center; gap: 0.6rem; }
.pdks-brush-side .ui-select { min-height: 2.5rem; width: auto; min-width: 11rem; }
.pdks-brush-side .ops-btn:disabled { opacity: 0.5; cursor: not-allowed; }
.pdks-plan-dirty { font-size: 0.82rem; color: var(--ui-muted); white-space: nowrap; }
.pdks-plan-card { margin-top: 1rem; }
.pdks-plan {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
  font-size: 0.82rem;
}
.pdks-plan th,
.pdks-plan td {
  padding: 0.35rem;
  border-bottom: 1px solid var(--ui-line-soft);
  background: var(--ui-surface);
  vertical-align: top;
}
.pdks-plan thead th {
  position: sticky;
  top: 0;
  z-index: 2;
  padding: 0.55rem 0.35rem;
  border-bottom-color: var(--ui-line);
  font-size: 0.72rem;
  font-weight: 500;
  color: var(--ui-muted);
  text-align: center;
  white-space: nowrap;
}
.pdks-plan thead th span { display: block; font-size: 0.82rem; font-weight: 600; color: var(--ui-text); }
.pdks-plan thead th small { display: block; font-size: 0.7rem; }
.pdks-plan thead .is-today span,
.pdks-plan thead .is-today small { color: var(--ui-accent); }
.pdks-plan thead .is-today { box-shadow: inset 0 -2px 0 var(--ui-accent); }
.pdks-plan td.is-today { background: color-mix(in srgb, var(--ui-accent) 5%, var(--ui-surface)); }
.pdks-plan .pdks-plan-name {
  position: sticky;
  left: 0;
  z-index: 1;
  min-width: 11rem;
  max-width: 14rem;
  padding: 0.5rem 0.75rem;
  border-right: 1px solid var(--ui-line);
  text-align: left;
  font-weight: 400;
  vertical-align: middle;
}
.pdks-plan thead .pdks-plan-name { z-index: 3; }
.pdks-plan .pdks-plan-sum {
  min-width: 4.5rem;
  border-left: 1px solid var(--ui-line);
  text-align: center;
  vertical-align: middle;
  white-space: nowrap;
  color: var(--ui-text);
  font-variant-numeric: tabular-nums;
}
.pdks-pc {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 0.12rem;
  width: 100%;
  min-width: 7.5rem;
  min-height: 4.25rem;
  padding: 0.45rem 0.55rem;
  border: 1px dashed var(--ui-line);
  border-radius: var(--ui-radius-sm);
  background: transparent;
  color: var(--ui-text);
  font: inherit;
  text-align: left;
  cursor: pointer;
  transition: border-color 0.2s, background-color 0.2s;
}
.pdks-pc:hover { border-color: var(--ui-accent); background: color-mix(in srgb, var(--ui-accent) 4%, var(--ui-surface)); }
.pdks-pc:focus-visible { outline: 2px solid var(--ui-focus); outline-offset: 2px; }
.pdks-pc.has-shift {
  border-style: solid;
  border-color: color-mix(in srgb, var(--ui-accent) 28%, var(--ui-line));
  background: color-mix(in srgb, var(--ui-accent) 6%, var(--ui-surface));
  box-shadow: inset 3px 0 0 var(--ui-accent);
}
.pdks-pc.is-dirty { border-style: solid; border-color: var(--ui-accent); }
.pdks-pc-name { font-size: 0.8rem; font-weight: 600; }
.pdks-pc-time { font-size: 0.75rem; color: var(--ui-muted); font-variant-numeric: tabular-nums; }
.pdks-pc-branch { font-size: 0.7rem; color: var(--ui-accent); }
.pdks-pc-add { margin: auto; font-size: 1.1rem; line-height: 1; color: var(--ui-line); }
.pdks-pc:hover .pdks-pc-add { color: var(--ui-accent); }
.pdks-pc-chips { display: flex; flex-wrap: wrap; gap: 0.2rem; margin-top: 0.15rem; }
.pdks-shift-card { margin-top: 1rem; }
.pdks-shift-list { margin: 0; padding: 0; list-style: none; }
.pdks-shift-item {
  display: flex;
  align-items: center;
  gap: 0.6rem;
  padding: 0.65rem 0;
  border-bottom: 1px solid var(--ui-line-soft);
}
.pdks-shift-item:last-child { border-bottom: 0; }
.pdks-shift-text { display: flex; flex-direction: column; flex: 1 1 auto; min-width: 0; }
.pdks-shift-text strong { font-size: 0.9rem; font-weight: 600; color: var(--ui-text); }
.pdks-shift-text span { font-size: 0.8rem; color: var(--ui-muted); font-variant-numeric: tabular-nums; }
.pdks-shift-today { margin-bottom: 1rem; }
.pdks-shift-kpis { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0.75rem; }
.pdks-shift-kpis div { padding: 0.65rem 0.8rem; border: 1px solid var(--ui-line-soft); border-radius: var(--ui-radius-sm); }
.pdks-shift-kpis dt { font-size: 0.75rem; color: var(--ui-muted); }
.pdks-shift-kpis dd { margin: 0.15rem 0 0; font-size: 1.35rem; line-height: 1.1; color: var(--ui-text); font-variant-numeric: tabular-nums; }
.pdks-shift-kpis .is-warn dd { color: var(--ui-warn); }
.pdks-shift-kpis .is-danger dd { color: var(--ui-danger); }
.pdks-shift-kpis .is-ok dd { color: var(--ui-ok); }
.pdks-alerts { max-height: 22rem; overflow-y: auto; }
.pdks-alerts .pdks-chip { flex: 0 0 auto; }
@media (max-width: 760px) {
  .pdks-shift-kpis { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 640px) {
  .pdks-plan .pdks-plan-name { min-width: 8.5rem; }
  .pdks-pc { min-width: 6.5rem; }
  .pdks-brush-side { width: 100%; }
  .pdks-brush-side .ui-select { flex: 1 1 auto; }
  .pdks-brush-side .ops-btn { flex: 1 1 100%; justify-content: center; }
}
@media (prefers-reduced-motion: reduce) {
  .pdks-pc,
  .pdks-brush-opt { transition: none; }
}

/* PDKS özet: canlı pano */
.pdks-ozet {
  --pdks-frame: #f27a1a;
  display: grid;
  gap: 1rem;
  min-width: 0;
}
.pdks-ozet .pdks-card {
  border-color: color-mix(in srgb, var(--pdks-frame) 55%, var(--ui-surface));
}
.pdks-ozet .pdks-card { transition: transform 0.2s ease, box-shadow 0.2s ease; }
.pdks-ozet .pdks-card:hover { transform: translateY(-2px); }
.pdks-ozet .pdks-daybar {
  margin: 0;
  padding: 0;
  background: none;
  border: 0;
  box-shadow: none;
}
.pdks-ozet .pdks-stats { margin-top: 0; }
.pdks-big-off { color: var(--ui-muted); }
.pdks-pulse {
  display: flex;
  align-items: center;
  gap: 0.55rem;
  margin: 0;
  font-size: 0.85rem;
  color: var(--ui-muted);
}
.pdks-pulse b { font-weight: 600; color: var(--ui-ok); }
.pdks-pulse i {
  position: relative;
  flex: 0 0 auto;
  width: 9px;
  height: 9px;
  border-radius: 50%;
  background: var(--ui-ok);
}
.pdks-pulse i::after,
.pdks-flow .pdks-tl-bar.is-live::after {
  content: "";
  position: absolute;
  border-radius: 50%;
  background: inherit;
  animation: pdks-ping 1.8s ease-out infinite;
}
.pdks-pulse i::after { inset: 0; }
@keyframes pdks-ping {
  from { transform: scale(1); opacity: 0.55; }
  to { transform: scale(2.6); opacity: 0; }
}
.pdks-ozet-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 1rem;
}
@media (min-width: 760px) {
  .pdks-ozet-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (min-width: 1200px) {
  .pdks-ozet-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
.pdks-ozet-grid > .pdks-card { align-self: stretch; }
.pdks-list-scroll { max-height: 22rem; overflow-y: auto; }
.pdks-ozet .pdks-list li.is-new { animation: pdks-flash 2.4s ease-out 1; }
@keyframes pdks-flash {
  from { background: color-mix(in srgb, var(--pdks-frame) 14%, var(--ui-surface)); }
  to { background: transparent; }
}
.pdks-new {
  flex: 0 0 auto;
  padding: 0.05rem 0.45rem;
  border: 1px solid color-mix(in srgb, var(--pdks-frame) 55%, var(--ui-surface));
  border-radius: 999px;
  font-size: 0.7rem;
  color: var(--pdks-frame);
}
.pdks-flow-row {
  display: grid;
  grid-template-columns: 32px minmax(8rem, 13rem) minmax(0, 1fr) 5.5rem 4.75rem;
  align-items: center;
  gap: 0.8rem;
}
.pdks-flow-list { max-height: 26rem; overflow-y: auto; }
.pdks-ozet .pdks-flow-list li { display: grid; }
.pdks-flow-scale { padding-bottom: 0.1rem; }
.pdks-flow .pdks-tl { overflow: visible; }
.pdks-flow .pdks-tl-bar.is-live::after {
  top: 50%;
  right: -2px;
  width: 10px;
  height: 10px;
  margin-top: -5px;
}
.pdks-tl-now {
  position: absolute;
  top: -4px;
  bottom: -4px;
  left: var(--a, 0%);
  width: 1px;
  background: var(--pdks-frame);
}
.pdks-flow-row .pdks-meta { text-align: right; font-variant-numeric: tabular-nums; }
.pdks-flow-row .ui-badge { justify-self: end; }
@media (max-width: 640px) {
  .pdks-flow-row { grid-template-columns: 32px minmax(0, 1fr) auto; row-gap: 0.4rem; }
  .pdks-flow-row .pdks-tl { grid-column: 1 / -1; order: 5; }
  .pdks-flow-row .pdks-meta { display: none; }
  .pdks-flow-scale { display: none; }
}
@media (prefers-reduced-motion: reduce) {
  .pdks-ozet .pdks-card { transition: none; }
  .pdks-ozet .pdks-card:hover { transform: none; }
  .pdks-pulse i::after,
  .pdks-flow .pdks-tl-bar.is-live::after,
  .pdks-ozet .pdks-list li.is-new { animation: none; }
}
