/* Ducosoft tasarım sistemi v2
   Düzen: koyu yan menü + beyaz üst çubuk + nötr içerik zemini. Okulun rengi --brand ile vurgu olur (beyaz etiket). */
:root{
  --brand:#1f5fa8; --brand-ink:#ffffff;
  --brand-50:color-mix(in srgb,var(--brand) 7%,#fff); --brand-100:color-mix(in srgb,var(--brand) 14%,#fff); --brand-200:color-mix(in srgb,var(--brand) 26%,#fff);
  --brand-700:color-mix(in srgb,var(--brand) 82%,#000);
  --n0:#ffffff; --n25:#fbfcfd; --n50:#f5f7f9; --n100:#eceff3; --n200:#e0e5ea; --n300:#cbd2da; --n400:#98a2ae; --n500:#687482; --n600:#4b5563; --n700:#323a45; --n800:#1d232b; --n900:#10151b;
  --side:#0f1722; --side-2:#16202d; --side-ink:#c9d2dc; --side-muted:#7f8b99;
  --ok:#14804a; --ok-50:#e8f6ee; --warn:#b25e09; --warn-50:#fdf3e4; --bad:#c4321f; --bad-50:#fdecea; --info:#2463b0; --info-50:#e8f0fb;
  --r-sm:6px; --r:10px; --r-lg:14px;
  --sh-1:0 1px 2px rgba(16,24,40,.05); --sh-2:0 4px 14px rgba(16,24,40,.08); --sh-3:0 18px 50px rgba(16,24,40,.18);
  --font:"Inter","Segoe UI Variable Text","Segoe UI",system-ui,-apple-system,"SF Pro Text",Roboto,"Helvetica Neue",Arial,sans-serif;
  --fs-xs:12px; --fs-sm:13px; --fs:14px; --fs-md:15px; --fs-lg:18px; --fs-xl:22px; --fs-2xl:28px;
}
*{box-sizing:border-box}
html,body{margin:0;height:100%}
body{background:var(--n50);color:var(--n800);font:var(--fs)/1.5 var(--font);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
button,input,select,textarea{font:inherit;color:inherit}
a{color:var(--brand);text-decoration:none} a:hover{text-decoration:underline}
h1,h2,h3,h4{margin:0;line-height:1.25;color:var(--n900);letter-spacing:-.01em}
h1{font-size:var(--fs-xl);font-weight:650} h2{font-size:var(--fs-lg);font-weight:620} h3{font-size:var(--fs-md);font-weight:600} h4{font-size:var(--fs);font-weight:600}
p{margin:0}
.muted{color:var(--n500)} .small{font-size:var(--fs-sm)} .xs{font-size:var(--fs-xs)} .num{font-variant-numeric:tabular-nums}
.ic{width:18px;height:18px;flex:0 0 auto;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.ic.sm{width:16px;height:16px} .ic.lg{width:22px;height:22px}
.boot{display:grid;place-items:center;height:100vh;color:var(--n500)}

/* ---------- Kabuk ---------- */
.shell{display:grid;grid-template-columns:264px minmax(0,1fr);min-height:100vh}
.side{background:var(--side);color:var(--side-ink);display:flex;flex-direction:column;position:sticky;top:0;height:100vh;overflow:hidden}
.side-brand{display:flex;gap:12px;align-items:center;padding:18px 18px 16px;border-bottom:1px solid rgba(255,255,255,.06)}
.side-brand .logo{width:40px;height:40px;border-radius:10px;background:#fff;display:grid;place-items:center;overflow:hidden;flex:0 0 auto}
.side-brand .logo img{width:100%;height:100%;object-fit:contain}
.side-brand .logo.yer{background:var(--brand);color:var(--brand-ink);font-weight:700;font-size:18px}
.side-brand b{display:block;color:#fff;font-size:14px;line-height:1.25;font-weight:600}
.side-brand span{font-size:12px;color:var(--side-muted)}
.side-nav{flex:1;overflow:auto;padding:10px 10px 16px;scrollbar-width:thin;scrollbar-color:#2a3644 transparent}
.side-nav .grp{font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--side-muted);padding:16px 10px 6px;font-weight:600}
.side-nav a{display:flex;align-items:center;gap:11px;padding:8px 10px;border-radius:8px;color:var(--side-ink);font-size:13.5px;font-weight:500;position:relative}
.side-nav a:hover{background:var(--side-2);color:#fff;text-decoration:none}
.side-nav a.on{background:color-mix(in srgb,var(--brand) 26%,var(--side));color:#fff}
.side-nav a.on::before{content:"";position:absolute;left:-10px;top:8px;bottom:8px;width:3px;border-radius:0 3px 3px 0;background:var(--brand)}
.side-nav a .ic{opacity:.85}
.side-nav a > span{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.side-nav a .rozet{margin-left:auto;background:var(--brand);color:#fff;border-radius:99px;font-size:11px;padding:1px 7px}
.side-nav a.yakinda{opacity:.5}
.side-nav a.yakinda::after{content:"yakında";margin-left:auto;font-size:9.5px;letter-spacing:.03em;border:1px solid rgba(255,255,255,.18);border-radius:99px;padding:0 5px;flex:0 0 auto}
.side-foot{padding:12px 18px;border-top:1px solid rgba(255,255,255,.06);font-size:12px;color:var(--side-muted);display:flex;align-items:center;gap:8px}
.side-foot b{color:#cfd8e2;font-weight:600}
.wrap{min-width:0;display:flex;flex-direction:column}
.topbar{height:60px;background:var(--n0);border-bottom:1px solid var(--n200);display:flex;align-items:center;gap:14px;padding:0 24px;position:sticky;top:0;z-index:20}
.topbar .menu-btn{display:none}
.search{display:flex;align-items:center;gap:8px;background:var(--n50);border:1px solid var(--n200);border-radius:9px;padding:0 10px;height:36px;width:min(420px,40vw);color:var(--n500)}
.search input,.search input[type=search]{border:0;background:transparent;outline:none;flex:1;min-width:0;color:var(--n800);box-shadow:none!important;height:34px;padding:0}
.search kbd{font:11px var(--font);border:1px solid var(--n300);border-radius:5px;padding:1px 5px;color:var(--n500);background:#fff}
.topbar .grow{flex:1}
.iconbtn{width:36px;height:36px;border-radius:9px;border:1px solid transparent;background:transparent;display:grid;place-items:center;color:var(--n600);cursor:pointer;position:relative}
.iconbtn:hover{background:var(--n100);color:var(--n900)}
.iconbtn .dot{position:absolute;top:7px;right:8px;width:8px;height:8px;border-radius:50%;background:var(--bad);border:2px solid #fff}
.user-chip{display:flex;align-items:center;gap:10px;padding:4px 8px 4px 4px;border-radius:10px;cursor:pointer;border:1px solid transparent;background:none}
.user-chip:hover{background:var(--n100)}
.user-chip > div b{display:block;font-size:13px;font-weight:600;color:var(--n900);line-height:1.2;text-align:left}
.user-chip > div span{display:block;font-size:11.5px;color:var(--n500);text-align:left}
.avatar{width:32px;height:32px;border-radius:50%;display:grid;place-items:center;font-size:12px;font-weight:650;color:#fff;background:var(--brand);flex:0 0 auto;letter-spacing:.02em}
.avatar.sm{width:26px;height:26px;font-size:10.5px}
.main{padding:24px 28px 64px;min-width:0}
.page-head{display:flex;align-items:flex-end;gap:16px;flex-wrap:wrap;margin-bottom:20px}
.page-head .t{flex:1;min-width:240px}
.crumb{font-size:12.5px;color:var(--n500);margin-bottom:4px;display:flex;gap:6px;align-items:center}
.crumb a{color:var(--n500)}
.page-head .sub{color:var(--n500);margin-top:4px;font-size:13.5px}
.actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.dropdown{position:absolute;top:calc(100% + 6px);right:0;background:#fff;border:1px solid var(--n200);border-radius:12px;box-shadow:var(--sh-2);min-width:220px;padding:6px;z-index:50}
.dropdown a,.dropdown button{display:flex;gap:10px;align-items:center;width:100%;padding:8px 10px;border-radius:8px;border:0;background:none;color:var(--n800);font-size:13.5px;cursor:pointer;text-align:left}
.dropdown a:hover,.dropdown button:hover{background:var(--n100);text-decoration:none}
.dropdown hr{border:0;border-top:1px solid var(--n100);margin:6px 0}
@media (max-width:960px){
  .shell{grid-template-columns:1fr}
  .side{position:fixed;inset:0 auto 0 0;width:280px;z-index:60;transform:translateX(-100%);transition:transform .2s ease}
  .shell.acik .side{transform:none;box-shadow:var(--sh-3)}
  .topbar .menu-btn{display:grid} .search{display:none} .user-chip div{display:none}
  .main{padding:18px 16px 60px} .topbar{padding:0 12px}
}

/* ---------- Bileşenler ---------- */
.card{background:var(--n0);border:1px solid var(--n200);border-radius:var(--r-lg);box-shadow:var(--sh-1)}
.card-b{padding:18px 20px} .card-h{display:flex;align-items:center;gap:10px;padding:14px 20px;border-bottom:1px solid var(--n100)} .card-h h3{flex:1}
.card-f{padding:12px 20px;border-top:1px solid var(--n100);display:flex;gap:8px;justify-content:flex-end}
.grid{display:grid;gap:16px} .g2{grid-template-columns:repeat(2,minmax(0,1fr))} .g3{grid-template-columns:repeat(3,minmax(0,1fr))} .g4{grid-template-columns:repeat(4,minmax(0,1fr))}
.g-side{grid-template-columns:minmax(0,1fr) 340px;align-items:start}
.adimlar{display:flex;flex-direction:column}
.adim{display:flex;gap:14px;align-items:center;padding:14px 20px;border-bottom:1px solid var(--n100);color:var(--n800)}
.adim:last-child{border-bottom:0}
.adim:hover{background:var(--n25);text-decoration:none}
.adim .no{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;font-size:12.5px;font-weight:650;border:1.5px solid var(--n300);color:var(--n500);flex:0 0 auto}
.adim.ok .no{background:var(--ok);border-color:var(--ok);color:#fff}
.adim b{display:block;font-weight:600;color:var(--n900)} .adim span{font-size:13px;color:var(--n500)}
.adim.ok b{color:var(--n600)}
@media (max-width:1100px){.g4{grid-template-columns:repeat(2,minmax(0,1fr))}.g-side{grid-template-columns:1fr}}
@media (max-width:760px){.g2,.g3{grid-template-columns:1fr}.g4{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  .g4 > .kpi{padding:12px;gap:10px}.g4 > .kpi .ico{width:34px;height:34px;border-radius:9px}.g4 > .kpi b{font-size:18px!important}.g4 > .kpi span{font-size:12px}
  .page-head h1{font-size:20px}.yalniz-masa{display:none!important}}
@media (min-width:761px){.yalniz-mobil{display:none!important}}
.row{display:flex;gap:8px;align-items:center;flex-wrap:wrap} .row.sb{justify-content:space-between} .stack{display:flex;flex-direction:column;gap:6px}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;height:36px;padding:0 14px;border-radius:9px;border:1px solid var(--n300);background:var(--n0);color:var(--n800);font-weight:550;font-size:13.5px;cursor:pointer;white-space:nowrap;box-shadow:var(--sh-1);transition:background .12s,border-color .12s,box-shadow .12s}
.btn:hover{background:var(--n50);text-decoration:none}
.btn.pri{background:var(--brand);border-color:var(--brand);color:var(--brand-ink)} .btn.pri:hover{background:var(--brand-700);border-color:var(--brand-700)}
.btn.ghost{border-color:transparent;box-shadow:none;background:transparent} .btn.ghost:hover{background:var(--n100)}
.btn.bad{color:var(--bad);border-color:#f1c4bd} .btn.bad:hover{background:var(--bad-50)}
.btn.sm{height:30px;padding:0 10px;font-size:12.5px;border-radius:8px} .btn.lg{height:42px;padding:0 18px;font-size:14.5px}
.btn:disabled{opacity:.5;cursor:default}
:focus-visible{outline:none}
.btn:focus-visible,.iconbtn:focus-visible,a:focus-visible,.side-nav a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,[tabindex]:focus-visible{box-shadow:0 0 0 3px var(--brand-200)!important;border-color:var(--brand)}
.seg{display:inline-flex;background:var(--n100);border-radius:9px;padding:3px;gap:2px}
.seg button{border:0;background:transparent;padding:5px 12px;border-radius:7px;font-size:13px;font-weight:550;color:var(--n600);cursor:pointer}
.seg button.on{background:#fff;color:var(--n900);box-shadow:var(--sh-1)}
label.f{display:flex;flex-direction:column;gap:6px;font-size:12.5px;font-weight:550;color:var(--n600)}
label.f > input,label.f > select,label.f > textarea{font-weight:400}
input[type=text],input[type=password],input[type=number],input[type=date],input[type=email],input[type=tel],input[type=time],input[type=search],select,textarea{height:38px;border:1px solid var(--n300);border-radius:9px;padding:0 11px;background:var(--n0);min-width:0;color:var(--n800);box-shadow:var(--sh-1)}
select[multiple]{height:auto;padding:6px}
textarea{height:auto;min-height:90px;padding:9px 11px;resize:vertical}
input[type=color]{height:38px;width:64px;border:1px solid var(--n300);border-radius:9px;padding:3px;background:#fff}
input[type=checkbox]{width:16px;height:16px;accent-color:var(--brand)}
.tabs{display:flex;gap:2px;border-bottom:1px solid var(--n200);margin-bottom:18px;overflow-x:auto}
.tabs button{border:0;background:none;padding:10px 14px;border-bottom:2px solid transparent;cursor:pointer;color:var(--n500);white-space:nowrap;font-weight:550;font-size:13.5px;display:flex;gap:8px;align-items:center}
.tabs button:hover{color:var(--n800)}
.tabs button.on{color:var(--brand);border-color:var(--brand)}
.tbl-wrap{background:var(--n0);border:1px solid var(--n200);border-radius:var(--r-lg);box-shadow:var(--sh-1);overflow:hidden}
.tbl-tools{display:flex;gap:10px;align-items:center;padding:12px 14px;border-bottom:1px solid var(--n100);flex-wrap:wrap}
.tbl-scroll{overflow:auto}
.tbl{width:100%;border-collapse:collapse}
.tbl th,.tbl td{padding:11px 14px;border-bottom:1px solid var(--n100);text-align:left;vertical-align:middle}
.tbl th{font-size:11.5px;text-transform:uppercase;letter-spacing:.06em;color:var(--n500);background:var(--n25);font-weight:600;position:sticky;top:0;z-index:1}
.tbl tbody tr:hover td{background:var(--n25)}
.tbl tbody tr:last-child td{border-bottom:0}
.tbl .who{display:flex;align-items:center;gap:10px} .tbl .who b{font-weight:600;color:var(--n900)}
.tbl td.act{text-align:right;white-space:nowrap}
.tbl td.num{white-space:nowrap}
.scroll{overflow:auto;border:1px solid var(--n200);border-radius:var(--r-lg);background:var(--n0)}
.chip{display:inline-flex;align-items:center;gap:5px;height:22px;padding:0 9px;border-radius:99px;font-size:12px;font-weight:550;background:var(--n100);color:var(--n700);white-space:nowrap}
.chip.ok{background:var(--ok-50);color:var(--ok)} .chip.warn{background:var(--warn-50);color:var(--warn)} .chip.bad{background:var(--bad-50);color:var(--bad)} .chip.info{background:var(--info-50);color:var(--info)} .chip.brand{background:var(--brand-100);color:var(--brand-700)}
.chip i{width:6px;height:6px;border-radius:50%;background:currentColor;display:inline-block}
.pill{display:inline-flex;align-items:center;height:22px;padding:0 9px;border-radius:99px;font-size:12px;font-weight:550;background:var(--n100);color:var(--n700)}
.pill.ok{background:var(--ok-50);color:var(--ok)} .pill.warn{background:var(--warn-50);color:var(--warn)} .pill.bad{background:var(--bad-50);color:var(--bad)}
.kpi{display:flex;gap:14px;align-items:center;padding:18px 20px}
.kpi .ico{width:44px;height:44px;border-radius:12px;display:grid;place-items:center;background:var(--brand-100);color:var(--brand-700)}
.kpi b{display:block;font-size:24px;font-weight:650;color:var(--n900);font-variant-numeric:tabular-nums;line-height:1.1}
.kpi span{font-size:13px;color:var(--n500)}
.tile{display:flex;gap:12px;align-items:flex-start;padding:16px;border-radius:var(--r-lg);border:1px solid var(--n200);background:var(--n0);color:var(--n800);box-shadow:var(--sh-1);transition:box-shadow .15s,border-color .15s}
.tile:hover{border-color:var(--brand-200);box-shadow:var(--sh-2);text-decoration:none}
.tile .ico{width:38px;height:38px;border-radius:10px;display:grid;place-items:center;background:var(--brand-50);color:var(--brand);flex:0 0 auto}
.tile b{display:block;color:var(--n900);font-weight:600;margin-bottom:2px}
.tile span{font-size:13px;color:var(--n500)}
.empty{padding:44px 20px;text-align:center;color:var(--n500)}
.empty .ico{width:52px;height:52px;border-radius:14px;margin:0 auto 12px;display:grid;place-items:center;background:var(--n100);color:var(--n500)}
.empty b{display:block;color:var(--n800);font-size:15px;margin-bottom:4px}
.list{display:flex;flex-direction:column}
.list .it{display:flex;gap:12px;align-items:center;padding:12px 20px;border-bottom:1px solid var(--n100)}
.list .it:last-child{border-bottom:0}
.note{display:flex;gap:10px;padding:12px 14px;border-radius:10px;background:var(--info-50);color:#1d4f8f;font-size:13px}
.note.warn{background:var(--warn-50);color:#8a4a07}
/* pencere ve bildirim */
.modal-bg{position:fixed;inset:0;background:rgba(15,23,34,.48);backdrop-filter:blur(2px);display:grid;place-items:center;z-index:80;padding:16px;animation:fade .12s ease}
.modal{background:#fff;border-radius:16px;max-width:560px;width:100%;max-height:90vh;overflow:auto;box-shadow:var(--sh-3)}
.modal.genis{max-width:920px}
.modal > h2{padding:20px 24px 0}
.modal .mb{padding:16px 24px}
.modal .act{display:flex;justify-content:flex-end;gap:8px;padding:14px 24px;border-top:1px solid var(--n100);background:var(--n25);position:sticky;bottom:0}
@keyframes fade{from{opacity:0}to{opacity:1}}
#toasts{position:fixed;right:20px;bottom:20px;display:flex;flex-direction:column;gap:8px;z-index:90}
.toast{display:flex;gap:10px;align-items:center;background:var(--n900);color:#fff;padding:11px 16px;border-radius:10px;max-width:420px;box-shadow:var(--sh-3);font-size:13.5px;animation:fade .15s ease}
.toast.bad{background:var(--bad)}
/* giriş */
.login{min-height:100vh;display:grid;grid-template-columns:minmax(0,1.1fr) minmax(380px,1fr);background:#fff}
.login-brand{position:relative;overflow:hidden;color:#fff;padding:48px;display:flex;flex-direction:column;justify-content:space-between;background:linear-gradient(150deg,var(--brand) 0%,var(--brand-700) 100%)}
.login-brand::before{content:"";position:absolute;inset:0;background-image:radial-gradient(rgba(255,255,255,.14) 1px,transparent 1px);background-size:22px 22px;mask-image:linear-gradient(180deg,rgba(0,0,0,.7),transparent 85%)}
.login-brand > *{position:relative}
.login-brand .logo-b{width:72px;height:72px;border-radius:18px;background:#fff;display:grid;place-items:center;overflow:hidden;box-shadow:0 10px 30px rgba(0,0,0,.18)}
.login-brand .logo-b img{width:100%;height:100%;object-fit:contain}
.login-brand .logo-b.yer{color:var(--brand);font-size:30px;font-weight:700}
.login-brand h1{color:#fff;font-size:34px;margin-top:22px;max-width:520px;letter-spacing:-.02em}
.login-brand p{color:rgba(255,255,255,.82);font-size:16px;margin-top:10px;max-width:460px}
.login-brand .ozellik{display:grid;gap:10px;margin-top:28px}
.login-brand .ozellik div{display:flex;gap:10px;align-items:center;color:rgba(255,255,255,.92);font-size:14px}
.login-brand .ozellik .ic{opacity:.9}
.login-brand small{color:rgba(255,255,255,.7)}
.login-form{display:grid;place-items:center;padding:40px 24px}
.login-form form{width:100%;max-width:380px}
.login-form h2{font-size:24px;letter-spacing:-.02em}
@media (max-width:900px){.login{grid-template-columns:1fr}.login-brand{padding:28px;min-height:auto}.login-brand h1{font-size:24px}.login-brand .ozellik{display:none}}
/* ---------- Ders programı ---------- */
.tt-toolbar{display:flex;gap:10px;align-items:center;flex-wrap:wrap;padding:10px 12px;border-bottom:1px solid var(--n100)}
.tt-wrap{overflow:auto;max-height:calc(100vh - 330px);background:#fff}
.tt{border-collapse:separate;border-spacing:0;font-size:12px}
.tt th,.tt td{border-right:1px solid var(--n100);border-bottom:1px solid var(--n100);padding:0}
.tt thead th{position:sticky;top:0;background:var(--n25);z-index:6;font-weight:600;text-align:center;padding:6px 0;color:var(--n600);font-size:11.5px}
.tt thead tr:first-child th{color:var(--n800);font-size:12.5px;letter-spacing:.01em}
.tt thead tr:nth-child(2) th{top:31px}
.tt th.rh{position:sticky;left:0;background:#fff;z-index:5;text-align:left;padding:0 12px;min-width:92px;font-weight:600;white-space:nowrap;color:var(--n800);font-size:12.5px;border-right:1px solid var(--n200)}
.tt thead th.rh{z-index:7;background:var(--n25)}
.tt td{width:68px;min-width:68px;height:48px;position:relative;cursor:pointer;background:#fff}
.tt td:hover{background:var(--n25)}
.tt .gs{border-right:2px solid var(--n300)}
.tt td.ok{background:var(--ok-50);box-shadow:inset 0 0 0 2px #7bc79c} .tt td.dolu{background:var(--bad-50)} .tt td.soru{background:var(--info-50);box-shadow:inset 0 0 0 2px #8db3e2}
.tt td.yasak{background:repeating-linear-gradient(45deg,#f3f4f6 0 5px,#e9ecef 5px 10px);cursor:not-allowed}
.kart{position:absolute;z-index:1;left:3px;top:3px;bottom:3px;border-radius:7px;padding:3px 4px 3px 7px;overflow:hidden;line-height:1.2;background:var(--kart-bg,#eef1f5);color:#1d232b;box-shadow:inset 3px 0 0 var(--kart-ana,#94a3b8),0 1px 1px rgba(16,24,40,.06);cursor:grab;transition:box-shadow .1s,transform .1s}
.kart:hover{box-shadow:inset 3px 0 0 var(--kart-ana,#94a3b8),0 3px 10px rgba(16,24,40,.14)}
.kart b{display:block;font-size:11.5px;font-weight:650;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.kart span{display:block;font-size:10.5px;color:#4b5563;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.kart.sec{outline:2px solid var(--brand);outline-offset:1px;z-index:2;box-shadow:0 6px 18px rgba(16,24,40,.22)}
.kart.kilit::after{content:"";position:absolute;right:4px;top:4px;width:7px;height:7px;border-radius:2px;background:var(--n700)}
.kart.hata{box-shadow:inset 3px 0 0 var(--bad),0 0 0 2px var(--bad)}
.bekleyen{display:flex;flex-wrap:wrap;gap:6px;padding:12px;min-height:60px;background:var(--n25)}
.bekleyen .kart{position:relative;left:auto;top:auto;bottom:auto;width:96px;height:42px}
.legend{display:flex;gap:14px;flex-wrap:wrap;font-size:12px;color:var(--n500);align-items:center}
.legend i{display:inline-block;width:12px;height:12px;border-radius:3px;vertical-align:-2px;margin-right:5px;border:1px solid rgba(0,0,0,.06)}
.ihlal{max-height:320px;overflow:auto;font-size:13px;margin:0;padding:0;list-style:none}
.ihlal li{padding:7px 0;border-bottom:1px dashed var(--n200);display:flex;gap:8px}
.ihlal li::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--n400);margin-top:7px;flex:0 0 auto}
.ihlal li.k::before{background:var(--bad)} .ihlal li.u::before{background:var(--warn)}
.bar{height:8px;background:var(--n100);border-radius:99px;overflow:hidden}
.bar > i{display:block;height:100%;background:var(--brand);border-radius:99px;transition:width .3s}
.lg{border-collapse:separate;border-spacing:0;font-size:12px}
.lg th,.lg td{border-right:1px solid var(--n100);border-bottom:1px solid var(--n100)}
.lg thead th{position:sticky;top:0;background:var(--n25);z-index:2;writing-mode:vertical-rl;transform:rotate(180deg);padding:8px 5px;height:132px;font-weight:600;color:var(--n700)}
.lg th.rh{position:sticky;left:0;background:#fff;z-index:1;padding:0 12px;writing-mode:horizontal-tb;transform:none;height:auto;text-align:left;font-weight:600}
.lg thead th.rh{z-index:3;background:var(--n25)}
.lg td{width:52px;min-width:52px;height:42px;text-align:center;cursor:pointer;position:relative;font-weight:600;color:var(--n800)}
.lg td:hover{background:var(--brand-50)}
.lg td.var{background:var(--n50)} .lg td.ogrsiz{background:#fdeaf2}
.lg td small{display:block;font-size:9.5px;color:var(--n500);line-height:1.1;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:50px;margin:0 auto}
.musait{border-collapse:separate;border-spacing:3px}
.musait td,.musait th{width:48px;height:36px;text-align:center;border-radius:7px;font-size:12px}
.musait th{color:var(--n500);font-weight:600}
.musait td{cursor:pointer;font-weight:700}
.musait td.m1{background:var(--ok-50);color:var(--ok)} .musait td.m0{background:var(--bad-50);color:var(--bad)} .musait td.mq{background:var(--info-50);color:var(--info)}
.aday{cursor:pointer;padding:10px 14px!important;align-items:flex-start!important}
.aday:hover{background:var(--n25)}
.aday.sec{background:var(--brand-50);box-shadow:inset 3px 0 0 var(--brand)}
.aday.pasif{opacity:.72}
.aday input[type=radio]{margin-top:6px;accent-color:var(--brand)}
.bildirim-dd{width:380px;max-height:70vh;overflow:auto}
.dropdown a.bil{align-items:flex-start;white-space:normal}
.dropdown a.bil b{display:block;font-size:13px;color:var(--n900)}
.dropdown a.bil.yeni{background:var(--brand-50)}
.bil-ico{width:28px;height:28px;border-radius:8px;background:var(--brand-100);color:var(--brand-700);display:grid;place-items:center;flex:0 0 auto}
/* sınıf defteri ve yoklama */
.ders-it{color:var(--n800);text-decoration:none!important;padding:11px 16px!important}
.ders-it:hover{background:var(--n25)}
.ders-it.sec{background:var(--brand-50);box-shadow:inset 3px 0 0 var(--brand)}
.yk-izgara{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:8px}
.yk{display:flex;align-items:center;gap:9px;padding:9px 10px;border:1px solid var(--n200);border-radius:11px;background:#fff;cursor:pointer;text-align:left;min-height:54px;transition:background .1s,border-color .1s;font:inherit;color:inherit}
.yk:hover{border-color:var(--n300);background:var(--n25)}
.yk-ad{flex:1;min-width:0}
.yk-ad b{display:block;font-size:12.5px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.yk-ad span{display:block;font-size:11px;color:var(--n500)}
.yk-etiket{font-size:11px;font-weight:700;letter-spacing:.02em}
.yk.yok{background:var(--bad-50);border-color:#f1b5ab}.yk.yok .yk-etiket{color:var(--bad)}
.yk.gec{background:var(--warn-50);border-color:#f0c68a}.yk.gec .yk-etiket{color:var(--warn)}
.yk.gorevli{background:var(--info-50);border-color:#a9c6ea}.yk.gorevli .yk-etiket{color:var(--info)}
.yk:disabled{cursor:default;opacity:.85}
input.yk-dk{width:54px;height:28px;padding:0 6px;font-size:12px}
.yk-cizelge td,.yk-cizelge th{padding:6px 10px}
.sinir{height:8px;border-radius:99px;background:var(--n100);overflow:hidden;position:relative}
.sinir > i{display:block;height:100%;border-radius:99px;background:var(--ok)}
.sinir.yaklasti > i{background:var(--warn)} .sinir.asti > i{background:var(--bad)}
/* okul web sitesi */
.ws-kapak-on{height:160px;border:1px dashed var(--n300);border-radius:12px;display:grid;place-items:center;overflow:hidden;background:var(--n25)}
.ws-kapak-on img{width:100%;height:100%;object-fit:cover}
.ws-gal-on{position:relative;width:96px;height:72px;border-radius:8px;overflow:hidden}
.ws-gal-on img{width:100%;height:100%;object-fit:cover}
.ws-gal-on button{position:absolute;top:3px;right:3px;border:0;border-radius:50%;width:20px;height:20px;background:rgba(0,0,0,.6);color:#fff;cursor:pointer;line-height:18px}
.ws{background:#fff;min-height:100vh;color:var(--n800)}
.ws-ic{max-width:1160px;margin:0 auto;padding:0 24px}
.ws-nav{position:sticky;top:0;z-index:10;background:rgba(255,255,255,.92);backdrop-filter:blur(8px);border-bottom:1px solid var(--n200)}
.ws-nav .ws-ic{display:flex;align-items:center;gap:20px;height:68px}
.ws-marka{display:flex;align-items:center;gap:12px;color:var(--n900);text-decoration:none!important;margin-right:auto}
.ws-marka img,.ws-logo-yer{width:42px;height:42px;border-radius:10px;object-fit:contain}
.ws-logo-yer{display:grid;place-items:center;background:var(--brand);color:#fff;font-weight:700;font-size:18px}
.ws-marka b{font-size:16px}
.ws-nav nav{display:flex;gap:18px;align-items:center;flex-wrap:wrap}
.ws-nav nav a{color:var(--n700);font-size:14px;font-weight:550}
.ws-giris{background:var(--brand);color:#fff!important;padding:8px 16px;border-radius:9px;text-decoration:none!important}
.ws-hero{position:relative;color:#fff;padding:110px 0 120px;background:linear-gradient(135deg,color-mix(in srgb,var(--brand) 92%,#000),var(--brand-700));overflow:hidden}
.ws-hero::before{content:"";position:absolute;inset:0;background:var(--kapak,none) center/cover;opacity:.32}
.ws-hero .ws-ic{position:relative}
.ws-hero h1{color:#fff;font-size:clamp(32px,5vw,54px);letter-spacing:-.03em;max-width:780px}
.ws-hero p{font-size:20px;opacity:.9;margin-top:14px;max-width:640px}
.ws-butonlar{display:flex;gap:12px;margin-top:30px;flex-wrap:wrap}
.ws-beyaz{background:#fff!important;color:var(--brand-700)!important;border-color:#fff!important}
.ws-vurgu{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px;margin-top:-48px;position:relative}
.ws-vurgu .card{box-shadow:var(--sh-2)}
.ws-bolum{padding-top:64px}
.ws-bolum h2{font-size:28px;letter-spacing:-.02em;margin-bottom:20px}
.ws-hakkinda{font-size:17px;line-height:1.7;color:var(--n700);max-width:820px}
.ws-hakkinda p+p{margin-top:12px}
.ws-haberler{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:20px}
.ws-haber{border:1px solid var(--n200);border-radius:16px;overflow:hidden;color:inherit;text-decoration:none!important;transition:box-shadow .15s,transform .15s;background:#fff}
.ws-haber:hover{box-shadow:var(--sh-2);transform:translateY(-2px)}
.ws-haber img,.ws-haber-yer{width:100%;height:180px;object-fit:cover;display:block}
.ws-haber-yer{display:grid;place-items:center;background:var(--brand-50);color:var(--brand)}
.ws-haber > div{padding:14px 16px}
.ws-haber h3{margin:4px 0 6px;font-size:17px}
.ws-etkinlik{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px}
.ws-etkinlik div{border-left:3px solid var(--brand);padding:8px 14px;background:var(--n25);border-radius:0 10px 10px 0;display:flex;flex-direction:column}
.ws-alt{margin-top:80px;background:var(--n900);color:#c9d2dc;padding:40px 0}
.ws-alt-ic{display:flex;gap:32px;flex-wrap:wrap;justify-content:space-between;align-items:flex-start}
.ws-alt b{color:#fff;font-size:16px} .ws-alt a{color:#fff} .ws-alt small{color:#7f8b99;align-self:flex-end}
.ws-yazi{padding-top:32px;max-width:820px}
.ws-yazi h1{font-size:36px;margin:12px 0 6px;letter-spacing:-.02em}
.ws-yazi p{font-size:17px;line-height:1.75;margin-top:14px;color:var(--n700)}
.ws-ozet{font-size:19px!important;color:var(--n800)!important;font-weight:500}
.ws-yazi-resim{width:100%;border-radius:16px;margin-top:20px;max-height:460px;object-fit:cover}
.ws-galeri{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px;margin-top:20px}
.ws-galeri img{width:100%;height:180px;object-fit:cover;border-radius:12px}
.ws-galeri figure{margin:0} .ws-galeri figcaption{font-size:13px;color:var(--n500);margin-top:4px}
@media (max-width:760px){.ws-nav nav{display:none}.ws-hero{padding:70px 0 90px}}
/* yemekhane */
.ym-hafta{display:grid;grid-template-columns:repeat(5,minmax(0,1fr))}
.ym-gun{border-right:1px solid var(--n100);padding:10px;display:flex;flex-direction:column;gap:8px;min-width:0}
.ym-gun:last-child{border-right:0} .ym-gun.bugun{background:var(--brand-50)}
.ym-gun-bas{font-size:12.5px;font-weight:650;color:var(--n700)}
.ym-menu,.ym-bos{border:1px solid var(--n200);background:#fff;border-radius:10px;padding:8px 10px;text-align:left;cursor:pointer;font:inherit;color:inherit}
.ym-menu:hover{border-color:var(--brand-200);box-shadow:var(--sh-1)}
.ym-bos{border-style:dashed;color:var(--n500);display:flex;gap:6px;align-items:center;justify-content:center;font-size:12.5px}
.ym-liste{margin:6px 0 0;padding:0;list-style:none;font-size:13px;display:flex;flex-direction:column;gap:3px}
.ym-alerjen{display:block;font-size:10.5px;color:var(--warn)}
.ym-al{border:1px solid var(--n200);background:#fff;border-radius:99px;padding:2px 8px;font-size:11.5px;cursor:pointer;color:var(--n600)}
.ym-al.on{background:var(--warn-50);border-color:#f0c68a;color:var(--warn);font-weight:600}
.ym-ogr{border:1px solid var(--n200);background:#fff;border-radius:8px;padding:4px 9px;font-size:12px;cursor:pointer;color:var(--n500)}
.ym-ogr.on{background:var(--ok-50);border-color:#9fd6b5;color:var(--ok);font-weight:600}
@media (max-width:900px){.ym-hafta{grid-template-columns:1fr}.ym-gun{border-right:0;border-bottom:1px solid var(--n100)}}
/* ders planları */
.plan-tbl td{padding:5px 8px;vertical-align:top}
input.plan-in,textarea.plan-in{height:34px;padding:0 8px;box-shadow:none;border-color:var(--n200);font-size:13px;min-width:56px}
.plan-tbl tr.bu-hafta td{background:var(--brand-50)}
/* çarşaf liste */
.carsaf-kap{position:fixed;inset:0;z-index:70;background:#fff;display:flex;flex-direction:column}
.carsaf-ust{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:12px 18px;border-bottom:1px solid var(--n200)}
.carsaf-kaydir{overflow:auto;flex:1}
.carsaf{border-collapse:collapse;font-size:10px;line-height:1.15}
.carsaf th,.carsaf td{border:1px solid var(--n200);padding:1px 2px;text-align:center;vertical-align:middle}
.carsaf thead th{background:var(--n50);font-weight:600;position:sticky;top:0;z-index:1}
.carsaf thead tr:nth-child(2) th{top:19px}
.carsaf th.cs-ad{text-align:left;padding:2px 6px;white-space:nowrap;position:sticky;left:0;background:#fff;z-index:2;font-size:11px}
.carsaf thead th.cs-ad{z-index:3;background:var(--n50)}
.carsaf td{min-width:40px;height:30px}
.carsaf td div{box-shadow:inset 2px 0 0 var(--kart-ana);padding-left:3px;text-align:left}
.carsaf td div b{display:block;font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:46px}
.carsaf td div span{display:block;font-size:9px;color:var(--n500);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:46px}
.carsaf td.coklu div b{font-size:9px}
.carsaf .gs{border-right:2px solid var(--n500)}
@media print{body.carsaf-acik > *:not(.carsaf-kap){display:none!important}.carsaf-kap{position:static}.carsaf-kaydir{overflow:visible}.carsaf td div{-webkit-print-color-adjust:exact;print-color-adjust:exact}@page{size:A4 landscape;margin:8mm}}
/* öğrenci dönem raporu */
.rapor-liste{background:var(--n100);padding:20px}
.rapor-sayfa{background:#fff;max-width:760px;margin:0 auto 20px;padding:36px 42px;box-shadow:var(--sh-2);font-size:13px}
.rapor-ust{display:flex;gap:16px;align-items:center;border-bottom:2px solid var(--brand);padding-bottom:14px;margin-bottom:16px}
.rapor-ust img{width:60px;height:60px;object-fit:contain}
.rapor-ust h2{font-size:20px}
.rapor-kimlik,.rapor-tablo{width:100%;border-collapse:collapse;margin-bottom:14px}
.rapor-kimlik th,.rapor-kimlik td,.rapor-tablo th,.rapor-tablo td{border:1px solid var(--n300);padding:6px 9px;text-align:left}
.rapor-kimlik th,.rapor-tablo th{background:var(--n50);font-weight:600;width:22%}
.rapor-tablo td.num{text-align:center;width:22%}
.rapor-imza{display:flex;justify-content:space-around;margin-top:46px;text-align:center}
.rapor-imza div{border-top:1px solid var(--n400);padding-top:6px;width:180px}
.rapor-not{margin-top:26px;font-size:11px;color:var(--n500)}
@media print{.rapor-liste{background:none;padding:0}.rapor-sayfa{box-shadow:none;margin:0;max-width:none;padding:0;page-break-after:always;break-after:page}}
/* koridor ekranı */
.pn{min-height:100vh;background:#0c1420;color:#e8eef5;padding:28px 36px;display:flex;flex-direction:column;gap:22px;font-size:20px}
.pn h1,.pn h2{color:#fff}
.pn-ust{display:flex;justify-content:space-between;align-items:center}
.pn-logo{width:72px;height:72px;border-radius:18px;background:#fff;color:var(--brand);display:grid;place-items:center;font-size:34px;font-weight:700;overflow:hidden}
.pn-logo img{width:100%;height:100%;object-fit:contain}
.pn-okul{font-size:34px;letter-spacing:-.02em} .pn-tarih{color:#9fb0c3;font-size:20px;margin-top:4px}
.pn-saat{font-size:64px;font-weight:700;font-variant-numeric:tabular-nums;letter-spacing:-.02em}
.pn-govde{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr);grid-template-rows:auto 1fr;gap:22px;flex:1}
.pn-kutu{background:#131e2d;border:1px solid #1f2d40;border-radius:20px;padding:22px 26px;min-height:0}
.pn-kutu h2{font-size:24px;display:flex;gap:12px;align-items:center;margin-bottom:16px}
.pn-kutu h2 .ic{width:26px;height:26px;color:var(--brand-200)}
.pn-sayfa{margin-left:auto;font-size:16px;color:#9fb0c3;font-weight:500}
.pn-tablo{width:100%;border-collapse:collapse}
.pn-tablo th{text-align:left;font-size:15px;color:#8496aa;font-weight:600;text-transform:uppercase;letter-spacing:.06em;padding:8px 10px;border-bottom:1px solid #26354a}
.pn-tablo td{padding:14px 10px;border-bottom:1px solid #1d2a3b;font-size:22px;vertical-align:middle}
.pn-tablo td small{display:block;color:#8496aa;font-size:14px}
.pn-etiket{display:inline-block;background:#26354a;border-radius:10px;padding:4px 12px;font-size:18px;font-weight:600}
.pn-etiket.kirmizi{background:#5b1f1a;color:#ffb4a8} .pn-etiket.sari{background:#5a3e0c;color:#ffd58a}
.pn-liste{display:flex;flex-direction:column;gap:14px}
.pn-liste div{display:flex;flex-direction:column;gap:2px;padding-bottom:12px;border-bottom:1px solid #1d2a3b}
.pn-liste b{font-size:20px;color:#fff} .pn-liste small{color:#8496aa;font-size:15px} .pn-liste span{font-size:22px}
.pn-bos{color:#8496aa;font-size:20px}
.pn-not{background:#1c2b40;border-radius:14px;padding:14px 18px;font-size:21px;margin-bottom:12px}
@media (max-width:1000px){.pn-govde{grid-template-columns:1fr}.pn-saat{font-size:40px}}
/* veli görüşmeleri */
.dilim{display:inline-flex;flex-direction:column;align-items:center;min-width:64px;padding:6px 10px;border:1px solid var(--ok);border-radius:9px;background:var(--ok-50);color:var(--ok);font:inherit;font-size:12px;cursor:pointer;line-height:1.25}
.dilim span{font-size:10.5px;opacity:.85;max-width:90px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.dilim:hover{filter:brightness(.97)}
span.dilim{cursor:default}
.dilim.dolu{border-color:var(--brand-200);background:var(--brand-50);color:var(--brand-700)}
/* takvim */
.tk-izgara{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}
.tk-izgara > :nth-child(7n){border-right:0}
.tk-bas{padding:9px 8px;font-size:11.5px;font-weight:600;color:var(--n500);text-transform:uppercase;letter-spacing:.05em;background:var(--n25);border-bottom:1px solid var(--n200);text-align:center}
.tk-gun{min-height:108px;border-right:1px solid var(--n100);border-bottom:1px solid var(--n100);padding:6px;display:flex;flex-direction:column;gap:3px;cursor:pointer;min-width:0}
.tk-gun:hover{background:var(--n25)}
.tk-gun.disi{background:var(--n25)} .tk-gun.disi .tk-no{color:var(--n300)}
.tk-gun.tatil{background:color-mix(in srgb,#e5484d 5%,#fff)}
.tk-no{font-size:12.5px;font-weight:600;color:var(--n700);width:24px;height:24px;display:grid;place-items:center;border-radius:99px}
.tk-gun.bugun .tk-no{background:var(--brand);color:#fff}
.tk-pill{border:0;text-align:left;font:inherit;font-size:11.5px;font-weight:550;padding:2px 7px;border-radius:6px;background:color-mix(in srgb,var(--r) 14%,#fff);color:color-mix(in srgb,var(--r) 75%,#000);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:pointer;box-shadow:inset 2px 0 0 var(--r);max-width:100%}
.tk-filtre{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--n200);background:#fff;border-radius:99px;padding:4px 10px;font-size:12.5px;cursor:pointer;color:var(--n700)}
.tk-filtre i{width:8px;height:8px;border-radius:50%;background:var(--r)}
.tk-filtre.on{border-color:var(--r);background:color-mix(in srgb,var(--r) 10%,#fff);color:var(--n900);font-weight:600}
.tk-ikon{width:28px;height:28px;border-radius:8px;display:grid;place-items:center;background:color-mix(in srgb,var(--r) 14%,#fff);color:var(--r);flex:0 0 auto}
@media (max-width:760px){.tk-gun{min-height:70px}.tk-pill{font-size:10px;padding:1px 4px}}
.ek-chip{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--n200);background:#fff;border-radius:8px;padding:4px 8px;font-size:12.5px;color:var(--n800);text-decoration:none!important;max-width:280px}
.ek-chip small{color:var(--n500)} .ek-chip button{border:0;background:none;cursor:pointer;color:var(--n500);font-size:14px;padding:0 2px}
a.ek-chip:hover{border-color:var(--brand-200);background:var(--brand-50)}
/* mesajlar */
.msj-duzen{display:grid;grid-template-columns:minmax(300px,380px) minmax(0,1fr);gap:16px;height:calc(100vh - 190px);min-height:480px}
.msj-duzen > .card{min-height:0}
.msj-liste{overflow:auto;flex:1}
.msj-it{display:flex;gap:10px;align-items:flex-start;padding:12px 14px;border-bottom:1px solid var(--n100);color:var(--n800);text-decoration:none!important}
.msj-it:hover{background:var(--n25)}
.msj-it.sec{background:var(--brand-50);box-shadow:inset 3px 0 0 var(--brand)}
.msj-it.yeni .msj-kim,.msj-it.yeni .msj-konu{font-weight:700;color:var(--n900)}
.msj-kim{font-size:13px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.msj-konu{font-size:13px;color:var(--n800);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.msj-ozet{font-size:12.5px;color:var(--n500);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.msj-nokta{width:9px;height:9px;border-radius:50%;background:var(--brand);flex:0 0 auto;margin-top:6px}
.rozet-k{margin-left:6px;background:var(--brand);color:#fff;border-radius:99px;font-size:11px;padding:0 6px;line-height:17px}
.msj-sag{display:flex;flex-direction:column;overflow:hidden;min-height:0}
.msj-akis{flex:1;overflow:auto;padding:18px 20px;display:flex;flex-direction:column;gap:12px;background:var(--n25)}
.balon{background:#fff;border:1px solid var(--n200);border-radius:14px;padding:12px 14px;max-width:82%;align-self:flex-start;box-shadow:var(--sh-1)}
.balon.ben{align-self:flex-end;background:var(--brand-50);border-color:var(--brand-100)}
.balon-ust{display:flex;gap:8px;align-items:center;margin-bottom:6px;flex-wrap:wrap}
.msj-metin{font-size:14px;line-height:1.55;overflow-wrap:anywhere}
.msj-yaz{padding:12px 16px;border-top:1px solid var(--n100);display:flex;flex-direction:column;gap:8px;background:#fff}
.alici-kutu{border:1px solid var(--n300);border-radius:9px;padding:8px;min-height:42px;font-weight:400}
.alici-chip{display:inline-flex;align-items:center;gap:6px;background:var(--brand-100);color:var(--brand-700);border-radius:99px;padding:3px 4px 3px 10px;font-size:12.5px;font-weight:550}
.alici-chip button{border:0;background:rgba(255,255,255,.6);border-radius:50%;width:18px;height:18px;line-height:16px;cursor:pointer;color:inherit;padding:0}
.ara-sonuc{position:absolute;left:0;right:0;top:calc(100% + 4px);background:#fff;border:1px solid var(--n200);border-radius:10px;box-shadow:var(--sh-2);z-index:5;overflow:hidden}
.ara-sonuc:empty{display:none}
.ara-sonuc button{display:flex;gap:10px;align-items:center;width:100%;border:0;background:none;padding:8px 12px;cursor:pointer;text-align:left}
.ara-sonuc button:hover{background:var(--n50)}
@media (max-width:900px){.msj-duzen{grid-template-columns:1fr;height:auto}.msj-sag{min-height:70vh}
  .msj-duzen.secili > .card:first-child{display:none}.msj-duzen:not(.secili) > .msj-sag{display:none}}
/* not defteri */
.not-tbl th.st,.not-tbl td.st{position:sticky;left:0;background:#fff;z-index:2;min-width:220px}
.not-tbl thead th.st{background:var(--n25);z-index:3}
.not-tbl th.nh{text-align:center;min-width:100px}
.not-tbl td.nc{text-align:center;padding:5px 8px}
input.not-in{width:70px;height:32px;text-align:center;padding:0 6px;font-variant-numeric:tabular-nums;box-shadow:none}
input.not-in.degisti{background:var(--brand-50);border-color:var(--brand-200)}
input.not-in.hatali{border-color:var(--bad);background:var(--bad-50)}
input.not-in.imzali{border-bottom:2px solid var(--ok)}
.nh-btn{border:0;background:none;padding:2px;border-radius:5px;color:var(--n500);cursor:pointer;display:inline-grid;place-items:center}
.nh-btn:hover{background:var(--n100);color:var(--n900)}
.not-tbl tfoot td{background:var(--n25);border-top:1px solid var(--n200)}
.not-tbl tfoot td.st{background:var(--n25)}
/* nöbet çizelgesi */
.nb{width:100%;border-collapse:separate;border-spacing:0}
.nb th,.nb td{border-right:1px solid var(--n100);border-bottom:1px solid var(--n100)}
.nb thead th{background:var(--n25);font-size:12px;font-weight:600;color:var(--n700);padding:9px 8px;text-align:center;position:sticky;top:0;z-index:2}
.nb th.rh{text-align:left;padding:10px 14px;background:#fff;min-width:150px;position:sticky;left:0;z-index:1;font-size:13px;font-weight:500}
.nb thead th.rh{background:var(--n25);z-index:3}
.nb .gs{border-right:2px solid var(--n300)}
.nb-td{padding:6px;vertical-align:top;cursor:pointer;min-width:140px;height:58px}
.nb.ten .nb-td{min-width:70px}
.nb-td:hover{background:var(--brand-50)}
.nb-kisi{display:flex;gap:7px;align-items:center;font-size:12.5px;font-weight:550;padding:4px 6px;border-radius:7px;background:var(--n50);margin-bottom:3px;white-space:nowrap;overflow:hidden}
.nb-kisi span{overflow:hidden;text-overflow:ellipsis}
.nb.ten .nb-kisi{font-size:11px;padding:3px 5px}
.nb-bos{display:flex;gap:5px;align-items:center;justify-content:center;font-size:12px;color:var(--n400);border:1.5px dashed var(--n300);border-radius:7px;padding:5px}
.nb-td.eksik .nb-bos{color:var(--warn);border-color:#f0c68a}
.nb-gunler{display:flex;gap:3px;margin-top:5px}
.nb-gunler span{font-size:10px;padding:1px 5px;border-radius:5px;background:var(--n100);color:var(--n400)}
.nb-gunler span.var{background:var(--brand-100);color:var(--brand-700)}
@media print{.nb-bos{display:none}.nb-kisi{background:none}}
.sec-bar{display:flex;gap:10px;align-items:center;flex-wrap:wrap;padding:10px 14px;background:var(--brand-50);border-bottom:1px solid var(--brand-100);font-size:13px}
.kart-nokta{width:12px;height:12px;border-radius:4px;background:var(--kart-bg);box-shadow:inset 0 0 0 3px var(--kart-ana);flex:0 0 auto;display:inline-block}
/* ders programı görüntüleme (gün satırları x ders saatleri) */
.pv{width:100%;border-collapse:separate;border-spacing:0;table-layout:fixed}
.pv thead th{font-size:11.5px;color:var(--n500);font-weight:500;padding:8px 6px;text-align:center;background:var(--n25);border-bottom:1px solid var(--n200);border-right:1px solid var(--n100)}
.pv thead th b{display:block;color:var(--n800);font-size:12.5px;font-weight:600}
.pv tbody th{text-align:left;padding:0 14px;color:var(--n800);font-size:13px;font-weight:600;background:#fff;border-right:1px solid var(--n200);border-bottom:1px solid var(--n100)}
.pv td{border-bottom:1px solid var(--n100);border-right:1px solid var(--n100);padding:4px;height:70px;vertical-align:top}
.pv tbody tr:last-child td,.pv tbody tr:last-child th{border-bottom:0}
.blk-yigin{display:flex;flex-direction:column;gap:3px;height:100%}
.blk{flex:1;min-height:0;border-radius:8px;padding:6px 8px 6px 11px;background:var(--kart-bg);box-shadow:inset 3px 0 0 var(--kart-ana);font-size:12px;line-height:1.3;overflow:hidden}
.blk b{display:block;font-size:12.5px;font-weight:650;color:var(--n900);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.blk span{display:block;color:var(--n600);font-size:11.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
/* herkese açık */
.acik-ust{background:linear-gradient(150deg,var(--brand),var(--brand-700));color:#fff;padding:20px 28px}
.acik-ust h1{color:#fff;font-size:20px}
@media print{.side,.topbar,.yazdir-gizle,.actions,.crumb,.tabs,.tbl td.act,.btn{display:none!important}.shell{display:block}.main{padding:0}body{background:#fff}.card{box-shadow:none;border:0}.blk{-webkit-print-color-adjust:exact;print-color-adjust:exact}.tbl-scroll{overflow:visible}}
