/* ==========================================================================
   NOKTApp Apt — Tasarım Sistemi
   Açık tema, turuncu vurgu. Koyu tema kullanılmaz.
   ========================================================================== */

:root{
  /* Marka */
  --brand:#F07A13; --brand-600:#D96A0B; --brand-700:#B85708; --brand-050:#FFF4EA; --brand-100:#FFE6CE;
  --brand-grad:linear-gradient(135deg,#F79030 0%,#E86A05 100%);

  /* Nötr */
  --ink:#141720; --ink-2:#3B414F; --ink-3:#687185; --ink-4:#97A1B4;
  --line:#E6EAF1; --line-2:#EFF2F7;
  --bg:#EEF1F7; --surface:#FFFFFF; --surface-2:#F8FAFC;

  /* Durum */
  --ok:#2F6BE0; --ok-bg:#E9F0FD;   /* "tahsilat/olumlu" rengi — yeşil yerine kurumsal mavi */
  --warn:#B4690E; --warn-bg:#FFF5E5;
  --danger:#C42B1C; --danger-bg:#FDECEA;
  --info:#1B5FCC; --info-bg:#EAF1FE;
  --mute:#697386; --mute-bg:#F1F3F7;

  --r-sm:7px; --r:10px; --r-lg:16px; --r-xl:22px;
  --sh-1:0 1px 2px rgba(20,27,45,.05),0 1px 3px rgba(20,27,45,.04);
  --sh-2:0 2px 6px rgba(20,27,45,.05),0 8px 20px -10px rgba(20,27,45,.12);
  --sh-3:0 14px 40px -8px rgba(20,27,45,.18),0 4px 12px rgba(20,27,45,.06);
  --sh-card:0 1px 2px rgba(20,27,45,.04),0 3px 8px -2px rgba(20,27,45,.05),0 14px 32px -16px rgba(20,27,45,.12);
  --sidebar-w:260px; --topbar-h:60px;
  --font:"Inter","Segoe UI",-apple-system,BlinkMacSystemFont,Roboto,"Helvetica Neue",Arial,sans-serif;
}

*,*::before,*::after{box-sizing:border-box}
html,body{margin:0;padding:0}
body{
  font-family:var(--font); font-size:14px; line-height:1.5; color:var(--ink);
  background:var(--bg);
  background-image:linear-gradient(180deg,#F4F6FB 0%,#EBEFF6 100%);
  background-attachment:fixed;
  -webkit-font-smoothing:antialiased; text-rendering:optimizeLegibility;
}
a{color:var(--brand-700); text-decoration:none}
a:hover{text-decoration:underline}
h1,h2,h3,h4{margin:0; font-weight:650; letter-spacing:-.011em; color:var(--ink)}
h1{font-size:22px} h2{font-size:18px} h3{font-size:15px} h4{font-size:13px}
p{margin:0 0 10px}
small{font-size:12px}
svg{display:block}
.num{font-variant-numeric:tabular-nums; font-feature-settings:"tnum" 1}

/* ---------- Yerleşim ---------- */
.layout{display:flex; min-height:100vh}
.sidebar{
  width:var(--sidebar-w); flex:0 0 var(--sidebar-w); background:#fff;
  border-right:1px solid var(--line); display:flex; flex-direction:column;
  position:sticky; top:0; height:100vh; overflow:hidden;
}
.sb-brand{display:flex; align-items:center; gap:10px; padding:16px 18px; border-bottom:1px solid var(--line-2)}
.sb-logo{width:32px;height:32px;border-radius:9px;background:var(--brand-grad);display:grid;place-items:center;flex:0 0 32px;box-shadow:0 2px 6px rgba(232,106,5,.28)}
.sb-logo svg{width:18px;height:18px}
.sb-name{font-weight:700;font-size:15px;letter-spacing:-.02em;line-height:1.15}
.sb-name span{display:block;font-size:10.5px;font-weight:500;color:var(--ink-4);letter-spacing:.04em;text-transform:uppercase}

.sb-site{margin:12px 12px 6px; padding:9px 11px; background:var(--surface-2); border:1px solid var(--line); border-radius:var(--r)}
.sb-site label{display:block;font-size:10px;text-transform:uppercase;letter-spacing:.06em;color:var(--ink-4);font-weight:600;margin-bottom:3px}
.sb-site select{width:100%;border:0;background:transparent;font:inherit;font-weight:600;font-size:13px;color:var(--ink);cursor:pointer;outline:none;padding:0}

.sb-nav{flex:1; overflow-y:auto; padding:6px 10px 16px}
.sb-nav::-webkit-scrollbar{width:6px}
.sb-nav::-webkit-scrollbar-thumb{background:var(--line);border-radius:3px}
.sb-set{margin-top:12px}
.sb-group{
  display:flex; align-items:center; gap:6px; width:100%; margin:0; padding:5px 10px 5px;
  font:inherit; font-size:10px; font-weight:700; letter-spacing:.08em; text-transform:uppercase;
  color:var(--ink-4); background:none; border:0; border-radius:7px; cursor:pointer; text-align:left;
}
.sb-group:hover{background:var(--surface-2); color:var(--ink-3)}
.sb-group span{flex:1}
.sb-group svg{width:13px;height:13px;transform:rotate(0);transition:transform .16s}
.sb-set.acik .sb-group svg{transform:rotate(90deg)}
.sb-alt{display:none; margin-top:2px}
.sb-set.acik .sb-alt{display:block}
.sb-link{
  display:flex; align-items:center; gap:10px; padding:8px 10px; border-radius:8px;
  color:var(--ink-2); font-weight:520; font-size:13.5px; margin-bottom:1px; transition:background .12s,color .12s;
}
.sb-link:hover{background:var(--surface-2); color:var(--ink); text-decoration:none}
.sb-link.active{background:var(--brand-050); color:var(--brand-700); font-weight:640}
.sb-link.active .ico{color:var(--brand)}
.sb-link .ico{width:17px;height:17px;flex:0 0 17px;color:var(--ink-4)}
.sb-link .cnt{margin-left:auto;background:var(--danger);color:#fff;font-size:10.5px;font-weight:700;min-width:18px;height:18px;border-radius:9px;display:grid;place-items:center;padding:0 5px}
.sb-link .cnt.soft{background:var(--brand-100);color:var(--brand-700)}
.sb-foot{padding:10px 14px;border-top:1px solid var(--line-2);font-size:11px;color:var(--ink-4)}

.main{flex:1; min-width:0; display:flex; flex-direction:column}
.topbar{
  height:var(--topbar-h); background:rgba(255,255,255,.85); backdrop-filter:saturate(1.6) blur(8px);
  border-bottom:1px solid var(--line); box-shadow:0 1px 3px rgba(20,27,45,.03);
  display:flex; align-items:center; gap:14px; padding:0 22px; position:sticky; top:0; z-index:30;
}
.tb-title{font-weight:660;font-size:15.5px;letter-spacing:-.01em}
.tb-crumb{font-size:12px;color:var(--ink-4);margin-top:1px}
.tb-right{margin-left:auto; display:flex; align-items:center; gap:8px}
.lang-sw{display:flex;border:1px solid var(--line);border-radius:7px;overflow:hidden}
.lang-sw a{padding:4px 9px;font-size:11.5px;font-weight:650;color:var(--ink-3);background:#fff}
.lang-sw a.on{background:var(--brand);color:#fff}
.lang-sw a:hover{text-decoration:none}
.avatar{width:32px;height:32px;border-radius:50%;background:var(--brand-grad);color:#fff;display:grid;place-items:center;font-weight:700;font-size:12.5px;letter-spacing:.02em}
.content{padding:22px; flex:1}
.page-head{display:flex;align-items:flex-start;gap:14px;margin-bottom:20px;flex-wrap:wrap}
.page-head h1{font-size:23px;letter-spacing:-.022em}
.page-head .sub{color:var(--ink-3);font-size:13px;margin-top:4px;max-width:70ch;line-height:1.5}
.page-head .acts{margin-left:auto;display:flex;gap:8px;flex-wrap:wrap}

/* ---------- Gezinme: arama düğmesi, çekmece, komut paleti ---------- */
.sb-kapat{display:none;margin-left:auto;background:none;border:0;padding:4px;color:var(--ink-4);cursor:pointer;border-radius:7px}
.sb-kapat:hover{background:var(--surface-2);color:var(--ink)}
.sb-bul{
  display:flex; align-items:center; gap:8px; width:calc(100% - 24px); margin:8px 12px 2px;
  padding:7px 10px; font:inherit; font-size:12.5px; color:var(--ink-4);
  background:var(--surface-2); border:1px solid var(--line); border-radius:var(--r); cursor:pointer;
}
.sb-bul:hover{background:#fff;border-color:var(--brand-100);color:var(--ink-3)}
.sb-bul span{flex:1;text-align:left}
.sb-bul svg{width:15px;height:15px;flex:0 0 15px}
kbd{
  font:inherit;font-size:10px;font-weight:600;color:var(--ink-4);background:#fff;
  border:1px solid var(--line);border-bottom-width:2px;border-radius:5px;padding:1px 5px;white-space:nowrap;
}
.tb-menu{display:none;background:none;border:0;padding:6px;margin-right:2px;color:var(--ink-2);cursor:pointer;border-radius:8px}
.tb-menu:hover{background:var(--surface-2)}
.tb-head{min-width:0}
.tb-head .tb-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.sb-perde{position:fixed;inset:0;background:rgba(15,23,42,.42);z-index:38;backdrop-filter:blur(1px)}

/* display:flex, [hidden] özniteliğinin display:none'unu ezdiği için palet
   görünmez ama tıklamaları yutan bir katman hâline geliyordu. */
.palet{position:fixed;inset:0;z-index:60;background:rgba(15,23,42,.4);display:flex;align-items:flex-start;justify-content:center;padding:12vh 16px 16px}
.palet[hidden]{display:none}
[hidden]{display:none}
.palet-box{width:100%;max-width:560px;background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:0 24px 64px rgba(15,23,42,.28);overflow:hidden;display:flex;flex-direction:column;max-height:70vh}
.palet-h{display:flex;align-items:center;gap:10px;padding:13px 15px;border-bottom:1px solid var(--line-2)}
.palet-h svg{width:17px;height:17px;color:var(--ink-4);flex:0 0 17px}
.palet-h input{flex:1;border:0;outline:none;font:inherit;font-size:15px;color:var(--ink);background:transparent}
.palet-liste{overflow-y:auto;padding:6px}
.palet-sr{display:flex;align-items:center;gap:10px;padding:9px 11px;border-radius:9px;color:var(--ink-2);font-size:13.5px;font-weight:520}
.palet-sr:hover{text-decoration:none}
.palet-sr.on{background:var(--brand-050);color:var(--brand-700);font-weight:640}
.palet-sr svg{width:16px;height:16px;flex:0 0 16px;color:var(--ink-4)}
.palet-sr.on svg{color:var(--brand)}
.palet-sr span{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.palet-sr em{font-style:normal;font-size:10px;font-weight:700;letter-spacing:.06em;color:var(--ink-4)}
.palet-bos{padding:26px;text-align:center;color:var(--ink-4);font-size:13px}
.palet-f{padding:8px 14px;border-top:1px solid var(--line-2);background:var(--surface-2);font-size:11px;color:var(--ink-4);display:flex;gap:5px;align-items:center;flex-wrap:wrap}
body.palet-acik{overflow:hidden}

@media(max-width:900px){
  .sidebar{
    position:fixed; top:0; left:0; z-index:40; height:100dvh;
    transform:translateX(-100%); transition:transform .2s ease; box-shadow:0 0 40px rgba(15,23,42,.18);
  }
  body.menu-acik .sidebar{transform:translateX(0)}
  body.menu-acik{overflow:hidden}
  .sb-kapat{display:block}
  .tb-menu{display:block}
  .topbar{padding:0 14px}
  .content{padding:16px 14px}
  .palet{padding:8vh 12px 12px}
}
@media(min-width:901px){.sb-perde{display:none!important}}

/* Gönderilmekte olan formun düğmesi: tekrar tıklanamaz ama form verisinde kalır */
.mesgul{opacity:.6;pointer-events:none;cursor:progress}

/* ---------- Kart ---------- */
.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--sh-card)}
.card+.card{margin-top:16px}
.card-h{display:flex;align-items:center;gap:10px;padding:15px 20px;border-bottom:1px solid var(--line-2)}
.card-h h3{font-size:15px;letter-spacing:-.01em}
.card-h .acts{margin-left:auto;display:flex;gap:7px}
.card-b{padding:18px}
.card-b.tight{padding:0}
.card-f{padding:12px 18px;border-top:1px solid var(--line-2);background:var(--surface-2);border-radius:0 0 var(--r-lg) var(--r-lg)}

.grid{display:grid;gap:16px}
/* Izgara hücresi varsayılan olarak içeriğinin en dar hâlinden küçülemez
   (min-width:auto). Dar ekranda grafik ve tablolar hücreyi zorlayıp sayfayı
   yatay kaydırılır hâle getiriyordu. */
.grid > *{min-width:0}
.g2{grid-template-columns:repeat(2,minmax(0,1fr))}
.g3{grid-template-columns:repeat(3,minmax(0,1fr))}
.g4{grid-template-columns:repeat(4,minmax(0,1fr))}
.g5{grid-template-columns:repeat(5,minmax(0,1fr))}
.g-2-1{grid-template-columns:2fr 1fr}
.g-1-2{grid-template-columns:1fr 2fr}
@media(max-width:1180px){.g4,.g5{grid-template-columns:repeat(2,minmax(0,1fr))}.g-2-1,.g-1-2,.g3{grid-template-columns:1fr}}
@media(max-width:760px){.g2,.g4,.g5{grid-template-columns:1fr}}

/* ---------- KPI ---------- */
.kpi{background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);padding:17px 19px;box-shadow:var(--sh-card);position:relative;overflow:hidden;transition:box-shadow .18s ease,transform .18s ease}
.kpi:hover{box-shadow:var(--sh-3);transform:translateY(-2px)}
.kpi::before{content:"";position:absolute;inset:0 0 auto auto;width:140px;height:140px;transform:translate(42%,-48%);border-radius:50%;background:radial-gradient(circle,rgba(240,122,19,.12),transparent 68%);pointer-events:none}
.kpi.ok::before{background:radial-gradient(circle,rgba(18,128,92,.12),transparent 68%)}
.kpi.warn::before{background:radial-gradient(circle,rgba(180,105,14,.13),transparent 68%)}
.kpi.danger::before{background:radial-gradient(circle,rgba(196,43,28,.12),transparent 68%)}
.kpi.info::before{background:radial-gradient(circle,rgba(27,95,204,.12),transparent 68%)}
.kpi::after{content:"";position:absolute;inset:0 auto 0 0;width:3px;border-radius:0 3px 3px 0;background:var(--brand-grad);opacity:.95}
.kpi.ok::after{background:linear-gradient(180deg,#4C86F0,#2456C0)} .kpi.warn::after{background:linear-gradient(180deg,#D0870F,#9A5A09)}
.kpi.danger::after{background:linear-gradient(180deg,#E0463A,#A92316)} .kpi.info::after{background:linear-gradient(180deg,#3B7BE0,#1B5FCC)}
.kpi .lbl{font-size:11.5px;font-weight:650;color:var(--ink-3);text-transform:uppercase;letter-spacing:.055em;display:flex;align-items:center;gap:6px;position:relative}
.kpi .lbl svg{width:15px;height:15px;color:var(--brand);opacity:.85}
.kpi.ok .lbl svg{color:var(--ok)} .kpi.warn .lbl svg{color:var(--warn)}
.kpi.danger .lbl svg{color:var(--danger)} .kpi.info .lbl svg{color:var(--info)}
.kpi .val{font-size:27px;font-weight:720;letter-spacing:-.028em;margin-top:9px;line-height:1.08;position:relative}
.kpi .val small{font-size:14px;font-weight:600;color:var(--ink-3)}
.kpi .sub{font-size:12px;color:var(--ink-3);margin-top:5px;display:flex;align-items:center;gap:5px;position:relative}
.trend{font-weight:650;font-size:11.5px;padding:1px 6px;border-radius:20px}
.trend.up{color:var(--ok);background:var(--ok-bg)} .trend.down{color:var(--danger);background:var(--danger-bg)}
/* Tıklanabilir KPI kartı: ilgili ekrana gider, köşede ok belirir */
a.kpi-link{display:block;color:inherit;text-decoration:none;cursor:pointer}
a.kpi-link:hover{text-decoration:none}
.kpi-link>svg{position:absolute;right:14px;bottom:13px;width:16px;height:16px;color:var(--ink-4);opacity:0;transform:translateX(-3px);transition:opacity .15s,transform .15s}
.kpi-link:hover>svg{opacity:.9;transform:translateX(0)}

/* ---------- Tablo ---------- */
.tbl-wrap{overflow-x:auto}
table.tbl{width:100%;border-collapse:collapse;font-size:13.5px}
table.tbl th{
  text-align:left;padding:11px 15px;font-size:10.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;
  color:var(--ink-4);background:var(--surface-2);border-bottom:1px solid var(--line);white-space:nowrap;position:sticky;top:0
}
table.tbl td{padding:12px 15px;border-bottom:1px solid var(--line-2);vertical-align:middle}
table.tbl tbody tr{transition:background .12s}
table.tbl tbody tr:nth-child(even){background:#FBFCFE}
table.tbl tbody tr:last-child td{border-bottom:0}
table.tbl tbody tr:hover{background:var(--brand-050)}
table.tbl td.r,table.tbl th.r{text-align:right}
table.tbl td.c,table.tbl th.c{text-align:center}
table.tbl .muted{color:var(--ink-3)}
table.tbl tfoot td{padding:10px 14px;font-weight:700;background:var(--surface-2);border-top:2px solid var(--line)}
/* BOŞLUKSUZ UZUN METİN KUTUSUNDAN TAŞIYORDU.
   Kullanıcı bir duyuruya uzun bir bağlantı yapıştırdığında ya da bir talep
   başlığı boşluksuz yazıldığında satır hiçbir yerden bölünemiyor ve kartın
   dışına, hatta sayfanın dışına taşıyordu. Metin taşıyan her yerde kırılmaya
   izin verilir; tablo hücreleri ve başlıklar dâhil. */
.card-b,.card-b p,.card-b td,.card-b th,.page-head h1,.page-head .sub,
.alert,.chip,.badge,.tbl-empty{overflow-wrap:anywhere}

.tbl-empty{padding:44px 20px;text-align:center;color:var(--ink-4)}
.tbl-empty svg{width:38px;height:38px;margin:0 auto 10px;color:var(--line)}

/* ---------- Rozet ---------- */
.badge{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border-radius:20px;font-size:11.5px;font-weight:650;line-height:18px;white-space:nowrap}
.badge.ok{background:var(--ok-bg);color:var(--ok)}
.badge.warn{background:var(--warn-bg);color:var(--warn)}
.badge.danger{background:var(--danger-bg);color:var(--danger)}
.badge.info{background:var(--info-bg);color:var(--info)}
.badge.mute{background:var(--mute-bg);color:var(--mute)}
.badge.brand{background:var(--brand-050);color:var(--brand-700)}
.dot{width:7px;height:7px;border-radius:50%;background:currentColor;flex:0 0 7px}
.chip{display:inline-flex;align-items:center;gap:5px;padding:3px 9px;border:1px solid var(--line);border-radius:20px;font-size:12px;font-weight:550;color:var(--ink-2);background:#fff}

/* ---------- Düğme ---------- */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:7px;
  padding:8px 14px;border-radius:8px;border:1px solid var(--line);background:#fff;color:var(--ink);
  font:inherit;font-size:13.5px;font-weight:600;cursor:pointer;transition:.13s;white-space:nowrap;
}
.btn:hover{background:var(--surface-2);border-color:var(--ink-4);text-decoration:none}
.btn svg{width:15px;height:15px}
.btn-primary{background:var(--brand-grad);border-color:transparent;color:#fff;box-shadow:0 1px 2px rgba(184,87,8,.25),0 4px 12px -2px rgba(232,106,5,.4)}
.btn-primary:hover{filter:brightness(1.04);background:var(--brand-grad);border-color:transparent;color:#fff;box-shadow:0 2px 4px rgba(184,87,8,.3),0 8px 18px -4px rgba(232,106,5,.5)}
.btn-primary:active{filter:brightness(.96);box-shadow:0 1px 2px rgba(184,87,8,.3)}
.btn-ok{background:var(--ok);border-color:transparent;color:#fff}
.btn-ok:hover{filter:brightness(.94);background:var(--ok);border-color:transparent;color:#fff}
.btn-danger{background:var(--danger);border-color:transparent;color:#fff}
.btn-danger:hover{background:#a92316;color:#fff}
.btn-ghost{border-color:transparent;background:transparent;color:var(--ink-2)}
.btn-ghost:hover{background:var(--mute-bg)}
.btn-sm{padding:5px 10px;font-size:12.5px;border-radius:7px}
.btn-sm svg{width:13px;height:13px}
.btn-lg{padding:11px 20px;font-size:14.5px;border-radius:10px}
.btn-block{width:100%}
.btn:disabled{opacity:.5;cursor:not-allowed}
.btn-icon{padding:6px;width:30px;height:30px}

/* ---------- Form ---------- */
.field{margin-bottom:14px}
.field label{display:block;font-size:12.5px;font-weight:620;color:var(--ink-2);margin-bottom:5px}
.field label .req{color:var(--danger)}
.field .hint{font-size:11.5px;color:var(--ink-4);margin-top:4px;line-height:1.45}
.inp,select.inp,textarea.inp{
  width:100%;padding:9px 11px;border:1px solid var(--line);border-radius:8px;background:#fff;
  font:inherit;font-size:13.5px;color:var(--ink);transition:border-color .13s,box-shadow .13s;
}
.inp:focus,select.inp:focus,textarea.inp:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 3px rgba(240,122,19,.14)}
.inp::placeholder{color:var(--ink-4)}
textarea.inp{min-height:88px;resize:vertical;line-height:1.55}
select.inp{appearance:none;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'><path d='M3 4.5L6 8l3-3.5' fill='none' stroke='%23697386' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/></svg>");background-repeat:no-repeat;background-position:right 10px center;padding-right:30px}
.inp-group{display:flex}
.inp-group .inp{border-radius:8px 0 0 8px}
.inp-group .addon{display:grid;place-items:center;padding:0 11px;border:1px solid var(--line);border-left:0;border-radius:0 8px 8px 0;background:var(--surface-2);font-size:13px;color:var(--ink-3);font-weight:600}
.row{display:grid;gap:14px}
.row-2{grid-template-columns:1fr 1fr}
.row-3{grid-template-columns:repeat(3,1fr)}
.row-4{grid-template-columns:repeat(4,1fr)}
.row-5{grid-template-columns:repeat(5,1fr)}
.row-6{grid-template-columns:repeat(6,1fr)}
.chk{display:inline-flex;align-items:center;gap:6px;cursor:pointer;color:var(--ink-3);font-size:11.5px;user-select:none}
.chk input{width:14px;height:14px;accent-color:var(--brand);margin:0}
.ml8{margin-left:8px}
@media(max-width:1100px){.row-5,.row-6{grid-template-columns:1fr 1fr}}
@media(max-width:700px){.row-2,.row-3,.row-4{grid-template-columns:1fr}}
.check{display:flex;align-items:flex-start;gap:8px;font-size:13.5px;cursor:pointer}
.check input{width:16px;height:16px;margin:1px 0 0;accent-color:var(--brand);cursor:pointer}
.switch{position:relative;display:inline-block;width:38px;height:21px}
.switch input{opacity:0;width:0;height:0}
.switch .sl{position:absolute;inset:0;background:var(--line);border-radius:21px;transition:.2s;cursor:pointer}
.switch .sl:before{content:"";position:absolute;width:17px;height:17px;left:2px;top:2px;background:#fff;border-radius:50%;transition:.2s;box-shadow:var(--sh-1)}
.switch input:checked+.sl{background:var(--brand)}
.switch input:checked+.sl:before{transform:translateX(17px)}

/* ---------- Uyarı ---------- */
.alert{display:flex;gap:11px;padding:12px 15px;border-radius:var(--r);font-size:13.2px;line-height:1.55;border:1px solid;margin-bottom:14px}
.alert svg{width:17px;height:17px;flex:0 0 17px;margin-top:1px}
.alert b{font-weight:670}
.alert.info{background:var(--info-bg);border-color:#C6DAFB;color:#154A9E}
.alert.ok{background:var(--ok-bg);border-color:#BBD2F6;color:#1A4AA0}
.alert.warn{background:var(--warn-bg);border-color:#F5DDB0;color:#8A5109}
.alert.danger{background:var(--danger-bg);border-color:#F6C7C2;color:#962014}
.alert.legal{background:#FBF9F4;border-color:#E8E0CE;color:#5E5340}
.alert .x{margin-left:auto;cursor:pointer;opacity:.5}

/* ---------- İlerleme ---------- */
.bar{height:7px;background:var(--line-2);border-radius:4px;overflow:hidden}
.bar>i{display:block;height:100%;background:var(--brand);border-radius:4px;transition:width .4s}
.bar>i.ok{background:var(--ok)} .bar>i.warn{background:var(--warn)} .bar>i.danger{background:var(--danger)}
.bar.lg{height:10px}
.meter{display:flex;align-items:center;gap:9px}
.meter .bar{flex:1}
.meter .pc{font-size:12px;font-weight:700;min-width:42px;text-align:right;font-variant-numeric:tabular-nums}

/* ---------- Zaman çizelgesi ---------- */
.tl{position:relative;padding-left:22px}
.tl::before{content:"";position:absolute;left:6px;top:5px;bottom:5px;width:2px;background:var(--line-2)}
.tl-item{position:relative;padding-bottom:15px}
.tl-item:last-child{padding-bottom:0}
.tl-item::before{content:"";position:absolute;left:-20px;top:4px;width:9px;height:9px;border-radius:50%;background:#fff;border:2px solid var(--brand)}
.tl-item.mute::before{border-color:var(--line)}
.tl-item.ok::before{border-color:var(--ok)}
.tl-item.danger::before{border-color:var(--danger)}
.tl-t{font-size:11.5px;color:var(--ink-4);font-weight:600}
.tl-b{font-size:13.2px;margin-top:1px}

/* ---------- Sekme ---------- */
.tabs{display:flex;gap:2px;border-bottom:1px solid var(--line);margin-bottom:18px;overflow-x:auto}
.tabs a{padding:9px 14px;font-size:13.5px;font-weight:600;color:var(--ink-3);border-bottom:2px solid transparent;margin-bottom:-1px;white-space:nowrap}
.tabs a:hover{color:var(--ink);text-decoration:none}
.tabs a.on{color:var(--brand-700);border-bottom-color:var(--brand)}

/* ---------- Giriş ekranı (bölünmüş) ---------- */
.auth{display:grid;grid-template-columns:1fr 1fr;min-height:100vh}
.auth-art{
  background:var(--brand-grad);color:#fff;padding:56px;display:flex;flex-direction:column;
  justify-content:space-between;position:relative;overflow:hidden;
}
.auth-art::before{content:"";position:absolute;width:620px;height:620px;border-radius:50%;background:rgba(255,255,255,.08);top:-220px;right:-200px}
.auth-art::after{content:"";position:absolute;width:400px;height:400px;border-radius:50%;background:rgba(255,255,255,.06);bottom:-160px;left:-130px}
.auth-art>*{position:relative;z-index:1}
.auth-logo{display:flex;align-items:center;gap:12px}
.auth-logo .m{width:42px;height:42px;border-radius:12px;background:rgba(255,255,255,.18);display:grid;place-items:center;backdrop-filter:blur(6px)}
.auth-logo .m svg{width:23px;height:23px}
.auth-logo b{font-size:19px;font-weight:700;letter-spacing:-.02em}
.auth-logo span{display:block;font-size:11px;opacity:.82;font-weight:500;letter-spacing:.05em;text-transform:uppercase}
.auth-art h2{color:#fff;font-size:31px;line-height:1.25;letter-spacing:-.028em;max-width:15ch;font-weight:680}
.auth-art .lead{opacity:.9;font-size:14.5px;margin-top:14px;max-width:40ch;line-height:1.65}
.auth-feats{display:flex;flex-direction:column;gap:13px;margin-top:30px}
.auth-feat{display:flex;gap:11px;align-items:flex-start;font-size:13.5px;opacity:.94}
.auth-feat svg{width:18px;height:18px;flex:0 0 18px;margin-top:1px;opacity:.9}
.auth-foot{font-size:12px;opacity:.75}
.auth-form{display:flex;align-items:center;justify-content:center;padding:40px;background:#fff}
.auth-box{width:100%;max-width:372px}
.auth-box h1{font-size:24px;letter-spacing:-.026em}
.auth-box .sub{color:var(--ink-3);margin:6px 0 26px;font-size:13.8px}
@media(max-width:900px){.auth{grid-template-columns:1fr}.auth-art{display:none}}

/* ---------- Yardımcılar ---------- */
.muted{color:var(--ink-3)} .mute2{color:var(--ink-4)}
.small{font-size:12px} .xs{font-size:11px}
.b{font-weight:650} .bb{font-weight:750}
.tr{text-align:right} .tc{text-align:center}
.ok-t{color:var(--ok)} .warn-t{color:var(--warn)} .danger-t{color:var(--danger)} .brand-t{color:var(--brand-700)}
.mt0{margin-top:0}.mt4{margin-top:4px}.mt8{margin-top:8px}.mt12{margin-top:12px}.mt16{margin-top:16px}.mt24{margin-top:24px}
.mb0{margin-bottom:0}.mb8{margin-bottom:8px}.mb12{margin-bottom:12px}.mb16{margin-bottom:16px}.mb24{margin-bottom:24px}
.flex{display:flex}.ac{align-items:center}.jb{justify-content:space-between}.g4{gap:4px}.g6{gap:6px}.g8{gap:8px}.g12{gap:12px}.g16{gap:16px}.g20{gap:20px}
.wrap{flex-wrap:wrap}.grow{flex:1}
.nowrap{white-space:nowrap}
.divider{height:1px;background:var(--line-2);margin:16px 0}
.pill-row{display:flex;gap:6px;flex-wrap:wrap}
.stat-line{display:flex;justify-content:space-between;padding:7px 0;border-bottom:1px dashed var(--line-2);font-size:13.2px}
.stat-line:last-child{border-bottom:0}
.stat-line b{font-variant-numeric:tabular-nums}
.legal-ref{font-size:11.5px;color:var(--ink-4);font-style:normal;border-left:2px solid var(--brand-100);padding-left:8px;margin-top:6px;line-height:1.5}
.avatar-sm{width:26px;height:26px;border-radius:50%;background:var(--brand-050);color:var(--brand-700);display:grid;place-items:center;font-weight:700;font-size:10.5px;flex:0 0 26px}

/* ---------- Yazdırma ---------- */
@media print{
  .sidebar,.topbar,.page-head .acts,.btn,.no-print{display:none!important}
  body{background:#fff} .content{padding:0} .card{border:0;box-shadow:none}
  table.tbl th{background:#f2f2f2!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}
}

/* ---- Modal (yönetim organları, personel, tedarikçi formları) ---- */
.modal{position:fixed;inset:0;z-index:60;display:flex;align-items:center;justify-content:center;
  background:rgba(18,22,30,.5);padding:20px;overflow:auto}
.modal[hidden]{display:none}
.modal-box{background:var(--surface);border-radius:16px;width:100%;max-width:720px;
  box-shadow:0 20px 60px rgba(0,0,0,.28);max-height:92vh;display:flex;flex-direction:column}
.modal-h{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;
  border-bottom:1px solid var(--line)}
.modal-h h3{font-size:16px;font-weight:700;margin:0}
.modal-b{padding:20px;overflow:auto}
.modal-f{display:flex;gap:10px;justify-content:flex-end;padding:14px 20px;border-top:1px solid var(--line)}

/* Geri bağlantılarında chevron'u sola çevirir (ayrı bir ikon eklemeye gerek yok). */
.ico.sola{transform:rotate(180deg)}
