/* ==========================================================================
   Ferhatlar Tesis Kiralama — arayüz stilleri
   Marka Kitabı Bölüm 09 tokenlarından türetilmiştir; tüm kurallar .ftk
   kapsayıcısı altındadır, tema stillerine dokunmaz.
   ========================================================================== */
.ftk{box-sizing:border-box}
.ftk-noscript{padding:24px}
.ftk-kapi{max-width:640px;margin:40px auto;padding:32px;border:1px solid #E7E5EE;border-radius:4px;background:#fff}

/* ==========================================================================
   FERHATLAR OKULLARI · TESİS KİRALAMA
   Sürüm 3.0 · Ziyaretçi sayfası + Yönetim paneli · Tek dosya prototip

   Marka Kitabı Birinci Sürüm (Temmuz 2026) Bölüm 09 "yazılım ekipleri için
   bağlayıcıdır" der. Bu dosyada serbest HEX yoktur; tüm renkler aşağıdaki
   token bloğundan gelir. Yeni renk üretilmemiştir.
   ========================================================================== */

/* --- ferhatlar-tokens.css · Bölüm 09, s.115 — tek doğruluk kaynağı --------- */
.ftk{
  --f-navy:#201C51; --f-gray:#686868; --f-ink:#1C1B29;
  --f-paper:#F6F5F8; --f-mist:#E7E5EE; --f-white:#FFFFFF;
  --f-focus:#2F5FA3;                 /* Bölüm 09 s.122 — yalnız odak halkası */
  --f-error:#B3261E;                 /* Bölüm 09 s.117 — yalnız form hatası  */
  --f-font:'Poppins','Segoe UI',system-ui,-apple-system,'Helvetica Neue',sans-serif;
  --f-text-h1:2.5rem; --f-text-h2:1.75rem; --f-text-h3:1.25rem;
  --f-text-body:1rem; --f-text-small:.875rem; --f-text-label:.8125rem;
  --f-space-1:4px; --f-space-2:8px; --f-space-3:16px;
  --f-space-4:24px; --f-space-5:40px; --f-space-6:64px;
  --f-radius:4px; --f-touch:44px; --f-line:1px solid var(--f-mist);
  /* türetilmiş saydamlıklar — yeni renk değil, mevcut lacivertin opaklıkları */
  --f-navy-04:rgba(32,28,81,.04); --f-navy-06:rgba(32,28,81,.06);
  --f-navy-10:rgba(32,28,81,.10); --f-navy-16:rgba(32,28,81,.16);
  --f-navy-hover:#171341;           /* lacivertin %8 koyu kademesi */
}
.ftk *, .ftk *::before, .ftk *::after{box-sizing:border-box;margin:0;padding:0}
.ftk{-webkit-text-size-adjust:100%}
.ftk{font-family:var(--f-font);font-weight:300;font-size:var(--f-text-body);
  line-height:1.6;color:var(--f-ink);background:var(--f-paper);
  -webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
.ftk img, .ftk svg{display:block;max-width:100%}
.ftk button, .ftk input, .ftk select, .ftk textarea{font:inherit;color:inherit}
.ftk :focus-visible{outline:2px solid var(--f-focus);outline-offset:2px;border-radius:2px}
@media (prefers-reduced-motion:reduce){.ftk *{animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}
.ftk ::selection{background:var(--f-navy);color:var(--f-white)}
.ftk .f-sr{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.ftk .f-skip{position:absolute;left:var(--f-space-3);top:-60px;z-index:80;background:var(--f-white);
  color:var(--f-navy);padding:12px var(--f-space-3);border-radius:var(--f-radius);
  font-size:var(--f-text-small);font-weight:500;text-decoration:none;transition:top .2s ease-out}
.ftk .f-skip:focus{top:var(--f-space-3)}

/* --- düzen · Bölüm 09 s.124 (maks 1280, sütun arası 24) ------------------- */
.ftk .f-wrap{max-width:1280px;margin:0 auto;padding:0 var(--f-space-5)}
.ftk .f-wrap--narrow{max-width:960px}
@media(max-width:1024px){.ftk .f-wrap{padding:0 var(--f-space-4)}}
@media(max-width:640px){.ftk .f-wrap{padding:0 var(--f-space-3)}}
.ftk .f-sect{padding:var(--f-space-6) 0}
.ftk .f-sect--tight{padding:var(--f-space-5) 0}
.ftk .f-sect--white{background:var(--f-white);border-top:var(--f-line);border-bottom:var(--f-line)}
.ftk .f-stack>*+*{margin-top:var(--f-space-3)}
.ftk .f-hd{margin-bottom:var(--f-space-5)}
.ftk .f-hd p{color:var(--f-gray);max-width:62ch;margin-top:var(--f-space-2)}

/* --- tipografi · Bölüm 05 (Poppins 300/400/500/600, italik ve 700 yok) ---- */
.ftk h1, .ftk h2, .ftk h3, .ftk h4{font-weight:500;line-height:1.16;color:var(--f-navy);letter-spacing:-.01em}
.ftk h1{font-size:var(--f-text-h1);font-weight:300;letter-spacing:-.02em}
.ftk h2{font-size:var(--f-text-h2)}
.ftk h3{font-size:var(--f-text-h3)}
.ftk h4{font-size:1rem;font-weight:500}
@media(max-width:640px){.ftk h1{font-size:1.875rem}.ftk h2{font-size:1.375rem}}
.ftk .f-label{font-size:var(--f-text-label);font-weight:500;letter-spacing:.14em;
  text-transform:uppercase;color:var(--f-gray);display:block}
.ftk .f-lead{font-size:1.0625rem;color:var(--f-gray);max-width:66ch;line-height:1.62}
.ftk .f-meta{font-size:var(--f-text-small);color:var(--f-gray)}
.ftk .f-num{font-variant-numeric:tabular-nums;font-feature-settings:"tnum" 1}
/* kısa çizgi imzası · Bölüm 08 s.108 */
.ftk .f-rule{width:56px;height:2px;background:var(--f-navy);margin-bottom:var(--f-space-3)}
.ftk .f-rule--light{background:var(--f-white)}

/* --- buton · Bölüm 09 s.116 (44px, 4px köşe, 200ms ease-out) -------------- */
.ftk .f-btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--f-space-2);
  min-height:var(--f-touch);padding:0 var(--f-space-4);border:1px solid transparent;
  border-radius:var(--f-radius);font-size:.9375rem;font-weight:500;line-height:1;
  cursor:pointer;text-decoration:none;white-space:nowrap;
  transition:background-color .2s ease-out,border-color .2s ease-out,color .2s ease-out}
.ftk .f-btn--primary{background:var(--f-navy);color:var(--f-white);border-color:var(--f-navy)}
.ftk .f-btn--primary:hover{background:var(--f-navy-hover);border-color:var(--f-navy-hover)}
.ftk .f-btn--secondary{background:transparent;color:var(--f-navy);border-color:var(--f-navy)}
.ftk .f-btn--secondary:hover{background:var(--f-navy-04)}
.ftk .f-btn--tertiary{background:transparent;color:var(--f-navy);border-color:transparent;padding:0 var(--f-space-2)}
.ftk .f-btn--tertiary:hover{background:var(--f-navy-04)}
.ftk .f-btn--onnavy{background:var(--f-white);color:var(--f-navy);border-color:var(--f-white)}
.ftk .f-btn--onnavy:hover{background:var(--f-mist);border-color:var(--f-mist)}
.ftk .f-btn--sm{min-height:34px;padding:0 var(--f-space-3);font-size:var(--f-text-small)}
.ftk .f-btn--block{width:100%}
.ftk .f-btn[disabled], .ftk .f-btn[aria-disabled="true"]{background:var(--f-mist);color:var(--f-gray);
  border-color:var(--f-mist);cursor:not-allowed}
.ftk .f-btn__ic{width:18px;height:18px;flex:0 0 18px}

/* --- ikon · Bölüm 09: çizgi ikon, 2 birim kontur, tek renk, emoji yasak --- */
.ftk .f-ic{width:20px;height:20px;flex:0 0 20px;stroke:currentColor;stroke-width:2;
  fill:none;stroke-linecap:square;stroke-linejoin:miter}
.ftk .f-ic--lg{width:28px;height:28px;flex-basis:28px}
.ftk .f-ic--sm{width:16px;height:16px;flex-basis:16px;stroke-width:2.2}

/* --- üst bant (asc.ferhatlar.com menü yapısıyla aynı) --------------------- */
.ftk .f-header{background:var(--f-navy);color:var(--f-white);position:sticky;top:0;z-index:40;
  box-shadow:0 1px 0 rgba(255,255,255,.08)}
.ftk .f-header .f-wrap{display:flex;align-items:center;gap:var(--f-space-4);min-height:76px}
.ftk .f-logo{display:flex;align-items:center;gap:10px;color:var(--f-white);text-decoration:none;flex:0 0 auto}
.ftk .f-logo-mark{width:34px;height:34px;border:2px solid var(--f-white);display:grid;place-items:center;
  font-weight:600;font-size:14px;letter-spacing:.02em;line-height:1}
.ftk .f-logo-txt{display:flex;flex-direction:column;line-height:1.15}
.ftk .f-logo-txt b{font-weight:500;font-size:.9375rem;letter-spacing:.04em}
.ftk .f-logo-txt span{font-size:.6875rem;letter-spacing:.18em;text-transform:uppercase;opacity:.7}
.ftk .f-nav{margin-left:auto;display:flex;align-items:center;gap:var(--f-space-4)}
.ftk .f-nav a{color:var(--f-white);text-decoration:none;font-size:var(--f-text-small);font-weight:400;
  opacity:.76;padding:8px 0;border-bottom:2px solid transparent;
  transition:opacity .2s ease-out,border-color .2s ease-out}
.ftk .f-nav a:hover{opacity:1}
.ftk .f-nav a[aria-current="page"]{opacity:1;border-bottom-color:var(--f-white);font-weight:500}
.ftk .f-nav a.f-btn{opacity:1;border-bottom:0;padding:0 var(--f-space-3)}
.ftk .f-nav a.f-btn--onnavy{color:var(--f-navy)}
.ftk .f-nav a.f-btn--onnavy:hover{color:var(--f-navy)}
.ftk .f-navtoggle{display:none;background:transparent;border:1px solid rgba(255,255,255,.35);
  color:var(--f-white);border-radius:var(--f-radius);width:var(--f-touch);height:var(--f-touch);
  align-items:center;justify-content:center;cursor:pointer;margin-left:auto}
@media(max-width:1080px){.ftk .f-nav{position:absolute;top:100%;left:0;right:0;background:var(--f-navy);flex-direction:column;
    align-items:stretch;gap:0;padding:var(--f-space-2) var(--f-space-4) var(--f-space-4);
    border-top:1px solid rgba(255,255,255,.12);margin-left:0;
    box-shadow:0 8px 16px rgba(32,28,81,.24)}.ftk .f-nav:not([data-open]){display:none}.ftk .f-nav a{padding:14px 0;border-bottom:1px solid rgba(255,255,255,.10)}.ftk .f-nav a[aria-current="page"]{border-bottom-color:var(--f-white)}.ftk .f-nav .f-btn{margin-top:var(--f-space-3)}.ftk .f-navtoggle{display:inline-flex}.ftk .f-header .f-wrap{position:relative}
}

/* --- sayfa başlığı · Desen 01 Dikey Ritim (Bölüm 08 s.104) ---------------- */
.ftk .f-hero{background:var(--f-navy);color:var(--f-white);position:relative;overflow:hidden;
  padding:var(--f-space-6) 0}
.ftk .f-hero::before{content:"";position:absolute;inset:0;opacity:.12;pointer-events:none;
  background-image:repeating-linear-gradient(90deg,#fff 0 36px,transparent 36px 46px,#fff 46px 56px,transparent 56px 102px)}
.ftk .f-hero .f-wrap{position:relative}
.ftk .f-hero h1{color:var(--f-white)}
.ftk .f-hero .f-label{color:rgba(255,255,255,.7)}
.ftk .f-hero p{color:rgba(255,255,255,.86);max-width:64ch;margin-top:var(--f-space-3);font-size:1.0625rem}
.ftk .f-hero__facts{display:flex;flex-wrap:wrap;gap:var(--f-space-5);margin-top:var(--f-space-5);
  padding-top:var(--f-space-4);border-top:1px solid rgba(255,255,255,.18)}
.ftk .f-hero__fact{min-width:150px}
.ftk .f-hero__fact b{display:block;font-size:1.375rem;font-weight:400;color:var(--f-white);letter-spacing:-.01em}
.ftk .f-hero__fact span{font-size:var(--f-text-small);color:rgba(255,255,255,.7)}
/* --- fotoğraflı üst bölüm (asc.ferhatlar.com düzeniyle aynı kurgu) ----- */
.ftk .f-hero--foto{padding:80px 0 var(--f-space-5);
  background-position:center 64%;background-size:cover;background-repeat:no-repeat}
.ftk .f-hero--foto::before{display:none}
.ftk .f-hero__cards{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--f-space-3);
  margin-top:var(--f-space-5)}
@media(max-width:900px){.ftk .f-hero__cards{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.ftk .f-hero__cards{grid-template-columns:repeat(2,1fr);gap:var(--f-space-2)}.ftk .f-hero__card{padding:10px 12px;overflow-wrap:anywhere}.ftk .f-hero__card b{font-size:1rem}.ftk .f-hero__card:last-child b{font-size:.875rem}.ftk .f-hero__card span{font-size:.75rem}
}
.ftk .f-hero__card{border:1px solid rgba(255,255,255,.26);border-radius:var(--f-radius);
  padding:var(--f-space-3) var(--f-space-4);background:rgba(32,28,81,.34);
  backdrop-filter:saturate(140%) blur(2px)}
.ftk .f-hero__card b{display:block;font-size:1.375rem;font-weight:400;color:var(--f-white);
  letter-spacing:-.01em;line-height:1.2;overflow-wrap:anywhere}
.ftk .f-hero__card span{display:block;font-size:var(--f-text-small);color:rgba(255,255,255,.74);margin-top:2px}
@media(max-width:640px){.ftk .f-hero--foto{padding:var(--f-space-5) 0 var(--f-space-4);background-position:62% 60%}.ftk .f-hero__card b{font-size:1.125rem}.ftk .f-hero .f-lead, .ftk .f-hero p{font-size:1rem}
}

/* --- kırıntı yolu ---------------------------------------------------------*/
.ftk .f-crumbs{background:var(--f-white);border-bottom:var(--f-line);padding:var(--f-space-3) 0}
.ftk .f-crumbs ol{display:flex;flex-wrap:wrap;gap:var(--f-space-2);list-style:none;font-size:var(--f-text-small)}
.ftk .f-crumbs a{color:var(--f-gray);text-decoration:none}
.ftk .f-crumbs a:hover{color:var(--f-navy);text-decoration:underline}
.ftk .f-crumbs li[aria-current]{color:var(--f-navy)}
.ftk .f-crumbs li+li::before{content:"·";margin-right:var(--f-space-2);color:var(--f-mist)}

/* --- kart rayı · Bölüm 09 s.118 ------------------------------------------ */
.ftk .f-grid{display:grid;gap:var(--f-space-4)}
.ftk .f-grid--3{grid-template-columns:repeat(3,1fr)}
.ftk .f-grid--2{grid-template-columns:repeat(2,1fr)}
.ftk .f-grid--4{grid-template-columns:repeat(4,1fr)}
@media(max-width:1024px){.ftk .f-grid--3, .ftk .f-grid--4{grid-template-columns:repeat(2,1fr)}}
@media(max-width:720px){.ftk .f-grid--3, .ftk .f-grid--2, .ftk .f-grid--4{grid-template-columns:1fr}}

.ftk .f-card{background:var(--f-white);border:var(--f-line);border-radius:var(--f-radius);
  display:flex;flex-direction:column;overflow:hidden;
  transition:box-shadow .25s ease-out,border-color .25s ease-out}
.ftk .f-card:hover{box-shadow:0 4px 8px var(--f-navy-06);border-color:var(--f-navy-16)}
.ftk .f-card__media{position:relative;aspect-ratio:16/10;background:var(--f-navy);overflow:hidden}
.ftk .f-card__media img{width:100%;height:100%;object-fit:cover}
.ftk .f-card__media svg{width:100%;height:100%}
.ftk .f-card__badge{position:absolute;left:var(--f-space-3);top:var(--f-space-3);
  background:var(--f-white);color:var(--f-navy);border-radius:var(--f-radius);
  padding:5px 10px;font-size:var(--f-text-label);font-weight:500;letter-spacing:.06em;
  display:inline-flex;align-items:center;gap:6px;text-transform:uppercase}
.ftk .f-card__badge::before{content:"";width:7px;height:7px;background:var(--f-navy);border-radius:50%}
.ftk .f-card__badge--muted{background:var(--f-mist);color:var(--f-gray)}
.ftk .f-card__badge--muted::before{background:var(--f-gray)}
.ftk .f-card__body{padding:var(--f-space-4);display:flex;flex-direction:column;gap:var(--f-space-3);flex:1}
.ftk .f-card__body>h3{margin:0}
.ftk .f-card__kind{font-size:var(--f-text-label);letter-spacing:.14em;text-transform:uppercase;
  color:var(--f-gray);font-weight:500}
.ftk .f-card__specs{display:grid;grid-template-columns:1fr 1fr;gap:var(--f-space-2) var(--f-space-3);
  padding:var(--f-space-3) 0;border-top:var(--f-line);border-bottom:var(--f-line)}
.ftk .f-card__spec{display:flex;align-items:flex-start;gap:var(--f-space-2);font-size:var(--f-text-small);color:var(--f-gray)}
.ftk .f-card__spec .f-ic{margin-top:2px;color:var(--f-navy)}
.ftk .f-card__spec b{color:var(--f-ink);font-weight:400}
.ftk .f-card__price{display:flex;align-items:baseline;gap:var(--f-space-2);flex-wrap:wrap}
.ftk .f-card__price b{font-size:1.375rem;font-weight:400;color:var(--f-navy)}
.ftk .f-card__foot{margin-top:auto;padding-top:var(--f-space-1)}
.ftk .f-taglist{display:flex;flex-wrap:wrap;gap:var(--f-space-2)}
.ftk .f-tag{font-size:var(--f-text-small);color:var(--f-gray);border:var(--f-line);
  border-radius:var(--f-radius);padding:3px 9px;background:var(--f-paper)}

/* --- durum rozetleri (renk yerine biçim + metin) --------------------------*/
.ftk .f-pill{display:inline-flex;align-items:center;gap:6px;font-size:var(--f-text-label);
  font-weight:500;letter-spacing:.04em;border-radius:var(--f-radius);padding:4px 9px;
  border:1px solid var(--f-navy);color:var(--f-navy);background:transparent;white-space:nowrap}
.ftk .f-pill--solid{background:var(--f-navy);color:var(--f-white)}
.ftk .f-pill--muted{border-color:var(--f-mist);color:var(--f-gray);background:var(--f-mist)}
.ftk .f-pill--dash{border-style:dashed}
.ftk .f-pill--err{border-color:var(--f-error);color:var(--f-error)}

/* --- panel / kutu -------------------------------------------------------- */
.ftk .f-panel{background:var(--f-white);border:var(--f-line);border-radius:var(--f-radius);padding:var(--f-space-4)}
.ftk .f-panel--pad5{padding:var(--f-space-5)}
.ftk .f-panel__hd{display:flex;align-items:center;justify-content:space-between;gap:var(--f-space-3);
  flex-wrap:wrap;margin-bottom:var(--f-space-3)}
.ftk .f-box{background:var(--f-paper);border:var(--f-line);border-radius:var(--f-radius);padding:var(--f-space-3)}
.ftk .f-callout{border-left:2px solid var(--f-navy);background:var(--f-white);border-radius:0 var(--f-radius) var(--f-radius) 0;
  padding:var(--f-space-3) var(--f-space-4);display:flex;gap:var(--f-space-3)}
.ftk .f-callout .f-ic{color:var(--f-navy);margin-top:3px}
.ftk .f-callout p{font-size:var(--f-text-small);color:var(--f-gray)}
.ftk .f-callout b{color:var(--f-ink);font-weight:500}
.ftk .f-empty{text-align:center;padding:var(--f-space-6) var(--f-space-4);color:var(--f-gray)}
.ftk .f-empty .f-ic{width:32px;height:32px;margin:0 auto var(--f-space-3);color:var(--f-mist);stroke-width:1.5}

/* --- adım şeridi --------------------------------------------------------- */
.ftk .f-steps{display:flex;flex-wrap:wrap;gap:var(--f-space-1);list-style:none;margin-bottom:var(--f-space-5);
  counter-reset:s}
.ftk .f-steps li{flex:1 1 150px;counter-increment:s;padding-top:var(--f-space-3);
  border-top:2px solid var(--f-mist);font-size:var(--f-text-small);color:var(--f-gray)}
.ftk .f-steps li::before{content:counter(s,decimal-leading-zero);display:block;font-size:var(--f-text-label);
  font-weight:500;letter-spacing:.14em;color:var(--f-gray);margin-bottom:2px}
.ftk .f-steps li[data-on]{border-top-color:var(--f-navy);color:var(--f-navy);font-weight:500}
.ftk .f-steps li[data-on]::before{color:var(--f-navy)}
.ftk .f-steps li[data-done]{border-top-color:var(--f-navy)}

/* --- form · Bölüm 09 s.117 (etiket üstte, hata alan altında) --------------*/
.ftk .f-fields{display:grid;grid-template-columns:1fr 1fr;gap:var(--f-space-3) var(--f-space-4)}
@media(max-width:720px){.ftk .f-fields{grid-template-columns:1fr}}
.ftk .f-field{display:flex;flex-direction:column;gap:6px}
.ftk .f-field--full{grid-column:1/-1}
.ftk .f-field>label{font-size:var(--f-text-label);font-weight:500;letter-spacing:.06em;
  text-transform:uppercase;color:var(--f-gray)}
.ftk .f-field>label .req{color:var(--f-navy)}
.ftk .f-input, .ftk .f-select, .ftk .f-textarea{width:100%;min-height:var(--f-touch);padding:10px var(--f-space-3);
  border:1px solid var(--f-mist);border-radius:var(--f-radius);background:var(--f-white);
  font-size:var(--f-text-body);font-weight:300;color:var(--f-ink);
  transition:border-color .2s ease-out}
.ftk .f-input:hover, .ftk .f-select:hover, .ftk .f-textarea:hover{border-color:var(--f-navy-16)}
.ftk .f-input:focus, .ftk .f-select:focus, .ftk .f-textarea:focus{border-color:var(--f-navy);outline-offset:1px}
.ftk .f-textarea{min-height:96px;resize:vertical;line-height:1.55}
.ftk .f-select{appearance:none;padding-right:38px;cursor:pointer;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5 6 6.5 11 1.5' fill='none' stroke='%23201C51' stroke-width='1.6'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right 14px center}
.ftk .f-hint{font-size:var(--f-text-small);color:var(--f-gray)}
.ftk .f-err{font-size:var(--f-text-small);color:var(--f-error);display:flex;align-items:flex-start;gap:6px}
.ftk .f-err .f-ic{width:15px;height:15px;flex-basis:15px;margin-top:3px}
.ftk [data-invalid] .f-input, .ftk [data-invalid] .f-select, .ftk [data-invalid] .f-textarea{border-color:var(--f-error)}
.ftk .f-check{display:flex;gap:var(--f-space-3);align-items:flex-start;cursor:pointer;
  padding:var(--f-space-3);border:var(--f-line);border-radius:var(--f-radius);background:var(--f-white);
  transition:border-color .2s ease-out,background-color .2s ease-out}
.ftk .f-check:hover{border-color:var(--f-navy-16);background:var(--f-navy-04)}
.ftk .f-check input{margin-top:3px;width:18px;height:18px;flex:0 0 18px;accent-color:var(--f-navy);cursor:pointer}
.ftk .f-check__txt{font-size:var(--f-text-small);line-height:1.55}
.ftk .f-check__txt b{display:block;font-weight:500;color:var(--f-ink);margin-bottom:2px;font-size:var(--f-text-body)}
.ftk .f-check__txt span{color:var(--f-gray)}
.ftk .f-check[data-on]{border-color:var(--f-navy)}
.ftk .f-radios{display:grid;gap:var(--f-space-2)}
.ftk .f-radios--row{grid-template-columns:repeat(auto-fit,minmax(190px,1fr))}

/* --- tablo --------------------------------------------------------------- */
.ftk .f-tablewrap{overflow-x:auto;border:var(--f-line);border-radius:var(--f-radius);background:var(--f-white)}
.ftk .f-table{width:100%;border-collapse:collapse;font-size:var(--f-text-small);min-width:520px}
.ftk .f-table th{text-align:left;font-size:var(--f-text-label);letter-spacing:.1em;text-transform:uppercase;
  font-weight:500;color:var(--f-gray);padding:var(--f-space-3);border-bottom:1px solid var(--f-mist);
  white-space:nowrap;background:var(--f-paper)}
.ftk .f-table td{padding:var(--f-space-3);border-bottom:1px solid var(--f-mist);vertical-align:top;color:var(--f-ink)}
.ftk .f-table tbody tr:last-child td{border-bottom:0}
.ftk .f-table tbody tr:hover td{background:var(--f-navy-04)}
.ftk .f-table td b{font-weight:500}
.ftk .f-table .num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}
.ftk .f-table .act{text-align:right;white-space:nowrap}

/* --- takvim -------------------------------------------------------------- */
.ftk .f-calhd{display:flex;align-items:center;justify-content:space-between;gap:var(--f-space-3);margin-bottom:var(--f-space-3)}
.ftk .f-calhd b{font-size:1.0625rem;font-weight:500;color:var(--f-navy)}
.ftk .f-navbtn{width:var(--f-touch);height:var(--f-touch);border:1px solid var(--f-mist);background:var(--f-white);
  border-radius:var(--f-radius);display:grid;place-items:center;cursor:pointer;color:var(--f-navy);
  transition:border-color .2s ease-out,background-color .2s ease-out}
.ftk .f-navbtn:hover:not([disabled]){border-color:var(--f-navy);background:var(--f-navy-04)}
.ftk .f-navbtn[disabled]{color:var(--f-mist);cursor:not-allowed}
.ftk .f-cal{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}
.ftk .f-cal__dow{font-size:var(--f-text-label);font-weight:500;letter-spacing:.06em;text-transform:uppercase;
  color:var(--f-gray);text-align:center;padding-bottom:var(--f-space-2)}
.ftk .f-day{aspect-ratio:1/1;min-height:44px;border:1px solid var(--f-mist);background:var(--f-white);
  border-radius:var(--f-radius);display:flex;flex-direction:column;align-items:center;justify-content:center;
  gap:3px;cursor:pointer;font-size:.9375rem;color:var(--f-navy);font-weight:400;
  transition:border-color .2s ease-out,background-color .2s ease-out}
.ftk .f-day:hover:not([disabled]){border-color:var(--f-navy);background:var(--f-navy-04)}
.ftk .f-day__dot{width:14px;height:2px;background:var(--f-navy);opacity:.9}
.ftk .f-day--part .f-day__dot{width:7px}
.ftk .f-day--full{background:var(--f-mist);color:var(--f-gray);cursor:not-allowed}
.ftk .f-day--full .f-day__dot{background:var(--f-gray);width:14px}
.ftk .f-day--closed{background:var(--f-mist);color:var(--f-gray);cursor:not-allowed;
  background-image:repeating-linear-gradient(45deg,transparent 0 5px,var(--f-navy-10) 5px 6px)}
.ftk .f-day--out{border-color:transparent;background:transparent;color:var(--f-mist);cursor:default}
.ftk .f-day--sel{background:var(--f-navy);border-color:var(--f-navy);color:var(--f-white)}
.ftk .f-day--sel:hover:not([disabled]){background:var(--f-navy-hover);border-color:var(--f-navy-hover)}
.ftk .f-day--sel .f-day__dot{background:var(--f-white)}
.ftk .f-day--today{box-shadow:inset 0 0 0 1px var(--f-navy)}
@media(max-width:640px){.ftk .f-panel{padding:var(--f-space-3)}.ftk .f-cal{gap:3px}.ftk .f-day{min-height:38px;font-size:.875rem}.ftk .f-slots{grid-template-columns:repeat(auto-fill,minmax(128px,1fr))}
}
.ftk .f-legend{display:flex;flex-wrap:wrap;gap:var(--f-space-3);margin-top:var(--f-space-3);
  padding-top:var(--f-space-3);border-top:var(--f-line);font-size:var(--f-text-small);color:var(--f-gray)}
.ftk .f-legend span{display:inline-flex;align-items:center;gap:7px}
.ftk .f-sw{width:16px;height:16px;border:1px solid var(--f-mist);border-radius:2px;background:var(--f-white);flex:0 0 16px}
.ftk .f-sw--sel{background:var(--f-navy);border-color:var(--f-navy)}
.ftk .f-sw--full{background:var(--f-mist)}
.ftk .f-sw--closed{background:var(--f-mist);background-image:repeating-linear-gradient(45deg,transparent 0 4px,var(--f-navy-10) 4px 5px)}

/* --- saat slotları ------------------------------------------------------- */
.ftk .f-slots{display:grid;grid-template-columns:repeat(auto-fill,minmax(148px,1fr));gap:var(--f-space-2)}
.ftk .f-slot{min-height:var(--f-touch);padding:8px var(--f-space-3);border:1px solid var(--f-mist);
  border-radius:var(--f-radius);background:var(--f-white);cursor:pointer;text-align:left;
  display:flex;flex-direction:column;gap:2px;color:var(--f-navy);
  transition:border-color .2s ease-out,background-color .2s ease-out}
.ftk .f-slot b{font-weight:400;font-size:.9375rem;font-variant-numeric:tabular-nums}
.ftk .f-slot small{font-size:.75rem;color:var(--f-gray);line-height:1.3}
.ftk .f-slot:hover:not([disabled]){border-color:var(--f-navy);background:var(--f-navy-04)}
.ftk .f-slot--on{background:var(--f-navy);border-color:var(--f-navy);color:var(--f-white)}
.ftk .f-slot--on:hover:not([disabled]){background:var(--f-navy-hover);border-color:var(--f-navy-hover)}
.ftk .f-slot--on small{color:rgba(255,255,255,.75)}
.ftk .f-slot--taken{background:var(--f-mist);color:var(--f-gray);cursor:not-allowed}
.ftk .f-slot--taken b{text-decoration:line-through;text-decoration-thickness:1px}
.ftk .f-slot--closed{background:var(--f-mist);color:var(--f-gray);cursor:not-allowed;
  background-image:repeating-linear-gradient(45deg,transparent 0 5px,var(--f-navy-10) 5px 6px)}
.ftk .f-slot--held{background:var(--f-mist);color:var(--f-gray);cursor:not-allowed;border-style:dashed;border-color:var(--f-navy)}

/* --- sekme --------------------------------------------------------------- */
.ftk .f-tabs{display:flex;gap:var(--f-space-1);border-bottom:1px solid var(--f-mist);
  margin-bottom:var(--f-space-4);overflow-x:auto;scrollbar-width:thin}
.ftk .f-tab{min-height:var(--f-touch);padding:0 var(--f-space-3);background:transparent;border:0;
  border-bottom:2px solid transparent;color:var(--f-gray);cursor:pointer;font-size:var(--f-text-small);
  font-weight:400;white-space:nowrap;transition:color .2s ease-out,border-color .2s ease-out}
.ftk .f-tab:hover{color:var(--f-navy)}
.ftk .f-tab[aria-selected="true"]{color:var(--f-navy);border-bottom-color:var(--f-navy);font-weight:500}

/* --- galeri -------------------------------------------------------------- */
.ftk .f-gallery{border:var(--f-line);border-radius:var(--f-radius);overflow:hidden;background:var(--f-white)}
.ftk .f-gallery__main{aspect-ratio:16/9;background:var(--f-navy);position:relative}
.ftk .f-gallery__main img{width:100%;height:100%;object-fit:cover}
.ftk .f-gallery__main svg{width:100%;height:100%}
.ftk .f-thumbs{display:grid;grid-template-columns:repeat(5,1fr);gap:2px;padding:2px;background:var(--f-mist)}
.ftk .f-thumbs button{aspect-ratio:16/10;border:0;padding:0;background:var(--f-navy);cursor:pointer;overflow:hidden;
  opacity:.55;transition:opacity .2s ease-out}
.ftk .f-thumbs button:hover, .ftk .f-thumbs button[aria-current="true"]{opacity:1}
.ftk .f-thumbs img, .ftk .f-thumbs svg{width:100%;height:100%;object-fit:cover}

/* --- özellik listesi ----------------------------------------------------- */
.ftk .f-specs{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:var(--f-space-3)}
.ftk .f-specs li{display:flex;gap:var(--f-space-3);align-items:flex-start;font-size:var(--f-text-small);
  list-style:none;padding-bottom:var(--f-space-3);border-bottom:var(--f-line)}
.ftk .f-specs .f-ic{color:var(--f-navy);margin-top:1px}
.ftk .f-specs b{display:block;font-weight:500;color:var(--f-ink);font-size:var(--f-text-body)}
.ftk .f-specs span{color:var(--f-gray)}
.ftk .f-rules{list-style:none;counter-reset:r}
.ftk .f-rules li{counter-increment:r;position:relative;padding:0 0 var(--f-space-3) 44px;
  margin-bottom:var(--f-space-3);border-bottom:var(--f-line);font-size:var(--f-text-small);color:var(--f-gray)}
.ftk .f-rules li:last-child{border-bottom:0;margin-bottom:0}
.ftk .f-rules li::before{content:counter(r,decimal-leading-zero);position:absolute;left:0;top:0;
  font-size:var(--f-text-label);font-weight:500;letter-spacing:.06em;color:var(--f-navy);
  border:1px solid var(--f-mist);border-radius:var(--f-radius);width:30px;height:26px;
  display:grid;place-items:center}
.ftk .f-rules b{display:block;color:var(--f-ink);font-weight:500;font-size:var(--f-text-body);margin-bottom:2px}

/* --- yan sütun / özet ---------------------------------------------------- */
.ftk .f-detail{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(320px,1fr);
  gap:var(--f-space-5);align-items:start}
.ftk .f-detail>*{min-width:0}
@media(max-width:1024px){.ftk .f-detail{grid-template-columns:1fr}}
@media(max-width:400px){.ftk .f-thumbs{grid-template-columns:repeat(3,1fr)}}
.ftk .f-sticky{position:sticky;top:96px}
@media(max-width:1024px){.ftk .f-sticky{position:static}}
.ftk .f-sum{list-style:none;font-size:var(--f-text-small)}
.ftk .f-sum li{display:flex;justify-content:space-between;gap:var(--f-space-3);padding:9px 0;
  border-bottom:var(--f-line);color:var(--f-gray)}
.ftk .f-sum li b{color:var(--f-ink);font-weight:400;text-align:right;font-variant-numeric:tabular-nums}
.ftk .f-sum li.total{border-bottom:0;border-top:1px solid var(--f-navy);margin-top:var(--f-space-2);
  padding-top:var(--f-space-3);color:var(--f-navy);font-weight:500}
.ftk .f-sum li.total b{color:var(--f-navy);font-weight:500;font-size:1.125rem}
.ftk .f-sum li.sub b{color:var(--f-navy)}

/* --- alt bant ------------------------------------------------------------ */
.ftk .f-footer{background:var(--f-navy);color:rgba(255,255,255,.72);padding:var(--f-space-6) 0 var(--f-space-4);
  font-size:var(--f-text-small);margin-top:var(--f-space-6)}
.ftk .f-footer h4{color:var(--f-white);font-size:var(--f-text-label);letter-spacing:.14em;text-transform:uppercase;
  font-weight:500;margin-bottom:var(--f-space-3)}
.ftk .f-footer a{color:rgba(255,255,255,.72);text-decoration:none}
.ftk .f-footer a:hover{color:var(--f-white);text-decoration:underline}
.ftk .f-footer ul{list-style:none;display:grid;gap:10px}
.ftk .f-footer__bottom{margin-top:var(--f-space-5);padding-top:var(--f-space-4);
  border-top:1px solid rgba(255,255,255,.14);display:flex;flex-wrap:wrap;gap:var(--f-space-3);
  justify-content:space-between;font-size:.8125rem}

/* --- yönetim paneli ------------------------------------------------------ */
.ftk .f-admin{display:grid;grid-template-columns:236px minmax(0,1fr);min-height:100vh;background:var(--f-paper)}
@media(max-width:900px){.ftk .f-admin{grid-template-columns:1fr}}
.ftk .f-side{background:var(--f-navy);color:var(--f-white);padding:var(--f-space-4) 0;position:sticky;top:0;
  height:100vh;overflow-y:auto}
@media(max-width:900px){.ftk .f-side{position:static;height:auto}}
.ftk .f-side__brand{padding:0 var(--f-space-4) var(--f-space-4);margin-bottom:var(--f-space-3);
  border-bottom:1px solid rgba(255,255,255,.14);display:flex;align-items:center;gap:10px}
.ftk .f-side nav{display:grid;gap:2px;padding:0 var(--f-space-2)}
.ftk .f-side button{display:flex;align-items:center;gap:var(--f-space-3);width:100%;min-height:var(--f-touch);
  padding:0 var(--f-space-3);background:transparent;border:0;border-radius:var(--f-radius);
  color:rgba(255,255,255,.74);font-size:var(--f-text-small);cursor:pointer;text-align:left;
  transition:background-color .2s ease-out,color .2s ease-out}
.ftk .f-side button:hover{background:rgba(255,255,255,.08);color:var(--f-white)}
.ftk .f-side button[aria-current="true"]{background:var(--f-white);color:var(--f-navy);font-weight:500}
.ftk .f-side .count{margin-left:auto;font-size:.75rem;background:rgba(255,255,255,.16);border-radius:10px;
  padding:2px 8px;font-variant-numeric:tabular-nums}
.ftk .f-side button[aria-current="true"] .count{background:var(--f-navy);color:var(--f-white)}
.ftk .f-main{padding:var(--f-space-5);min-width:0}
@media(max-width:640px){.ftk .f-main{padding:var(--f-space-3)}}
.ftk .f-mainhd{display:flex;align-items:flex-end;justify-content:space-between;gap:var(--f-space-4);
  flex-wrap:wrap;margin-bottom:var(--f-space-4);padding-bottom:var(--f-space-3);border-bottom:var(--f-line)}
.ftk .f-toolbar{display:flex;flex-wrap:wrap;gap:var(--f-space-2);align-items:center;margin-bottom:var(--f-space-4)}
.ftk .f-toolbar .f-select, .ftk .f-toolbar .f-input{min-height:38px;width:auto;min-width:150px;padding:6px var(--f-space-3);
  font-size:var(--f-text-small)}
.ftk .f-toolbar .f-select{padding-right:36px}

/* --- gösterge kutuları --------------------------------------------------- */
.ftk .f-kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:var(--f-space-3);
  margin-bottom:var(--f-space-4)}
.ftk .f-kpi{background:var(--f-white);border:var(--f-line);border-radius:var(--f-radius);padding:var(--f-space-3) var(--f-space-4)}
.ftk .f-kpi .f-label{margin-bottom:var(--f-space-2)}
.ftk .f-kpi b{display:block;font-size:1.75rem;font-weight:300;color:var(--f-navy);letter-spacing:-.02em;
  font-variant-numeric:tabular-nums;line-height:1.1}
.ftk .f-kpi small{display:block;font-size:var(--f-text-small);color:var(--f-gray);margin-top:4px}
.ftk .f-kpi__bar{height:3px;background:var(--f-mist);border-radius:2px;margin-top:var(--f-space-3);overflow:hidden}
.ftk .f-kpi__bar i{display:block;height:100%;background:var(--f-navy);border-radius:2px}

/* --- haftalık ızgara takvim (panel) --------------------------------------*/
.ftk .f-wk{border:var(--f-line);border-radius:var(--f-radius);background:var(--f-white);overflow:auto}
.ftk .f-wk table{border-collapse:collapse;width:100%;min-width:760px;font-size:var(--f-text-small)}
.ftk .f-wk th{position:sticky;top:0;z-index:2;background:var(--f-paper);border-bottom:1px solid var(--f-mist);
  border-right:1px solid var(--f-mist);padding:var(--f-space-2);font-weight:500;color:var(--f-navy);
  font-size:var(--f-text-small);text-align:center;line-height:1.3}
.ftk .f-wk th small{display:block;font-size:.6875rem;color:var(--f-gray);font-weight:400;letter-spacing:.08em;text-transform:uppercase}
.ftk .f-wk th:first-child{left:0;z-index:3;width:64px}
.ftk .f-wk td{border-bottom:1px solid var(--f-mist);border-right:1px solid var(--f-mist);padding:0;height:42px;vertical-align:top}
.ftk .f-wk td.hour{background:var(--f-paper);color:var(--f-gray);font-variant-numeric:tabular-nums;
  text-align:right;padding:4px 8px;font-size:.75rem;position:sticky;left:0;z-index:1;width:64px;white-space:nowrap}
.ftk .f-wk .cell{width:100%;height:100%;min-height:42px;border:0;background:transparent;cursor:pointer;
  padding:3px 5px;text-align:left;font-size:.75rem;line-height:1.25;color:var(--f-navy);display:block;
  transition:background-color .15s ease-out}
.ftk .f-wk .cell:hover{background:var(--f-navy-04)}
.ftk .f-wk .cell b{display:block;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ftk .f-wk .cell span{color:var(--f-gray);display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ftk .f-wk .cell--rez{background:var(--f-navy);color:var(--f-white)}
.ftk .f-wk .cell--rez span{color:rgba(255,255,255,.72)}
.ftk .f-wk .cell--rez:hover{background:var(--f-navy-hover)}
.ftk .f-wk .cell--abon{background:var(--f-mist);color:var(--f-navy);
  background-image:repeating-linear-gradient(45deg,transparent 0 6px,var(--f-navy-10) 6px 7px)}
.ftk .f-wk .cell--bekl{background:var(--f-white);box-shadow:inset 0 0 0 1px var(--f-navy);border-radius:2px}
.ftk .f-wk .cell--kapali{background:var(--f-mist);cursor:not-allowed;color:var(--f-gray)}
.ftk .f-wk .cell--disi{background:var(--f-paper);cursor:not-allowed}

/* --- grafik -------------------------------------------------------------- */
.ftk .f-chart{background:var(--f-white);border:var(--f-line);border-radius:var(--f-radius);padding:var(--f-space-4)}
.ftk .f-chart__hd{margin-bottom:var(--f-space-4)}
.ftk .f-chart__hd h4{margin-bottom:2px}
.ftk .f-chart__hd p{font-size:var(--f-text-small);color:var(--f-gray)}
.ftk .f-chart svg{width:100%;height:auto;overflow:visible}
.ftk .f-chart .grid{stroke:var(--f-mist);stroke-width:1}
.ftk .f-chart .axis{stroke:var(--f-mist);stroke-width:1}
.ftk .f-chart .lbl{font-size:11px;fill:var(--f-gray);font-family:var(--f-font);font-weight:400}
.ftk .f-chart .val{font-size:11px;fill:var(--f-navy);font-family:var(--f-font);font-weight:500;
  font-variant-numeric:tabular-nums}
.ftk .f-chart .bar{fill:var(--f-navy);rx:2}
.ftk .f-chart .bar--soft{fill:var(--f-navy);opacity:.28}
.ftk .f-chart .line{fill:none;stroke:var(--f-navy);stroke-width:2;stroke-linejoin:round;stroke-linecap:round}
.ftk .f-chart .area{fill:var(--f-navy);opacity:.08}
.ftk .f-chart .dot{fill:var(--f-navy);stroke:var(--f-white);stroke-width:2}
.ftk .f-chart .hit{fill:transparent;cursor:pointer}
.ftk .f-chart .hit:hover+.dot, .ftk .f-chart .hit:focus+.dot{r:6}
.ftk .f-hbar{display:grid;gap:var(--f-space-3)}
.ftk .f-hbar__row{display:grid;grid-template-columns:150px minmax(0,1fr) 96px;gap:var(--f-space-3);
  align-items:center;font-size:var(--f-text-small)}
@media(max-width:640px){.ftk .f-hbar__row{grid-template-columns:110px minmax(0,1fr) 84px}}
.ftk .f-hbar__name{color:var(--f-ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ftk .f-hbar__track{height:14px;background:var(--f-mist);border-radius:2px;overflow:hidden}
.ftk .f-hbar__fill{height:100%;background:var(--f-navy);border-radius:0 2px 2px 0}
.ftk .f-hbar__val{text-align:right;font-variant-numeric:tabular-nums;color:var(--f-navy);font-weight:500}
.ftk.f-tip, .ftk .f-tip{position:fixed;z-index:70;background:var(--f-navy);color:var(--f-white);border-radius:var(--f-radius);
  padding:8px 11px;font-size:var(--f-text-small);line-height:1.4;pointer-events:none;max-width:230px;
  box-shadow:0 4px 12px var(--f-navy-16)}
.ftk.f-tip b, .ftk .f-tip b{font-weight:500;display:block}
.ftk.f-tip span, .ftk .f-tip span{color:rgba(255,255,255,.75);font-size:.75rem}

/* 1.5.0 · modal, bildirim ve ipucu katmanları <body> altına eklenir ve kendileri .ftk sınıfını taşır;
   önceki seçiciler (.ftk .f-modal) eşleşmediği için form sayfanın en altında açılıyordu. */
/* --- modal · Bölüm 09 (örtü %45 lacivert, tek modal) ---------------------- */
.ftk.f-modal, .ftk .f-modal{position:fixed;inset:0;z-index:60;background:rgba(32,28,81,.45);display:grid;place-items:center;
  padding:var(--f-space-4);overflow-y:auto}
.ftk.f-modal[hidden], .ftk .f-modal[hidden]{display:none}
.ftk .f-modal__box{background:var(--f-white);border-radius:var(--f-radius);width:min(620px,100%);
  max-height:calc(100vh - 48px);overflow-y:auto;box-shadow:0 12px 32px rgba(32,28,81,.24)}
.ftk .f-modal__hd{display:flex;align-items:center;justify-content:space-between;gap:var(--f-space-3);
  padding:var(--f-space-4);border-bottom:var(--f-line);position:sticky;top:0;background:var(--f-white);z-index:1}
.ftk .f-modal__bd{padding:var(--f-space-4)}
.ftk .f-modal__ft{padding:var(--f-space-4);border-top:var(--f-line);display:flex;gap:var(--f-space-2);
  justify-content:flex-end;flex-wrap:wrap;position:sticky;bottom:0;background:var(--f-white)}
.ftk .f-x{width:38px;height:38px;border:1px solid var(--f-mist);background:var(--f-white);border-radius:var(--f-radius);
  display:grid;place-items:center;cursor:pointer;color:var(--f-navy)}
.ftk .f-x:hover{border-color:var(--f-navy);background:var(--f-navy-04)}

/* --- bildirim şeridi ----------------------------------------------------- */
.ftk.f-toast, .ftk .f-toast{position:fixed;left:50%;bottom:var(--f-space-4);transform:translateX(-50%);z-index:75;
  background:var(--f-navy);color:var(--f-white);border-radius:var(--f-radius);padding:12px var(--f-space-4);
  font-size:var(--f-text-small);box-shadow:0 8px 24px var(--f-navy-16);display:flex;align-items:center;
  gap:var(--f-space-2);max-width:calc(100vw - 32px)}
.ftk.f-toast[hidden], .ftk .f-toast[hidden]{display:none}

/* --- 1.3.0 · program satırları, hesaplar, ekstre ------------------------ */
.ftk .f-prog{display:flex;flex-direction:column;gap:8px}
.ftk .f-prog__row{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:8px;border:var(--f-line);
  border-radius:var(--f-radius);background:var(--f-white)}
.ftk .f-prog__row .f-select{width:auto;min-height:38px;padding-top:4px;padding-bottom:4px}
.ftk .f-prog__row .f-prog__gun{min-width:150px}
.ftk .f-prog__sure{font-size:var(--f-text-small);color:var(--f-gray);min-width:44px;font-variant-numeric:tabular-nums}
.ftk .f-prog__row .f-x{margin-left:auto}
.ftk .f-prog__row .f-x[disabled]{opacity:.35;cursor:not-allowed}
.ftk .f-prog__ekle{align-self:flex-start}
.ftk .f-sum li.f-sum__prog b{display:flex;flex-direction:column;align-items:flex-end;gap:2px}
.ftk .f-link{background:none;border:0;padding:0;font:inherit;color:var(--f-navy);cursor:pointer;
  text-align:left;text-decoration:underline;text-decoration-color:var(--f-mist);text-underline-offset:3px}
.ftk .f-link:hover, .ftk .f-link:focus-visible{text-decoration-color:var(--f-navy)}
.ftk .f-table tr.is-pasif td{color:var(--f-gray)}
.ftk .f-table tr.f-table__toplam td{border-top:1px solid var(--f-navy)}
.ftk .f-geri{margin-bottom:12px}
@media(max-width:640px){.ftk .f-prog__row .f-prog__gun{min-width:0;flex:1 1 100%}}
@media print{.ftk .f-ekstre .f-tablewrap{max-height:none!important;overflow:visible!important}
  .ftk .f-ekstre .f-kpis{grid-template-columns:repeat(5,1fr)}}

/* --- yazdırma ------------------------------------------------------------ */
@media print{.ftk .f-header, .ftk .f-footer, .ftk .f-side, .ftk .f-toolbar, .ftk .f-btn, .ftk .f-navtoggle{display:none!important}.ftk{background:#fff}.ftk .f-admin{grid-template-columns:1fr}.ftk .f-panel, .ftk .f-card, .ftk .f-chart{break-inside:avoid;border-color:#ccc}
}


/* ==========================================================================
   Tema kabuğu · yalnız kısa kodun bulunduğu sayfalarda geçerlidir
   ========================================================================== */
body.ftk-tam-sayfa .wd-page-title,
body.ftk-panel-sayfasi .wd-page-title{display:none}
body.ftk-tam-sayfa main.container,
body.ftk-panel-sayfasi main.container{max-width:100%;width:100%;padding-left:0;padding-right:0}
body.ftk-tam-sayfa .wd-content-area,
body.ftk-panel-sayfasi .wd-content-area{padding-left:0;padding-right:0;margin-bottom:0}
body.ftk-tam-sayfa .entry-content,
body.ftk-panel-sayfasi .entry-content{margin:0}
body.ftk-tam-sayfa .wd-content-layout,
body.ftk-panel-sayfasi .wd-content-layout{padding-top:0;padding-bottom:0}

/* Woodmart başlığı içeriğin üzerinde durduğu için üst boşluk çalışma anında ölçülür */
body.ftk-tam-sayfa .ftk .f-hero{padding-top:max(var(--f-space-6),var(--ftk-ust-pay,64px))}
body.ftk-tam-sayfa .ftk .f-hero--foto{padding-top:max(80px,var(--ftk-ust-pay,80px))}
body.ftk-panel-sayfasi .ftk .f-admin{padding-top:var(--ftk-ust-pay,0px)}
body.ftk-panel-sayfasi .ftk .f-side{top:var(--ftk-ust-pay,0px);height:auto;min-height:60vh}

/* ==========================================================================
   Tema sızıntılarına karşı savunma — tema düğme/liste stilleri bileşene girmesin
   ========================================================================== */
.ftk button,.ftk input,.ftk select,.ftk textarea,.ftk a.f-btn{
  text-transform:none;letter-spacing:normal;font-family:var(--f-font);
  box-shadow:none;text-shadow:none;border-radius:var(--f-radius)}
.ftk .f-label,.ftk .f-card__kind,.ftk .f-table th{text-transform:uppercase}
.ftk .f-side button{justify-content:flex-start;text-align:left}
.ftk ul,.ftk ol{list-style:none;margin:0;padding:0}
.ftk li{margin:0}
.ftk table{margin:0;border:0;background:transparent}
.ftk img{border-radius:0;box-shadow:none}
.ftk h1,.ftk h2,.ftk h3,.ftk h4{text-transform:none;letter-spacing:-.01em}
.ftk a{box-shadow:none}
.ftk .f-btn:hover,.ftk .f-btn:focus{text-decoration:none}

/* Panel sayfasında tema başlığı ve altbilgisi kapanır — tam ekran araç */
body.ftk-panel-sayfasi .whb-header,
body.ftk-panel-sayfasi .wd-prefooter,
body.ftk-panel-sayfasi footer.wd-footer,
body.ftk-panel-sayfasi .wd-toolbar{display:none!important}
body.ftk-panel-sayfasi .ftk .f-admin{padding-top:0}
body.ftk-panel-sayfasi .ftk .f-side{top:0}

/* ==========================================================================
   SÜRÜM 4.0 · Üretim tasarımı — marka kitabı geçersizdir
   Referans: asc.ferhatlar.com/okul-paketim düzeni
   Bu blok en sonda durur ve üstteki eski token/tipografi kurallarını ezer.
   ========================================================================== */
.ftk{
  --f-navy:#241A52; --f-navy-hover:#191140;
  --f-amber:#FFB703; --f-amber-2:#FEB30C; --f-amber-dark:#E9A400;
  --f-lila:#D2CDED;
  --f-paper:#FAF8F4; --f-mist:#EAE6DC; --f-gray:#5F5A6B; --f-ink:#1B1730;
  --f-navy-04:rgba(36,26,82,.04); --f-navy-06:rgba(36,26,82,.06);
  --f-navy-10:rgba(36,26,82,.10); --f-navy-16:rgba(36,26,82,.16);
  --f-radius:10px;
  --f-text-h1:3.25rem; --f-text-h2:2.125rem; --f-text-h3:1.3125rem;
}
.ftk{font-weight:400;background:var(--f-paper)}
.ftk h1,.ftk h2,.ftk h3,.ftk h4{font-weight:700;letter-spacing:-.022em;line-height:1.12}
.ftk h1{font-weight:800;letter-spacing:-.032em;line-height:1.06}
.ftk h4{font-size:1.0625rem;font-weight:700}
.ftk .f-label{font-weight:700;letter-spacing:.16em;color:var(--f-amber-2)}
.ftk .f-sect--white .f-label,.ftk .f-panel .f-label{color:var(--f-navy)}
.ftk .f-rule{background:var(--f-amber);height:4px;width:48px;border-radius:2px}
.ftk .f-rule--light{background:var(--f-amber)}
.ftk .f-btn{border-radius:var(--f-radius);font-weight:600}
.ftk .f-btn--amber{background:var(--f-amber);color:var(--f-navy);border-color:var(--f-amber)}
.ftk .f-btn--amber:hover{background:var(--f-amber-dark);border-color:var(--f-amber-dark);color:var(--f-navy)}
.ftk .f-card,.ftk .f-panel,.ftk .f-callout{border-radius:14px}
.ftk .f-sect--white{background:#fff;border-color:var(--f-mist)}

/* --- üst bölüm (v4) ------------------------------------------------------ */
.ftk .f-hero4{position:relative;overflow:hidden;background:var(--f-navy);color:#fff;
  background-size:cover;background-position:center;
  padding:clamp(72px,9vw,132px) 0 clamp(40px,5vw,64px)}
.ftk .f-hero4::before{content:"";position:absolute;inset:0;pointer-events:none;
  background:
    linear-gradient(90deg,rgba(24,17,60,.94) 0%,rgba(24,17,60,.80) 42%,rgba(24,17,60,.42) 78%,rgba(24,17,60,.32) 100%),
    linear-gradient(180deg,rgba(24,17,60,.42) 0%,rgba(24,17,60,.18) 40%,rgba(24,17,60,.72) 100%)}
.ftk .f-hero4>.f-wrap{position:relative;z-index:1}
.ftk .f-hero4__ust{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr);
  gap:clamp(28px,4vw,64px);align-items:center}
.ftk .f-hero4__etiket{display:inline-block;font-size:.8125rem;font-weight:700;letter-spacing:.18em;
  text-transform:uppercase;color:var(--f-amber-2);margin-bottom:18px}
.ftk .f-hero4 h1{color:#fff;font-size:clamp(2.125rem,5.4vw,3.5rem);margin:0}
.ftk .f-hero4 h1 span{color:var(--f-amber);display:block}
.ftk .f-hero4__lead{color:var(--f-lila);font-size:clamp(1rem,1.5vw,1.1875rem);line-height:1.6;
  max-width:60ch;margin-top:22px;font-weight:400}
.ftk .f-hero4__cta{background:#fff;color:var(--f-ink);border-radius:18px;padding:30px 28px;
  box-shadow:0 24px 50px rgba(12,8,40,.28)}
.ftk .f-hero4__cta h3{color:var(--f-navy);font-size:1.25rem;margin-bottom:10px}
.ftk .f-hero4__cta p{color:var(--f-gray);font-size:.9375rem;line-height:1.58}
.ftk .f-hero4__tel{display:flex;align-items:center;gap:12px;margin:20px 0 6px;
  padding:14px 16px;border-radius:12px;background:var(--f-paper);border:1px solid var(--f-mist)}
.ftk .f-hero4__tel .f-ic{color:var(--f-navy)}
.ftk .f-hero4__tel b{display:block;color:var(--f-navy);font-size:1.0625rem;font-weight:700;letter-spacing:.01em}
.ftk .f-hero4__tel span{display:block;font-size:.8125rem;color:var(--f-gray)}
.ftk .f-hero4__tel a{color:var(--f-navy);text-decoration:none}
.ftk .f-hero4__not{font-size:.8125rem;color:var(--f-gray);margin-top:14px;line-height:1.5}
.ftk .f-hero4__sayilar{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;
  margin-top:clamp(32px,4vw,52px)}
.ftk .f-hero4__kutu{border:1px solid rgba(255,255,255,.24);border-radius:14px;
  background:rgba(255,255,255,.07);backdrop-filter:blur(2px);padding:18px 20px}
.ftk .f-hero4__kutu b{display:block;color:var(--f-amber);font-size:1.375rem;font-weight:800;
  letter-spacing:-.02em;line-height:1.2}
.ftk .f-hero4__kutu span{display:block;font-size:.8125rem;color:rgba(255,255,255,.78);margin-top:4px}
@media(max-width:980px){.ftk .f-hero4__ust{grid-template-columns:1fr}.ftk .f-hero4__sayilar{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:640px){.ftk .f-hero4{padding-top:clamp(56px,16vw,96px)}.ftk .f-hero4__cta{padding:22px 20px}.ftk .f-hero4__kutu{padding:14px 15px}.ftk .f-hero4__kutu b{font-size:1.125rem;overflow-wrap:anywhere}.ftk .f-hero4__kutu span{font-size:.75rem}
}
/* tesis alt sayfalarında daha kısa üst bölüm */
.ftk .f-hero4--ic{padding:clamp(64px,8vw,112px) 0 clamp(32px,4vw,48px)}
.ftk .f-hero4--ic h1{font-size:clamp(1.875rem,4.4vw,2.875rem)}
.ftk .f-hero4--ic .f-hero4__ust{grid-template-columns:1fr;gap:0}
.ftk .f-hero4--ic .f-hero4__lead{margin-top:16px}

/* tema başlığı payı yeni üst bölüme de uygulanır */
body.ftk-tam-sayfa .ftk .f-hero4{padding-top:max(clamp(72px,9vw,132px),var(--ftk-ust-pay,88px))}
body.ftk-tam-sayfa .ftk .f-hero4--ic{padding-top:max(clamp(64px,8vw,112px),var(--ftk-ust-pay,80px))}

/* kart ve bölüm cilası (v4) */
.ftk .f-card__price b{font-weight:800;font-size:1.5rem;color:var(--f-navy);letter-spacing:-.02em}
.ftk .f-card{border-color:var(--f-mist);box-shadow:0 1px 2px rgba(24,17,60,.04);transition:box-shadow .2s ease-out,transform .2s ease-out}
.ftk .f-card:hover{box-shadow:0 18px 38px rgba(24,17,60,.10);transform:translateY(-2px)}
.ftk .f-card__badge{border-radius:999px;font-weight:700}
.ftk .f-tag{border-radius:999px}
.ftk .f-hd h2{font-size:clamp(1.5rem,2.8vw,2.125rem)}
.ftk .f-callout{border-left:4px solid var(--f-amber)}

/* kırıntı yolu üst bölümün altında durur — ek üst boşluk gerekmez */
body.ftk-tam-sayfa .ftk .f-crumbs{padding-top:var(--f-space-3);padding-bottom:var(--f-space-3)}

/* 1.2.0 · geçersiz tarih alanı */
.ftk .f-input.f-input--err{border-color:var(--f-error);box-shadow:0 0 0 1px var(--f-error)}
.ftk .f-modal .f-tablewrap td .f-btn{margin-left:4px}

/* ==========================================================================
   1.5.0 · Tehlikeli eylem düğmesi (Kaldırın) — masaüstü ve mobil
   ========================================================================== */
.ftk .f-btn--tehlike{background:transparent;border-color:transparent;color:var(--f-error);margin-right:auto}
.ftk .f-btn--tehlike:hover{background:rgba(179,38,30,.06);border-color:rgba(179,38,30,.24);color:var(--f-error)}
.ftk .f-modal__ft:empty{display:none}

/* ==========================================================================
   1.5.0 · MOBİL UYGULAMA GÖRÜNÜMÜ (≤ 820 px)
   html.ftk-mobil sınıfı ftk-panel.js tarafından konur. Masaüstü kuralları etkilenmez.
   ========================================================================== */
html.ftk-mobil{-webkit-tap-highlight-color:transparent}
html.ftk-mobil.ftk-kilit, html.ftk-mobil.ftk-kilit body{overflow:hidden}
html.ftk-mobil body.ftk-panel-sayfasi .joinchat,
html.ftk-mobil body.ftk-panel-sayfasi .scrollToTop,
body.ftk-panel-sayfasi .joinchat{display:none!important}
.ftk .f-app{--f-bar:56px;--f-tab:64px;--f-ust:env(safe-area-inset-top,0px);--f-alt:env(safe-area-inset-bottom,0px);
  min-height:100vh;min-height:100dvh;background:var(--f-paper);position:relative}
.ftk .f-app svg.f-ic{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.ftk .f-app svg.f-ic--sm{width:18px;height:18px}

/* üst çubuk */
.ftk .f-appbar{position:sticky;top:0;z-index:30;display:grid;grid-template-columns:44px minmax(0,1fr) 44px;align-items:center;gap:10px;
  min-height:calc(var(--f-bar) + var(--f-ust));padding:var(--f-ust) 8px 0 12px;background:var(--f-navy);color:#fff;
  box-shadow:0 1px 0 rgba(255,255,255,.06),0 6px 18px rgba(24,17,60,.18)}
.ftk .f-appbar__mark{width:34px;height:34px;border-radius:10px;background:#fff;color:var(--f-navy);display:grid;place-items:center;
  font-weight:800;font-size:1rem;margin-left:4px;box-shadow:inset 0 -3px 0 var(--f-amber)}
.ftk .f-appbar__t{min-width:0;line-height:1.2}
.ftk .f-appbar__t b{display:block;font-size:1.0625rem;font-weight:700;letter-spacing:-.01em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ftk .f-appbar__t span{display:block;font-size:.75rem;color:var(--f-lila);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:2px}
.ftk .f-appbar__btn{width:44px;height:44px;border:0;background:transparent;color:#fff;border-radius:12px;display:grid;place-items:center;cursor:pointer}
.ftk .f-appbar__btn:active{background:rgba(255,255,255,.12)}
.ftk .f-appbar__btn.is-donuyor svg{animation:ftkDon .8s linear infinite}
@keyframes ftkDon{to{transform:rotate(360deg)}}

/* içerik */
.ftk .f-appmain{padding:16px 16px calc(var(--f-tab) + var(--f-alt) + 92px);min-width:0}
.ftk .f-m>*+*{margin-top:20px}

/* alt sekme çubuğu */
.ftk .f-tabbar{position:fixed;left:0;right:0;bottom:0;z-index:40;display:grid;grid-template-columns:repeat(5,1fr);
  height:calc(var(--f-tab) + var(--f-alt));padding-bottom:var(--f-alt);background:rgba(255,255,255,.97);
  border-top:1px solid var(--f-mist);box-shadow:0 -6px 20px rgba(24,17,60,.06);
  -webkit-backdrop-filter:saturate(1.4) blur(10px);backdrop-filter:saturate(1.4) blur(10px)}
.ftk .f-tabbar button{position:relative;border:0;background:transparent;color:var(--f-gray);display:flex;flex-direction:column;
  align-items:center;justify-content:center;gap:3px;font-size:.6875rem;font-weight:600;cursor:pointer;min-height:48px;padding:6px 2px 4px}
.ftk .f-tabbar button::before{content:"";position:absolute;top:0;left:50%;width:28px;height:3px;border-radius:0 0 3px 3px;
  background:var(--f-amber);transform:translateX(-50%) scaleX(0);transition:transform .2s ease-out}
.ftk .f-tabbar button[aria-current="page"]{color:var(--f-navy)}
.ftk .f-tabbar button[aria-current="page"]::before{transform:translateX(-50%) scaleX(1)}
.ftk .f-tabbar__ic{display:grid;place-items:center;width:44px;height:28px;border-radius:14px;transition:background-color .2s ease-out}
.ftk .f-tabbar button[aria-current="page"] .f-tabbar__ic{background:var(--f-navy-06)}
.ftk .f-tabbar__rozet{position:absolute;top:5px;left:calc(50% + 6px);min-width:18px;height:18px;padding:0 5px;border-radius:9px;
  background:var(--f-amber);color:var(--f-navy);font-size:.6875rem;font-weight:800;line-height:18px;text-align:center;
  box-shadow:0 0 0 2px #fff;font-variant-numeric:tabular-nums}

/* hızlı işlem düğmesi */
.ftk .f-fab{position:fixed;right:16px;bottom:calc(var(--f-tab) + var(--f-alt) + 16px);z-index:41;width:58px;height:58px;border-radius:18px;
  border:0;background:var(--f-amber);color:var(--f-navy);display:grid;place-items:center;cursor:pointer;
  box-shadow:0 10px 24px rgba(24,17,60,.28),0 2px 6px rgba(24,17,60,.18);transition:transform .15s ease-out}
.ftk .f-fab svg.f-ic{width:26px;height:26px;stroke-width:2.4}
.ftk .f-fab:active{transform:scale(.94)}

/* alttan açılan form (bottom sheet) */
html.ftk-mobil .ftk.f-modal{place-items:end stretch;padding:0;padding-top:calc(env(safe-area-inset-top,0px) + 24px);overflow:hidden}
html.ftk-mobil .ftk .f-modal__box{width:100%;max-height:calc(100dvh - env(safe-area-inset-top,0px) - 24px);max-height:calc(100vh - 40px);
  border-radius:20px 20px 0 0;display:flex;flex-direction:column;animation:ftkYukari .22s cubic-bezier(.2,.8,.2,1)}
@supports (height:100dvh){html.ftk-mobil .ftk .f-modal__box{max-height:calc(100dvh - env(safe-area-inset-top,0px) - 24px)}}
@keyframes ftkYukari{from{transform:translateY(40px);opacity:.4}to{transform:none;opacity:1}}
html.ftk-mobil .ftk .f-modal__hd{position:relative;padding:22px 16px 12px;border-radius:20px 20px 0 0;flex:none}
html.ftk-mobil .ftk .f-modal__hd::before{content:"";position:absolute;top:8px;left:50%;width:40px;height:4px;border-radius:2px;
  background:var(--f-mist);transform:translateX(-50%)}
html.ftk-mobil .ftk .f-modal__hd h3{font-size:1.125rem;line-height:1.25}
html.ftk-mobil .ftk .f-modal__bd{padding:16px;overflow-y:auto;-webkit-overflow-scrolling:touch;flex:1 1 auto;overscroll-behavior:contain}
html.ftk-mobil .ftk .f-modal__ft{padding:12px 16px calc(12px + env(safe-area-inset-bottom,0px));gap:8px;flex:none;
  box-shadow:0 -6px 16px rgba(24,17,60,.06)}
html.ftk-mobil .ftk .f-modal__ft .f-btn{flex:1 1 auto;min-height:48px}
html.ftk-mobil .ftk .f-modal__ft .f-btn--primary{flex:2 1 auto}
html.ftk-mobil .ftk .f-modal__ft .f-btn--tehlike{flex:0 0 100%;order:9;min-height:40px;margin:0}
html.ftk-mobil .ftk .f-input, html.ftk-mobil .ftk .f-select, html.ftk-mobil .ftk .f-textarea{font-size:16px;min-height:48px}
html.ftk-mobil .ftk .f-fields{grid-template-columns:1fr;gap:14px}
html.ftk-mobil .ftk.f-toast{top:calc(env(safe-area-inset-top,0px) + 64px);bottom:auto;border-radius:12px;width:max-content}
html.ftk-mobil .ftk .f-modal .f-taglist .f-btn{flex:1 1 calc(50% - 8px)}

/* işlem listesi (+ menüsü, tahsilat seçimi) */
.ftk .f-sheetlist{display:grid;gap:8px}
.ftk .f-sheetbtn{display:flex;align-items:center;gap:14px;width:100%;min-height:64px;padding:10px 14px;border:1px solid var(--f-mist);
  border-radius:14px;background:#fff;text-align:left;cursor:pointer;color:var(--f-ink)}
.ftk .f-sheetbtn:active{background:var(--f-navy-04)}
.ftk .f-sheetbtn__ic{flex:none;width:44px;height:44px;border-radius:12px;background:var(--f-navy-06);color:var(--f-navy);display:grid;place-items:center}
.ftk .f-sheetbtn__ic svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.ftk .f-sheetbtn b{display:block;font-weight:600;font-size:.9375rem;color:var(--f-navy)}
.ftk .f-sheetbtn small{display:block;font-size:.8125rem;color:var(--f-gray);margin-top:1px}
.ftk .f-sheetbtn--tutar{justify-content:space-between}
.ftk .f-sheetbtn--tutar>span{min-width:0}
.ftk .f-sheetbtn--tutar strong{font-weight:700;color:var(--f-navy);white-space:nowrap;font-variant-numeric:tabular-nums}

/* ortak mobil parçalar */
.ftk .f-mlink{border:0;background:transparent;color:var(--f-navy);font-weight:600;font-size:.875rem;min-height:40px;padding:0 4px;cursor:pointer;
  text-decoration:underline;text-decoration-color:var(--f-amber);text-decoration-thickness:2px;text-underline-offset:4px}
.ftk .f-mbolum__hd{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}
.ftk .f-mbolum__hd h3{font-size:1.0625rem;color:var(--f-navy)}
.ftk .f-mliste{display:grid;gap:8px}
.ftk .f-mnot{font-size:.8125rem;margin-top:10px;line-height:1.5}
.ftk .f-mbos{display:grid;justify-items:center;gap:8px;text-align:center;padding:28px 16px;border:1px dashed var(--f-navy-16);
  border-radius:14px;color:var(--f-gray);font-size:.9375rem;background:rgba(255,255,255,.6)}
.ftk .f-mbos svg{width:28px;height:28px;color:var(--f-navy);opacity:.5;fill:none;stroke:currentColor;stroke-width:2}
.ftk .f-mara{flex:none;width:44px;height:44px;margin-right:8px;border-radius:50%;display:grid;place-items:center;
  background:var(--f-navy-06);color:var(--f-navy);text-decoration:none}
.ftk .f-mara:active{background:var(--f-navy-10)}
.ftk .f-msay{margin:4px 0 -6px;font-size:.8125rem}

/* kart */
.ftk .f-mkart{display:flex;align-items:center;flex-wrap:wrap;background:#fff;border:1px solid var(--f-mist);border-radius:14px;
  box-shadow:0 1px 2px rgba(24,17,60,.04);overflow:hidden}
.ftk .f-mkart__ana{flex:1 1 0;min-width:0;display:flex;align-items:center;gap:12px;padding:12px 14px;min-height:64px;border:0;
  background:transparent;text-align:left;cursor:pointer;color:var(--f-ink)}
.ftk .f-mkart__ana:active{background:var(--f-navy-04)}
.ftk .f-mkart__saat, .ftk .f-mblok__saat{flex:none;width:48px;display:flex;flex-direction:column;line-height:1.2;font-variant-numeric:tabular-nums}
.ftk .f-mkart__saat b, .ftk .f-mblok__saat b{font-size:.9375rem;font-weight:700;color:var(--f-navy)}
.ftk .f-mkart__saat small, .ftk .f-mblok__saat small{font-size:.75rem;color:var(--f-gray)}
.ftk .f-mkart__govde, .ftk .f-mblok__govde{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;align-items:flex-start;gap:2px;line-height:1.3}
.ftk .f-mkart__govde>b, .ftk .f-mblok__govde>b{font-weight:600;font-size:.9375rem;max-width:100%;overflow:hidden;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow-wrap:anywhere}
.ftk .f-mkart__govde small, .ftk .f-mblok__govde small{font-size:.8125rem;color:var(--f-gray);max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ftk .f-mkart__govde .f-pill{margin-top:4px;font-size:.6875rem;padding:2px 8px;min-height:0}
.ftk .f-mkart__durum{font-size:.75rem!important}
.ftk .f-mkart__tutar{flex:none;font-weight:700;color:var(--f-navy);font-variant-numeric:tabular-nums;white-space:nowrap;font-size:.9375rem}
.ftk .f-mkart__tutar.is-sakin{color:var(--f-gray);font-weight:500}
.ftk .f-mkart__eylem{flex:0 0 100%;display:flex;align-items:center;justify-content:flex-end;gap:8px;padding:8px 12px;border-top:1px solid var(--f-mist);background:var(--f-paper)}
.ftk .f-mkart__eylem .f-mara{width:40px;height:40px;margin:0 auto 0 0}
.ftk .f-mkart__eylem .f-btn{min-height:40px;padding:0 18px}
.ftk .f-mkart.is-canli{border-color:var(--f-amber);box-shadow:inset 4px 0 0 var(--f-amber),0 6px 16px rgba(24,17,60,.08)}
.ftk .f-mkart.is-bitti{opacity:.62}

/* Bugün */
.ftk .f-mhero{background:linear-gradient(140deg,var(--f-navy) 0%,#2f2370 100%);color:#fff;border-radius:18px;padding:18px 18px 16px;
  box-shadow:0 14px 30px rgba(24,17,60,.22)}
.ftk .f-mhero__selam{color:var(--f-lila);font-size:.875rem;font-weight:500}
.ftk .f-mhero h2{color:#fff;font-size:1.375rem;margin-top:4px}
.ftk .f-mhero__bos{color:var(--f-lila);font-size:.875rem;margin-top:10px}
.ftk .f-mhero__simdi{margin-top:14px;width:100%;display:flex;align-items:center;gap:12px;padding:12px;border-radius:14px;
  border:1px solid rgba(255,255,255,.16);background:rgba(255,255,255,.08);color:#fff;text-align:left;cursor:pointer}
.ftk .f-mhero__etiket{flex:none;font-size:.6875rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;padding:4px 8px;border-radius:999px;
  background:rgba(255,255,255,.14);color:#fff;display:inline-flex;align-items:center;gap:6px}
.ftk .f-mhero__etiket.is-canli{background:var(--f-amber);color:var(--f-navy)}
.ftk .f-mhero__etiket.is-canli::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--f-navy);animation:ftkNabiz 1.4s ease-in-out infinite}
@keyframes ftkNabiz{50%{opacity:.25}}
.ftk .f-mhero__ne{flex:1;min-width:0;line-height:1.3}
.ftk .f-mhero__ne b{display:block;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ftk .f-mhero__ne small{display:block;color:var(--f-lila);font-size:.8125rem}
.ftk .f-mkpis{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.ftk .f-mkpi{display:flex;flex-direction:column;align-items:flex-start;gap:2px;padding:14px;border:1px solid var(--f-mist);border-radius:14px;
  background:#fff;text-align:left;cursor:pointer;color:var(--f-ink);min-height:96px;min-width:0}
.ftk .f-mkpi:active{background:var(--f-navy-04)}
.ftk .f-mkpi span{font-size:.75rem;font-weight:600;color:var(--f-gray)}
.ftk .f-mkpi b{font-size:1.25rem;font-weight:800;color:var(--f-navy);letter-spacing:-.02em;font-variant-numeric:tabular-nums;overflow-wrap:anywhere;line-height:1.2;margin-top:2px}
.ftk .f-mkpi small{font-size:.75rem;color:var(--f-gray)}
.ftk .f-mkpi--vurgu{box-shadow:inset 0 3px 0 var(--f-amber)}
.ftk .f-mhafta{display:grid;grid-template-columns:repeat(7,1fr);gap:6px;background:#fff;border:1px solid var(--f-mist);border-radius:14px;padding:12px 10px}
.ftk .f-mhafta__g{display:flex;flex-direction:column;align-items:center;gap:3px;border:0;background:transparent;cursor:pointer;padding:0;color:var(--f-ink);min-height:44px}
.ftk .f-mhafta__bar{width:100%;max-width:30px;height:64px;border-radius:8px;background:var(--f-mist);display:flex;align-items:flex-end;overflow:hidden}
.ftk .f-mhafta__bar i{display:block;width:100%;background:var(--f-navy);border-radius:8px 8px 0 0}
.ftk .f-mhafta__g b{font-size:.75rem;font-weight:700;color:var(--f-navy)}
.ftk .f-mhafta__g small{font-size:.6875rem;color:var(--f-gray);line-height:1}
.ftk .f-mhafta__g:first-child b{color:var(--f-amber-dark)}

/* Takvim */
.ftk .f-mchips{display:flex;gap:8px;overflow-x:auto;scrollbar-width:none;margin-left:-16px;margin-right:-16px;padding:2px 16px;scroll-snap-type:x proximity}
.ftk .f-mchips::-webkit-scrollbar{display:none}
.ftk .f-mchip{flex:none;display:inline-flex;align-items:center;gap:6px;min-height:40px;padding:0 16px;border-radius:999px;border:1px solid var(--f-mist);
  background:#fff;color:var(--f-navy);font-weight:600;font-size:.875rem;cursor:pointer;white-space:nowrap;scroll-snap-align:start}
.ftk .f-mchip[aria-selected="true"]{background:var(--f-navy);border-color:var(--f-navy);color:#fff}
.ftk .f-mchip__say{min-width:20px;height:20px;padding:0 6px;border-radius:10px;background:var(--f-amber);color:var(--f-navy);font-size:.6875rem;
  font-weight:800;line-height:20px;text-align:center}
.ftk .f-m>.f-mchips+*{margin-top:14px}
.ftk .f-mhaftanav{display:flex;align-items:center;gap:8px}
.ftk .f-mhaftanav>b{flex:1;text-align:center;color:var(--f-navy);font-weight:700;font-size:.9375rem}
.ftk .f-mnavbtn{width:40px;height:40px;border-radius:12px;border:1px solid var(--f-mist);background:#fff;color:var(--f-navy);display:grid;place-items:center;cursor:pointer}
.ftk .f-m>.f-mhaftanav+.f-mgunler{margin-top:10px}
.ftk .f-mgunler{display:grid;grid-template-columns:repeat(7,1fr);gap:5px}
.ftk .f-mg{display:flex;flex-direction:column;align-items:center;gap:2px;padding:8px 0 7px;border-radius:12px;border:1px solid var(--f-mist);
  background:#fff;color:var(--f-navy);cursor:pointer;min-height:58px;min-width:0}
.ftk .f-mg small{font-size:.6875rem;color:var(--f-gray);font-weight:600;text-transform:uppercase;letter-spacing:.04em}
.ftk .f-mg b{font-size:1.0625rem;font-weight:700;line-height:1.1}
.ftk .f-mg__dol{display:block;width:60%;height:3px;border-radius:2px;background:var(--f-mist);overflow:hidden;margin-top:3px}
.ftk .f-mg__dol i{display:block;height:100%;background:var(--f-navy)}
.ftk .f-mg.is-bugun{border-color:var(--f-amber);box-shadow:inset 0 0 0 1px var(--f-amber)}
.ftk .f-mg.is-kapali{background:var(--f-mist);background-image:repeating-linear-gradient(45deg,transparent 0 5px,var(--f-navy-06) 5px 6px)}
.ftk .f-mg.is-secili{background:var(--f-navy);border-color:var(--f-navy);color:#fff;box-shadow:0 6px 14px rgba(24,17,60,.22)}
.ftk .f-mg.is-secili small{color:var(--f-lila)}
.ftk .f-mg.is-secili .f-mg__dol{background:rgba(255,255,255,.25)}
.ftk .f-mg.is-secili .f-mg__dol i{background:var(--f-amber)}
.ftk .f-mgunbas{display:flex;align-items:flex-end;justify-content:space-between;gap:10px}
.ftk .f-mgunbas b{display:block;color:var(--f-navy);font-weight:700;font-size:1rem}
.ftk .f-mgunbas small{display:block;color:var(--f-gray);font-size:.8125rem}
.ftk .f-mgunbas__bos{flex:none;font-size:.75rem;font-weight:700;color:var(--f-navy);background:var(--f-navy-06);border-radius:999px;padding:5px 10px}
.ftk .f-m>.f-mgunbas+.f-mgun{margin-top:12px}
.ftk .f-mgun{display:grid;gap:8px}
.ftk .f-mblok{display:flex;align-items:center;border-radius:14px;min-height:60px;overflow:hidden;color:var(--f-navy);border:1px solid transparent}
.ftk .f-mblok__ana{flex:1 1 0;min-width:0;display:flex;align-items:center;gap:12px;padding:10px 14px;min-height:60px;border:0;background:transparent;
  color:inherit;text-align:left;cursor:pointer}
.ftk .f-mblok--bos{width:100%;gap:12px;padding:10px 12px 10px 14px;border:1.5px dashed var(--f-navy-16);background:rgba(255,255,255,.7);cursor:pointer;text-align:left}
.ftk .f-mblok--bos .f-mblok__govde b{color:var(--f-navy)}
.ftk .f-mblok--bos:active{background:var(--f-navy-04)}
.ftk .f-mblok__ek{flex:none;width:36px;height:36px;border-radius:12px;background:var(--f-amber);color:var(--f-navy);display:grid;place-items:center}
.ftk .f-mblok--bos.is-gecti .f-mblok__ek{background:var(--f-mist)}
.ftk .f-mblok--rez{background:var(--f-navy);color:#fff}
.ftk .f-mblok--rez .f-mblok__saat b, .ftk .f-mblok--rez .f-mblok__govde b{color:#fff}
.ftk .f-mblok--rez small{color:var(--f-lila)!important}
.ftk .f-mblok--rez .f-mara{background:rgba(255,255,255,.14);color:#fff}
.ftk .f-mblok--on{background:#fff;border:2px solid var(--f-navy)}
.ftk .f-mblok--on .f-mblok__govde small{color:var(--f-ink);font-weight:600}
.ftk .f-mblok--ab{background:var(--f-mist);background-image:repeating-linear-gradient(45deg,transparent 0 7px,var(--f-navy-06) 7px 8px)}
.ftk .f-mblok--kap{background:var(--f-mist);color:var(--f-gray);background-image:repeating-linear-gradient(45deg,transparent 0 4px,var(--f-navy-06) 4px 5px)}
.ftk .f-mblok--kap .f-mblok__saat b, .ftk .f-mblok--kap .f-mblok__govde b{color:var(--f-gray)}
.ftk .f-mblok.is-gecti{opacity:.55}
.ftk .f-mlejant{display:flex;flex-wrap:wrap;gap:6px 14px;font-size:.75rem;color:var(--f-gray)}
.ftk .f-mlejant span{display:inline-flex;align-items:center;gap:6px}
.ftk .f-mlej{width:14px;height:14px;border-radius:4px;display:inline-block}
.ftk .f-mlej--bos{border:1.5px dashed var(--f-navy-16);background:#fff}
.ftk .f-mlej--rez{background:var(--f-navy)}
.ftk .f-mlej--on{border:2px solid var(--f-navy);background:#fff}
.ftk .f-mlej--ab{background:var(--f-mist);background-image:repeating-linear-gradient(45deg,transparent 0 3px,var(--f-navy-16) 3px 4px)}
.ftk .f-mlej--kap{background:var(--f-mist)}

/* Kayıtlar */
.ftk .f-mara-kutu{position:sticky;top:calc(var(--f-bar) + var(--f-ust));z-index:5;margin:-16px -16px 0;padding:12px 16px 8px;background:var(--f-paper)}
.ftk .f-mara-kutu>span{position:absolute;left:30px;top:50%;transform:translateY(-30%);color:var(--f-gray);display:grid;pointer-events:none}
.ftk .f-mara-kutu .f-input{width:100%;padding-left:44px;border-radius:12px;background:#fff}
.ftk .f-m>.f-mara-kutu+.f-mchips{margin-top:6px}
.ftk .f-mfiltre{display:flex;gap:8px;align-items:center}
.ftk .f-mfiltre .f-select{flex:1 1 auto;min-width:0}
.ftk .f-mfiltre .f-btn{flex:none;min-height:48px}
.ftk .f-m>.f-mchips+.f-mfiltre{margin-top:10px}
.ftk .f-mgrup+.f-mgrup{margin-top:16px}
.ftk .f-mgrup__hd{font-size:.75rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--f-gray);margin:14px 2px 8px}

/* Tahsilat */
.ftk .f-mozet{background:linear-gradient(140deg,var(--f-navy) 0%,#2f2370 100%);color:#fff;border-radius:18px;padding:18px;box-shadow:0 14px 30px rgba(24,17,60,.22)}
.ftk .f-mozet>span{font-size:.8125rem;color:var(--f-lila);font-weight:500}
.ftk .f-mozet>b{display:block;font-size:2rem;font-weight:800;letter-spacing:-.03em;line-height:1.15;color:#fff;font-variant-numeric:tabular-nums}
.ftk .f-mozet>small{font-size:.8125rem;color:var(--f-lila)}
.ftk .f-mozet__alt{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:14px;padding-top:12px;border-top:1px solid rgba(255,255,255,.14)}
.ftk .f-mozet__alt span{display:block;font-size:.75rem;color:var(--f-lila)}
.ftk .f-mozet__alt b{display:block;font-size:1.0625rem;font-weight:700;color:#fff;font-variant-numeric:tabular-nums}
.ftk .f-mliste--sik{gap:0;background:#fff;border:1px solid var(--f-mist);border-radius:14px;overflow:hidden}
.ftk .f-msatir{display:flex;align-items:center;gap:12px;width:100%;min-height:60px;padding:10px 14px;border:0;border-bottom:1px solid var(--f-mist);
  background:transparent;text-align:left;cursor:pointer;color:var(--f-ink)}
.ftk .f-msatir:last-child{border-bottom:0}
.ftk .f-msatir:active{background:var(--f-navy-04)}
.ftk .f-msatir__t{flex:none;width:44px;line-height:1.2}
.ftk .f-msatir__t b{display:block;font-size:.875rem;font-weight:700;color:var(--f-navy);font-variant-numeric:tabular-nums}
.ftk .f-msatir__t small{font-size:.6875rem;color:var(--f-gray)}
.ftk .f-msatir__g{flex:1;min-width:0;line-height:1.3}
.ftk .f-msatir__g b{display:block;font-weight:600;font-size:.9375rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ftk .f-msatir__g small{display:block;font-size:.8125rem;color:var(--f-gray);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ftk .f-msatir strong{flex:none;font-weight:700;color:var(--f-navy);font-variant-numeric:tabular-nums}

/* Menü */
.ftk .f-mprofil{display:flex;align-items:center;gap:14px;padding:14px 16px;background:#fff;border:1px solid var(--f-mist);border-radius:16px}
.ftk .f-mprofil__harf{flex:none;width:48px;height:48px;border-radius:50%;background:var(--f-navy);color:var(--f-amber);display:grid;place-items:center;font-weight:800;font-size:1.25rem}
.ftk .f-mprofil b{display:block;font-weight:700;color:var(--f-navy)}
.ftk .f-mprofil small{display:block;font-size:.8125rem;color:var(--f-gray)}
.ftk .f-mmenu h4{font-size:.75rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--f-gray);margin:0 4px 8px}
.ftk .f-mmenu__liste{background:#fff;border:1px solid var(--f-mist);border-radius:16px;overflow:hidden}
.ftk .f-mmenu__oge{display:flex;align-items:center;gap:12px;width:100%;min-height:62px;padding:10px 14px;border:0;border-bottom:1px solid var(--f-mist);
  background:transparent;text-align:left;cursor:pointer;color:var(--f-ink);text-decoration:none}
.ftk .f-mmenu__oge:last-child{border-bottom:0}
.ftk .f-mmenu__oge:active{background:var(--f-navy-04)}
.ftk .f-mmenu__ic{flex:none;width:40px;height:40px;border-radius:12px;background:var(--f-navy-06);color:var(--f-navy);display:grid;place-items:center}
.ftk .f-mmenu__ad{flex:1;min-width:0;line-height:1.3}
.ftk .f-mmenu__ad b{display:block;font-weight:600;font-size:.9375rem;color:var(--f-navy)}
.ftk .f-mmenu__ad small{display:block;font-size:.8125rem;color:var(--f-gray)}
.ftk .f-mmenu__ok{color:var(--f-gray);display:grid}
.ftk .f-mkur{display:flex;gap:14px;align-items:flex-start;padding:16px;background:#fff;border:1px solid var(--f-mist);border-left:4px solid var(--f-amber);border-radius:16px}
.ftk .f-mkur img{flex:none;border-radius:12px}
.ftk .f-mkur b{display:block;color:var(--f-navy);font-weight:700}
.ftk .f-mkur p{font-size:.875rem;color:var(--f-gray);margin-top:4px;line-height:1.5}

/* masaüstü ekranları mobilde: başlık, araç çubuğu, göstergeler */
.ftk .f-app .f-mainhd{margin-bottom:16px;padding-bottom:12px;align-items:stretch;gap:12px}
.ftk .f-app .f-mainhd .f-label{display:none}
.ftk .f-app .f-mainhd h2{font-size:1.375rem;margin-top:0!important}
.ftk .f-app .f-mainhd p.f-meta{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;font-size:.875rem}
.ftk .f-app .f-mainhd>div:last-child:not(:first-child){width:100%}
.ftk .f-app .f-mainhd>div:last-child:not(:first-child) .f-btn{flex:1 1 auto;min-height:44px}
.ftk .f-app .f-toolbar{gap:8px;margin-bottom:16px}
.ftk .f-app .f-toolbar .f-select, .ftk .f-app .f-toolbar .f-input{flex:1 1 150px;min-width:0;min-height:44px;font-size:16px}
.ftk .f-app .f-kpis{grid-template-columns:1fr 1fr;gap:10px;margin-bottom:16px}
.ftk .f-app .f-kpi{padding:12px 14px;min-width:0}
.ftk .f-app .f-kpi b{font-size:1.25rem;font-weight:800;overflow-wrap:anywhere}
.ftk .f-app .f-kpi small{font-size:.75rem}
.ftk .f-app .f-grid--2, .ftk .f-app .f-grid--3{grid-template-columns:1fr}
.ftk .f-app .f-panel{padding:16px;border-radius:16px}
.ftk .f-app .f-panel__hd{flex-wrap:wrap;gap:8px}
.ftk .f-app .f-chart{padding:16px;border-radius:16px}
.ftk .f-app .f-btn--sm{min-height:40px}
.ftk .f-app .f-panel>div[style*="220px"]{grid-template-columns:1fr!important}
.ftk .f-app .f-hbar__row{grid-template-columns:96px minmax(0,1fr) 72px;gap:10px}

/* tablo → kart (data-label ftk-panel.js tarafından konur) */
.ftk .f-app .f-tablewrap, html.ftk-mobil .ftk.f-modal .f-tablewrap{border:0;background:transparent;overflow:visible;max-height:none!important}
.ftk .f-app .f-table, html.ftk-mobil .ftk.f-modal .f-table{min-width:0!important;display:block}
.ftk .f-app .f-table thead, html.ftk-mobil .ftk.f-modal .f-table thead{display:none}
.ftk .f-app .f-table tbody, html.ftk-mobil .ftk.f-modal .f-table tbody{display:grid;gap:10px}
.ftk .f-app .f-table tr, html.ftk-mobil .ftk.f-modal .f-table tr{display:block;background:#fff;border:1px solid var(--f-mist);border-radius:14px;padding:6px 14px}
.ftk .f-app .f-table td, html.ftk-mobil .ftk.f-modal .f-table td{display:flex;justify-content:space-between;align-items:baseline;gap:12px;
  padding:7px 0;border:0;border-bottom:1px solid var(--f-mist);text-align:right;background:transparent!important;white-space:normal}
.ftk .f-app .f-table td:last-child, html.ftk-mobil .ftk.f-modal .f-table td:last-child{border-bottom:0}
.ftk .f-app .f-table td::before, html.ftk-mobil .ftk.f-modal .f-table td::before{content:attr(data-label);flex:none;max-width:46%;text-align:left;
  font-size:.75rem;font-weight:600;color:var(--f-gray);letter-spacing:.02em}
.ftk .f-app .f-table td:not([data-label])::before, .ftk .f-app .f-table td[data-label=""]::before,
html.ftk-mobil .ftk.f-modal .f-table td:not([data-label])::before, html.ftk-mobil .ftk.f-modal .f-table td[data-label=""]::before{display:none}
.ftk .f-app .f-table td>div, html.ftk-mobil .ftk.f-modal .f-table td>div{text-align:right}
.ftk .f-app .f-table td.act, html.ftk-mobil .ftk.f-modal .f-table td.act, html.ftk-mobil .ftk.f-modal .f-table td:last-child:empty{justify-content:flex-end;flex-wrap:wrap;gap:6px}
.ftk .f-app .f-table td.act .f-btn, html.ftk-mobil .ftk.f-modal .f-table td .f-btn{min-height:40px;margin:0}
.ftk .f-app .f-table td:first-child{display:block;text-align:left;font-size:.9375rem;padding-top:8px}
.ftk .f-app .f-table td:first-child::before{display:block;max-width:none;margin-bottom:2px}
.ftk .f-app .f-table td:first-child>div{text-align:left}
.ftk .f-app .f-table tr.f-table__toplam{background:var(--f-navy-04);border-color:var(--f-navy-16)}
.ftk .f-app .f-table tr.f-table__toplam td{border-top:0}
.ftk .f-app .f-table td .f-select{width:auto!important;min-height:40px!important;font-size:15px!important}
.ftk .f-app .f-prog__row .f-select{min-height:44px}
/* iç ekranlarda başlık üst çubukta yazar; hesap ekstresinde hesap adı kalır */
.ftk .f-app--ic .f-mainhd h2{display:none}
.ftk .f-app--ic .f-ekstre .f-mainhd h2{display:block}
.ftk .f-appmain{max-width:760px;margin-left:auto;margin-right:auto}

/* 1.6.0 · dinamik takvim ızgarası (yarım saatlik satırlar, birleşik bloklar) */
.ftk .f-wk--dinamik td{height:24px}
.ftk .f-wk--dinamik tr.is-yarim td{border-bottom-style:dashed;border-bottom-color:rgba(36,26,82,.06)}
.ftk .f-wk--dinamik td.hour{font-size:.75rem;vertical-align:top;padding-top:2px}
.ftk .f-wk--dinamik td.hour small{font-size:.6875rem;opacity:.55}
.ftk .f-wk--dinamik td.f-wk__blok{padding:2px;height:auto}
.ftk .f-wk--dinamik td.f-wk__blok .cell{height:100%;min-height:20px;border-radius:6px;display:flex;flex-direction:column;justify-content:flex-start}
.ftk .f-wk--dinamik .cell .cell__saat{color:var(--f-gray);font-size:.6875rem}
.ftk .f-wk--dinamik .cell:not(.cell--rez):not(.cell--abon):not(.cell--bekl):not(.cell--kapali){box-shadow:inset 0 0 0 1px var(--f-mist)}
.ftk .f-wk--dinamik .cell--kisa{box-shadow:inset 0 0 0 1px var(--f-navy-16)!important;background:repeating-linear-gradient(135deg,transparent 0 6px,var(--f-navy-04) 6px 7px)}
.ftk .f-wk--dinamik th.is-bugun{box-shadow:inset 0 -3px 0 var(--f-amber)}
.ftk .f-mblok--kisa .f-mblok__govde b::after{content:" · kısa seans";font-weight:500;color:var(--f-gray);font-size:.8125rem}
.ftk .f-seanscip{display:flex;flex-wrap:wrap;gap:6px}
.ftk .f-seanscip__b{display:inline-flex;align-items:center;gap:6px;min-height:38px;padding:0 12px;border-radius:999px;border:1px solid var(--f-mist);
  background:#fff;color:var(--f-navy);font-weight:600;font-size:.875rem;cursor:pointer;font-variant-numeric:tabular-nums}
.ftk .f-seanscip__b small{font-size:.6875rem;font-weight:700;color:var(--f-gray);text-transform:uppercase;letter-spacing:.04em}
.ftk .f-seanscip__b.is-kisa{border-style:dashed;border-color:var(--f-navy-16)}
.ftk .f-seanscip__b.is-secili{background:var(--f-navy);border-color:var(--f-navy);color:#fff}
.ftk .f-seanscip__b.is-secili small{color:var(--f-lila)}
.ftk .f-wk--dinamik table{table-layout:fixed}
.ftk .f-wk--dinamik th:first-child, .ftk .f-wk--dinamik td.hour{width:64px}
.ftk .f-wk--dinamik .cell{min-height:20px;overflow:hidden}
.ftk .f-wk--dinamik .cell--disi{height:22px;min-height:0}
.ftk .f-wk--dinamik td{height:26px;padding:0}

/* ==========================================================================
   1.8.0 · İşletme: kantin, görevli payı, kasa ve muhasebe
   ========================================================================== */
.ftk .f-ksek{margin-bottom:12px}
.ftk .f-ksek__ozet{display:flex;flex-wrap:wrap;gap:8px 16px;align-items:center;justify-content:space-between;
  font-size:var(--f-text-small);color:var(--f-gray);margin-bottom:16px}
.ftk .f-ksek__ozet b{color:var(--f-ink)}
.ftk .f-satis{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:24px;align-items:start}
.ftk .f-satis__urun section+section{margin-top:18px}
.ftk .f-urungrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:10px;margin-top:8px}
.ftk .f-urun{display:flex;flex-direction:column;align-items:flex-start;gap:4px;text-align:left;min-height:92px;padding:12px;
  border:1px solid var(--f-mist);border-radius:14px;background:var(--f-white);cursor:pointer;font:inherit;color:var(--f-ink);
  transition:transform .08s,border-color .15s}
.ftk .f-urun:hover{border-color:var(--f-navy)}
.ftk .f-urun:active{transform:scale(.97)}
.ftk .f-urun b{font-weight:600;line-height:1.25}
.ftk .f-urun__fiyat{font-weight:700;color:var(--f-navy);font-variant-numeric:tabular-nums}
.ftk .f-urun small{font-size:12px;color:var(--f-gray)}
.ftk .f-urun__ic svg{width:22px;height:22px;fill:none;stroke:var(--f-navy);stroke-width:1.6}
.ftk .f-urun.is-hizmet{background:var(--f-paper)}
.ftk .f-urun.is-az{border-color:var(--f-amber)}
.ftk .f-urun.is-az small{color:#8a5a00;font-weight:600}
.ftk .f-urun.is-yok{opacity:.55}
.ftk .f-sepet{position:sticky;top:16px;background:var(--f-white);border:1px solid var(--f-mist);border-radius:14px;padding:16px;display:grid;gap:12px}
.ftk .f-sepet__hd{display:flex;justify-content:space-between;align-items:center}
.ftk .f-sepet__liste{display:grid;gap:8px;max-height:46vh;overflow:auto}
.ftk .f-sepet__satir{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:10px;align-items:center;padding-bottom:8px;border-bottom:1px solid var(--f-paper)}
.ftk .f-sepet__ad{display:grid;min-width:0}
.ftk .f-sepet__ad b{font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ftk .f-sepet__ad small{font-size:12px;color:var(--f-gray)}
.ftk .f-sepet__satir strong{font-variant-numeric:tabular-nums;min-width:64px;text-align:right}
.ftk .f-adet{display:inline-flex;align-items:center;border:1px solid var(--f-mist);border-radius:10px;overflow:hidden}
.ftk .f-adet button{width:34px;height:34px;border:0;background:var(--f-paper);font-size:18px;cursor:pointer;color:var(--f-navy)}
.ftk .f-adet span{min-width:28px;text-align:center;font-variant-numeric:tabular-nums}
.ftk .f-sepet__top{display:flex;justify-content:space-between;align-items:baseline;border-top:1px solid var(--f-navy);padding-top:10px;margin-top:4px}
.ftk .f-sepet__top b{font-size:1.375rem;color:var(--f-navy);font-variant-numeric:tabular-nums}
.ftk .f-seg{display:grid;grid-auto-flow:column;grid-auto-columns:1fr;gap:4px;padding:4px;background:var(--f-paper);border-radius:12px}
.ftk .f-seg button{min-height:40px;border:0;border-radius:9px;background:transparent;font:inherit;font-weight:600;color:var(--f-gray);cursor:pointer}
.ftk .f-seg button[aria-checked="true"]{background:var(--f-white);color:var(--f-navy);box-shadow:0 1px 3px rgba(32,28,81,.15)}
.ftk .f-sepetbar{display:none}
.ftk .f-alimsatir{display:grid;grid-template-columns:minmax(0,2.2fr) 90px 120px 100px 40px;gap:8px;align-items:center;margin-top:8px}
.ftk .f-alimsatir--bas{font-size:12px;color:var(--f-gray);margin-top:20px}
.ftk .f-alimsatir b{text-align:right;font-variant-numeric:tabular-nums}
.ftk .f-stok--az{color:#8a5a00;font-weight:600}
.ftk .f-hafta{background:var(--f-white);border:1px solid var(--f-mist);border-radius:14px}
.ftk .f-hafta>summary{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:12px;align-items:center;padding:14px 16px;cursor:pointer;list-style:none}
.ftk .f-hafta>summary::-webkit-details-marker{display:none}
.ftk .f-hafta>summary div{display:grid}
.ftk .f-hafta>summary small{color:var(--f-gray);font-size:12px}
.ftk .f-hafta>summary strong{font-variant-numeric:tabular-nums;min-width:80px;text-align:right}
.ftk .f-hafta__ic{padding:0 16px 16px}
.ftk .f-hafta[open]>summary{border-bottom:1px solid var(--f-paper);margin-bottom:12px}
@media(max-width:820px){
  .ftk .f-satis{grid-template-columns:1fr;gap:16px}
  .ftk .f-sepet{position:static}
  .ftk .f-urungrid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .ftk .f-sepetbar:not([hidden]){display:flex;position:fixed;left:12px;right:12px;bottom:calc(72px + env(safe-area-inset-bottom));z-index:30;
    justify-content:space-between;align-items:center;padding:12px 16px;border:0;border-radius:14px;background:var(--f-navy);color:#fff;font:inherit;
    box-shadow:0 6px 20px rgba(32,28,81,.3)}
  .ftk .f-sepetbar>span:first-child{display:grid;text-align:left}
  .ftk .f-sepetbar small{opacity:.8;font-size:12px}
  .ftk .f-sepetbar b{font-size:1.125rem}
  .ftk .f-sepetbar svg{stroke:#fff}
  .ftk .f-alimsatir{grid-template-columns:1fr 1fr;grid-template-areas:"u u" "a f" "t x"}
  .ftk .f-alimsatir>:nth-child(1){grid-area:u}
  .ftk .f-alimsatir>:nth-child(4){grid-area:t;text-align:left}
  .ftk .f-alimsatir>:nth-child(5){grid-area:x;justify-self:end}
  .ftk .f-alimsatir--bas{display:none}
  .ftk .f-alimsatir{padding-bottom:10px;border-bottom:1px solid var(--f-paper)}
  .ftk .f-hafta>summary{grid-template-columns:minmax(0,1fr) auto;}
  .ftk .f-hafta>summary .f-pill{grid-row:2;grid-column:1;justify-self:start}
  .ftk .f-hafta>summary strong{grid-row:1/3;grid-column:2}
}
.ftk .f-gunler{display:grid;gap:10px}
.ftk .f-gunmac{border:1px solid var(--f-mist);border-radius:12px;padding:10px 12px}
.ftk .f-gunmac__hd{display:grid;grid-template-columns:1fr auto auto;gap:12px;align-items:baseline;padding-bottom:6px;margin-bottom:4px;border-bottom:1px solid var(--f-paper)}
.ftk .f-gunmac__hd span{font-size:12px;color:var(--f-gray)}
.ftk .f-gunmac__hd strong{font-variant-numeric:tabular-nums;color:var(--f-navy)}
.ftk .f-gunmac__s{display:grid;grid-template-columns:44px minmax(0,1fr) auto auto;gap:8px;align-items:baseline;padding:4px 0;font-size:var(--f-text-small)}
.ftk .f-gunmac__s span:first-child{font-variant-numeric:tabular-nums;color:var(--f-gray)}
.ftk .f-gunmac__s span:nth-child(2){overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ftk .f-gunmac__s small{font-size:12px;color:var(--f-gray)}
.ftk .f-gunmac__s b{font-variant-numeric:tabular-nums;font-weight:600;min-width:56px;text-align:right}
.ftk .f-gunmac__s.is-disi{opacity:.65}
.ftk .f-gunmac__s .f-gunmac__neden{grid-column:3/5;text-align:right}
/* 1.8.1 · düzeltme / iptal */
.ftk .f-satis__yan{display:grid;gap:16px;align-content:start;position:sticky;top:16px}
.ftk .f-satis__yan .f-sepet{position:static}
.ftk .f-sonsat{background:var(--f-white);border:1px solid var(--f-mist);border-radius:14px;padding:16px;display:grid;gap:10px}
.ftk .f-sonsat__s{display:grid;gap:4px;padding-bottom:10px;border-bottom:1px solid var(--f-paper)}
.ftk .f-sonsat__s:last-of-type{border-bottom:0}
.ftk .f-sonsat__s.is-iptal{opacity:.6}
.ftk .f-sonsat__ust{display:flex;flex-wrap:wrap;gap:4px 10px;align-items:baseline}
.ftk .f-sonsat__ust b{font-variant-numeric:tabular-nums}
.ftk .f-islem{display:flex;flex-wrap:wrap;gap:6px;justify-content:flex-end}
.ftk .f-sonsat .f-islem{justify-content:flex-start}
.ftk .f-islem:empty{display:none}
.ftk .f-duz{display:inline-block;margin-left:6px;padding:1px 8px;border:1px solid var(--f-amber);border-radius:10px;background:#fff8e6;color:#8a5a00;font:inherit;font-size:11px;font-weight:600;cursor:pointer;vertical-align:middle}
.ftk .f-yetki{margin-top:10px;font-size:12px}
@media(max-width:820px){.ftk .f-satis__yan{position:static}.ftk .f-islem{justify-content:flex-start}}

/* ==========================================================================
   1.9.2 · Ürünler ve stok — özet şeridi, stok hücresi, stok işlemi
   ========================================================================== */
.ftk .f-gizli{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.ftk .f-stokv__ozet{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:20px}
.ftk .f-stokv__k{position:relative;display:grid;gap:4px;align-content:start;padding:14px 16px 14px 18px;background:var(--f-white);
  border:1px solid var(--f-mist);border-radius:14px;min-width:0}
.ftk .f-stokv__k::before{content:"";position:absolute;left:0;top:14px;bottom:14px;width:3px;border-radius:0 3px 3px 0;background:var(--f-navy-16)}
.ftk .f-stokv__k .f-label{font-size:.6875rem;letter-spacing:.12em;color:var(--f-gray)}
.ftk .f-stokv__k b{font-size:1.5rem;font-weight:700;color:var(--f-navy);letter-spacing:-.02em;font-variant-numeric:tabular-nums;line-height:1.15}
.ftk .f-stokv__k small{font-size:.75rem;color:var(--f-gray);line-height:1.4;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
.ftk .f-stokv__k.is-uyari{border-color:rgba(255,183,3,.55);background:#FFFBF0}
.ftk .f-stokv__k.is-uyari::before{background:var(--f-amber)}
.ftk .f-stokv__k.is-uyari b{color:#8a5a00}
.ftk .f-stokv__ipucu{margin-left:auto;font-size:.8125rem}
.ftk .f-stokv__tablo td{vertical-align:middle}
.ftk .f-stokv__tablo th:nth-child(4){width:230px}
.ftk .f-stokv__ad{font-weight:600!important}
.ftk .f-stokv__isl{display:inline-grid;grid-template-columns:minmax(132px,auto) auto;gap:6px;align-items:center;justify-content:end}
.ftk .f-stokv__isl>:only-child{grid-column:2}
.ftk .f-stokv__isl .f-btn{margin:0;white-space:nowrap}
/* stok hücresi: miktar + doluluk çubuğu (kritik eşiğin 4 katı = dolu) */
.ftk .f-stokc{display:grid;gap:5px;min-width:150px}
.ftk .f-stokc__ust{display:flex;align-items:baseline;gap:6px;flex-wrap:wrap}
.ftk .f-stokc__ust b{font-size:1.0625rem;font-weight:700;color:var(--f-ink);font-variant-numeric:tabular-nums}
.ftk .f-stokc__ust span{font-size:.8125rem;color:var(--f-gray)}
.ftk .f-stokc__rozet{font-style:normal;font-size:.6875rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;
  padding:2px 8px;border-radius:999px;background:#FFF3D1;color:#8a5a00}
.ftk .f-stokc__bar{display:block;height:6px;border-radius:999px;background:var(--f-paper);box-shadow:inset 0 0 0 1px var(--f-mist);overflow:hidden}
.ftk .f-stokc__bar i{display:block;height:100%;border-radius:inherit;background:var(--f-navy);transition:width .3s}
.ftk .f-stokc small{font-size:.6875rem;color:var(--f-gray)}
.ftk .f-stokc--az .f-stokc__bar i{background:var(--f-amber)}
.ftk .f-stokc--az .f-stokc__ust b{color:#8a5a00}
.ftk .f-stokc--yok .f-stokc__ust b{color:var(--f-error)}
.ftk .f-stokc--yok .f-stokc__rozet{background:rgba(179,38,30,.08);color:var(--f-error)}
/* ürün formunda stok kartı */
.ftk .f-stokkart{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:16px;padding:14px 16px;
  border-radius:12px;background:var(--f-paper);border:1px solid var(--f-mist)}
.ftk .f-stokkart>div{display:grid;gap:2px}
.ftk .f-stokkart .f-label{font-size:.6875rem;color:var(--f-gray)}
.ftk .f-stokkart b{font-size:1.25rem;color:var(--f-navy);font-variant-numeric:tabular-nums}
.ftk .f-stokkart small{font-size:.75rem;color:var(--f-gray)}
/* stok işlemi penceresi */
.ftk .f-stokis{display:grid;gap:16px}
.ftk .f-stokis__durum{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border:1px solid var(--f-mist);border-radius:12px;overflow:hidden}
.ftk .f-stokis__durum>div{display:grid;gap:2px;padding:10px 14px;background:var(--f-white)}
.ftk .f-stokis__durum>div+div{border-left:1px solid var(--f-mist)}
.ftk .f-stokis__durum .f-label{font-size:.625rem;letter-spacing:.12em;color:var(--f-gray)}
.ftk .f-stokis__durum b{font-size:1rem;color:var(--f-navy);font-variant-numeric:tabular-nums;white-space:nowrap}
.ftk .f-stokis__mik{font-size:1.25rem!important;font-weight:600;font-variant-numeric:tabular-nums}
.ftk .f-stokis__on{display:flex;align-items:center;gap:10px;flex-wrap:wrap;min-height:52px;padding:10px 16px;border-radius:12px;
  background:var(--f-paper);font-variant-numeric:tabular-nums}
.ftk .f-stokis__eski{color:var(--f-gray);text-decoration:line-through;text-decoration-color:var(--f-navy-16)}
.ftk .f-stokis__ok{display:inline-flex;color:var(--f-gray)}
.ftk .f-stokis__on>b{font-size:1.25rem;color:var(--f-navy)}
.ftk .f-stokis__on em{margin-left:auto;font-style:normal;font-weight:700;font-size:.875rem;padding:3px 10px;border-radius:999px;background:var(--f-white);color:var(--f-gray)}
.ftk .f-stokis__on.is-arti em{background:var(--f-navy);color:#fff}
.ftk .f-stokis__on.is-eksi em{background:#FFF3D1;color:#8a5a00}
.ftk .f-stokis__on.is-hata{background:rgba(179,38,30,.06)}
.ftk .f-stokis__on.is-hata em{color:var(--f-error)}
.ftk .f-stokis .f-callout{margin:0}
.ftk .f-stokis__har{border-top:1px solid var(--f-mist);padding-top:12px}
.ftk .f-stokis__har summary{cursor:pointer;font-weight:600;color:var(--f-navy);font-size:.875rem;min-height:32px;display:flex;align-items:center}
.ftk .f-stokis__har ol{list-style:none;margin:8px 0 0;padding:0;display:grid}
.ftk .f-stokis__har li{display:grid;grid-template-columns:84px minmax(0,1fr) auto 64px;gap:10px;align-items:baseline;padding:8px 0;
  border-bottom:1px solid var(--f-paper);font-size:.8125rem}
.ftk .f-stokis__har li:last-child{border-bottom:0}
.ftk .f-stokis__har li>span:nth-child(2){display:grid;min-width:0}
.ftk .f-stokis__har li small{font-size:.75rem;color:var(--f-gray);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ftk .f-stokis__har li strong{font-variant-numeric:tabular-nums;text-align:right}
.ftk .f-stokis__har li strong.is-arti{color:var(--f-navy)}
.ftk .f-stokis__har li strong.is-eksi{color:#8a5a00}
.ftk .f-stokis__har li>span:last-child{text-align:right;font-variant-numeric:tabular-nums}
@media(max-width:1100px){.ftk .f-stokv__ozet{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:820px){
  .ftk .f-stokv__ozet{gap:10px;margin-bottom:16px}
  .ftk .f-stokv__k{padding:12px 14px 12px 16px}
  .ftk .f-stokv__k b{font-size:1.1875rem}
  .ftk .f-stokv__ipucu{margin-left:0;flex-basis:100%}
  .ftk .f-stokc{min-width:0;width:min(190px,58%);justify-items:end;text-align:right}
  .ftk .f-stokc__ust{justify-content:flex-end}
  .ftk .f-stokc__bar{width:100%}
  .ftk .f-stokv__isl{display:flex;width:100%;justify-content:stretch}
  .ftk .f-stokv__isl .f-btn{flex:1}
  .ftk .f-stokkart{flex-direction:column;align-items:stretch}
  .ftk .f-stokis__durum{grid-template-columns:1fr 1fr}
  .ftk .f-stokis__durum>div:first-child{grid-column:1/-1;border-bottom:1px solid var(--f-mist)}
  .ftk .f-stokis__durum>div:nth-child(2){border-left:0}
  .ftk .f-stokis__har li{grid-template-columns:72px minmax(0,1fr) auto;}
  .ftk .f-stokis__har li>span:last-child{display:none}
}
.ftk .f-stokis__har summary{gap:8px}
