/* =====================================================================
   PatronOS Muhasebe - Tasarım Sistemi
   Data-Dense Dashboard · mavi #1E40AF + amber #D97706 · Fira Sans
   ===================================================================== */
:root{
  --birincil:#1E40AF; --birincil-koyu:#1a3691; --ikincil:#3B82F6;
  --vurgu:#D97706; --arka:#F1F5F9; --yuzey:#FFFFFF; --on:#0F172A;
  --sessiz:#64748B; --cizgi:#E2E8F0; --cizgi-koyu:#CBD5E1;
  --yesil:#16A34A; --sari:#D97706; --kirmizi:#DC2626; --mavi:#2563EB; --gri:#64748B;
  --golge-sm:0 1px 2px rgba(15,23,42,.06); --golge:0 1px 3px rgba(15,23,42,.1),0 1px 2px rgba(15,23,42,.06);
  --golge-lg:0 10px 25px -5px rgba(15,23,42,.12); --r:10px; --r-sm:7px;
  --yan-gen:248px;
}
*{box-sizing:border-box;margin:0;padding:0}
html{-webkit-text-size-adjust:100%}
body{font-family:'Fira Sans',system-ui,sans-serif;background:var(--arka);color:var(--on);font-size:14px;line-height:1.5;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
.mono{font-family:'Fira Code','Fira Sans',monospace;font-variant-numeric:tabular-nums}
@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}

/* ---------- Kabuk ---------- */
.kabuk{display:flex;min-height:100vh}
.yan{width:var(--yan-gen);background:#0F1E45;color:#CBD5E1;position:fixed;inset:0 auto 0 0;display:flex;flex-direction:column;z-index:40}
.govde{flex:1;margin-left:var(--yan-gen);min-width:0;display:flex;flex-direction:column}

/* ---------- Marka ---------- */
.marka{display:flex;align-items:center;gap:11px;padding:20px 18px;border-bottom:1px solid rgba(255,255,255,.08)}
.marka-logo{width:38px;height:38px;border-radius:9px;background:linear-gradient(135deg,var(--ikincil),var(--birincil));display:grid;place-items:center;font-weight:700;color:#fff;font-size:19px;box-shadow:0 2px 8px rgba(37,99,235,.4)}
.marka-logo.lg{width:52px;height:52px;font-size:26px;border-radius:12px}
.marka-yazi{display:flex;flex-direction:column;line-height:1.2}
.marka-yazi strong{color:#fff;font-size:15px}
.marka-yazi span{font-size:11px;color:#94A3B8;letter-spacing:.06em;text-transform:uppercase}

/* ---------- Nav ---------- */
.nav{flex:1;padding:14px 12px;overflow-y:auto}
.nav-baslik{font-size:10.5px;text-transform:uppercase;letter-spacing:.08em;color:#64748B;margin:16px 10px 6px;font-weight:600}
.nav-oge{display:flex;align-items:center;gap:11px;padding:9px 11px;border-radius:8px;color:#CBD5E1;font-weight:500;font-size:13.5px;margin-bottom:2px;transition:background .15s,color .15s;cursor:pointer}
.nav-oge:hover{background:rgba(255,255,255,.06);color:#fff}
.nav-oge.aktif{background:var(--birincil);color:#fff;box-shadow:0 2px 8px rgba(30,64,175,.45)}
.nav-ikon{width:18px;height:18px;flex-shrink:0;display:grid;place-items:center}
.nav-ikon svg{width:18px;height:18px}
.yan-alt{padding:14px 18px;border-top:1px solid rgba(255,255,255,.08)}
.rol-etiket{font-size:11px;color:#94A3B8;background:rgba(255,255,255,.06);padding:5px 10px;border-radius:20px;display:inline-block}

/* ---------- Üst bar ---------- */
.ustbar{position:sticky;top:0;z-index:30;height:60px;background:var(--yuzey);border-bottom:1px solid var(--cizgi);display:flex;align-items:center;gap:14px;padding:0 22px;box-shadow:var(--golge-sm)}
.sayfa-baslik{font-size:17px;font-weight:600;flex:1;color:var(--on)}
.menu-btn{display:none;background:none;border:none;cursor:pointer;color:var(--sessiz)}
.menu-btn svg{width:22px;height:22px}
.ustbar-sag{display:flex;align-items:center;gap:14px}
.kul-kutu{display:flex;align-items:center;gap:10px}
.kul-avatar{width:36px;height:36px;border-radius:50%;background:linear-gradient(135deg,var(--vurgu),#b45309);color:#fff;display:grid;place-items:center;font-weight:600;font-size:15px}
.kul-bilgi{display:flex;flex-direction:column;line-height:1.25}
.kul-bilgi strong{font-size:13px}
.kul-bilgi span{font-size:11px;color:var(--sessiz)}
.cikis-btn{width:36px;height:36px;border-radius:8px;display:grid;place-items:center;color:var(--sessiz);transition:background .15s,color .15s}
.cikis-btn:hover{background:#FEE2E2;color:var(--kirmizi)}
.cikis-btn svg{width:18px;height:18px}

/* ---------- İçerik ---------- */
.icerik{padding:24px;max-width:1400px;width:100%;margin:0 auto}
.sayfa-ust{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:18px;flex-wrap:wrap}
.ust-aksiyon,.ust-bilgi,.ust-mukellef{display:flex;align-items:center;gap:10px}

/* ---------- Kart ---------- */
.kart{background:var(--yuzey);border:1px solid var(--cizgi);border-radius:var(--r);box-shadow:var(--golge-sm);padding:20px;margin-bottom:20px}
.kart-baslik{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}
.kart-baslik h2{font-size:15px;font-weight:600}
.tablo-kart{padding:0;overflow:hidden}

/* ---------- KPI ---------- */
.kpi-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:22px}
.kpi-kart{background:var(--yuzey);border:1px solid var(--cizgi);border-radius:var(--r);padding:18px 20px;box-shadow:var(--golge-sm);position:relative;overflow:hidden}
.kpi-kart::before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--birincil)}
.kpi-ust{display:flex;justify-content:space-between;font-size:12.5px;color:var(--sessiz);font-weight:500;margin-bottom:8px}
.kpi-deger{font-size:30px;font-weight:700;font-variant-numeric:tabular-nums;line-height:1}
.yesil-yazi{color:var(--yesil)} .sari-yazi{color:var(--sari)} .mavi-yazi{color:var(--mavi)}

/* ---------- Pano grid ---------- */
.pano-grid{display:grid;grid-template-columns:1.35fr 1fr;gap:20px;align-items:start}

/* ---------- Tablo ---------- */
.tablo{width:100%;border-collapse:collapse;font-size:13.5px}
.tablo th{text-align:left;font-weight:600;color:var(--sessiz);font-size:11.5px;text-transform:uppercase;letter-spacing:.04em;padding:11px 16px;border-bottom:1px solid var(--cizgi);background:#F8FAFC}
.tablo td{padding:12px 16px;border-bottom:1px solid var(--cizgi)}
.tablo tbody tr:last-child td,.tablo tbody tr:last-child td{border-bottom:none}
.tablo-tik tbody tr{transition:background .12s}
.tablo-tik tbody tr:hover{background:#F8FAFC}
.tablo .sag{text-align:right}
.link-guclu{font-weight:600;color:var(--birincil)}
.link-guclu:hover{text-decoration:underline}
.alt-metin{display:block;color:var(--sessiz);font-size:11.5px;margin-top:2px}
.islem-hucre{white-space:nowrap}
.sil-form{display:inline}

/* ---------- Rozet / etiket ---------- */
.rozet{display:inline-block;padding:3px 9px;border-radius:20px;font-size:11.5px;font-weight:600;line-height:1.4}
.rozet-yesil{background:#DCFCE7;color:#15803D}
.rozet-sari{background:#FEF3C7;color:#B45309}
.rozet-kirmizi{background:#FEE2E2;color:#B91C1C}
.rozet-mavi{background:#DBEAFE;color:#1D4ED8}
.rozet-gri{background:#F1F5F9;color:#475569}
.etiket-gri{display:inline-block;background:#F1F5F9;color:#475569;font-size:12px;padding:4px 10px;border-radius:6px;font-weight:500}

/* ---------- Butonlar ---------- */
.btn{display:inline-flex;align-items:center;gap:7px;padding:9px 16px;border-radius:8px;font-size:13.5px;font-weight:600;border:1px solid var(--cizgi);background:var(--yuzey);color:var(--on);cursor:pointer;transition:all .15s;white-space:nowrap}
.btn:hover{border-color:var(--cizgi-koyu);background:#F8FAFC}
.btn-birincil{background:var(--birincil);border-color:var(--birincil);color:#fff}
.btn-birincil:hover{background:var(--birincil-koyu);border-color:var(--birincil-koyu)}
.btn-duz{background:transparent;border-color:transparent;color:var(--sessiz)}
.btn-duz:hover{background:#F1F5F9;color:var(--on)}
.btn-blok{width:100%;justify-content:center;padding:11px}
.btn-mini{padding:5px 11px;font-size:12px}
.ikon-btn{display:inline-grid;place-items:center;width:32px;height:32px;border-radius:7px;color:var(--sessiz);border:1px solid transparent;background:none;cursor:pointer;transition:all .15s}
.ikon-btn:hover{background:#EFF6FF;color:var(--birincil)}
.ikon-btn.tehlike:hover{background:#FEE2E2;color:var(--kirmizi)}
.ikon-btn svg{width:16px;height:16px}

/* ---------- Filtre bar ---------- */
.filtre-bar{display:flex;gap:10px;margin-bottom:18px;flex-wrap:wrap;align-items:center}
.filtre-bar input[type=search],.filtre-bar select{padding:9px 12px;border:1px solid var(--cizgi);border-radius:8px;font-size:13.5px;font-family:inherit;background:var(--yuzey);color:var(--on)}
.filtre-bar input[type=search]{flex:1;min-width:220px}
.filtre-bar input:focus,.filtre-bar select:focus{outline:none;border-color:var(--birincil);box-shadow:0 0 0 3px rgba(30,64,175,.12)}

/* ---------- Form ---------- */
.form-kart{max-width:none}
.form-bolum-baslik{font-size:12px;text-transform:uppercase;letter-spacing:.05em;color:var(--birincil);font-weight:600;margin:22px 0 12px;padding-bottom:8px;border-bottom:1px solid var(--cizgi)}
.form-bolum-baslik:first-child{margin-top:0}
.form-izgara{display:grid;grid-template-columns:repeat(3,1fr);gap:14px 18px}
.alan{display:flex;flex-direction:column;gap:6px}
.alan.gen-2{grid-column:span 2}
.alan>span{font-size:12.5px;font-weight:500;color:#334155}
.alan .zorunlu{color:var(--kirmizi)}
.alan input,.alan select,.alan textarea{padding:9px 12px;border:1px solid var(--cizgi);border-radius:8px;font-size:13.5px;font-family:inherit;background:var(--yuzey);color:var(--on);transition:border .15s,box-shadow .15s}
.alan input:focus,.alan select:focus,.alan textarea:focus{outline:none;border-color:var(--birincil);box-shadow:0 0 0 3px rgba(30,64,175,.12)}
.alan textarea{resize:vertical}
.form-aksiyon{display:flex;gap:10px;margin-top:24px;padding-top:18px;border-top:1px solid var(--cizgi)}

/* ---------- Satır liste (dashboard) ---------- */
.satir-liste{list-style:none}
.satir-liste li{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 0;border-bottom:1px solid var(--cizgi)}
.satir-liste li:last-child{border-bottom:none}
.satir-ana{display:flex;align-items:center;gap:11px;min-width:0}
.satir-avatar{width:34px;height:34px;border-radius:8px;background:#EFF6FF;color:var(--birincil);display:grid;place-items:center;font-weight:600;flex-shrink:0}
.satir-metin{display:flex;flex-direction:column;min-width:0}
.satir-metin strong{font-size:13.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.satir-metin small{color:var(--sessiz);font-size:11.5px}

/* ---------- Detay ---------- */
.det-ust{display:flex;align-items:center;gap:18px}
.det-avatar-buyuk{width:60px;height:60px;border-radius:14px;background:linear-gradient(135deg,var(--ikincil),var(--birincil));color:#fff;display:grid;place-items:center;font-size:28px;font-weight:700;flex-shrink:0}
.det-ozet{flex:1;min-width:0}
.det-ozet h2{font-size:20px;margin-bottom:8px}
.det-etiketler{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.det-ucret{text-align:right;display:flex;flex-direction:column;gap:2px}
.det-ucret span{font-size:11.5px;color:var(--sessiz)}
.det-ucret strong{font-size:20px;color:var(--birincil);font-variant-numeric:tabular-nums}
.det-satir{display:flex;padding:9px 0;border-bottom:1px solid var(--cizgi);font-size:13.5px}
.det-satir:last-child{border-bottom:none}
.det-etiket{width:150px;flex-shrink:0;color:var(--sessiz);font-weight:500}
.det-deger{flex:1}
.det-deger .bos,.bos{color:var(--cizgi-koyu);font-style:normal}
.det-not{padding:12px 0}
.det-not p{margin-top:6px;color:#334155}
.ozet-kutular{display:flex;flex-direction:column;gap:14px}
.ozet-kutu{background:#F8FAFC;border:1px solid var(--cizgi);border-radius:8px;padding:12px 14px}
.ozet-kutu>span{font-size:12px;color:var(--sessiz);font-weight:600;display:block;margin-bottom:6px}
.ozet-satir{display:flex;justify-content:space-between;font-size:13px;padding:3px 0;text-transform:capitalize}
.bilgi-not{margin-top:14px;font-size:12px;color:var(--sessiz);background:#EFF6FF;border:1px dashed var(--cizgi-koyu);padding:10px 12px;border-radius:8px}

/* ---------- Uyarı kutuları / boş durum ---------- */
.uyari-kutu{padding:12px 16px;border-radius:9px;margin-bottom:16px;font-size:13.5px;font-weight:500;border:1px solid transparent}
.u-basari{background:#DCFCE7;color:#15803D;border-color:#BBF7D0}
.u-hata{background:#FEE2E2;color:#B91C1C;border-color:#FECACA}
.u-uyari,.u-bilgi{background:#DBEAFE;color:#1D4ED8;border-color:#BFDBFE}
.bos-durum{padding:36px 20px;text-align:center;color:var(--sessiz);font-size:14px}
.bos-durum a{color:var(--birincil);font-weight:600}

/* ---------- Sayfalama ---------- */
.sayfalama{display:flex;gap:6px;justify-content:center;flex-wrap:wrap}
.sayfalama a{min-width:36px;height:36px;display:grid;place-items:center;padding:0 10px;border:1px solid var(--cizgi);border-radius:8px;background:var(--yuzey);font-size:13px;font-weight:600;color:var(--sessiz);transition:all .15s}
.sayfalama a:hover{border-color:var(--birincil);color:var(--birincil)}
.sayfalama a.aktif{background:var(--birincil);border-color:var(--birincil);color:#fff}

/* ---------- Hata sayfası ---------- */
.hata-kart{text-align:center;padding:56px 24px;max-width:440px;margin:40px auto}
.hata-kod{font-size:60px;font-weight:700;color:var(--birincil);line-height:1;font-family:'Fira Code',monospace}
.hata-kart h2{margin:12px 0 6px}
.hata-kart p{color:var(--sessiz);margin-bottom:20px}

/* ---------- Giriş ---------- */
.giris-body{display:grid;place-items:center;min-height:100vh;background:linear-gradient(135deg,#0F1E45 0%,#1E40AF 100%);padding:20px}
.giris-kart{background:var(--yuzey);border-radius:16px;box-shadow:var(--golge-lg);padding:36px 32px;width:100%;max-width:410px}
.giris-marka{display:flex;align-items:center;gap:14px;margin-bottom:24px}
.giris-marka strong{font-size:18px;display:block}
.giris-marka p{font-size:12.5px;color:var(--sessiz);margin-top:2px}
.giris-form{display:flex;flex-direction:column;gap:16px;margin-top:8px}
.giris-alt{text-align:center;color:var(--sessiz);font-size:11.5px;margin-top:22px}

/* ---------- Yan perde (mobil) ---------- */
.yan-perde{display:none;position:fixed;inset:0;background:rgba(15,23,42,.5);z-index:39}

/* ---------- Duyarlı ---------- */
@media (max-width:1080px){
  .kpi-grid{grid-template-columns:repeat(2,1fr)}
  .pano-grid{grid-template-columns:1fr}
  .form-izgara{grid-template-columns:repeat(2,1fr)}
  .alan.gen-2{grid-column:span 2}
}
@media (max-width:768px){
  .yan{transform:translateX(-100%);transition:transform .25s;box-shadow:var(--golge-lg)}
  .yan.acik{transform:translateX(0)}
  .govde{margin-left:0}
  .menu-btn{display:grid}
  .yan-perde.acik{display:block}
  .kul-bilgi{display:none}
  .icerik{padding:16px}
  .form-izgara{grid-template-columns:1fr}
  .alan.gen-2{grid-column:span 1}
  .det-ust{flex-direction:column;text-align:center}
  .det-ucret{text-align:center}
  .tablo{font-size:12.5px}
  .tablo th,.tablo td{padding:9px 10px}
}
@media (max-width:480px){.kpi-grid{grid-template-columns:1fr}}

/* ---------- Evrak: dosya etiketi, upload, zaman çizelgesi (Paket 2) ---------- */
.dosya-etiket{display:inline-block;background:#EFF6FF;color:var(--birincil);font-size:12px;padding:3px 9px;border-radius:6px;font-family:'Fira Code',monospace;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;vertical-align:middle}
.dosya-input{padding:7px 10px!important;background:#F8FAFC!important;cursor:pointer;font-size:13px}
.dosya-input::file-selector-button{border:1px solid var(--cizgi);background:#fff;padding:6px 12px;border-radius:6px;font-family:inherit;font-size:12.5px;font-weight:600;color:var(--birincil);cursor:pointer;margin-right:10px}
.dosya-input::file-selector-button:hover{background:#EFF6FF}
.tehlike-btn{color:var(--kirmizi)!important}
.tehlike-btn:hover{background:#FEE2E2!important}

.zaman-cizelgesi{list-style:none;position:relative;padding-left:8px}
.zaman-cizelgesi::before{content:"";position:absolute;left:12px;top:6px;bottom:6px;width:2px;background:var(--cizgi)}
.zaman-cizelgesi li{position:relative;padding:0 0 18px 30px}
.zaman-cizelgesi li:last-child{padding-bottom:0}
.zc-nokta{position:absolute;left:5px;top:4px;width:14px;height:14px;border-radius:50%;background:var(--yuzey);border:3px solid var(--birincil);z-index:1}
.zc-baslik{display:flex;align-items:center;gap:7px;flex-wrap:wrap;margin-bottom:4px}
.zc-ok{color:var(--sessiz);font-weight:700}
.zc-not{font-size:13px;color:#334155;margin:2px 0 4px;background:#F8FAFC;padding:6px 10px;border-radius:6px;border-left:3px solid var(--cizgi-koyu)}
.durum-form .form-aksiyon{border-top:none}

/* Mükellef detayı: evrak mini liste */
.mini-liste{list-style:none}
.mini-liste li{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:9px 0;border-bottom:1px solid var(--cizgi);font-size:13px}
.mini-liste li:last-child{border-bottom:none}
.mini-sol{display:flex;flex-direction:column;min-width:0}
.mini-sol strong{font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mini-sol small{color:var(--sessiz);font-size:11.5px}
.kpi-link{cursor:pointer;transition:box-shadow .15s,transform .15s;text-decoration:none;color:inherit;display:block}
.kpi-link:hover{box-shadow:var(--golge);transform:translateY(-1px)}

/* ---------- Beyanname (Paket 3) ---------- */
.satir-geciken{background:#FEF2F2!important}
.satir-geciken:hover{background:#FEE2E2!important}
.tur-kod{display:inline-block;background:#1E293B;color:#fff;font-size:10.5px;font-weight:700;padding:2px 7px;border-radius:5px;font-family:'Fira Code',monospace;letter-spacing:.02em;vertical-align:middle}
.geciken-yazi{color:var(--kirmizi);font-weight:600}
.onay-etiket{display:inline-flex;align-items:center;gap:6px;font-size:13px;color:#334155;cursor:pointer;padding:0 4px}
.onay-etiket input{width:16px;height:16px;accent-color:var(--birincil);cursor:pointer}

.yukumluluk-izgara{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}
.yuk-oge{display:flex;align-items:flex-start;gap:11px;padding:13px 15px;border:1.5px solid var(--cizgi);border-radius:10px;cursor:pointer;transition:all .15s;background:var(--yuzey)}
.yuk-oge:hover{border-color:var(--cizgi-koyu);background:#F8FAFC}
.yuk-oge.secili{border-color:var(--birincil);background:#EFF6FF}
.yuk-oge input{width:18px;height:18px;margin-top:2px;accent-color:var(--birincil);cursor:pointer;flex-shrink:0}
.yuk-metin{display:flex;flex-direction:column;gap:3px}
.yuk-metin strong{font-size:13.5px}
.yuk-metin small{color:var(--sessiz);font-size:11.5px;display:flex;align-items:center;gap:6px}

/* mükellef detay: dönem kapatma satırı */
.donem-arac{display:flex;align-items:center;gap:8px;flex-wrap:wrap;background:#F8FAFC;border:1px solid var(--cizgi);border-radius:8px;padding:10px 12px;margin-top:12px}
.donem-arac select{padding:6px 9px;border:1px solid var(--cizgi);border-radius:6px;font-size:12.5px;font-family:inherit}
.donem-arac .etiket-kucuk{font-size:12px;color:var(--sessiz);font-weight:600}
@media (max-width:768px){.yukumluluk-izgara{grid-template-columns:1fr}}

/* dashboard: KPI alt uyarı (geciken) */
.kpi-alt-uyari{display:inline-block;margin-top:8px;font-size:11.5px;font-weight:600;color:var(--kirmizi);background:#FEE2E2;padding:2px 8px;border-radius:20px}
.kpi-alt-uyari:hover{background:#FECACA}

/* ---------- Aktarım (Paket 4) ---------- */
.kolon-izgara{display:grid;grid-template-columns:repeat(3,1fr);gap:8px 16px;background:#F8FAFC;border:1px solid var(--cizgi);border-radius:8px;padding:14px 16px}
.kolon-izgara .onay-etiket{padding:2px 0}
@media (max-width:768px){.kolon-izgara{grid-template-columns:repeat(2,1fr)}}
