/* OkulModül Döner Sermaye — OkulModül ailesinin (İhalematik Web) görsel dili. */
:root{--navy:#0e2642;--navy2:#153958;--blue:#1866a1;--sky:#eaf3fb;--text:#1b2a3b;--muted:#718297;--line:#e5eaf1;--white:#fff;--bg:#f5f7fa;--gold:#c98a12;--gold-bg:#fff4dc;--red:#b4433a;--red-bg:#fff0ed;--green:#18805c;--green-bg:#e6f7ef;--shadow:0 8px 32px rgba(24,46,75,.035)}
*{box-sizing:border-box}
html,body{margin:0;min-height:100%;font-family:Inter,'Segoe UI',Arial,sans-serif;background:var(--bg);color:var(--text)}
a{color:inherit;text-decoration:none}
button,input,select,textarea{font:inherit}
fieldset{border:0;padding:0;margin:0;min-width:0}
button{cursor:pointer}
.shell{display:flex;min-height:100vh;background:linear-gradient(90deg,#112c48 250px,var(--bg) 250px)}
.sidebar{background:linear-gradient(175deg,var(--navy),#122e4b);color:#fff;position:sticky;top:0;width:250px;min-width:250px;height:100vh;padding:24px 16px;display:flex;flex-direction:column;overflow-y:auto}
.brand{display:flex;align-items:center;gap:11px;padding:6px 8px 22px;font-size:21px;letter-spacing:-.6px;font-weight:790}
.brand-icon{display:grid;place-items:center;width:37px;height:37px;border-radius:12px;background:#fff;color:var(--gold);font-size:21px;font-weight:900}
.brand small{display:block;opacity:.62;letter-spacing:2px;font-size:9px;margin-top:3px;font-weight:600}
.side-label{padding:15px 11px 7px;font-size:10px;color:#8da6be;font-weight:700;letter-spacing:1.6px}
.sidebar nav{display:grid;gap:2px}
.sidebar nav a{padding:10px 12px;border-radius:10px;font-size:14px;display:flex;gap:10px;align-items:center;color:#c8d5e2}
.sidebar nav a:hover{background:#ffffff13;color:#fff}
.sidebar nav a.aktif{background:#ffffff1f;color:#fff;font-weight:700;box-shadow:inset 3px 0 0 #f0b43c}
.sidebar-bottom{margin-top:auto;padding:16px 11px 4px;color:#8297ac;font-size:11px;line-height:1.6}
.content{flex:1;min-width:0;display:flex;flex-direction:column}
.topbar{min-height:84px;background:white;display:flex;align-items:center;justify-content:space-between;gap:16px;border-bottom:1px solid var(--line);padding:12px 36px}
.crumb{color:var(--muted);font-size:12px;margin-bottom:5px}
.top-title{font-weight:750;font-size:19px}
.top-actions{display:flex;align-items:center;gap:14px;flex-wrap:wrap;justify-content:flex-end}
.user{font-size:13px;color:#51677c;font-weight:650;text-align:right}
.user small{display:block;color:var(--muted);font-weight:500}
.content main{padding:28px 36px 44px;flex:1;max-width:1600px;width:100%;margin:0 auto}
.content footer{margin:0 36px;padding:20px 0;display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;border-top:1px solid var(--line);color:#99a8b8;font-size:11px}
.primary,.light-btn,.ghost,.danger{border:1px solid transparent;border-radius:9px;padding:10px 16px;font-size:13px;font-weight:750;display:inline-flex;align-items:center;justify-content:center;gap:6px;white-space:nowrap}
.primary{background:#1672b2;color:#fff}
.primary:hover{background:#0e5e97}
.primary[disabled]{background:#9db8cc;cursor:not-allowed}
.light-btn{background:#eef5fa;border-color:#d8e6f3;color:#17608f}
.light-btn:hover{background:#d9edf9}
.ghost{background:white;border-color:#dfe6ed;color:#476075}
.ghost:hover{border-color:#b9c9d8}
.danger{background:var(--red-bg);border-color:#f2cbc4;color:var(--red)}
.small{padding:6px 10px;font-size:12px}
.actions{display:flex;gap:9px;align-items:center;flex-wrap:wrap}
.metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px;margin:0 0 20px}
.metric,.panel{background:white;border:1px solid var(--line);border-radius:15px;box-shadow:var(--shadow)}
.metric{padding:19px;min-width:0}
.metric small{color:var(--muted);font-size:12px;font-weight:650}
.metric strong{display:block;font-size:26px;font-weight:800;letter-spacing:-.8px;margin:8px 0 4px;overflow-wrap:anywhere}
.metric span{font-size:11px;color:#97a5b5}
.metric.vurgu{border-color:#f0d39a;background:linear-gradient(160deg,#fff,#fffaf0)}
.panel{padding:22px;margin-bottom:18px;min-width:0}
.panel>h2,.panel>h3{margin:0 0 14px;font-size:17px;letter-spacing:-.3px}
.panel-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;flex-wrap:wrap;margin-bottom:12px}
.panel-head h2,.panel-head h3{margin:0;font-size:17px}
.panel-head p{margin:4px 0 0;color:var(--muted);font-size:12px}
.section-head{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;margin:0 0 18px}
.section-head h1{margin:0 0 6px;font-size:24px;letter-spacing:-.7px}
.section-head p{margin:0;color:var(--muted);font-size:13px;max-width:760px;line-height:1.5}
.link{color:#176ba6;font-weight:700}
.link:hover{text-decoration:underline}
.table-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch}
table{width:100%;border-collapse:collapse;text-align:left;font-size:13px}
.tablo{min-width:640px}
.tablo.dar{min-width:0}
thead{background:#f9fafc}
th{padding:12px 14px;color:#7e8da0;font-weight:750;font-size:11px;letter-spacing:.4px;text-transform:uppercase}
td{padding:12px 14px;border-top:1px solid #edf0f5;vertical-align:middle}
td.sayi,th.sayi{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}
tr.toplam td{font-weight:800;background:#f9fbfd;border-top:2px solid #dfe6ee}
tr.pasif td{color:#9aa8b6}
.muted{color:var(--muted);font-size:12px}
.empty{text-align:center;padding:30px!important;color:#93a1b0}
.pill{display:inline-flex;background:#eef2f7;color:#55708a;font-size:11px;padding:5px 9px;border-radius:20px;font-weight:750;white-space:nowrap}
.pill.ok{background:var(--green-bg);color:var(--green)}
.pill.warn{background:var(--gold-bg);color:#94640f}
.pill.bad{background:var(--red-bg);color:var(--red)}
.pill.durum-taslak{background:#eef2f7;color:#55708a}
.pill.durum-maliyet_onayli,.pill.durum-gorevlendirildi,.pill.durum-olur_alindi{background:#e8f2fb;color:#17608f}
.pill.durum-muayene_kabul,.pill.durum-faturalandi{background:var(--gold-bg);color:#94640f}
.pill.durum-paylar_onayli,.pill.durum-kapandi{background:var(--green-bg);color:var(--green)}
.pill.durum-iptal{background:var(--red-bg);color:var(--red)}
.two-cols{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.three-cols{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.two-cols>*,.three-cols>*{min-width:0}
form label{display:block;color:#46596b;font-size:12px;font-weight:650;margin:10px 0 5px}
input:not([type=hidden]):not([type=checkbox]):not([type=radio]),select,textarea{display:block;width:100%;border:1px solid #dae2ea;background:#fff;border-radius:9px;padding:9px 11px;color:#193047;outline:none;min-height:40px}
textarea{min-height:90px;resize:vertical}
input:focus,select:focus,textarea:focus{border-color:#2483c6;box-shadow:0 0 0 3px #2c8dc51c}
input[readonly]{background:#f6f8fa;color:#5d7186}
input.sayi{text-align:right;font-variant-numeric:tabular-nums}
.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 15px}
.form-grid.uc{grid-template-columns:repeat(3,minmax(0,1fr))}
.form-grid.dort{grid-template-columns:repeat(4,minmax(0,1fr))}
.form-grid .genis{grid-column:1/-1}
.form-actions{display:flex;gap:9px;flex-wrap:wrap;margin-top:16px}
.checkline{display:flex!important;align-items:center;gap:8px;font-size:13px!important;font-weight:600!important}
.notice{border-radius:10px;background:#edf7ff;color:#1e6595;padding:13px 17px;font-size:13px;margin:0 0 16px;line-height:1.5}
.notice.hata{background:var(--red-bg);color:var(--red)}
.uyarilar{list-style:none;padding:0;margin:8px 0 0}
.uyarilar li{padding:9px 12px;border-radius:8px;margin:5px 0;font-size:13px;line-height:1.45}
.uyarilar li.kritik{background:var(--red-bg);color:var(--red)}
.uyarilar li.dikkat{background:var(--gold-bg);color:#7d5410}
.uyarilar li.tamam{background:var(--green-bg);color:var(--green)}
.uyarilar li.bilgi{background:#edf7ff;color:#1e6595}
.tip{color:#637992;font-size:12px;border-left:3px solid #a2c6e0;padding-left:12px;margin:14px 0 0;line-height:1.55}
.kaynak{font-size:11px;color:#8a99a9;margin-top:4px;line-height:1.45}
.dogrulanmamis{display:inline-flex;margin-left:6px;font-size:10px;font-weight:800;color:#94640f;background:var(--gold-bg);border-radius:6px;padding:2px 6px;vertical-align:middle}
/* İş akışı adımları */
.adimlar{display:flex;gap:6px;overflow-x:auto;padding:2px 2px 8px;margin-bottom:16px}
.adim{flex:1 0 118px;border-radius:11px;padding:10px 12px;background:#fff;border:1px solid var(--line);font-size:12px;color:#7a8a9b;min-width:118px}
.adim b{display:block;font-size:11px;letter-spacing:.6px;color:#a2afbd;margin-bottom:3px}
.adim.tamam{border-color:#bfe3d2;background:#f3fbf7;color:var(--green)}
.adim.tamam b{color:#62a98a}
.adim.simdi{border-color:#f0b43c;background:#fffaf0;color:#7d5410;font-weight:700;box-shadow:0 0 0 3px #f0b43c22}
.adim.simdi b{color:#c98a12}
/* Hesap tablosu */
.hesap td{padding:9px 12px}
.hesap td:first-child{color:#4e6377}
.hesap tr.ara td{font-weight:750;background:#fafcfe}
.hesap tr.sonuc td{font-weight:850;font-size:15px;background:#f3f8fc;border-top:2px solid #d7e4ef}
.kalem-tablo input{min-height:36px;padding:7px 9px}
.kalem-tablo td{padding:6px 6px;vertical-align:top}
.kalem-tablo th{padding:9px 6px}
.welcome{background:linear-gradient(105deg,#142e4d,#1d527c);color:#fff;border-radius:18px;padding:28px 32px;display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:20px;box-shadow:0 10px 22px rgba(20,50,80,.08)}
.eyebrow{font-size:11px;letter-spacing:1.8px;color:#f3c66b;font-weight:800;margin-bottom:10px}
.welcome h1{font-size:25px;line-height:1.25;letter-spacing:-.8px;margin:0 0 8px}
.welcome p{color:#c3d2e2;max-width:640px;font-size:14px;line-height:1.6;margin:0}
.welcome .light-btn{background:#ffffff1d;color:#fff;border-color:#ffffff55}
.surec{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px;counter-reset:s}
.surec a{background:#fff;border:1px solid var(--line);border-radius:12px;padding:12px;font-size:12px;color:#4e6377;line-height:1.4;min-width:0}
.surec a:hover{border-color:#b8d3ea}
.surec a b{display:block;color:var(--text);font-size:13px;margin-bottom:4px}
.surec a span{display:inline-grid;place-items:center;width:22px;height:22px;border-radius:7px;background:var(--gold-bg);color:var(--gold);font-weight:900;font-size:12px;margin-bottom:7px}
.kucuk-liste{list-style:none;margin:0;padding:0}
.kucuk-liste li{display:flex;justify-content:space-between;gap:10px;padding:9px 0;border-top:1px solid #eef1f5;font-size:13px}
.kucuk-liste li:first-child{border-top:0}
details.duzenle-panel>summary{cursor:pointer;list-style:none;font-size:15px}
details.duzenle-panel>summary::-webkit-details-marker{display:none}
details.duzenle-panel>summary:before{content:"+ ";color:#176ba6;font-weight:800}
details.duzenle-panel[open]>summary:before{content:"− "}
details.duzenle-panel[open]>summary{margin-bottom:8px}
details.duzenle summary{cursor:pointer;color:#176ba6;font-weight:700;font-size:13px;list-style:none}
details.duzenle summary::-webkit-details-marker{display:none}
details.duzenle[open]{background:#f9fbfd;border:1px solid var(--line);border-radius:12px;padding:12px;margin:6px 0}
.giris-sayfa{min-height:100vh;display:grid;place-items:center;padding:24px;background:linear-gradient(118deg,#07345c 0%,#075b9c 52%,#158de8 100%)}
.giris-kutu{width:min(440px,100%);background:#fff;border-radius:22px;padding:30px;box-shadow:0 40px 120px #00152d70}
.giris-kutu h1{font-size:24px;margin:16px 0 6px;letter-spacing:-.6px}
.giris-kutu p{color:var(--muted);font-size:14px;line-height:1.55}
.giris-kutu .primary{width:100%;margin-top:14px;padding:13px}
.ayrac{display:flex;align-items:center;gap:10px;color:#9aa8b6;font-size:12px;margin:22px 0 4px}
.ayrac:before,.ayrac:after{content:"";flex:1;height:1px;background:var(--line)}
.sag{text-align:right}
.kirmizi{color:var(--red)!important}
tr.alt-hesap td{color:#6c7f92;font-size:12px}tr.alt-hesap td:first-child{padding-left:28px}
tr.madde-bas td{border-top:2px solid #dfe6ee}
.takvim{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:6px;margin-bottom:18px}
.takvim-ay{background:#fff;border:1px solid var(--line);border-radius:10px;padding:9px 8px;font-size:12px;min-width:0;display:flex;flex-direction:column;gap:2px}
.takvim-ay b{font-size:12px}.takvim-ay span{color:var(--muted);font-size:11px}.takvim-ay small{font-size:10px;color:#5d7186;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.takvim-ay.ay-kapali{background:var(--green-bg);border-color:#bfe3d2}.takvim-ay.ay-kapali span{color:var(--green)}
.takvim-ay.ay-acik{background:var(--gold-bg);border-color:#f0d39a}.takvim-ay.ay-acik span{color:#94640f}
.takvim-ay.ay-gelecek{opacity:.55}
.takvim-ay.secili{box-shadow:0 0 0 2px #1672b2}
@media(max-width:1000px){.takvim{grid-template-columns:repeat(6,minmax(0,1fr))}}
@media(max-width:560px){.takvim{grid-template-columns:repeat(4,minmax(0,1fr))}}
.mt0{margin-top:0}.mt{margin-top:16px}.mb0{margin-bottom:0}
.inline-form{display:inline}
.nowrap{white-space:nowrap}
.yazdir-gizle{}
@media(max-width:1200px){.metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.surec{grid-template-columns:repeat(4,minmax(0,1fr))}.form-grid.dort{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:1000px){.two-cols,.three-cols{grid-template-columns:1fr}.form-grid.uc{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:860px){
 .shell{display:block;background:var(--bg)}
 .sidebar{position:static;width:auto;min-width:0;height:auto;padding:12px 12px 8px}
 .brand{padding:4px 6px 10px;font-size:18px}
 .side-label,.sidebar-bottom{display:none}
 .sidebar nav{display:flex;overflow-x:auto;gap:4px;padding-bottom:4px}
 .sidebar nav a{white-space:nowrap;padding:8px 11px;font-size:13px}
 .topbar{padding:12px 16px;min-height:0;flex-wrap:wrap}
 .content main{padding:18px 16px 32px}
 .content footer{margin:0 16px}
 .welcome{padding:22px 20px;flex-direction:column;align-items:flex-start}
 .surec{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:560px){.mobil-gizle{display:none}.metrics{grid-template-columns:1fr 1fr;gap:10px}.metric{padding:14px}.metric strong{font-size:20px}.form-grid,.form-grid.uc,.form-grid.dort{grid-template-columns:1fr}.panel{padding:16px}.user{text-align:left}}
@media print{.sidebar,.topbar,.content footer,.yazdir-gizle,form.yazdir-gizle{display:none!important}.content main{padding:0}.panel{box-shadow:none;border:0}body{background:#fff}}
/* v0.2.0 Okul Verileri şeridi */
.ortak-serit{display:flex;justify-content:space-between;align-items:center;gap:14px;flex-wrap:wrap;background:#eef7f2;border:1px solid #cfe9db;color:#24513a;border-radius:12px;padding:11px 14px;margin:0 0 14px;font-size:13px;line-height:1.5}.ortak-serit.uyari{background:#fff8e8;border-color:#f0d9a6;color:#6b4b07}.ortak-serit .soluk{display:block;font-size:12px;opacity:.8;margin-top:2px}.ortak-serit .hata-metni{display:block;font-weight:700;margin-top:3px}.ortak-dugmeler{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.pill.uyari{background:#fff3d6;color:#8a5a00}
.diger-oran{margin-top:8px}
/* v0.2.0 sade menü: sayfa içi sekmeler ve portal bağlantısı */
.sekmeler{display:flex;gap:4px;flex-wrap:wrap;border-bottom:1px solid #dfe7ee;margin:0 0 16px}.sekmeler a{padding:9px 14px;color:#56708a;text-decoration:none;font-weight:700;font-size:14px;border:1px solid transparent;border-bottom:0;border-radius:10px 10px 0 0;margin-bottom:-1px}.sekmeler a:hover{color:#17324a}.sekmeler a.aktif{background:#fff;color:#17324a;border-color:#dfe7ee}
.portal-link{display:block;margin:14px 12px 0;padding:9px 12px;border-radius:10px;color:#cfe0ee;text-decoration:none;font-size:13px;font-weight:700;border:1px solid #ffffff22}.portal-link:hover{background:#ffffff14;color:#fff}
@media(max-width:760px){.portal-link{display:inline-block;margin:6px 0 2px;padding:5px 10px;font-size:12px}}
