:root{
  --brand:#4f46e5; --brand-600:#4338ca; --brand-50:#eef2ff;
  --accent:#e11d48;
  --ink:#0f172a; --muted:#64748b; --line:#e8ecf4; --bg:#f5f7fb; --card:#fff;
  --side:#0b1220; --side-2:#131c31; --side-text:#94a3b8;
  --radius:14px; --shadow:0 1px 2px rgba(16,24,40,.04),0 4px 16px rgba(16,24,40,.06);
}
*{box-sizing:border-box}
html{font-size:14.5px}
body{font-family:'Inter',system-ui,-apple-system,'Segoe UI',sans-serif;background:var(--bg);color:var(--ink);-webkit-font-smoothing:antialiased}
a{color:var(--brand);text-decoration:none} a:hover{color:var(--brand-600)}

/* ---------- Shell ---------- */
.app{display:flex;min-height:100vh}
.sidebar{width:264px;background:linear-gradient(180deg,var(--side),var(--side-2));color:var(--side-text);position:fixed;inset:0 auto 0 0;display:flex;flex-direction:column;z-index:1040;transition:transform .25s}
.brand{display:flex;align-items:center;gap:.75rem;padding:1.25rem 1.25rem 1rem;color:#fff}
.brand-logo{width:42px;height:42px;border-radius:12px;background:linear-gradient(135deg,var(--accent),#f97316);display:grid;place-items:center;font-weight:800;color:#fff;font-size:1.05rem;box-shadow:0 6px 18px rgba(225,29,72,.45)}
.brand b{display:block;font-size:1.02rem;letter-spacing:.2px;line-height:1.1}
.brand small{color:var(--side-text);font-size:.74rem}
.side-scroll{flex:1;overflow-y:auto;padding:.25rem .85rem 1rem}
.side-scroll::-webkit-scrollbar{width:6px}.side-scroll::-webkit-scrollbar-thumb{background:#243049;border-radius:6px}
.nav-label{font-size:.68rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:#52627f;padding:1rem .75rem .4rem}
.side-link{display:flex;align-items:center;gap:.8rem;padding:.62rem .8rem;margin:2px 0;border-radius:10px;color:var(--side-text);font-weight:500;transition:.15s}
.side-link i{font-size:1.1rem;width:20px;text-align:center;opacity:.9}
.side-link:hover{background:rgba(255,255,255,.06);color:#fff}
.side-link.active{background:linear-gradient(90deg,var(--brand),#6366f1);color:#fff;box-shadow:0 6px 16px rgba(79,70,229,.4)}
.side-foot{padding:.9rem 1rem;border-top:1px solid rgba(255,255,255,.07);display:flex;align-items:center;gap:.7rem;color:#fff}
.avatar{width:38px;height:38px;border-radius:50%;background:linear-gradient(135deg,#6366f1,#22d3ee);display:grid;place-items:center;font-weight:700;color:#fff;flex:none}
.side-foot small{display:block;color:var(--side-text);font-size:.72rem}
.main{margin-left:264px;flex:1;min-width:0;display:flex;flex-direction:column;transition:margin-left .25s}
.topbar{position:sticky;top:0;z-index:1030;background:rgba(245,247,251,.85);backdrop-filter:blur(10px);border-bottom:1px solid var(--line);padding:.75rem 1.75rem;display:flex;align-items:center;gap:1rem}
.topbar .page-title{font-size:1.05rem;font-weight:700;margin:0}
.topbar .crumb{color:var(--muted);font-size:.78rem}
.content{padding:1.75rem;max-width:1600px;width:100%}
.menu-btn{display:grid;place-items:center;border:0;background:#fff;border-radius:10px;width:40px;height:40px;box-shadow:var(--shadow);flex:none;cursor:pointer}
@media(min-width:992px){
  .app.side-kapali .sidebar{transform:translateX(-100%)}
  .app.side-kapali .main{margin-left:0}
  .app.side-kapali .content{max-width:none}
}
.branch-pill{display:flex;align-items:center;gap:.5rem;background:#fff;border:1px solid var(--line);border-radius:999px;padding:.2rem .35rem .2rem .85rem;box-shadow:var(--shadow)}
.branch-pill select{border:0;background:transparent;box-shadow:none;font-weight:600;padding-right:1.6rem}
.branch-pill select:focus{box-shadow:none}
@media(max-width:991px){
  .sidebar{transform:translateX(-100%)} .sidebar.open{transform:none}
  .main{margin-left:0} .content{padding:1rem}
}
.scrim{display:none;position:fixed;inset:0;background:rgba(15,23,42,.5);z-index:1035}
.scrim.show{display:block}

/* ---------- Typography / page header ---------- */
h3{font-size:1.45rem;font-weight:800;letter-spacing:-.02em;margin:0 0 1rem}
h4{font-weight:700} h5{font-size:1.02rem;font-weight:700;margin:1.4rem 0 .7rem;color:var(--ink)}
h5::before{content:"";display:inline-block;width:4px;height:1em;background:var(--brand);border-radius:4px;margin-right:.55rem;vertical-align:-2px}
.text-muted{color:var(--muted)!important}
.fs-6.text-muted{font-weight:500}

/* ---------- Cards ---------- */
.card{border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);background:var(--card)}
.card-header{background:transparent;border-bottom:1px solid var(--line);font-weight:700;padding:.9rem 1.15rem;border-radius:var(--radius) var(--radius) 0 0!important}
.card-body{padding:1.15rem}
.list-group-item{border-color:var(--line)}
.stat{position:relative;overflow:hidden}
.stat .icon{width:48px;height:48px;border-radius:14px;display:grid;place-items:center;font-size:1.4rem}
.stat .value{font-size:1.9rem;font-weight:800;letter-spacing:-.02em;line-height:1.1}
.stat .label{color:var(--muted);font-weight:500;font-size:.85rem}
.i-indigo{background:#eef2ff;color:#4f46e5}.i-green{background:#dcfce7;color:#16a34a}
.i-amber{background:#fef3c7;color:#d97706}.i-rose{background:#ffe4e6;color:#e11d48}.i-sky{background:#e0f2fe;color:#0284c7}

/* ---------- Tables ---------- */
.table{--bs-table-bg:transparent;background:#fff;border-collapse:separate;border-spacing:0;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow);margin-bottom:1.25rem;vertical-align:middle}
.table>thead th{background:#f8faff;color:#64748b;font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;border-bottom:1px solid var(--line);padding:.8rem .9rem;white-space:nowrap}
.table>tbody td,.table>tfoot td,.table>tfoot th{padding:.7rem .9rem;border-bottom:1px solid #f0f3f9}
.table>tbody tr:last-child td{border-bottom:0}
.table-striped>tbody>tr:nth-of-type(odd)>*{--bs-table-accent-bg:transparent;background:transparent}
.table>tbody tr:hover>td{background:#f8faff}
.table>tfoot th{background:#f8faff;border-top:1px solid var(--line)}
.table.w-auto{min-width:420px}
.card .table{border:0;box-shadow:none;border-radius:0;margin:0}

/* Mobil: genis tablolar tasmasin, yatay kaydirilabilir olsun */
@media(max-width:767px){
  .table{display:block;overflow-x:auto;-webkit-overflow-scrolling:touch}
  .table>thead th,.table>tbody td,.table>tfoot td,.table>tfoot th{padding:.55rem .7rem;font-size:.82rem}
  .table .uy-cell{min-width:100px}
  .content{padding:.85rem}
  .topbar{padding:.65rem 1rem;gap:.6rem}
  .topbar .crumb{display:none}
}

/* ---------- Forms & buttons ---------- */
.form-control,.form-select{border-radius:10px;border:1px solid #dbe1ee;padding:.55rem .8rem;background-color:#fff}
.form-control:focus,.form-select:focus{border-color:#a5b4fc;box-shadow:0 0 0 4px rgba(99,102,241,.15)}
.form-label{font-weight:600;font-size:.82rem;color:#334155}
.btn{border-radius:10px;font-weight:600;padding:.5rem 1rem;transition:.15s}
.btn-sm{padding:.3rem .65rem;border-radius:8px;font-size:.8rem}
.btn-primary,.btn-danger{background:linear-gradient(135deg,var(--brand),#6366f1);border:0;color:#fff;box-shadow:0 4px 12px rgba(79,70,229,.3)}
.btn-primary:hover,.btn-danger:hover{background:linear-gradient(135deg,var(--brand-600),var(--brand));color:#fff;transform:translateY(-1px)}
.btn-secondary{background:#fff;color:#334155;border:1px solid #dbe1ee}
.btn-secondary:hover{background:#f1f5f9;color:#0f172a;border-color:#cbd5e1}
.btn-outline-secondary{border-color:#dbe1ee;color:#475569;background:#fff}
.btn-outline-secondary:hover{background:#f1f5f9;color:#0f172a;border-color:#cbd5e1}
.btn-outline-danger{color:#e11d48;border-color:#fecdd3;background:#fff}.btn-outline-danger:hover{background:#e11d48;border-color:#e11d48;color:#fff}
.btn-outline-primary{color:var(--brand);border-color:#c7d2fe;background:#fff}.btn-outline-primary:hover{background:var(--brand);border-color:var(--brand)}
.btn-outline-success{color:#16a34a;border-color:#bbf7d0;background:#fff}.btn-outline-success:hover{background:#16a34a;border-color:#16a34a}
.btn-success{background:#16a34a;border:0}.btn-warning{background:#f59e0b;border:0;color:#fff}.btn-warning:hover{background:#d97706;color:#fff}
.badge{font-weight:600;padding:.4em .7em;border-radius:999px}
.bg-success{background:#dcfce7!important;color:#15803d}.bg-danger{background:#ffe4e6!important;color:#be123c}.bg-secondary{background:#e2e8f0!important;color:#475569}
.alert{border:0;border-radius:12px;box-shadow:var(--shadow);font-weight:500}
.alert-success{background:#ecfdf3;color:#067647}.alert-danger{background:#fff1f2;color:#be123c}.alert-warning{background:#fffbeb;color:#b45309}.alert-info{background:#eff6ff;color:#1d4ed8}
.pagination .page-link{border:0;border-radius:8px!important;margin:0 2px;color:#475569}
.pagination .active .page-link{background:var(--brand);color:#fff}

/* ---------- Tabs ---------- */
.nav-tabs{border-bottom:1px solid var(--line);gap:.25rem}
.nav-tabs .nav-link{border:0;border-radius:10px 10px 0 0;color:var(--muted);font-weight:600;padding:.7rem 1.1rem}
.nav-tabs .nav-link.active{color:var(--brand);background:#fff;box-shadow:inset 0 -3px 0 var(--brand)}

/* ---------- Login ---------- */
.login-wrap{min-height:100vh;display:grid;grid-template-columns:1.1fr 1fr}
.login-hero{background:radial-gradient(1200px 600px at 10% 10%,#6366f1 0,transparent 60%),radial-gradient(800px 500px at 90% 90%,#e11d48 0,transparent 55%),#0b1220;color:#fff;padding:4rem;display:flex;flex-direction:column;justify-content:space-between}
.login-hero h1{font-size:2.6rem;font-weight:800;letter-spacing:-.03em;line-height:1.1}
.login-hero ul{list-style:none;padding:0;margin:2rem 0 0;color:#cbd5e1}
.login-hero li{margin:.6rem 0;display:flex;gap:.7rem;align-items:center}
.login-hero li i{color:#a5b4fc}
.login-form{display:grid;place-items:center;padding:2rem;background:#fff}
.login-form .box{width:100%;max-width:380px}
@media(max-width:900px){.login-wrap{grid-template-columns:1fr}.login-hero{display:none}}

@media print{.sidebar,.topbar,.no-print{display:none!important}.main{margin:0}.content{padding:0}body{background:#fff}.table{box-shadow:none}}

/* ---------- Page header ---------- */
.page-head{display:flex;flex-wrap:wrap;align-items:center;gap:1rem;margin-bottom:1.25rem}
.page-head h3{margin:0}.page-head .sub{color:var(--muted);font-size:.85rem}
.page-head .actions{margin-left:auto;display:flex;gap:.5rem;flex-wrap:wrap}
.drop-zone{display:flex;flex-direction:column;align-items:center;gap:.25rem;padding:1.6rem;border:2px dashed #c7d2fe;border-radius:14px;background:#f8faff;cursor:pointer;text-align:center;transition:.15s}
.drop-zone:hover{border-color:var(--brand);background:var(--brand-50)}

/* ---------- Data grid ---------- */
.grid-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden}
.grid-tools{padding:1rem 1.1rem;border-bottom:1px solid var(--line);background:#fcfdff}
.search-box{position:relative}.search-box i{position:absolute;left:.85rem;top:50%;transform:translateY(-50%);color:#94a3b8}
.search-box input{padding-left:2.35rem}
.grid-card .table{border:0;border-radius:0;box-shadow:none;margin:0}
.grid-card .table>thead th{position:sticky;top:0}
.sort-link{color:inherit;display:inline-flex;align-items:center;gap:.3rem}
.sort-link:hover{color:var(--brand)}.sort-link i{font-size:.8rem;opacity:.35}.sort-link.on{color:var(--brand)}.sort-link.on i{opacity:1}
.grid-foot{display:flex;flex-wrap:wrap;align-items:center;gap:1rem;padding:.8rem 1.1rem;border-top:1px solid var(--line);background:#fcfdff;color:var(--muted);font-size:.85rem}
.row-link{cursor:pointer}
.person{display:flex;align-items:center;gap:.75rem;min-width:220px}
.person .nm{font-weight:600;color:var(--ink);line-height:1.2}.person .sm{font-size:.78rem;color:var(--muted)}
.av{width:40px;height:40px;border-radius:12px;display:grid;place-items:center;font-weight:700;color:#fff;flex:none;font-size:.9rem}
.av.f{background:linear-gradient(135deg,#ec4899,#f43f5e)}.av.m{background:linear-gradient(135deg,#6366f1,#3b82f6)}.av.n{background:linear-gradient(135deg,#64748b,#94a3b8)}
.pill{display:inline-flex;align-items:center;gap:.35rem;padding:.25rem .65rem;border-radius:999px;font-size:.75rem;font-weight:600;background:#eef2f7;color:#475569;white-space:nowrap}
.pill.ok{background:#dcfce7;color:#15803d}.pill.bad{background:#ffe4e6;color:#be123c}.pill.warn{background:#fef3c7;color:#b45309}.pill.info{background:#e0f2fe;color:#0369a1}
.pill::before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}
.mono{font-variant-numeric:tabular-nums;font-feature-settings:"tnum"}
.filter-chip{display:inline-flex;align-items:center;gap:.4rem;background:var(--brand-50);color:var(--brand-600);border-radius:999px;padding:.2rem .7rem;font-size:.78rem;font-weight:600}

/* ---------- Profile ---------- */
.profile-hero{position:relative;border-radius:18px;overflow:hidden;background:#fff;border:1px solid var(--line);box-shadow:var(--shadow);margin-bottom:1.25rem}
.profile-cover{height:110px;background:radial-gradient(500px 200px at 15% 0,#818cf8 0,transparent 70%),radial-gradient(400px 200px at 90% 100%,#fb7185 0,transparent 70%),linear-gradient(135deg,#312e81,#4f46e5)}
.profile-main{display:flex;flex-wrap:wrap;gap:1.25rem;padding:0 1.5rem 1.4rem;margin-top:-44px;align-items:flex-end}
.av-lg{width:96px;height:96px;border-radius:24px;border:5px solid #fff;display:grid;place-items:center;font-size:2rem;font-weight:800;color:#fff;box-shadow:0 8px 24px rgba(15,23,42,.18)}
.profile-main .who{flex:1;min-width:240px;padding-top:50px}
.profile-main .who h2{font-size:1.5rem;font-weight:800;letter-spacing:-.02em;margin:0}
.profile-main .actions{display:flex;gap:.5rem;flex-wrap:wrap;padding-top:50px}
.meta-row{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.5rem}
.meta{display:inline-flex;align-items:center;gap:.4rem;color:var(--muted);font-size:.85rem}.meta i{color:var(--brand)}
.mini-stat{background:#fff;border:1px solid var(--line);border-radius:14px;padding:1rem 1.1rem;box-shadow:var(--shadow);height:100%}
.mini-stat .k{color:var(--muted);font-size:.78rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em}
.mini-stat .v{font-size:1.45rem;font-weight:800;letter-spacing:-.02em}
.info-card .card-header{display:flex;align-items:center;gap:.6rem}
.info-card .card-header i{width:30px;height:30px;border-radius:9px;display:grid;place-items:center;background:var(--brand-50);color:var(--brand)}
.info-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0}
.info-item{padding:.75rem 1.15rem;border-bottom:1px solid #f1f4fa}
.info-item:nth-last-child(-n+2){border-bottom:0}
.info-item .l{font-size:.7rem;font-weight:700;color:#94a3b8;text-transform:uppercase;letter-spacing:.07em;margin-bottom:.15rem}
.info-item .v{font-weight:600;color:var(--ink);word-break:break-word}.info-item .v.empty{color:#cbd5e1;font-weight:400}
.info-item.wide{grid-column:1/-1}
@media(max-width:575px){.info-grid{grid-template-columns:1fr}.info-item:nth-last-child(2){border-bottom:1px solid #f1f4fa}}
.pill-tabs{display:flex;gap:.4rem;flex-wrap:wrap;margin-bottom:1rem}
.pill-tabs .nav-link{border-radius:999px;color:var(--muted);font-weight:600;background:#fff;border:1px solid var(--line);padding:.4rem .95rem}
.pill-tabs .nav-link.active{background:var(--brand);border-color:var(--brand);color:#fff}
.pill-tabs .cnt{background:rgba(100,116,139,.15);border-radius:999px;padding:0 .5rem;margin-left:.3rem;font-size:.75rem}
.pill-tabs .active .cnt{background:rgba(255,255,255,.25)}
.timeline-item{display:flex;gap:.9rem;padding:.85rem 1.1rem;border-bottom:1px solid #f1f4fa}.timeline-item:last-child{border-bottom:0}
.timeline-item .dot{width:34px;height:34px;border-radius:10px;display:grid;place-items:center;background:var(--brand-50);color:var(--brand);flex:none}
.empty-state{text-align:center;color:var(--muted);padding:2.2rem 1rem}.empty-state i{font-size:2rem;display:block;margin-bottom:.4rem;color:#cbd5e1}

.i-violet{background:#ede9fe;color:#7c3aed}.i-teal{background:#ccfbf1;color:#0f766e}.i-orange{background:#ffedd5;color:#ea580c}.i-slate{background:#e2e8f0;color:#475569}
.tur-card{display:block;cursor:pointer;border:2px solid var(--line);border-radius:14px;padding:.8rem .9rem;height:100%;transition:.15s;background:#fff}
.tur-card:hover{border-color:#c7d2fe;background:#fafaff}
.btn-check:checked+.tur-card{border-color:var(--brand);background:var(--brand-50);box-shadow:0 0 0 4px rgba(99,102,241,.12)}
.tur-card .t{font-weight:700;line-height:1.2}.tur-card .d{font-size:.76rem;color:var(--muted);line-height:1.3;margin-top:.15rem}
.tur-ico{width:40px;height:40px;border-radius:12px;display:grid;place-items:center;font-size:1.15rem;flex:none}
.check-btn{border:0;background:transparent;font-size:1.35rem;line-height:1;padding:0;color:#cbd5e1;transition:.15s}.check-btn:hover{color:#86efac}.check-btn.on{color:#16a34a}

/* ---------- Geciken (overdue) vurgulari ---------- */
.table>tbody tr.row-overdue>td{background:#fff1f2}
.table>tbody tr.row-overdue:hover>td{background:#ffe4e6}
.table>tbody tr.row-overdue>td:first-child{box-shadow:inset 4px 0 0 #e11d48}
.pill.late{background:#e11d48;color:#fff;animation:pulse-late 1.8s ease-in-out infinite}
.pill.late::before{background:#fff}
@keyframes pulse-late{0%,100%{box-shadow:0 0 0 0 rgba(225,29,72,.45)}50%{box-shadow:0 0 0 6px rgba(225,29,72,0)}}
.li-overdue{background:#fff1f2}
.stat-late{border-color:#fecdd3;background:linear-gradient(135deg,#fff,#fff1f2)}
.stat-late .value{color:#be123c}
.day-late{background:#e11d48!important;color:#fff!important}
.overdue-banner{border-left:5px solid #e11d48}
.nav-badge{margin-left:auto;background:#e11d48;color:#fff;border-radius:999px;font-size:.68rem;font-weight:700;padding:.1rem .5rem}

.branch-warn{border-color:#fca5a5;background:#fff1f2;animation:pulse-late 1.8s ease-in-out infinite}
.ilce-pill{background:#eef2ff}


/* ---------- Combobox (Tom Select) tema uyumu ---------- */
.ts-wrapper{width:100%}
.ts-wrapper.single .ts-control,.ts-wrapper.multi .ts-control{border:1px solid #dbe1ee;border-radius:10px;padding:.5rem .8rem;background:#fff;box-shadow:none;min-height:40px;font-size:inherit;color:var(--ink)}
.ts-wrapper.single .ts-control{background-image:none;padding-right:2.2rem}
.ts-wrapper.single .ts-control::after{content:"";position:absolute;right:.95rem;top:50%;width:.55rem;height:.55rem;margin-top:-.45rem;border-right:2px solid #94a3b8;border-bottom:2px solid #94a3b8;transform:rotate(45deg);border-top:0;border-left:0;transition:.15s}
.ts-wrapper.single.dropdown-active .ts-control::after{transform:rotate(-135deg);margin-top:-.15rem;border-color:var(--brand)}
.ts-wrapper.focus .ts-control{border-color:#a5b4fc;box-shadow:0 0 0 4px rgba(99,102,241,.15)}
.ts-control>input{color:var(--ink)}
.ts-wrapper.form-select-sm .ts-control{min-height:32px;padding:.25rem .6rem;border-radius:8px;font-size:.85rem}
.ts-wrapper.form-select{padding:0;border:0;background:none;box-shadow:none;height:auto}
.ts-wrapper.w-auto{width:auto;min-width:80px}
.ts-dropdown{z-index:3000;border:1px solid var(--line);border-radius:12px;box-shadow:0 12px 32px rgba(15,23,42,.14);margin-top:6px;overflow:hidden;padding:0;font-size:.92rem}
.ts-dropdown .ts-dropdown-content{max-height:280px;padding:.35rem}
.ts-dropdown .option,.ts-dropdown .no-results{padding:.5rem .75rem;border-radius:8px;color:var(--ink)}
.ts-dropdown .no-results{color:var(--muted);text-align:center}
.ts-dropdown .option.active,.ts-dropdown .option:hover{background:var(--brand-50);color:var(--brand-600)}
.ts-dropdown .option.selected{background:var(--brand);color:#fff;font-weight:600}
.ts-dropdown .option.selected.active{background:var(--brand-600);color:#fff}
.ts-dropdown .dropdown-input-wrap{padding:.5rem;border-bottom:1px solid var(--line);background:#fcfdff}
.ts-dropdown .dropdown-input{border:1px solid #dbe1ee!important;border-radius:8px;padding:.45rem .7rem;width:100%;outline:0}
.ts-dropdown .dropdown-input:focus{border-color:#a5b4fc!important;box-shadow:0 0 0 3px rgba(99,102,241,.15)}
.ts-wrapper.disabled .ts-control{background:#f1f5f9;opacity:.7}
/* ust menudeki sube secici */
.branch-pill .ts-wrapper{min-width:190px}
.branch-pill .ts-wrapper.single .ts-control{border:0;background:transparent;box-shadow:none;font-weight:600;padding-left:.2rem}
.branch-pill .ts-wrapper.focus .ts-control{box-shadow:none}
/* filtre alanlarinda daha kompakt */
.grid-tools .ts-wrapper.single .ts-control{min-height:38px}

/* ---------- Metin kutusu onerileri (autocomplete / sabit liste) ---------- */
.ac-menu{position:fixed;z-index:3500;background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:0 12px 32px rgba(15,23,42,.14);padding:.35rem;max-height:260px;overflow:auto}
.ac-menu[hidden]{display:none}
.ac-item{padding:.5rem .75rem;border-radius:8px;cursor:pointer;font-size:.92rem;color:var(--ink)}
.ac-item:hover,.ac-item.active{background:var(--brand-50);color:var(--brand-600)}
/* coklu secim kutusu (native) */
select.form-select[multiple]{padding:.35rem}
select.form-select[multiple] option{padding:.4rem .6rem;border-radius:6px;margin-bottom:2px}
select.form-select[multiple] option:checked{background:var(--brand) linear-gradient(0deg,var(--brand),var(--brand));color:#fff}

/* coklu secim */
.ts-wrapper.multi .ts-control{padding:.35rem .5rem;gap:.3rem}
.ts-wrapper.multi .ts-control>div.item{background:var(--brand-50);color:var(--brand-600);border:0;border-radius:8px;padding:.2rem .35rem .2rem .6rem;font-weight:600;font-size:.82rem}
.ts-wrapper.multi .ts-control>div.item .remove{border-left:0;color:var(--brand-600);border-radius:6px;margin-left:.2rem;padding:0 .35rem}
.ts-wrapper.multi .ts-control>div.item .remove:hover{background:rgba(79,70,229,.15)}
.ts-wrapper.plugin-checkbox_options:not(.rtl) .option input{margin-right:.6rem;accent-color:var(--brand)}
.ts-dropdown .option.selected{background:var(--brand-50);color:var(--brand-600)}
.ts-wrapper.single .ts-dropdown .option.selected{background:var(--brand);color:#fff}
.ts-wrapper.multi.has-items .ts-control{padding-left:.5rem}
.side-link span{min-width:0}

/* ---------- Okul temsilcisi ---------- */
.rep-card{position:relative;border-radius:var(--radius);padding:1.2rem 1.4rem;background:linear-gradient(135deg,#fffbeb 0,#fff 55%);border:1px solid #fde68a;box-shadow:var(--shadow)}
.rep-label{font-size:.72rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:#b45309;display:flex;align-items:center;gap:.4rem}
.rep-name{font-size:1.35rem;font-weight:800;letter-spacing:-.02em;color:var(--ink)}
.rep-name:hover{color:var(--brand)}
.pill.rep{background:#fef3c7;color:#b45309}.pill.rep::before{display:none}
.table>tbody tr.row-rep>td{background:#fffbeb}
.table>tbody tr.row-rep:hover>td{background:#fef3c7}
.table>tbody tr.row-rep>td:first-child{box-shadow:inset 4px 0 0 #f59e0b}

/* ---------- Yaklasan / tekrarlayan gorevler ---------- */
.upcoming-wrap{background:linear-gradient(135deg,#eef2ff,#fdf2f8);border:1px solid #e0e7ff;border-radius:16px;padding:1rem 1.1rem;margin-bottom:1.5rem}
.upcoming-wrap h6{font-weight:700;margin:0 0 .75rem;display:flex;align-items:center;gap:.5rem}
.upcoming-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:.75rem}
.up-card{position:relative;background:#fff;border-radius:12px;padding:.75rem .9rem;border-left:5px solid #6366f1;box-shadow:0 1px 3px rgba(15,23,42,.08);transition:transform .15s}
.up-card:hover{transform:translateY(-2px)}
.up-card .up-title{font-weight:600;line-height:1.25}
.up-card .up-sub{font-size:.78rem;color:#64748b}
.up-card .up-when{font-size:.75rem;font-weight:700;margin-top:.4rem;display:inline-flex;align-items:center;gap:.3rem}
.up-card.today{border-left-color:#f59e0b;background:#fffbeb;animation:pulse-up 2s ease-in-out infinite}
.up-card.today .up-when{color:#b45309}
.up-card.soon{border-left-color:#0ea5e9}.up-card.soon .up-when{color:#0369a1}
.up-card.late{border-left-color:#e11d48;background:#fff1f2}.up-card.late .up-when{color:#be123c}
.up-card .rec{position:absolute;top:.5rem;right:.6rem;font-size:.68rem;font-weight:700;background:#ede9fe;color:#6d28d9;border-radius:999px;padding:.1rem .5rem}
.pill.rec{background:#ede9fe;color:#6d28d9}.pill.rec::before{display:none}
@keyframes pulse-up{0%,100%{box-shadow:0 0 0 0 rgba(245,158,11,.4)}50%{box-shadow:0 0 0 6px rgba(245,158,11,0)}}

/* Filtre cubugundaki (col-auto) secim kutulari cok daralmasin */
.grid-tools .col-auto .ts-wrapper{min-width:170px}
.grid-tools .col-auto select.form-select{min-width:170px}

.brand-img{width:46px;height:46px;border-radius:50%;background:#fff;box-shadow:0 0 0 3px rgba(255,255,255,.18),0 6px 18px rgba(0,0,0,.35)}
.rapor-menu .dropdown-item i{width:1.3rem}
.uy-cell{display:flex;align-items:center;gap:.5rem;min-width:120px}.uy-cell b{font-size:.8rem;min-width:46px;text-align:right}.uy-bar{flex:1;height:6px;border-radius:99px;background:#e8eef7;overflow:hidden}.uy-bar>span{display:block;height:100%;background:linear-gradient(90deg,#1F5FB4,#12A0E6);border-radius:99px}

/* Istemci tarafli tablo siralama / filtre */
th.gv-th{cursor:pointer;user-select:none;white-space:nowrap}
th.gv-th:hover{color:var(--brand)}
th.gv-th .gv-ico{margin-left:.35rem;font-size:.72rem;opacity:.35}
th.gv-th.gv-on{color:var(--brand)}th.gv-th.gv-on .gv-ico{opacity:1}
.gv-tools{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;padding:.65rem .9rem;border-bottom:1px solid var(--line);background:#fafbfe}
.gv-tools .search-box{flex:1 1 220px;max-width:320px}
.gv-tools select{width:auto;max-width:210px}
.gv-count{margin-left:auto;font-size:.8rem;color:var(--muted)}

/* Uye formu */
.form-thumb{flex:none;width:110px;height:150px;border:1px solid var(--line);border-radius:10px;overflow:hidden;background:#f1f5f9;display:grid;place-items:center}
.form-thumb img{width:100%;height:100%;object-fit:cover;object-position:top}
.form-thumb .pdf-ico{text-align:center;color:#be123c;font-size:2.4rem;line-height:1}.form-thumb .pdf-ico span{display:block;font-size:.75rem;font-weight:700}
.form-upload{display:block;text-align:center;border:2px dashed #b6c8e4;border-radius:12px;background:#f7faff;padding:.9rem;cursor:pointer}
.form-upload:hover{border-color:var(--brand);background:#eef5ff}
.pill.pending{background:#fef3c7;color:#92400e}.pill.approved{background:#dcfce7;color:#15803d}
.tf-ico{font-size:1.05rem;vertical-align:middle}
.form-bar{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem;padding:.6rem .9rem;border-bottom:1px solid var(--line);background:#fafbfe}.form-bar .pill{padding:0;width:10px;height:10px;display:inline-block}.form-bar .pill::before{display:none}

/* Tema uyumlu onay / mesaj kutusu */
.tes-dialog .modal-content{border:0;border-radius:22px;box-shadow:0 28px 80px rgba(11,46,99,.35);overflow:hidden}
.tes-dialog .modal-dialog{max-width:440px}
.tes-dialog .tes-dlg-body{padding:2rem 2rem 1.25rem;text-align:center}
.tes-dialog .tes-dlg-ico{width:68px;height:68px;border-radius:50%;margin:0 auto 1rem;display:grid;place-items:center;font-size:1.9rem;background:var(--brand-50);color:var(--brand);box-shadow:0 0 0 8px rgba(79,70,229,.08)}
.tes-dialog[data-tip=danger] .tes-dlg-ico{background:#ffe4e6;color:#e11d48;box-shadow:0 0 0 8px rgba(225,29,72,.08)}
.tes-dialog[data-tip=warning] .tes-dlg-ico{background:#fef3c7;color:#d97706;box-shadow:0 0 0 8px rgba(217,119,6,.1)}
.tes-dialog[data-tip=success] .tes-dlg-ico{background:#dcfce7;color:#16a34a;box-shadow:0 0 0 8px rgba(22,163,74,.1)}
.tes-dialog .tes-dlg-title{font-weight:800;letter-spacing:-.01em;margin-bottom:.5rem}
.tes-dialog .tes-dlg-msg{color:#475569;line-height:1.5;white-space:pre-line}
.tes-dialog .tes-dlg-foot{display:flex;gap:.6rem;padding:0 1.5rem 1.6rem}
.tes-dialog .tes-dlg-foot .btn{flex:1;padding:.62rem 1rem;font-weight:600;border-radius:12px}
.tes-dialog .tes-dlg-foot .btn-light{background:#f1f5f9;border:1px solid var(--line);color:#334155}
.tes-dialog .tes-dlg-foot .btn-light:hover{background:#e2e8f0}
.tes-dialog .tes-dlg-foot .btn-danger{background:#e11d48;border-color:#e11d48}
.tes-dialog .tes-dlg-foot .btn[disabled]{opacity:.55}
.modal-backdrop.show{backdrop-filter:blur(2px)}
.gv-tools .ts-wrapper{min-width:190px;max-width:250px;width:auto}.gv-tools .ts-control{min-height:31px;padding:.2rem .6rem;font-size:.875rem}

.gv-hide{display:none!important}@media print{.gv-hide{display:table-row!important}.gv-foot,.gv-tools{display:none!important}}
.gv-foot{border-top:1px solid var(--line);padding:.6rem .9rem}.gv-foot .page-link{cursor:pointer}
