/* ==========================================================================
   EDEP Bilgi Sistemi — tasarım sistemi (panel, portallar, giriş)
   Logo rengi #742C91 temel alınmıştır; baklava (◆) motifi logodaki
   ayırıcılardan gelir. Yazı: Barlow (logodaki DIN benzeri alt yazıya yakın).
   ========================================================================== */
@import url("fonts.css");

:root{
  --mor-950:#1E0B27; --mor-900:#2C1139; --mor-850:#36164A; --mor-800:#43195A; --mor-700:#5A2275;
  --mor:#742C91; --mor-500:#8B48A8; --mor-400:#A774BF; --mor-300:#C9A7D8; --mor-200:#E2D0EA; --mor-100:#F1E8F5; --mor-50:#F9F5FB;
  --altin:#B8892B; --altin-600:#9A7022; --altin-100:#F6EEDC;
  --zemin:#F6F3F8; --yuzey:#FFFFFF; --yuzey-2:#FBF9FC;
  --metin:#231A2A; --metin-2:#4B4152; --soluk:#776D7E; --cizgi:#E7E0EC; --cizgi-2:#D9CEE0;
  --yesil:#24775A; --yesil-100:#E3F2EC; --amber:#A8650E; --amber-100:#FBF0DF; --kirmizi:#B3263E; --kirmizi-100:#FBE7EA; --mavi:#28609E; --mavi-100:#E4EEF8;
  --r-s:6px; --r:10px; --r-l:14px;
  --golge-1:0 1px 2px rgba(44,17,57,.06),0 1px 1px rgba(44,17,57,.04);
  --golge-2:0 6px 24px -8px rgba(44,17,57,.18),0 2px 6px rgba(44,17,57,.06);
  --font:"Barlow",system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
  --font-baslik:"Barlow Semi Condensed","Barlow",system-ui,sans-serif;
  --font-arapca:"Amiri","Traditional Arabic",serif;
  --sidebar:264px;
  --odak:0 0 0 3px rgba(116,44,145,.25);
}

*,*::before,*::after{box-sizing:border-box}
[hidden]{display:none!important}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;font-family:var(--font);font-size:15px;line-height:1.55;color:var(--metin);background:var(--zemin);-webkit-font-smoothing:antialiased}
img,svg{max-width:100%;vertical-align:middle}
a{color:var(--mor);text-decoration:none}
a:hover{color:var(--mor-700);text-decoration:underline;text-underline-offset:3px}
h1,h2,h3,h4{font-family:var(--font-baslik);font-weight:600;line-height:1.2;margin:0 0 .5em;color:var(--mor-900);letter-spacing:.005em}
h1{font-size:1.75rem}h2{font-size:1.35rem}h3{font-size:1.12rem}h4{font-size:1rem}
p{margin:0 0 1em}
hr{border:0;border-top:1px solid var(--cizgi);margin:1.5rem 0}
small,.small{font-size:.85em}
.muted{color:var(--soluk)}
.arabic,[lang="ar"]{font-family:var(--font-arapca);direction:rtl;font-size:1.25em;line-height:1.9}
.icon{width:18px;height:18px;flex:none}
.icon-lg{width:22px;height:22px}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}
:focus-visible{outline:2px solid var(--mor);outline-offset:2px}
.nowrap{white-space:nowrap}.text-right{text-align:right}.text-center{text-align:center}
.mt-0{margin-top:0}.mt-1{margin-top:.5rem}.mt-2{margin-top:1rem}.mt-3{margin-top:1.5rem}.mb-0{margin-bottom:0}.mb-1{margin-bottom:.5rem}.mb-2{margin-bottom:1rem}.mb-3{margin-bottom:1.5rem}
.flex{display:flex;gap:.5rem;align-items:center}.flex-wrap{flex-wrap:wrap}.between{justify-content:space-between}.grow{flex:1}
.stack>*+*{margin-top:1rem}

/* Baklava motifi */
.elmas{display:inline-block;width:.5em;height:.5em;background:currentColor;transform:rotate(45deg);vertical-align:.12em;margin:0 .45em}
.elmas-dizi{display:inline-flex;gap:6px;align-items:center}
.elmas-dizi i{width:7px;height:7px;background:var(--altin);transform:rotate(45deg);display:block}
.elmas-dizi i:nth-child(2){background:var(--mor)}
.dortlu{position:relative;width:22px;height:22px;display:inline-block}
.dortlu::before,.dortlu::after{content:"";position:absolute;width:9px;height:9px;background:currentColor;transform:rotate(45deg)}
.dortlu::before{left:6.5px;top:0;box-shadow:-6.5px 6.5px 0 currentColor,6.5px 6.5px 0 currentColor}
.dortlu::after{left:6.5px;top:13px}

/* ---------- Düğmeler ---------- */
.btn{--b:var(--mor);display:inline-flex;align-items:center;justify-content:center;gap:.45rem;font:600 .9rem/1 var(--font);padding:.62rem 1rem;border-radius:var(--r-s);border:1px solid transparent;background:var(--b);color:#fff;cursor:pointer;white-space:nowrap;text-decoration:none!important;transition:background .15s,border-color .15s,box-shadow .15s,transform .05s;min-height:38px}
.btn:hover{background:var(--mor-700);color:#fff}
.btn:active{transform:translateY(1px)}
.btn:focus-visible{outline:none;box-shadow:var(--odak)}
.btn .icon{width:16px;height:16px}
.btn-sm{padding:.4rem .7rem;font-size:.82rem;min-height:30px}
.btn-lg{padding:.85rem 1.4rem;font-size:1rem;min-height:46px}
.btn-block{width:100%}
.btn-ikincil{background:var(--yuzey);color:var(--mor-800);border-color:var(--cizgi-2)}
.btn-ikincil:hover{background:var(--mor-50);color:var(--mor-800);border-color:var(--mor-300)}
.btn-hafif{background:var(--mor-100);color:var(--mor-800)}
.btn-hafif:hover{background:var(--mor-200);color:var(--mor-900)}
.btn-altin{background:var(--altin)}.btn-altin:hover{background:var(--altin-600)}
.btn-yesil{background:var(--yesil)}.btn-yesil:hover{background:#1b5e47}
.btn-tehlike{background:var(--kirmizi)}.btn-tehlike:hover{background:#8f1d31}
.btn-tehlike-hafif{background:var(--yuzey);color:var(--kirmizi);border-color:#EBC3CA}.btn-tehlike-hafif:hover{background:var(--kirmizi-100);color:var(--kirmizi)}
.btn-link{background:none;color:var(--mor);padding:.3rem .4rem;min-height:0}.btn-link:hover{background:var(--mor-50);color:var(--mor-700)}
.btn-ikon{padding:.45rem;min-height:34px;min-width:34px}
.btn[disabled],.btn.disabled{opacity:.55;pointer-events:none}
.btn-grup{display:inline-flex;gap:.4rem;flex-wrap:wrap}

/* ---------- Rozetler ---------- */
.badge{display:inline-flex;align-items:center;gap:.3rem;font:600 .74rem/1 var(--font);padding:.32rem .55rem;border-radius:999px;background:var(--mor-100);color:var(--mor-800);white-space:nowrap;letter-spacing:.01em}
.badge::before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor;opacity:.7}
.badge-plain::before{display:none}
.badge-green{background:var(--yesil-100);color:var(--yesil)}
.badge-amber{background:var(--amber-100);color:var(--amber)}
.badge-red{background:var(--kirmizi-100);color:var(--kirmizi)}
.badge-blue{background:var(--mavi-100);color:var(--mavi)}
.badge-gray{background:#EEEBF0;color:#5E5666}
.badge-purple{background:var(--mor-100);color:var(--mor-800)}
.badge-gold{background:var(--altin-100);color:var(--altin-600)}
.chip{display:inline-flex;align-items:center;gap:.35rem;padding:.25rem .6rem;border:1px solid var(--cizgi-2);border-radius:999px;font-size:.82rem;background:var(--yuzey);color:var(--metin-2)}

/* ---------- Uyarılar ---------- */
.alert{display:flex;gap:.7rem;align-items:flex-start;padding:.85rem 1rem;border-radius:var(--r);border:1px solid;margin-bottom:1rem;font-size:.92rem;background:var(--yuzey)}
.alert .icon{margin-top:2px}
.alert-success{background:var(--yesil-100);border-color:#BFE0D2;color:#17523d}
.alert-error{background:var(--kirmizi-100);border-color:#F0C3CB;color:#7c1528}
.alert-warning{background:var(--amber-100);border-color:#F0D9B5;color:#6f4208}
.alert-info{background:var(--mavi-100);border-color:#C6D9EE;color:#1d4673}
.alert .alert-kapat{margin-left:auto;background:none;border:0;color:inherit;cursor:pointer;opacity:.6;padding:0}
.alert p:last-child{margin:0}

/* ---------- Kartlar ---------- */
.card{background:var(--yuzey);border:1px solid var(--cizgi);border-radius:var(--r-l);box-shadow:var(--golge-1)}
.card-head{display:flex;align-items:center;gap:.75rem;justify-content:space-between;padding:1rem 1.25rem;border-bottom:1px solid var(--cizgi)}
.card-head h2,.card-head h3{margin:0;font-size:1.08rem}
.card-body{padding:1.25rem}
.card-foot{padding:.85rem 1.25rem;border-top:1px solid var(--cizgi);background:var(--yuzey-2);border-radius:0 0 var(--r-l) var(--r-l)}
.card+.card{margin-top:1.25rem}
.card-tight .card-body{padding:.9rem 1rem}
.card-baslik-ust{font:600 .72rem/1 var(--font);letter-spacing:.12em;text-transform:uppercase;color:var(--altin-600);margin-bottom:.45rem;display:flex;align-items:center;gap:.4rem}

.grid{display:grid;gap:1.25rem}
.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}
.grid-sidebar{grid-template-columns:minmax(0,1fr) 340px}
@media (max-width:1100px){.grid-4{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-sidebar{grid-template-columns:1fr}}
@media (max-width:760px){.grid-2,.grid-3,.grid-4{grid-template-columns:1fr}}

/* İstatistik kutuları */
.stat{position:relative;padding:1.1rem 1.2rem;background:var(--yuzey);border:1px solid var(--cizgi);border-radius:var(--r-l);overflow:hidden;box-shadow:var(--golge-1);display:block;color:inherit}
a.stat:hover{text-decoration:none;border-color:var(--mor-300);color:inherit}
.stat-label{font-size:.8rem;color:var(--soluk);font-weight:500;display:flex;align-items:center;gap:.4rem}
.stat-value{font:600 2rem/1.1 var(--font-baslik);color:var(--mor-900);margin-top:.35rem}
.stat-sub{font-size:.8rem;color:var(--soluk);margin-top:.2rem}
.stat-ikon{position:absolute;right:14px;top:14px;width:38px;height:38px;border-radius:10px;display:grid;place-items:center;background:var(--mor-100);color:var(--mor)}
.stat::after{content:"";position:absolute;right:-18px;bottom:-18px;width:56px;height:56px;transform:rotate(45deg);background:var(--mor-50);border:1px solid var(--mor-100)}
.stat.vurgu{background:linear-gradient(135deg,var(--mor-800),var(--mor));border-color:transparent;color:#fff}
.stat.vurgu .stat-label,.stat.vurgu .stat-sub{color:var(--mor-200)}.stat.vurgu .stat-value{color:#fff}
.stat.vurgu .stat-ikon{background:rgba(255,255,255,.12);color:#fff}.stat.vurgu::after{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.1)}

/* ---------- Tablolar ---------- */
.table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}
.table{width:100%;border-collapse:separate;border-spacing:0;font-size:.9rem}
.table th{font:600 .74rem/1.2 var(--font);text-transform:uppercase;letter-spacing:.06em;color:var(--soluk);text-align:left;padding:.7rem .9rem;background:var(--yuzey-2);border-bottom:1px solid var(--cizgi);white-space:nowrap}
.table td{padding:.72rem .9rem;border-bottom:1px solid var(--cizgi);vertical-align:middle}
.table tr:last-child td{border-bottom:0}
.table tbody tr:hover td{background:var(--mor-50)}
.table .actions{text-align:right;white-space:nowrap}
.table .actions .btn{margin-left:.25rem}
.table-compact td,.table-compact th{padding:.45rem .65rem}
.table td.num,.table th.num{text-align:right;font-variant-numeric:tabular-nums}
.card>.table-wrap>.table th:first-child,.card>.table-wrap>.table td:first-child{padding-left:1.25rem}
.card>.table-wrap>.table th:last-child,.card>.table-wrap>.table td:last-child{padding-right:1.25rem}
.kisi{display:flex;align-items:center;gap:.65rem;min-width:0}
.kisi-ad{font-weight:600;color:var(--metin);display:block;line-height:1.2}
.kisi-alt{font-size:.8rem;color:var(--soluk);display:block}
.avatar{width:36px;height:36px;border-radius:50%;background:var(--mor-100);color:var(--mor-800);display:grid;place-items:center;font:600 .8rem/1 var(--font);flex:none;overflow:hidden;object-fit:cover}
.avatar-lg{width:84px;height:84px;font-size:1.4rem;border-radius:14px}
.avatar-sm{width:28px;height:28px;font-size:.7rem}

/* ---------- Formlar ---------- */
.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem 1.25rem}
.form-grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.form-grid .span-2,.form-grid .full{grid-column:1/-1}
@media (max-width:760px){.form-grid,.form-grid-3{grid-template-columns:1fr}}
.field{display:flex;flex-direction:column;gap:.35rem;min-width:0}
.field>label,.field>.flex>label,.label{font-weight:600;font-size:.86rem;color:var(--metin-2)}
.field .req::after,.label.req::after{content:" *";color:var(--kirmizi)}
.hint{font-size:.8rem;color:var(--soluk)}
.field-error{font-size:.8rem;color:var(--kirmizi);font-weight:500}
.input,.select,.textarea,input[type=text],input[type=email],input[type=password],input[type=number],input[type=date],input[type=time],input[type=datetime-local],input[type=tel],input[type=url],input[type=search],input:not([type]),select,textarea{
  width:100%;font:400 .94rem/1.4 var(--font);color:var(--metin);background:var(--yuzey);border:1px solid var(--cizgi-2);border-radius:var(--r-s);padding:.58rem .75rem;transition:border-color .15s,box-shadow .15s;min-height:40px}
textarea{min-height:110px;resize:vertical}
select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23742C91' stroke-width='2.5'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .75rem center;padding-right:2.2rem}
select[multiple]{background-image:none;padding-right:.75rem;min-height:120px}
input:focus,select:focus,textarea:focus{outline:none;border-color:var(--mor);box-shadow:var(--odak)}
.has-error input,.has-error select,.has-error textarea{border-color:var(--kirmizi)}
input[type=file]{font:inherit;font-size:.88rem;padding:.4rem;border:1px dashed var(--cizgi-2);border-radius:var(--r-s);background:var(--yuzey-2);width:100%}
input[type=file]::file-selector-button{font:600 .82rem var(--font);border:0;background:var(--mor-100);color:var(--mor-800);padding:.45rem .8rem;border-radius:5px;margin-right:.7rem;cursor:pointer}
.check{display:flex;align-items:flex-start;gap:.55rem;font-size:.92rem;cursor:pointer}
.check input{width:18px;height:18px;accent-color:var(--mor);margin-top:2px;flex:none}
.checks{display:flex;flex-wrap:wrap;gap:.5rem 1.25rem}
.form-actions{display:flex;gap:.6rem;align-items:center;flex-wrap:wrap;padding-top:.5rem}
.form-bolum{font:600 .76rem/1 var(--font);letter-spacing:.1em;text-transform:uppercase;color:var(--mor-700);margin:1.25rem 0 .25rem;display:flex;align-items:center;gap:.6rem;grid-column:1/-1}
.form-bolum::after{content:"";flex:1;height:1px;background:var(--cizgi)}
.input-grup{display:flex}.input-grup>*:first-child{border-top-right-radius:0;border-bottom-right-radius:0}.input-grup>*:last-child{border-top-left-radius:0;border-bottom-left-radius:0;margin-left:-1px}

/* Araç çubuğu / süzgeç */
.toolbar{display:flex;gap:.6rem;flex-wrap:wrap;align-items:center;padding:.9rem 1.25rem;border-bottom:1px solid var(--cizgi)}
.toolbar .input,.toolbar input,.toolbar select{width:auto;min-width:150px;min-height:36px;padding-top:.45rem;padding-bottom:.45rem;font-size:.88rem}
.toolbar .arama{position:relative;flex:1;min-width:200px}
.toolbar .arama input{width:100%;padding-left:2.1rem}
.toolbar .arama .icon{position:absolute;left:.7rem;top:50%;transform:translateY(-50%);color:var(--soluk);width:16px;height:16px}

/* ---------- Sayfa başlığı ---------- */
.page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:1rem;flex-wrap:wrap;margin-bottom:1.5rem}
.page-head h1{margin:0;font-size:1.65rem}
.page-head .alt{color:var(--soluk);margin-top:.3rem;font-size:.92rem}
.breadcrumb{display:flex;flex-wrap:wrap;gap:.35rem;align-items:center;font-size:.8rem;color:var(--soluk);margin-bottom:.45rem}
.breadcrumb a{color:var(--soluk)}.breadcrumb a:hover{color:var(--mor)}
.breadcrumb .sep{width:4px;height:4px;background:var(--mor-300);transform:rotate(45deg);display:inline-block}

/* Sekmeler */
.tabs{display:flex;gap:.25rem;border-bottom:1px solid var(--cizgi);margin-bottom:1.25rem;overflow-x:auto;scrollbar-width:none}
.tabs a,.tabs button{display:inline-flex;align-items:center;gap:.4rem;padding:.7rem .95rem;font:600 .88rem var(--font);color:var(--soluk);border:0;background:none;border-bottom:2px solid transparent;margin-bottom:-1px;white-space:nowrap;cursor:pointer;text-decoration:none!important}
.tabs a:hover,.tabs button:hover{color:var(--mor-800)}
.tabs .active{color:var(--mor);border-bottom-color:var(--mor)}
.tabs .sayi{font-size:.72rem;background:var(--mor-100);color:var(--mor-800);border-radius:999px;padding:.12rem .45rem}
.tab-panel[hidden]{display:none}

/* Tanım listesi */
.dl{display:grid;grid-template-columns:minmax(120px,38%) 1fr;gap:.55rem 1rem;margin:0;font-size:.92rem}
.dl dt{color:var(--soluk);font-weight:500}
.dl dd{margin:0;color:var(--metin);word-break:break-word}

/* Boş durum */
.empty{text-align:center;padding:2.5rem 1.25rem;color:var(--soluk)}
.empty .dortlu{color:var(--mor-300);margin-bottom:.8rem;width:30px;height:30px}
.empty .dortlu::before,.empty .dortlu::after{width:12px;height:12px}
.empty .dortlu::before{left:9px;box-shadow:-9px 9px 0 currentColor,9px 9px 0 currentColor}.empty .dortlu::after{left:9px;top:18px}
.empty h3{color:var(--metin-2);font-size:1.05rem;margin-bottom:.3rem}
.empty p{margin:0 auto 1rem;max-width:420px;font-size:.9rem}

/* İlerleme */
.progress{height:8px;background:var(--mor-100);border-radius:99px;overflow:hidden}
.progress>span{display:block;height:100%;background:var(--mor);border-radius:99px}
.progress.uyari>span{background:var(--amber)}.progress.tehlike>span{background:var(--kirmizi)}.progress.iyi>span{background:var(--yesil)}

/* Sayfalama */
.pagination{display:flex;gap:.3rem;align-items:center;justify-content:space-between;padding:.85rem 1.25rem;border-top:1px solid var(--cizgi);font-size:.85rem;color:var(--soluk);flex-wrap:wrap}
.pagination .pages{display:flex;gap:.25rem}
.pagination a,.pagination span.cur{min-width:32px;height:32px;display:inline-grid;place-items:center;border-radius:var(--r-s);border:1px solid var(--cizgi);color:var(--metin-2);padding:0 .5rem;text-decoration:none}
.pagination a:hover{border-color:var(--mor-300);color:var(--mor)}
.pagination span.cur{background:var(--mor);border-color:var(--mor);color:#fff}

/* Diyalog */
dialog.modal{border:0;border-radius:var(--r-l);padding:0;width:min(560px,calc(100vw - 2rem));box-shadow:0 30px 80px -20px rgba(30,11,39,.45);color:var(--metin)}
dialog.modal::backdrop{background:rgba(30,11,39,.45);backdrop-filter:blur(2px)}
dialog.modal.genis{width:min(860px,calc(100vw - 2rem))}
.modal-head{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.25rem;border-bottom:1px solid var(--cizgi)}
.modal-head h3{margin:0}
.modal-body{padding:1.25rem;max-height:70vh;overflow:auto}
.modal-foot{padding:.9rem 1.25rem;border-top:1px solid var(--cizgi);display:flex;gap:.5rem;justify-content:flex-end;background:var(--yuzey-2)}

/* Açılır menü */
.dropdown{position:relative}
.dropdown-menu{position:absolute;right:0;top:calc(100% + 6px);min-width:220px;background:var(--yuzey);border:1px solid var(--cizgi);border-radius:var(--r);box-shadow:var(--golge-2);padding:.35rem;z-index:60;display:none}
.dropdown.open .dropdown-menu{display:block}
.dropdown-menu a,.dropdown-menu button{display:flex;gap:.55rem;align-items:center;width:100%;padding:.55rem .7rem;border-radius:6px;color:var(--metin-2);font:500 .88rem var(--font);background:none;border:0;cursor:pointer;text-align:left;text-decoration:none!important}
.dropdown-menu a:hover,.dropdown-menu button:hover{background:var(--mor-50);color:var(--mor-800)}
.dropdown-menu hr{margin:.3rem 0}

/* Zaman çizelgesi */
.timeline{list-style:none;margin:0;padding:0;position:relative}
.timeline li{position:relative;padding:0 0 1rem 1.6rem}
.timeline li::before{content:"";position:absolute;left:4px;top:6px;width:8px;height:8px;background:var(--mor);transform:rotate(45deg)}
.timeline li::after{content:"";position:absolute;left:7.5px;top:18px;bottom:2px;width:1px;background:var(--cizgi-2)}
.timeline li:last-child::after{display:none}
.timeline .zaman{font-size:.78rem;color:var(--soluk)}

/* Adımlar */
.steps{display:flex;gap:0;counter-reset:s;margin:0 0 1.5rem;padding:0;list-style:none;flex-wrap:wrap}
.steps li{flex:1;min-width:120px;position:relative;padding:.7rem .5rem .7rem 2.6rem;font-size:.85rem;color:var(--soluk);counter-increment:s}
.steps li::before{content:counter(s);position:absolute;left:.5rem;top:50%;transform:translateY(-50%);width:26px;height:26px;border-radius:50%;display:grid;place-items:center;background:var(--mor-100);color:var(--mor-800);font-weight:600;font-size:.8rem}
.steps li.done::before{content:"✓";background:var(--yesil);color:#fff}
.steps li.cur{color:var(--mor-900);font-weight:600}.steps li.cur::before{background:var(--mor);color:#fff}

/* ==========================================================================
   PANEL YERLEŞİMİ
   ========================================================================== */
.panel{display:grid;grid-template-columns:var(--sidebar) minmax(0,1fr);min-height:100vh}
.sidebar{position:sticky;top:0;height:100vh;overflow:hidden;background:var(--mor-900);color:#E9DDF0;display:flex;flex-direction:column}
.sidebar::after{content:"";position:absolute;inset:auto -40px -30px auto;width:220px;height:300px;background:url(../img/edep-amblem-beyaz.png) center/contain no-repeat;opacity:.05;pointer-events:none}
.sidebar-logo{display:flex;align-items:center;gap:.7rem;padding:1.15rem 1.25rem 1rem;border-bottom:1px solid rgba(255,255,255,.08)}
.sidebar-logo img{height:40px;width:auto}
.sidebar-logo .alt{font:600 .68rem/1.25 var(--font);letter-spacing:.14em;text-transform:uppercase;color:var(--mor-300)}
.sidebar-nav{flex:1;overflow-y:auto;padding:.75rem .7rem 2rem;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.15) transparent;position:relative;z-index:1}
.nav-grup{font:600 .68rem/1 var(--font);letter-spacing:.14em;text-transform:uppercase;color:var(--mor-400);padding:1.05rem .7rem .5rem;display:flex;align-items:center;gap:.45rem}
.nav-grup::before{content:"";width:5px;height:5px;background:var(--altin);transform:rotate(45deg)}
.nav-link{display:flex;align-items:center;gap:.7rem;padding:.55rem .7rem;border-radius:8px;color:#DCCBE5;font-weight:500;font-size:.9rem;text-decoration:none!important;position:relative;cursor:pointer;width:100%;background:none;border:0;font-family:inherit;text-align:left}
.nav-link .icon{width:18px;height:18px;opacity:.8}
.nav-link:hover{background:rgba(255,255,255,.06);color:#fff}
.nav-link.active{background:linear-gradient(90deg,rgba(184,137,43,.18),rgba(255,255,255,.04));color:#fff}
.nav-link.active::before{content:"";position:absolute;left:-.7rem;top:50%;width:8px;height:8px;background:var(--altin);transform:translateY(-50%) rotate(45deg)}
.nav-link .sayi{margin-left:auto;font-size:.7rem;background:var(--altin);color:#fff;border-radius:99px;padding:.12rem .45rem;font-weight:600}
.nav-link .ok{margin-left:auto;width:14px;height:14px;transition:transform .2s;opacity:.6}
.nav-alt{display:none;padding:.15rem 0 .35rem 2.15rem}
.nav-item.open>.nav-alt{display:block}
.nav-item.open>.nav-link .ok{transform:rotate(180deg)}
.nav-alt a{display:block;padding:.4rem .6rem;font-size:.85rem;color:#C7B3D2;border-radius:6px;text-decoration:none!important}
.nav-alt a:hover{color:#fff;background:rgba(255,255,255,.05)}
.nav-alt a.active{color:#fff;font-weight:600}
.sidebar-alt{padding:.8rem 1rem;border-top:1px solid rgba(255,255,255,.08);font-size:.75rem;color:var(--mor-400);position:relative;z-index:1}

.main{min-width:0;display:flex;flex-direction:column}
.topbar{position:sticky;top:0;z-index:40;height:62px;display:flex;align-items:center;gap:1rem;padding:0 1.75rem;background:rgba(255,255,255,.88);backdrop-filter:saturate(1.4) blur(10px);border-bottom:1px solid var(--cizgi)}
.topbar .menu-ac{display:none}
.topbar-ara{position:relative;flex:1;max-width:440px}
.topbar-ara input{padding-left:2.2rem;background:var(--zemin);border-color:transparent;min-height:38px}
.topbar-ara input:focus{background:#fff}
.topbar-ara .icon{position:absolute;left:.75rem;top:50%;transform:translateY(-50%);color:var(--soluk);width:16px}
.topbar-sag{margin-left:auto;display:flex;align-items:center;gap:.5rem}
.ikon-btn{position:relative;width:38px;height:38px;display:grid;place-items:center;border-radius:10px;border:0;background:none;color:var(--metin-2);cursor:pointer}
.ikon-btn:hover{background:var(--mor-50);color:var(--mor)}
.ikon-btn .nokta{position:absolute;top:8px;right:8px;width:8px;height:8px;border-radius:50%;background:var(--altin);border:2px solid #fff}
.kullanici-btn{display:flex;align-items:center;gap:.6rem;padding:.3rem .5rem .3rem .3rem;border-radius:10px;border:0;background:none;cursor:pointer;font:inherit;color:inherit}
.kullanici-btn:hover{background:var(--mor-50)}
.kullanici-btn .ad{font-weight:600;font-size:.88rem;line-height:1.1;text-align:left}
.kullanici-btn .rol{font-size:.74rem;color:var(--soluk);display:block;font-weight:400}
.content{padding:1.75rem;flex:1;max-width:1480px;width:100%}
.footer-panel{padding:1rem 1.75rem;color:var(--soluk);font-size:.78rem;display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap}

@media (max-width:1024px){
  .panel{grid-template-columns:1fr}
  .sidebar{position:fixed;left:0;top:0;bottom:0;width:min(86vw,var(--sidebar));z-index:80;transform:translateX(-100%);transition:transform .25s ease}
  body.menu-acik .sidebar{transform:none;box-shadow:0 0 60px rgba(0,0,0,.35)}
  body.menu-acik::after{content:"";position:fixed;inset:0;background:rgba(30,11,39,.4);z-index:70}
  .topbar{padding:0 1rem}.topbar .menu-ac{display:grid}
  .content{padding:1.1rem}
  .kullanici-btn .ad{display:none}
}

/* ==========================================================================
   PORTAL (öğrenci / eğitmen) — mobil öncelikli
   ========================================================================== */
.portal{min-height:100vh;display:flex;flex-direction:column}
.portal-head{background:var(--mor-900);color:#fff;position:sticky;top:0;z-index:40}
.portal-head-ic{max-width:1320px;margin:0 auto;display:flex;align-items:center;gap:.6rem;padding:.6rem 1.25rem;min-height:62px}
.portal-logo{flex:none;display:flex}
.portal-head img.logo{height:34px}
.portal-head .portal-ad{flex:none;font:600 .68rem/1.2 var(--font);letter-spacing:.14em;text-transform:uppercase;color:var(--mor-300);border-left:1px solid rgba(255,255,255,.15);padding-left:.8rem;margin-right:.4rem}
/* Öncelikli menü: sığmayan kısayollar JS ile gizlenir, "Tüm menü"de durur */
.portal-nav{display:flex;gap:.15rem;flex:1 1 auto;min-width:0;overflow:hidden;margin-left:.6rem}
.portal-nav a,.portal-tumu-btn{white-space:nowrap;color:#DCCBE5;padding:.5rem .75rem;border-radius:8px;font:500 .9rem/1 var(--font);display:flex;gap:.45rem;align-items:center;text-decoration:none!important;background:none;border:0;cursor:pointer;flex:none}
.portal-nav a .icon,.portal-tumu-btn .icon{width:18px;height:18px;opacity:.85}
.portal-nav a:hover,.portal-tumu-btn:hover,.portal-tumu.open .portal-tumu-btn{background:rgba(255,255,255,.08);color:#fff}
.portal-nav a.active,.portal-tumu-btn.active{background:rgba(255,255,255,.12);color:#fff;box-shadow:inset 0 -2px 0 var(--altin)}
.portal-tumu{flex:none}
.portal-tumu-btn .icon:last-child{width:14px;height:14px}
.portal-tasan{font:700 .68rem/1 var(--font);background:var(--altin);color:#fff;border-radius:999px;padding:.18rem .38rem}
.portal-mega{left:auto;right:0;min-width:0;width:min(640px,calc(100vw - 2rem));padding:0;overflow:hidden}
.portal-mega-gruplar{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.25rem 1rem;padding:.9rem}
.portal-mega-baslik{font:700 .68rem/1 var(--font);letter-spacing:.12em;text-transform:uppercase;color:var(--altin-600);padding:.4rem .7rem .5rem}
.portal-mega a.active{background:var(--mor-50);color:var(--mor-800);font-weight:600}
.portal-pin{width:6px;height:6px;background:var(--altin);transform:rotate(45deg);margin-left:auto;flex:none}
.portal-mega-alt{border-top:1px solid var(--cizgi);background:var(--yuzey-2);padding:.35rem}
.portal-vurgu{flex:none;display:flex;align-items:center;gap:.45rem;white-space:nowrap;background:var(--altin);color:#fff!important;font:600 .88rem/1 var(--font);padding:.55rem .9rem;border-radius:999px;text-decoration:none!important;box-shadow:0 6px 16px -8px rgba(184,137,43,.9)}
.portal-vurgu:hover{background:var(--altin-600)}
.portal-vurgu.active{box-shadow:0 0 0 2px var(--mor-900),0 0 0 4px var(--altin)}
.portal-vurgu .icon{width:18px;height:18px}
.portal-head .topbar-sag{flex:none;margin-left:.2rem}
.portal-head .topbar-sag .ikon-btn,.portal-head .kullanici-btn{color:#fff}
.portal-head .ikon-btn:hover,.portal-head .kullanici-btn:hover{background:rgba(255,255,255,.08);color:#fff}
.portal-head .kullanici-btn .rol{color:var(--mor-300)}
.portal-serit{height:3px;background:linear-gradient(90deg,var(--altin),var(--mor-400) 40%,var(--mor))}
.portal-main{max-width:1240px;margin:0 auto;width:100%;padding:1.5rem 1.25rem 6rem;flex:1}
.portal-alt-nav{display:none}
@media (max-width:1380px){ .portal-head .kullanici-btn .ad{display:none} }
@media (max-width:1180px){ .portal-head .portal-ad{display:none} }
@media (max-width:1000px){ .portal-nav a span{display:none} .portal-nav a{padding:.55rem .6rem} .portal-nav a.active span{display:inline} }
/* Mobil: başlıkta yalnız logo + bildirim + profil; gezinme alt çubukta ve çekmecede */
@media (max-width:860px){
  .portal-nav,.portal-tumu,.portal-head .portal-vurgu{display:none}
  .portal-head-ic{min-height:54px;padding:.45rem 1rem;justify-content:space-between}
  .portal-head img.logo{height:30px}
  .portal-alt-nav{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:50;background:#fff;border-top:1px solid var(--cizgi);padding:.35rem .25rem calc(.35rem + env(safe-area-inset-bottom));justify-content:space-around;align-items:flex-end;box-shadow:0 -6px 20px rgba(44,17,57,.06)}
  .portal-alt-nav>a,.portal-alt-nav>button{position:relative;display:flex;flex-direction:column;align-items:center;gap:.15rem;font:600 .68rem/1.15 var(--font);color:var(--soluk);padding:.3rem .2rem;border-radius:10px;flex:1 1 0;min-width:0;text-decoration:none!important;background:none;border:0;cursor:pointer}
  .portal-alt-nav span{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .portal-alt-nav .icon{width:22px;height:22px}
  .portal-alt-nav .active{color:var(--mor)}
  .portal-alt-nav .active::before{content:"";position:absolute;top:-6px;left:30%;right:30%;height:3px;border-radius:0 0 3px 3px;background:var(--mor)}
  .portal-alt-nav a.vurgu{color:#fff;background:var(--mor);margin-top:-18px;border-radius:18px;padding:.6rem .3rem;box-shadow:0 8px 20px -6px rgba(116,44,145,.6);flex:0 0 74px}
  .portal-alt-nav a.vurgu.active::before{display:none}
  .portal-alt-nav .nokta{position:absolute;top:4px;right:calc(50% - 16px);width:8px;height:8px;border-radius:50%;background:var(--altin);border:2px solid #fff}
  .portal-main{padding:1rem 1rem 6.5rem}
}
/* Mobil çekmece (alt sayfa) */
dialog.portal-cekmece{margin:auto 0 0;width:100%;max-width:100%;max-height:88vh;border-radius:22px 22px 0 0;padding:0 0 env(safe-area-inset-bottom);display:none;flex-direction:column}
dialog.portal-cekmece[open]{display:flex;animation:cekmece-ac .22s ease-out}
@keyframes cekmece-ac{from{transform:translateY(40%);opacity:.4}to{transform:none;opacity:1}}
@media (min-width:861px){dialog.portal-cekmece{margin:auto;max-width:520px;border-radius:var(--r-l)}}
.portal-cekmece-tutamak{width:44px;height:5px;border-radius:5px;background:var(--cizgi-2);margin:.55rem auto .2rem}
.portal-cekmece-kisi{display:flex;align-items:center;gap:.75rem;padding:.4rem 1.1rem .8rem;border-bottom:1px solid var(--cizgi)}
.portal-cekmece-kisi div{flex:1;min-width:0;display:flex;flex-direction:column}
.portal-cekmece-kisi small{color:var(--soluk)}
.portal-cekmece-ic{overflow:auto;padding:.6rem 1rem 1.2rem}
.portal-cekmece-baslik{font:700 .68rem/1 var(--font);letter-spacing:.12em;text-transform:uppercase;color:var(--altin-600);margin:1rem .2rem .55rem}
.portal-karolar{display:grid;grid-template-columns:repeat(3,1fr);gap:.5rem}
.portal-karo{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.4rem;text-align:center;padding:.85rem .35rem;border-radius:14px;background:var(--mor-50);color:var(--mor-900);font:600 .78rem/1.2 var(--font);text-decoration:none!important;min-height:78px}
.portal-karo .icon{width:24px;height:24px;color:var(--mor)}
.portal-karo.active{background:var(--mor);color:#fff}.portal-karo.active .icon{color:#fff}
.portal-cekmece-ic>.portal-karo{flex-direction:row;font-size:.95rem;justify-content:flex-start;min-height:0;padding:.75rem 1rem;margin-top:.2rem}
.portal-cekmece-liste a,.portal-cekmece-liste button{display:flex;align-items:center;gap:.7rem;width:100%;padding:.75rem .5rem;border:0;border-bottom:1px solid var(--cizgi);background:none;color:var(--metin);font:500 .92rem var(--font);text-decoration:none!important;cursor:pointer;text-align:left}
.portal-cekmece-liste .icon{color:var(--mor)}
.portal-cekmece-liste .rozet{margin-left:auto;background:var(--altin);color:#fff;border-radius:999px;font-size:.72rem;padding:.15rem .5rem}
.portal-cekmece-liste form:last-child button{border-bottom:0;color:var(--kirmizi,#B42318)}
/* Menü kişiselleştirme */
.menu-duzenle-liste{list-style:none;margin:0;padding:0;border:1px solid var(--cizgi);border-radius:var(--r)}
.menu-duzenle-liste li{display:flex;align-items:center;gap:.6rem;padding:.5rem .7rem;border-bottom:1px solid var(--cizgi);background:var(--yuzey)}
.menu-duzenle-liste li:last-child{border-bottom:0}
.menu-duzenle-liste li.secili{background:var(--mor-50)}
.menu-duzenle-ad{flex:1;min-width:0;display:flex;align-items:center;gap:.5rem;font-weight:600;color:var(--mor-900)}
.menu-duzenle-ad .icon{color:var(--mor);flex:none}
.menu-duzenle-ad small{font-weight:500;color:var(--soluk);margin-left:.2rem}
.menu-duzenle-sec{display:flex;align-items:center;gap:.3rem;font-size:.82rem;white-space:nowrap;cursor:pointer}
.menu-duzenle-ok{display:flex}
.menu-duzenle-ok .ikon-btn:disabled{opacity:.3}
.menu-duzenle-uyari{color:var(--soluk);margin:.6rem 0 0}
@media (max-width:560px){
  .menu-duzenle-liste li{flex-wrap:wrap}
  .menu-duzenle-ad{flex-basis:100%}
  .menu-duzenle-ok{margin-left:auto}
}
.hosgeldin{position:relative;overflow:hidden;border-radius:var(--r-l);padding:1.5rem;background:linear-gradient(120deg,var(--mor-800),var(--mor) 70%);color:#fff;margin-bottom:1.25rem}
.hosgeldin h1{color:#fff;margin:0 0 .3rem;font-size:1.5rem}
.hosgeldin p{color:var(--mor-200);margin:0}
.hosgeldin::after{content:"";position:absolute;right:-30px;top:-40px;width:200px;height:260px;background:url(../img/edep-amblem-beyaz.png) center/contain no-repeat;opacity:.12}

/* Ders programı ızgarası */
.haftalik{display:grid;grid-template-columns:60px repeat(var(--gun,5),minmax(120px,1fr));border:1px solid var(--cizgi);border-radius:var(--r);overflow:auto;background:var(--yuzey);font-size:.82rem}
.haftalik .h-bas{position:sticky;top:0;background:var(--yuzey-2);padding:.6rem;font-weight:600;text-align:center;border-bottom:1px solid var(--cizgi);border-left:1px solid var(--cizgi);color:var(--mor-900);z-index:2}
.haftalik .h-saat{padding:.25rem .4rem;color:var(--soluk);font-size:.72rem;text-align:right;border-top:1px solid var(--cizgi);height:var(--saat-h,56px)}
.haftalik .h-gun{position:relative;border-left:1px solid var(--cizgi);background:repeating-linear-gradient(to bottom,transparent 0,transparent calc(var(--saat-h,56px) - 1px),var(--cizgi) calc(var(--saat-h,56px) - 1px),var(--cizgi) var(--saat-h,56px))}
.ders-blok{position:absolute;left:4px;right:4px;border-radius:7px;padding:.35rem .5rem;background:var(--mor-100);border-left:3px solid var(--mor);overflow:hidden;color:var(--mor-950);line-height:1.25;font-size:.78rem}
.ders-blok strong{display:block;font-size:.8rem}
.ders-blok .yer{color:var(--metin-2);font-size:.72rem}
.ders-blok.cakisma{background:var(--kirmizi-100);border-left-color:var(--kirmizi)}

/* Liste kartları (mobil uyumlu) */
.liste{list-style:none;margin:0;padding:0}
.liste>li{display:flex;gap:.9rem;align-items:center;padding:.85rem 1.25rem;border-bottom:1px solid var(--cizgi)}
.liste>li:last-child{border-bottom:0}
.liste .tarih-kutu{flex:none;width:52px;text-align:center;border-radius:10px;background:var(--mor-50);border:1px solid var(--mor-100);padding:.35rem 0;line-height:1.1}
.liste .tarih-kutu b{display:block;font:600 1.25rem var(--font-baslik);color:var(--mor-800)}
.liste .tarih-kutu span{font-size:.68rem;text-transform:uppercase;color:var(--soluk);letter-spacing:.05em}
.liste .baslik{font-weight:600;color:var(--metin)}
.liste .alt{font-size:.82rem;color:var(--soluk)}

/* QR okuyucu */
.tarayici{position:relative;background:#000;border-radius:var(--r-l);overflow:hidden;aspect-ratio:3/4;max-height:62vh;width:100%}
.tarayici video{width:100%;height:100%;object-fit:cover;display:block}
.tarayici .cerceve{position:absolute;inset:18% 14%;border-radius:18px;box-shadow:0 0 0 2000px rgba(0,0,0,.35)}
.tarayici .cerceve::before,.tarayici .cerceve::after{content:"";position:absolute;inset:-3px;border:3px solid transparent;border-radius:20px;background:linear-gradient(var(--altin),var(--altin)) top left/30px 3px no-repeat,linear-gradient(var(--altin),var(--altin)) top left/3px 30px no-repeat,linear-gradient(var(--altin),var(--altin)) top right/30px 3px no-repeat,linear-gradient(var(--altin),var(--altin)) top right/3px 30px no-repeat,linear-gradient(var(--altin),var(--altin)) bottom left/30px 3px no-repeat,linear-gradient(var(--altin),var(--altin)) bottom left/3px 30px no-repeat,linear-gradient(var(--altin),var(--altin)) bottom right/30px 3px no-repeat,linear-gradient(var(--altin),var(--altin)) bottom right/3px 30px no-repeat}
.tarayici .tarama-cizgi{position:absolute;left:16%;right:16%;height:2px;background:linear-gradient(90deg,transparent,var(--altin),transparent);top:20%;animation:tara 2.2s ease-in-out infinite alternate}
@keyframes tara{to{top:78%}}
.tarayici .durum{position:absolute;left:12px;right:12px;bottom:12px;padding:.7rem .9rem;border-radius:12px;background:rgba(255,255,255,.95);display:flex;gap:.7rem;align-items:center;font-size:.9rem;transform:translateY(calc(100% + 24px));transition:transform .25s}
.tarayici .durum.goster{transform:none}
.tarayici .durum.ok{border-left:5px solid var(--yesil)}.tarayici .durum.hata{border-left:5px solid var(--kirmizi)}.tarayici .durum.uyari{border-left:5px solid var(--amber)}
.flash-ok{animation:flashok .5s}
@keyframes flashok{0%{box-shadow:inset 0 0 0 0 rgba(36,119,90,.0)}30%{box-shadow:inset 0 0 0 9999px rgba(36,119,90,.35)}100%{box-shadow:inset 0 0 0 0 rgba(36,119,90,0)}}
.yoklama-liste li{transition:background .3s}
.yoklama-liste li.yeni{background:var(--yesil-100)}
.durum-sec{display:inline-flex;border:1px solid var(--cizgi-2);border-radius:8px;overflow:hidden}
.durum-sec label{cursor:pointer}
.durum-sec input{position:absolute;opacity:0;pointer-events:none}
.durum-sec span{display:block;padding:.35rem .6rem;font-size:.78rem;font-weight:600;color:var(--soluk);border-left:1px solid var(--cizgi-2)}
.durum-sec label:first-child span{border-left:0}
.durum-sec input:checked+span.var{background:var(--yesil);color:#fff}
.durum-sec input:checked+span.yok{background:var(--kirmizi);color:#fff}
.durum-sec input:checked+span.gec{background:var(--amber);color:#fff}
.durum-sec input:checked+span.izinli{background:var(--mavi);color:#fff}

/* ==========================================================================
   GİRİŞ EKRANLARI
   ========================================================================== */
.auth{min-height:100vh;display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);background:#fff}
.auth-gorsel{position:relative;background:radial-gradient(120% 90% at 20% 10%,var(--mor-700),var(--mor-900) 60%,var(--mor-950));color:#fff;display:flex;flex-direction:column;justify-content:space-between;padding:3rem;overflow:hidden}
.auth-gorsel::before{content:"";position:absolute;inset:0;background-image:linear-gradient(45deg,rgba(255,255,255,.035) 25%,transparent 25%,transparent 75%,rgba(255,255,255,.035) 75%),linear-gradient(45deg,rgba(255,255,255,.035) 25%,transparent 25%,transparent 75%,rgba(255,255,255,.035) 75%);background-size:44px 44px;background-position:0 0,22px 22px;mask-image:linear-gradient(180deg,#000,transparent 80%)}
.auth-gorsel .amblem{position:absolute;right:-6%;bottom:-8%;width:62%;opacity:.14}
.auth-gorsel img.logo{width:240px;position:relative}
.auth-gorsel blockquote{position:relative;margin:0;max-width:440px}
.auth-gorsel blockquote p{font:600 1.65rem/1.3 var(--font-baslik);margin:0 0 .8rem}
.auth-gorsel blockquote .arabic{color:var(--altin);font-size:1.6rem;display:block;margin-bottom:.4rem;text-align:left}
.auth-gorsel blockquote footer{color:var(--mor-300);font-size:.9rem}
.auth-form{display:flex;align-items:center;justify-content:center;padding:2.5rem 1.5rem}
.auth-kutu{width:100%;max-width:400px}
.auth-kutu h1{font-size:1.8rem;margin-bottom:.3rem}
.auth-kutu .alt{color:var(--soluk);margin-bottom:1.75rem}
.auth-kutu form .field{margin-bottom:1rem}
.auth-mobil-logo{display:none;margin-bottom:2rem}
@media (max-width:900px){.auth{grid-template-columns:1fr}.auth-gorsel{display:none}.auth-mobil-logo{display:block}.auth-mobil-logo img{height:54px}}

/* Yazdırma */
@media print{
  .sidebar,.topbar,.portal-head,.portal-alt-nav,.no-print,.btn,.toolbar,.pagination,.footer-panel{display:none!important}
  .panel{display:block}.content,.portal-main{padding:0;max-width:none}
  body{background:#fff;font-size:12px}
  .card{box-shadow:none;border-color:#ccc;break-inside:avoid}
  a{color:inherit}
}

/* Bildirim balonları */
#toastlar{position:fixed;right:1rem;bottom:1rem;z-index:200;display:flex;flex-direction:column;gap:.5rem;max-width:min(380px,calc(100vw - 2rem))}
.toast{padding:.8rem 1rem;border-radius:10px;background:var(--mor-900);color:#fff;font-size:.9rem;box-shadow:var(--golge-2);transform:translateY(12px);opacity:0;transition:.25s;border-left:4px solid var(--altin)}
.toast.goster{transform:none;opacity:1}
.toast-error{border-left-color:#ff6b81}.toast-warning{border-left-color:#f5b041}
@media (max-width:860px){#toastlar{bottom:5.5rem}}

/* Zengin metin düzenleyici */
.editor-wrap{border:1px solid var(--cizgi-2);border-radius:var(--r-s);background:#fff}
.editor-wrap .ql-toolbar.ql-snow{border:0;border-bottom:1px solid var(--cizgi);font-family:var(--font);border-radius:var(--r-s) var(--r-s) 0 0;background:var(--yuzey-2)}
.editor-wrap .ql-container.ql-snow{border:0;font:400 1rem/1.7 var(--font);min-height:260px}
.editor-wrap .ql-editor{min-height:260px}
.editor-wrap .ql-editor h2,.editor-wrap .ql-editor h3{font-family:var(--font-baslik);color:var(--mor-900)}

/* Seçim çubuğu */
.secim-cubugu{position:sticky;bottom:1rem;z-index:30;margin:1rem auto 0;display:flex;gap:.6rem;align-items:center;flex-wrap:wrap;background:var(--mor-900);color:#fff;padding:.7rem 1rem;border-radius:12px;box-shadow:var(--golge-2);max-width:max-content}
.secim-cubugu .btn-ikincil{background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.2);color:#fff}
.secim-cubugu select{min-height:34px;width:auto;padding-top:.35rem;padding-bottom:.35rem}

/* İçerik metni (sayfa/duyuru gövdesi) */
.prose{font-size:1rem;line-height:1.75;color:var(--metin)}
.prose h2{font-size:1.4rem;margin-top:1.6em}.prose h3{font-size:1.15rem;margin-top:1.4em}
.prose img{border-radius:var(--r);height:auto}
.prose blockquote{margin:1.2em 0;padding:.4em 1.2em;border-left:3px solid var(--altin);color:var(--metin-2);background:var(--yuzey-2)}
.prose ul,.prose ol{padding-left:1.4em}
.prose table{border-collapse:collapse;width:100%}.prose td,.prose th{border:1px solid var(--cizgi);padding:.4rem .6rem}
.prose .ql-align-center{text-align:center}.prose .ql-align-right{text-align:right}.prose .ql-align-justify{text-align:justify}
.prose .ql-direction-rtl{direction:rtl;text-align:right;font-family:var(--font-arapca);font-size:1.2em}
.prose iframe{width:100%;aspect-ratio:16/9;height:auto;border:0;border-radius:var(--r)}

/* QR okuyucu ek öğeler */
.tarayici-baslat{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.75rem;color:#fff;text-align:center;padding:1rem;background:radial-gradient(circle at 50% 40%,rgba(116,44,145,.55),rgba(30,11,39,.92))}
.tarayici-baslat p{margin:0;font-size:.88rem;color:var(--mor-200);max-width:280px}
.tarayici.aktif .tarayici-baslat{display:none}
.tarayici:not(.aktif) .tarama-cizgi,.tarayici:not(.aktif) .cerceve{display:none}
.tarayici-araclar{position:absolute;top:10px;right:10px;display:flex;gap:.4rem}
.tarayici-araclar .ikon-btn{background:rgba(0,0,0,.45);color:#fff}
.tarayici-araclar .ikon-btn.active{background:var(--altin)}
.tarayici:not(.aktif) .tarayici-araclar{display:none}
.tarayici .durum .avatar{width:44px;height:44px;border-radius:10px;object-fit:cover;font-size:1.2rem}

/* Doğrulama kodu girişi */
.kod-girisi{font:600 1.7rem/1 var(--font-baslik)!important;letter-spacing:.5em;text-align:center;padding:.7rem .5rem!important;min-height:56px!important}
.kod-araclar{display:flex;flex-wrap:wrap;gap:.25rem 1rem;justify-content:center;margin-top:.75rem}
.kod-kutu{display:flex;gap:.5rem;align-items:flex-end;flex-wrap:wrap}
.kod-kutu .field{flex:1;min-width:160px}
.dogrulandi{display:inline-flex;align-items:center;gap:.35rem;color:var(--yesil);font-weight:600;font-size:.88rem}
.tel-dogrula{display:flex;flex-direction:column;gap:.45rem}
.tel-dogrula .input-grup .btn{white-space:nowrap;min-width:110px}
.tel-dogrula.tamam #telefon{border-color:var(--yesil);background:var(--yesil-100)}
.tel-durum:empty{display:none}

/* Kırpma penceresi */
.kirp-modal{width:min(480px,calc(100vw - 1rem))}
.kirp-alan{position:relative;margin:0 auto;border-radius:8px;overflow:hidden;background:#111;touch-action:none;max-width:100%}
.kirp-alan canvas{display:block;cursor:grab;touch-action:none}
.kirp-alan canvas:active{cursor:grabbing}
.kirp-izgara{position:absolute;inset:0;pointer-events:none;background:linear-gradient(to right,transparent 33%,rgba(255,255,255,.35) 33%,rgba(255,255,255,.35) calc(33% + 1px),transparent calc(33% + 1px),transparent 66%,rgba(255,255,255,.35) 66%,rgba(255,255,255,.35) calc(66% + 1px),transparent calc(66% + 1px)),linear-gradient(to bottom,transparent 33%,rgba(255,255,255,.35) 33%,rgba(255,255,255,.35) calc(33% + 1px),transparent calc(33% + 1px),transparent 66%,rgba(255,255,255,.35) 66%,rgba(255,255,255,.35) calc(66% + 1px),transparent calc(66% + 1px));box-shadow:inset 0 0 0 2px var(--altin)}
.kirp-araclar{display:flex;gap:1rem;align-items:center;justify-content:center;margin-top:.8rem;flex-wrap:wrap}
.kirp-zoom{display:flex;gap:.5rem;align-items:center;font-size:.85rem;color:var(--metin-2)}
.kirp-zoom input{width:160px;accent-color:var(--mor)}
.kirp-onizleme{display:block;margin-top:.5rem;max-width:140px;max-height:180px;border-radius:8px;border:1px solid var(--cizgi);object-fit:cover}

/* Sürükle-bırak */
[data-sort-handle]{cursor:grab;touch-action:none;color:var(--soluk);display:inline-grid;place-items:center;width:28px;height:28px;border-radius:6px;user-select:none;flex:none}
[data-sort-handle]:hover{background:var(--mor-50);color:var(--mor)}
.surukleniyor{box-shadow:var(--golge-2);background:var(--yuzey);opacity:.95;border-radius:8px}
.sirala-yer{border:2px dashed var(--mor-300);border-radius:8px;background:var(--mor-50);list-style:none}
body.siralaniyor{cursor:grabbing;user-select:none}
/* Adres / iletişim kutusu (eğitim merkezi, yurt) */
.adres-liste{list-style:none;margin:0;padding:0;display:grid;gap:.45rem}
.adres-liste li{display:flex;gap:.55rem;align-items:flex-start;font-size:.9rem;line-height:1.4}
.adres-liste .icon{width:17px;height:17px;flex:none;color:var(--mor);margin-top:.1rem}
.adres-kutu.kucuk .adres-liste li{font-size:.84rem}
.adres-harita{display:block;width:100%;height:220px;border:0;border-radius:var(--r);margin-top:.75rem;background:var(--zemin)}
.table tr.secili td{background:var(--mor-50)}

/* Çerez yönetimi (panel) */
.cerez-buyuk{font:700 1.7rem/1.2 var(--font-baslik);color:var(--mor-900);margin:.2rem 0}
.cerez-oran{display:grid;gap:.35rem;margin-top:.4rem;font-size:.85rem}
.cerez-oran>div{display:flex;align-items:center;gap:.5rem}
.cerez-oran>div b{margin-left:auto}
.cerez-cubuk-satir span:first-child{flex:0 0 42%;min-width:0}
.cerez-cubuk{flex:1;height:8px;border-radius:99px;background:var(--mor-100);overflow:hidden}
.cerez-cubuk i{display:block;height:100%;background:var(--mor)}
.cerez-gunluk{display:flex;align-items:flex-end;gap:3px;height:140px;padding-top:.5rem;overflow-x:auto}
.cerez-gun{flex:1 0 14px;max-width:42px;height:100%;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;font-size:.62rem;color:var(--soluk)}
.cerez-gun-cubuk{width:100%;display:flex;flex-direction:column-reverse;border-radius:3px 3px 0 0;overflow:hidden;min-height:2px}
.cerez-gun-cubuk i{display:block;width:100%}
.cerez-lejant{display:flex;gap:.9rem;flex-wrap:wrap;margin-top:.6rem}
.cerez-lejant i{display:inline-block;width:10px;height:10px;border-radius:2px;margin-right:.3rem;vertical-align:-1px}
.t-green{background:var(--yesil)}.t-red{background:var(--kirmizi)}.t-blue{background:var(--mavi)}.t-amber{background:var(--amber)}.t-purple{background:var(--mor)}.t-gray{background:var(--soluk)}
.cerez-secim{display:inline-block;font-size:.72rem;padding:.12rem .45rem;border-radius:99px;margin:0 .2rem .2rem 0;background:var(--kirmizi-100);color:var(--kirmizi);text-decoration:line-through}
.cerez-secim.acik{background:var(--yesil-100);color:var(--yesil);text-decoration:none}
.cerez-sil summary{list-style:none}
.cerez-sil summary::-webkit-details-marker{display:none}
.cerez-sil[open] form{position:absolute;right:1rem;margin-top:.4rem;background:var(--yuzey);border:1px solid var(--cizgi);border-radius:10px;padding:.7rem;box-shadow:var(--golge-2);max-width:280px;z-index:5}
.cerez-dl{display:grid;grid-template-columns:auto 1fr;gap:.25rem .7rem;margin:0}
.cerez-dl dt{color:var(--soluk)}.cerez-dl dd{margin:0}

/* ==========================================================================
   AYARLAR — gruplu sol gezinme + arama
   ========================================================================== */
.ayar-duzen{display:grid;grid-template-columns:260px minmax(0,1fr);gap:1.5rem;align-items:start}
.ayar-nav{position:sticky;top:76px;background:var(--yuzey);border:1px solid var(--cizgi);border-radius:var(--r-l);padding:.75rem;max-height:calc(100vh - 96px);display:flex;flex-direction:column;gap:.5rem}
.ayar-nav-liste{overflow:auto;margin:0 -.25rem;padding:0 .25rem}
.ayar-nav-grup{font:700 .66rem/1 var(--font);letter-spacing:.12em;text-transform:uppercase;color:var(--altin-600);padding:.9rem .6rem .45rem}
.ayar-nav-grup:first-child{padding-top:.3rem}
.ayar-nav-liste a{display:flex;align-items:center;gap:.6rem;padding:.55rem .65rem;border-radius:8px;color:var(--metin-2);font:500 .9rem/1.2 var(--font);text-decoration:none!important}
.ayar-nav-liste a .icon{width:18px;height:18px;color:var(--soluk);flex:none}
.ayar-nav-liste a:hover{background:var(--mor-50);color:var(--mor-800)}
.ayar-nav-liste a.active{background:var(--mor-100);color:var(--mor-900);font-weight:600;box-shadow:inset 3px 0 0 var(--mor)}
.ayar-nav-liste a.active .icon{color:var(--mor)}
.ayar-durum{margin-left:auto;width:8px;height:8px;border-radius:50%;flex:none}
.ayar-durum.ok{background:var(--yesil)}.ayar-durum.eksik{background:var(--kirmizi)}
.ayar-ara{position:relative;display:flex;align-items:center}
.ayar-ara>.icon{position:absolute;left:.65rem;width:16px;height:16px;color:var(--soluk);pointer-events:none}
.ayar-ara input{width:100%;padding-left:2.1rem}
.ayar-ara-sonuc{position:absolute;top:calc(100% + 4px);left:0;right:0;z-index:30;background:var(--yuzey);border:1px solid var(--cizgi);border-radius:var(--r);box-shadow:var(--golge-2);padding:.3rem;max-height:60vh;overflow:auto}
.ayar-ara-sonuc a{display:flex;flex-direction:column;gap:.1rem;padding:.5rem .6rem;border-radius:6px;color:var(--metin);text-decoration:none!important}
.ayar-ara-sonuc a strong{font-weight:600;font-size:.86rem}
.ayar-ara-sonuc a small{color:var(--altin-600);font-size:.74rem}
.ayar-ara-sonuc a:hover,.ayar-ara-sonuc a.secili{background:var(--mor-50)}
.ayar-ara-bos{padding:.6rem;color:var(--soluk);font-size:.85rem}
.ayar-nav-mobil{display:none}
.ayar-baslik{display:flex;align-items:center;gap:.85rem;margin-bottom:1rem}
.ayar-baslik h2{margin:0;font-size:1.3rem}
.ayar-baslik p{margin:.15rem 0 0}
.ayar-baslik-ikon{width:42px;height:42px;border-radius:12px;background:var(--mor-100);color:var(--mor);display:grid;place-items:center;flex:none}
.ayar-baslik-ikon .icon{width:22px;height:22px}
.ayar-kaydet{position:sticky;bottom:0;background:var(--yuzey);z-index:5;border-radius:0 0 var(--r-l) var(--r-l)}
.ayar-kaydet [data-ayar-kirli]{margin-right:auto;color:var(--amber)}
form.kirli .ayar-kaydet{box-shadow:0 -8px 20px -12px rgba(44,17,57,.35)}
.ayar-vurgu{animation:ayar-vurgu 2.4s ease-out}
@keyframes ayar-vurgu{0%,40%{background:var(--altin-100);box-shadow:0 0 0 6px var(--altin-100)}100%{background:transparent;box-shadow:none}}
@media (max-width:980px){
  .ayar-duzen{grid-template-columns:1fr;gap:1rem}
  .ayar-nav{position:static;max-height:none}
  .ayar-nav-liste{display:none}
  .ayar-nav-mobil{display:flex;flex-direction:column;gap:.25rem}
}

/* Silme bölümü (düzenleme sayfalarının altında) */
.sil-alani{border-color:#F1C7CF}
.sil-alani h3{display:flex;align-items:center;gap:.45rem;font-size:1rem;color:var(--kirmizi);margin:0 0 .35rem}
.sil-alani h3 .icon{width:18px;height:18px}
.sil-alani-ic{display:flex;gap:1rem;align-items:center;justify-content:space-between;flex-wrap:wrap}
.sil-alani-ic>div:first-child{flex:1 1 320px}
.sil-alani-ic p{margin:.2rem 0}
.sil-alani-dugmeler{display:flex;gap:.5rem;flex-wrap:wrap}

/* ==========================================================================
   SLAYT YÖNETİMİ — liste, yerleşim seçimi, canlı önizleme
   ========================================================================== */
.slayt-liste{list-style:none;margin:0;padding:0}
.slayt-liste li{display:flex;align-items:center;gap:.9rem;padding:.8rem 1rem;border-top:1px solid var(--cizgi);background:var(--yuzey)}
.slayt-liste li.soluk .slayt-kucuk{filter:grayscale(.7);opacity:.7}
.slayt-liste .baslik{font-weight:600;color:var(--mor-900);text-decoration:none}
.slayt-liste .alt{font-size:.8rem;color:var(--soluk);margin-top:.2rem;display:flex;flex-wrap:wrap;gap:.25rem;align-items:center}
.slayt-liste .alt .icon{width:13px;height:13px}
.slayt-tutamak{cursor:grab;color:var(--soluk);display:flex}
.slayt-kucuk{position:relative;flex:none;width:150px;aspect-ratio:12/5;border-radius:8px;overflow:hidden;background:var(--mor-900) center/cover;display:flex;align-items:flex-end;padding:.35rem .45rem;text-decoration:none!important}
.slayt-kucuk::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(44,17,57,.85),rgba(44,17,57,.2))}
.slayt-kucuk img{position:absolute;right:6px;top:50%;transform:translateY(-50%);height:70%;opacity:.8}
.slayt-kucuk span{position:relative;color:#fff;font:600 .62rem/1.15 var(--font);max-width:70%}
.slayt-islem{display:flex;gap:.3rem;flex:none}
.ipucu-liste{margin:.4rem 0 0;padding-left:1.1rem;color:var(--metin-2)}
.ipucu-liste li{margin-bottom:.35rem}
@media (max-width:700px){.slayt-liste li{flex-wrap:wrap}.slayt-kucuk{width:120px}.slayt-islem{width:100%;justify-content:flex-end}.slayt-liste .grow{min-width:0;flex:1}}
.yerlesim-sec{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.6rem}
.yerlesim-kart{position:relative;display:flex;flex-direction:column;gap:.3rem;padding:.6rem;border:1px solid var(--cizgi-2);border-radius:10px;cursor:pointer;background:var(--yuzey)}
.yerlesim-kart input{position:absolute;opacity:0}
.yerlesim-kart:has(input:checked){border-color:var(--mor);box-shadow:0 0 0 3px var(--mor-100)}
.yerlesim-kart:has(input:focus-visible){outline:2px solid var(--mor);outline-offset:2px}
.yerlesim-kart strong{font-size:.86rem;color:var(--mor-900)}
.yerlesim-kart small{font-size:.74rem;color:var(--soluk);line-height:1.35}
.yerlesim-sema{position:relative;display:block;aspect-ratio:12/5;border-radius:6px;background:var(--mor-900);overflow:hidden}
.yerlesim-sema i{position:absolute;left:10%;top:30%;width:40%;height:10%;background:#fff;border-radius:2px;box-shadow:0 10px 0 -1px rgba(255,255,255,.5),0 20px 0 -2px var(--altin)}
.yerlesim-sema b{position:absolute;right:10%;top:18%;width:28%;height:64%;border-radius:4px;background:linear-gradient(135deg,#B49AC4,#6E4A80)}
.yerlesim-sema.yerlesim-tam_gorsel{background:linear-gradient(135deg,#B49AC4,#3B1650)}
.yerlesim-sema.yerlesim-tam_gorsel b,.yerlesim-sema.yerlesim-ortali b{display:none}
.yerlesim-sema.yerlesim-ortali{background:linear-gradient(135deg,#8E6AA0,#2C1139)}
.yerlesim-sema.yerlesim-ortali i{left:30%;width:40%}
@media (max-width:700px){.yerlesim-sec{grid-template-columns:1fr}}
.slayt-mevcut{display:flex;align-items:center;gap:.6rem;margin-bottom:.4rem}
.slayt-mevcut img{width:120px;aspect-ratio:12/5;object-fit:cover;border-radius:6px}
.tehlike-kart{border-color:var(--kirmizi-100)}
/* Canlı önizleme — sitedeki üst bölümün küçültülmüş benzeri */
.slayt-onizle{position:relative;overflow:hidden;border-radius:12px;background:radial-gradient(90% 120% at 85% 10%,#5A2275 0%,transparent 55%),var(--mor-900);color:#fff;aspect-ratio:12/5;max-height:380px;width:100%;margin:0 auto;transition:max-width .25s}
.slayt-onizle.telefon{max-width:300px;aspect-ratio:4/5;max-height:none}
.slayt-onizle-gorsel{position:absolute;inset:0;background:center/cover no-repeat}
.slayt-onizle-perde{position:absolute;inset:0;background:linear-gradient(90deg,#2C1139 0%,rgba(44,17,57,.75) 55%,rgba(44,17,57,.35) 100%);opacity:0}
.slayt-onizle.yerlesim-ortali .slayt-onizle-perde{background:#2C1139}
.slayt-onizle-ic{position:relative;height:100%;display:grid;grid-template-columns:1.2fr .8fr;align-items:center;gap:1rem;padding:5% 6%}
.slayt-onizle.yerlesim-ortali .slayt-onizle-ic,.slayt-onizle.telefon .slayt-onizle-ic{grid-template-columns:1fr}
.slayt-onizle.yerlesim-ortali .slayt-onizle-metin{text-align:center}
.slayt-onizle.yerlesim-ortali .slayt-onizle-btn{justify-content:center}
.slayt-onizle-ust{font:600 .62rem/1 var(--font);letter-spacing:.18em;text-transform:uppercase;color:var(--altin);margin-bottom:.55rem}
.slayt-onizle-baslik{font:600 clamp(1.1rem,2.6vw,2rem)/1.08 var(--font-baslik);margin-bottom:.55rem}
.slayt-onizle-baslik em{font-style:normal;color:var(--mor-200);font-weight:500}
.slayt-onizle p{font-size:.78rem;line-height:1.55;color:#E6D9EE;margin:0 0 .8rem;max-width:520px}
.slayt-onizle-btn{display:flex;gap:.4rem;flex-wrap:wrap}
.slayt-onizle-btn span{font:600 .7rem/1 var(--font);padding:.5rem .8rem;border-radius:999px}
.slayt-onizle-btn .b1{background:var(--altin)}
.slayt-onizle-btn .b2{border:1px solid rgba(255,255,255,.4)}
.slayt-onizle-yan{display:flex;justify-content:center}
.slayt-onizle-yan img.amblem{height:min(220px,70%);max-height:200px;opacity:.9}
.slayt-onizle-yan img.foto{width:100%;max-height:240px;object-fit:cover;border-radius:10px;box-shadow:0 14px 30px -10px rgba(0,0,0,.5);border:1px solid rgba(184,137,43,.45)}
.slayt-onizle:not(.yerlesim-metin_gorsel) .slayt-onizle-yan,.slayt-onizle.telefon .slayt-onizle-yan{display:none}

/* v1.9 Yoklama düzenleme: kilit/düzenleme çubuğu, "düzenlendi" işareti, değişiklik geçmişi, yok bildirimi kartı */
.duzenle-bar{padding:.85rem 1.1rem;border-bottom:1px solid var(--cizgi);background:var(--mor-50)}
.duzenle-kapali{display:flex;align-items:center;justify-content:space-between;gap:.75rem;flex-wrap:wrap}
.yoklama-duzenleniyor .duzenle-bar{background:var(--amber-100)}
.duzenlendi-isaret{display:none;margin-left:.35rem;color:var(--mavi);vertical-align:middle}
.duzenlendi-isaret svg{width:14px;height:14px}
li.duzenlendi .duzenlendi-isaret{display:inline-flex}
button.rozet-dugme{border:0;cursor:pointer}
button.rozet-dugme svg{width:13px;height:13px}
input.hatali{border-color:var(--kirmizi)!important;box-shadow:0 0 0 3px var(--kirmizi-100)}
.alert.m-1{margin:.85rem 1.1rem 0}
.degisiklik-gecmis{list-style:none;margin:0;padding:0}
.degisiklik-gecmis li{padding:.7rem 0;border-bottom:1px solid var(--cizgi)}
.degisiklik-gecmis li:last-child{border-bottom:0}
.degisiklik-gecmis .gerekce{margin-top:.3rem;padding:.4rem .6rem;background:var(--yuzey-2);border-radius:var(--r-s)}
.durum-etiket{font-weight:600}
.durum-etiket.var,.durum-etiket.burada{color:var(--yesil)}
.durum-etiket.yok{color:var(--kirmizi)}
.durum-etiket.gec{color:var(--amber)}
.durum-etiket.izinli{color:var(--mavi)}
.yok-bildirim .liste.sikisik li{padding:.45rem 0}
.yok-bildirim details summary{cursor:pointer}

/* v1.6.1.10 toplu işlemler */
.toplu-cubuk{max-width:min(100%,960px)}
.toplu-cubuk input:not([type=checkbox]){min-height:34px;width:auto;padding:.35rem .6rem;color:var(--metin)}
.toplu-cubuk .check{color:#fff}
.toplu-raf{display:flex;align-items:center;gap:.4rem;color:#fff}.toplu-raf input{max-width:9rem}
.toplu-not{max-width:14rem}
.tumu-bant{margin:0 1rem .5rem;padding:.55rem .9rem;border-radius:10px;background:var(--mor-100);color:var(--metin);font-size:.9rem;text-align:center}
.tumu-bant .btn-link{font-weight:600}
.toplu-kutu{border:1px solid var(--cizgi);border-radius:var(--r);padding:.6rem 1rem 1rem;margin:0}
.toplu-kutu legend{font-weight:600;padding:0 .35rem}
.toplu-uyari{margin:.8rem}
.gecis-duzen{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:1rem;align-items:start}
.gecis-yan{position:sticky;top:1rem}
.gecis-tablo select{min-height:34px;width:auto;max-width:100%}
.gecis-tablo tr[data-secim="mezun"]{background:rgba(116,44,145,.05)}
.gecis-tablo tr[data-secim="ayrildi"]{background:rgba(176,38,62,.05)}
.gecis-tablo tr[data-secim="kal"] td:first-child{opacity:.85}
.gecis-ozet{list-style:none;margin:0;padding:0;display:grid;gap:.45rem}
.gecis-ozet li{display:flex;justify-content:space-between;align-items:center}
.gecis-ozet b{font-size:1.15rem}
.liste.kompakt li{padding-top:.4rem;padding-bottom:.4rem}
@media (max-width:900px){.gecis-duzen{grid-template-columns:minmax(0,1fr)}.gecis-yan{position:static}}
@media (max-width:600px){.toplu-cubuk{left:.5rem;right:.5rem;bottom:.5rem;max-width:none}.toplu-not,.toplu-raf input{max-width:100%;flex:1}.tumu-bant{margin:0 .5rem .5rem}}

/* v1.6.1.11 */
.rafa-bos{max-width:640px;margin:0 auto}
.rafa-bos .ipucu-liste{text-align:left;margin:.6rem auto 1rem;max-width:560px;font-size:.9rem;color:var(--metin-2)}
.rafa-bos .ipucu-liste li{margin:.3rem 0}
.ice-aktar-menu .dropdown-menu{min-width:260px}
.ice-aktar-menu .dropdown-menu small{display:block;font-weight:400;font-size:.76rem;margin-top:.1rem}
.ice-aktar-menu .dropdown-menu a{align-items:flex-start}
.ice-aktar-menu .dropdown-menu a svg{margin-top:.15rem;flex:none}
/* v1.6.1.11 dar ekranda kampüs rozeti yalnız simge */
@media (max-width: 560px) {
  .topbar-sag .kapsam-rozet .kapsam-ad { display: none; }
  .topbar-sag .kapsam-rozet { padding: 4px 6px; }
  .topbar-sag { gap: 4px; min-width: 0; }
}
/* v1.6.1.12 */
.rafa-tumu-bant { border-left: 4px solid var(--altin, #B8892B); }
.rafa-tumu-bant .card-body { display: flex; flex-wrap: wrap; gap: .75rem 1.25rem; align-items: center; justify-content: space-between; }
.rafa-tumu-dugmeler { display: flex; flex-wrap: wrap; gap: .5rem; }
.rafa-ilerleme { margin-top: .25rem; }
.rafa-cubuk { height: 12px; border-radius: 99px; background: var(--mor-100); overflow: hidden; }
.rafa-cubuk span { display: block; height: 100%; width: 0; background: var(--mor, #742C91); transition: width .3s ease; }
@media (prefers-reduced-motion: reduce) { .rafa-cubuk span { transition: none; } }
.adim-liste { counter-reset: adim; list-style: none; padding: 0; margin: 0 0 1rem; display: grid; gap: .6rem; }
.adim-liste li { counter-increment: adim; position: relative; padding-left: 2.4rem; line-height: 1.5; }
.adim-liste li::before { content: counter(adim); position: absolute; left: 0; top: 0; width: 1.7rem; height: 1.7rem; border-radius: 50%; background: var(--mor-100); color: var(--mor); font-weight: 700; display: grid; place-items: center; font-size: .9rem; }
.extdb-kartlar h3 { font-size: 1.1rem; }
.card-head.sarar { flex-wrap: wrap; gap: .5rem; }
.kart-dugmeler { display: flex; flex-wrap: wrap; gap: .4rem; }

/* v1.6.1.14 ders izinleri */
.izin-kapsam { display: flex; flex-wrap: wrap; gap: .4rem 1.2rem; }
.izin-dersler { display: grid; gap: .3rem; margin-top: .5rem; padding: .6rem .75rem; border: 1px solid var(--cizgi); border-radius: 10px; background: var(--yuzey-2); max-height: 260px; overflow: auto; }
.izin-onizleme { margin-top: .35rem; color: var(--metin-2); }
.izin-onizleme:empty { display: none; }
.izin-ogr { position: relative; }
.izin-ogr-sonuc { list-style: none; margin: 0; padding: 0; position: absolute; top: 100%; left: 0; right: 0; z-index: 6; background: var(--yuzey); border: 1px solid var(--cizgi); border-radius: 8px; box-shadow: var(--golge-2); max-height: 240px; overflow: auto; }
.izin-ogr-sonuc:empty { display: none; }
.izin-ogr-sonuc li { padding: .5rem .75rem; cursor: pointer; border-bottom: 1px solid var(--cizgi); }
.izin-ogr-sonuc li:hover, .izin-ogr-sonuc li:focus { background: var(--mor-50); outline: none; }
.izin-ogr-sonuc small { display: block; color: var(--soluk); }
.izin-toplu { display: flex; flex-wrap: wrap; align-items: center; gap: .5rem .75rem; padding: .6rem 1rem; border-bottom: 1px solid var(--cizgi); background: var(--yuzey-2); }
.izin-toplu input[name="not"] { flex: 1 1 180px; min-width: 0; min-height: 34px; }
.izin-liste .izin-sec { margin-top: .7rem; width: 18px; height: 18px; flex: 0 0 auto; }
.izin-islem { justify-content: flex-end; gap: .4rem; align-items: center; }
.izin-islem form input[name="not"] { width: 200px; max-width: 100%; min-height: 34px; }
.izin-oturumlar { margin-top: .35rem; }
.izin-oturumlar ul { margin: .35rem 0 0; padding-left: 1.1rem; display: grid; gap: .2rem; }
.izin-rozet { display: inline-flex; align-items: center; gap: .25rem; font-size: .78rem; font-weight: 600; color: var(--mavi); background: var(--mavi-100); border-radius: 999px; padding: .05rem .5rem; white-space: nowrap; }
.izin-rozet svg { width: 13px; height: 13px; }
.izin-ozet { margin: .75rem 1rem 0; padding: .6rem .8rem; border-radius: 10px; background: var(--mavi-100); color: var(--metin); font-size: .9rem; line-height: 1.5; }
.izin-ozet svg { width: 15px; height: 15px; vertical-align: -2px; }
.izin-pano { display: flex; align-items: center; gap: .75rem; margin: 0; }
.izin-pano > div { flex: 1; }
.izin-adim { padding-left: 1.1rem; display: grid; gap: .4rem; }
@media (max-width: 640px) {
  .izin-islem { justify-content: flex-start; width: 100%; }
  .izin-islem form { width: 100%; }
  .izin-islem form input[name="not"] { width: 100%; }
}

/* v1.6.1.14 dar ekran: kenar çubuklu ızgarada geniş tablolar sayfayı taşırmasın */
@media (max-width:1100px){.grid-sidebar{grid-template-columns:minmax(0,1fr)}}

/* v1.6.1.15 çekirdek: raporlar, sistem durumu, işlem geçmişi */
.sag{text-align:right}.soluk{color:var(--soluk)}.kirmizi-yazi{color:var(--kirmizi);font-weight:600}
.rapor-suzgec,.islem-suzgec{display:flex;flex-wrap:wrap;gap:.75rem 1rem;align-items:flex-end}
.rapor-suzgec .field,.islem-suzgec .field{margin:0;flex:1 1 180px;min-width:0}
.rapor-suzgec-dugme,.islem-suzgec-dugme{flex:0 0 auto!important;display:flex;gap:.4rem;align-items:center}
.rapor-ozet{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;margin-bottom:1.5rem;background:var(--yuzey);border:1px solid var(--cizgi);border-radius:var(--r-l);overflow:hidden}
.rapor-ozet>div{display:flex;flex-direction:column;gap:.15rem;padding:.9rem 1.2rem;border-left:1px solid var(--cizgi)}
.rapor-ozet>div:first-child{border-left:0;border-top:3px solid var(--mor)}
.rapor-ozet>div:not(:first-child){border-top:3px solid var(--altin-100)}
.rapor-ozet strong{font:600 1.15rem/1.25 var(--font-baslik);color:var(--mor-900)}
.rapor-bolum{margin-bottom:1.5rem}
.rapor-bolum-baslik{font:600 .8rem/1 var(--font);letter-spacing:.08em;text-transform:uppercase;color:var(--soluk);margin:0 0 .7rem;display:flex;align-items:center;gap:.6rem}
.rapor-bolum-baslik::after{content:"";flex:1;height:1px;background:var(--cizgi)}
.kpi-izgara{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:.75rem}
.kpi{background:var(--yuzey);border:1px solid var(--cizgi);border-radius:var(--r);padding:.85rem 1rem;display:flex;flex-direction:column;gap:.25rem;min-width:0}
.kpi-ad{font-size:.8rem;color:var(--metin-2);font-weight:500}
.kpi-deger{font:600 1.65rem/1.1 var(--font-baslik);color:var(--mor-900);font-variant-numeric:tabular-nums}
.kpi-alt{display:flex;flex-direction:column;gap:.1rem;font-size:.78rem}
.kpi-fark{font-weight:600;font-size:.78rem}.kpi-fark.iyi{color:var(--yesil)}.kpi-fark.kotu{color:var(--kirmizi)}.kpi-fark.notr{color:var(--soluk);font-weight:500}
.rapor-grafikler{align-items:start}
.rapor-tablo td,.rapor-tablo th{font-variant-numeric:tabular-nums}
.rapor-tablo tbody th{font-weight:500;text-align:left}
/* Satır içi SVG grafikleri */
.grafik{width:100%;height:auto;display:block;font-family:var(--font);overflow:visible}
.grafik .baslik{font:600 15px var(--font-baslik);fill:var(--mor-900)}
.grafik .etiket{font-size:12.5px;fill:var(--metin-2)}
.grafik .deger{font-size:12.5px;fill:var(--metin);font-weight:600}.grafik .kalin{font-weight:700}
.grafik .not{fill:var(--soluk);font-weight:400}
.grafik .zemin{fill:var(--mor-50)}
.grafik .cubuk{fill:var(--mor-400)}.grafik .cubuk.vurgu{fill:var(--mor)}
.grafik .referans{stroke:var(--altin);stroke-width:1.5;stroke-dasharray:4 3}
.grafik .referans-yazi{font-size:11px;fill:var(--altin-600);font-weight:600}
.grafik .izgara{stroke:var(--cizgi);stroke-width:1}
.grafik .eksen{font-size:11px;fill:var(--soluk)}
.grafik .cizgi{fill:none;stroke:var(--mor);stroke-width:2.5;stroke-linejoin:round;stroke-linecap:round}
.grafik .nokta{fill:var(--yuzey);stroke:var(--mor);stroke-width:2}.grafik .nokta.vurgu{fill:var(--altin);stroke:var(--altin-600)}
.grafik .gecis{font-size:11px;fill:var(--soluk)}
.huni .cubuk{fill:var(--mor-300)}.huni .cubuk.vurgu{fill:var(--mor)}
/* İşlem geçmişi */
.islem-tablo td{vertical-align:top}
.islem-ad{font-weight:600}
.islem-ayrinti{min-width:220px;max-width:520px}
.islem-ayrinti summary{cursor:pointer;list-style-position:outside}
.islem-ayrinti details[open] summary{margin-bottom:.5rem}
.degisiklik{margin:.25rem 0 .5rem;border:1px solid var(--cizgi);border-radius:var(--r-s);font-size:.82rem}
.degisiklik td{word-break:break-word}
.degisiklik .eski{color:var(--kirmizi);text-decoration:line-through;text-decoration-color:rgba(179,38,62,.35)}
.degisiklik .yeni{color:var(--yesil);font-weight:500}
/* Sistem durumu */
.stat.tehlike{border-color:var(--kirmizi);background:var(--kirmizi-100)}.stat.tehlike .stat-value{color:var(--kirmizi)}.stat.tehlike .stat-ikon{background:#fff;color:var(--kirmizi)}
.stat.uyari{border-color:#E8C48E;background:var(--amber-100)}.stat.uyari .stat-value{color:var(--amber)}.stat.uyari .stat-ikon{background:#fff;color:var(--amber)}
.hata-grafik{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:.5rem;align-items:end;height:150px;padding-top:.25rem}
.hata-gun{display:flex;flex-direction:column;align-items:center;gap:.25rem;height:100%}
.hata-sayi{font:600 .82rem var(--font);color:var(--metin-2)}
.hata-cubuk{flex:1;width:100%;max-width:34px;background:var(--mor-50);border-radius:5px;display:flex;align-items:flex-end;overflow:hidden}
.hata-cubuk i{display:block;width:100%;background:var(--kirmizi);border-radius:5px 5px 0 0;opacity:.8}
.hata-tarih{font-size:.72rem;color:var(--soluk)}
.log-kutu{max-height:280px;overflow:auto;background:var(--mor-950);color:#E9E1EE;padding:.8rem 1rem;border-radius:var(--r-s);font:12px/1.5 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;white-space:pre-wrap;word-break:break-all}
.satir-ici{display:inline}
.progress{height:10px;background:var(--mor-50);border-radius:999px;overflow:hidden;border:1px solid var(--cizgi)}
.progress>span{display:block;height:100%;background:var(--mor);border-radius:999px}
.progress.iyi>span{background:var(--yesil)}.progress.uyari>span{background:var(--amber)}.progress.tehlike>span{background:var(--kirmizi)}
.kontrol-liste{list-style:none;margin:0;padding:0}
.kontrol-liste li{display:flex;gap:.8rem;align-items:flex-start;padding:.8rem 1.25rem;border-top:1px solid var(--cizgi)}
.kontrol-liste li:first-child{border-top:0}
.kontrol-isaret{flex:none;width:26px;height:26px;border-radius:50%;display:grid;place-items:center;margin-top:.1rem}
.kontrol-isaret svg{width:15px;height:15px}
.kontrol-liste li.tamam .kontrol-isaret{background:var(--yesil-100);color:var(--yesil)}
.kontrol-liste li.eksik .kontrol-isaret{background:var(--kirmizi-100);color:var(--kirmizi)}
.kontrol-liste li>div,.kontrol-liste li>.grow{flex:1;min-width:0}
.kontrol-form{display:flex;flex-wrap:wrap;gap:.4rem;align-items:center;margin-top:.5rem}
.kontrol-form input[type=text]{flex:1 1 200px;min-width:0}
@media (max-width:760px){
  .rapor-ozet{grid-template-columns:1fr}
  .rapor-ozet>div{border-left:0;border-top:1px solid var(--cizgi)!important}
  .rapor-ozet>div:first-child{border-top:3px solid var(--mor)!important}
  .kpi-izgara{grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem}
  .kpi{padding:.7rem .75rem}.kpi-deger{font-size:1.35rem}
  .rapor-suzgec .field,.islem-suzgec .field{flex:1 1 100%}
  .islem-ayrinti{min-width:180px}
  .kontrol-liste li{padding:.75rem 1rem}
}
@media print{
  .rapor-ozet,.kpi{break-inside:avoid}
  .kpi-izgara{grid-template-columns:repeat(4,1fr)}
  .rapor-grafikler{grid-template-columns:1fr 1fr}
  .grafik .cubuk,.grafik .cizgi,.grafik .nokta{-webkit-print-color-adjust:exact;print-color-adjust:exact}
}
.rapor-tablo tbody th{text-transform:none;letter-spacing:normal;font-size:.9rem;color:var(--metin);background:transparent;font-weight:500;white-space:normal}
.huni-kutu .grafik{max-width:760px;margin:0 auto}
@media (max-width:760px){.grid-2,.grid-3,.grid-4{grid-template-columns:minmax(0,1fr)}}
.table th.sag,.table td.sag{text-align:right;font-variant-numeric:tabular-nums}
@media (max-width:760px){.huni-kutu{overflow-x:auto}.huni-kutu .grafik{min-width:560px}.rapor-grafikler .grafik{min-width:0}}

/* v1.6.1.16 portal menü rozeti (okunmamış sayısı) */
.portal-rozet{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 5px;margin-left:6px;border-radius:9px;background:var(--altin,#B8892B);color:#fff;font-size:11px;font-weight:700;line-height:1;vertical-align:middle}
.ders-baglantilar{display:flex;flex-wrap:wrap;gap:.4rem;align-items:center}
