/* Layout: telefon öncelikli tek sütun (en fazla 560px) — üstte ay çubuğu, ortada takvim, altta fırça çubuğu ve sekme çubuğu; ayrıntılar alttan açılan sayfada */
:root{
  --bg:#F2F4F6;--panel:#FFFFFF;--field:#F7F9FA;--ink:#17212B;--muted:#5A6774;--line:#DDE2E7;--line-strong:#B9C3CC;
  --accent:#1E5E8C;--accent-ink:#FFFFFF;--accent-soft:#E2EDF6;
  --ok:#2C7A4B;--ok-soft:#E2F2E7;--warn:#9A6200;--warn-soft:#FAEFD7;--bad:#B0261E;--bad-soft:#FBE4E1;--hol:#FFF4E5;--today:#1E5E8C;
  --f-ui:system-ui,-apple-system,'Segoe UI',Roboto,'Helvetica Neue',Arial,sans-serif;--f-head:system-ui,-apple-system,'Segoe UI',Roboto,'Helvetica Neue',Arial,sans-serif;
}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]){
  --bg:#0E141A;--panel:#16202A;--field:#131C25;--ink:#E4EAF0;--muted:#98A5B2;--line:#26333F;--line-strong:#3A4B5B;
  --accent:#6BAEDD;--accent-ink:#0B1620;--accent-soft:#18324A;
  --ok:#6CC390;--ok-soft:#14301F;--warn:#E2B25A;--warn-soft:#382A10;--bad:#F0897E;--bad-soft:#3A1B18;--hol:#2E2414;--today:#6BAEDD;color-scheme:dark}}
:root[data-theme="dark"]{
  --bg:#0E141A;--panel:#16202A;--field:#131C25;--ink:#E4EAF0;--muted:#98A5B2;--line:#26333F;--line-strong:#3A4B5B;
  --accent:#6BAEDD;--accent-ink:#0B1620;--accent-soft:#18324A;
  --ok:#6CC390;--ok-soft:#14301F;--warn:#E2B25A;--warn-soft:#382A10;--bad:#F0897E;--bad-soft:#3A1B18;--hol:#2E2414;--today:#6BAEDD;color-scheme:dark}
*{box-sizing:border-box}
[hidden]{display:none!important}
html,body{height:100%}
body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--f-ui);font-size:15px;line-height:1.45;-webkit-tap-highlight-color:transparent}
h1,h2,h3{font-family:var(--f-head);font-weight:600;margin:0;letter-spacing:-0.01em;text-wrap:balance}
button,input,select{font:inherit;color:inherit}
button{cursor:pointer}
:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.wrap{max-width:560px;margin:0 auto;padding-inline:16px}
.muted{color:var(--muted)}.small{font-size:13px}
.num{font-variant-numeric:tabular-nums}
/* Giriş */
.auth{min-height:100%;display:flex;flex-direction:column;justify-content:center;gap:18px;padding-block:28px;max-width:460px}
.brand{display:flex;align-items:center;gap:12px}
.logo{width:44px;height:44px;border-radius:11px;background:var(--accent);color:var(--accent-ink);display:grid;place-items:center;font-family:var(--f-head);font-weight:700;font-size:22px;flex:none}
.brand h1{font-size:22px}
.hero{display:flex;flex-direction:column;gap:12px}
.hero h2{font-size:clamp(26px,7vw,32px);line-height:1.12;font-weight:700;letter-spacing:-0.02em}
.hero p{margin:0;color:var(--muted);font-size:15.5px}
.mini{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px;background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:10px}
.mini div{display:flex;flex-direction:column;align-items:center;gap:5px;font-size:11px;color:var(--muted);font-weight:500}
.mini i{display:grid;place-items:center;width:100%;height:30px;border-radius:7px;font-style:normal;font-weight:700;font-size:12.5px}
.mini .ww{position:relative}
.mini .ww::after{content:'';position:absolute;top:-3px;right:-3px;width:9px;height:9px;border-radius:50%;background:var(--warn);border:2px solid var(--panel)}
.feat{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:7px;font-size:14.5px}
.feat li{display:flex;gap:9px;align-items:flex-start}
.feat svg{width:18px;height:18px;flex:none;margin-top:2px;color:var(--ok)}
.foot{display:flex;flex-wrap:wrap;gap:4px 14px;font-size:13px}
.soon{display:flex;flex-direction:column;gap:10px}
.soonh{display:flex;align-items:baseline;justify-content:space-between;gap:10px}
.soonh h2{font-size:17px}
.track{position:relative;display:flex;gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;overscroll-behavior-x:contain}
.track::-webkit-scrollbar{display:none}
.slide{flex:0 0 100%;scroll-snap-align:start;background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:16px;display:flex;gap:14px;align-items:flex-start;min-height:124px;position:relative;overflow:hidden}
.slide::before{content:'';position:absolute;right:-30px;bottom:-40px;width:130px;height:130px;border-radius:50%;background:var(--sc);opacity:.10}
.sic{width:50px;height:50px;border-radius:14px;display:grid;place-items:center;flex:none;background:var(--sc);color:#fff;box-shadow:0 6px 14px -6px var(--sc)}
.sic svg{width:26px;height:26px}
.slide h3{font-size:16px;margin-bottom:4px}
.slide p{margin:0;font-size:14px;color:var(--muted);line-height:1.4}
.stag{display:inline-block;font-size:11px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--sc);margin-bottom:5px}
.dots{display:flex;gap:6px;justify-content:center;align-items:center}
.sdot{width:8px;height:8px;border-radius:99px;border:0;padding:0;background:var(--line-strong);transition:width .25s,background .25s}
.sdot[aria-current=true]{width:22px;background:var(--accent)}
.card{background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:18px;display:flex;flex-direction:column;gap:14px}
.fld{display:flex;flex-direction:column;gap:5px}
.fld label{font-size:13px;font-weight:500;color:var(--muted)}
.inp{height:46px;border:1px solid var(--line-strong);border-radius:10px;background:var(--field);padding:0 12px;width:100%;min-width:0}
.inp:focus{border-color:var(--accent);outline:none;box-shadow:0 0 0 3px var(--accent-soft)}
.row2{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:46px;padding:0 18px;border-radius:10px;border:1px solid var(--line-strong);background:var(--panel);font-weight:500}
.btn.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}
.btn.danger{color:var(--bad);border-color:var(--bad)}
.btn.block{width:100%}
.btn.sm{height:36px;padding:0 12px;font-size:14px}
.link{border:0;background:none;color:var(--accent);padding:6px 0;font-weight:500;text-align:left}
.err{background:var(--bad-soft);color:var(--bad);border-radius:9px;padding:9px 12px;font-size:14px}
.langs{display:flex;gap:6px}
.seg{display:inline-flex;border:1px solid var(--line-strong);border-radius:10px;overflow:hidden;background:var(--panel)}
.seg button{border:0;background:none;padding:7px 14px;font-size:14px;font-weight:500}
.seg button[aria-pressed=true]{background:var(--accent);color:var(--accent-ink)}
/* Uygulama */
.top{position:sticky;top:env(safe-area-inset-top,0px);z-index:10;background:var(--bg);padding-block:10px 8px}
.topr{display:flex;align-items:center;gap:8px}
.topr h1{font-size:20px;flex:1;min-width:0}
.mnav{display:flex;align-items:center;gap:4px;flex:1;min-width:0}
.mnav h1{flex:none;font-size:20px;min-width:0;text-align:center;padding:0 4px}
.ib{width:40px;height:40px;border-radius:10px;border:1px solid var(--line);background:var(--panel);display:grid;place-items:center;font-size:18px;flex:none}
.pill{height:34px;padding:0 12px;border-radius:999px;border:1px solid var(--line-strong);background:var(--panel);font-size:13.5px;font-weight:500;white-space:nowrap}
.content{padding-bottom:calc(env(safe-area-inset-bottom,0px) + 150px)}
.content.nobrush{padding-bottom:calc(env(safe-area-inset-bottom,0px) + 96px)}
.cal{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;user-select:none;-webkit-user-select:none}
.cal.painting{touch-action:none}
.wh{font-size:11.5px;color:var(--muted);text-align:center;font-weight:500;padding-bottom:2px}
.day{min-height:74px;border-radius:9px;background:var(--panel);border:1px solid var(--line);padding:3px 3px 4px;display:flex;flex-direction:column;gap:2px;text-align:left;min-width:0;position:relative}
.day.out{visibility:hidden}
.day.hol{background:var(--hol)}
.day.today{border-color:var(--today);box-shadow:inset 0 0 0 1px var(--today)}
.day .dnum{font-size:12px;font-weight:600;font-variant-numeric:tabular-nums;line-height:1.2;display:flex;align-items:center;gap:2px}
.day.hol .dnum,.day.sun .dnum{color:var(--bad)}
.day .wmark{margin-left:auto;width:8px;height:8px;border-radius:50%;background:var(--warn);flex:none}
.day .wmark.i{background:var(--accent)}
.chip{display:block;border-radius:5px;font-size:11px;font-weight:600;padding:1px 3px;line-height:1.35;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-align:center}
.chip small{font-weight:500;opacity:.85}
.sumc{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-top:14px}
.stat{background:var(--panel);border:1px solid var(--line);border-radius:11px;padding:9px 10px;min-width:0}
.stat b{display:block;font-size:17px;font-weight:600;font-variant-numeric:tabular-nums;white-space:nowrap}
.stat span{font-size:12px;color:var(--muted)}
.pos{color:var(--ok)}.neg{color:var(--bad)}
.sec{margin-top:18px;display:flex;flex-direction:column;gap:8px}
.sec h2{font-size:16px}
.list{background:var(--panel);border:1px solid var(--line);border-radius:12px;overflow:hidden}
.li{display:flex;gap:10px;align-items:flex-start;padding:10px 12px;border-bottom:1px solid var(--line);width:100%;border-left:0;border-right:0;border-top:0;background:none;text-align:left}
.li:last-child{border-bottom:0}
.li .dt{font-variant-numeric:tabular-nums;font-weight:600;font-size:13.5px;min-width:52px}
.li small{display:block;color:var(--muted);font-size:12.5px}
.dot{width:9px;height:9px;border-radius:50%;background:var(--warn);margin-top:6px;flex:none}
.dot.i{background:var(--accent)}
.empty{padding:12px;color:var(--muted);font-size:14px}
.day .hname{margin-top:auto;font-size:8.5px;line-height:1.15;color:var(--bad);font-weight:500;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;word-break:break-word}
.disc{font-size:12px;color:var(--muted);margin:0}
/* Fırça (+ düğmesi) */
.brush{position:fixed;left:0;right:0;bottom:calc(env(safe-area-inset-bottom,0px) + 70px);z-index:15;pointer-events:none}
.brush .wrap{pointer-events:auto;display:flex;flex-direction:column;align-items:flex-end;gap:10px}
.brush .bbox{width:100%}
.fab{width:56px;height:56px;border-radius:50%;background:var(--accent);color:var(--accent-ink);border:0;display:grid;place-items:center;box-shadow:0 6px 18px rgba(10,30,50,.28);font-size:30px;line-height:1;font-weight:300}
.fab[aria-expanded=true]{font-size:24px}
.bbox{background:var(--panel);border:1px solid var(--line);border-radius:14px;box-shadow:0 8px 24px rgba(10,20,30,.14);padding:8px 8px 9px;display:flex;flex-direction:column;gap:7px}
.bhint{font-size:12.5px;color:var(--muted);padding:0 4px}
.bhint b{color:var(--ink);font-weight:600}
.bchips{display:flex;gap:6px;overflow-x:auto;padding-bottom:2px;scrollbar-width:thin}
.bc{flex:none;display:inline-flex;align-items:center;gap:6px;height:36px;padding:0 10px 0 5px;border-radius:9px;border:1px solid var(--line-strong);background:var(--panel);font-size:13.5px;font-weight:500;white-space:nowrap}
.bc .sw{min-width:26px;height:24px;border-radius:6px;display:grid;place-items:center;font-size:11.5px;font-weight:700;padding:0 4px}
.bc[aria-pressed=true]{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent)}
.bc.er{padding-left:10px}
/* Sekmeler */
.tabs{position:fixed;left:0;right:0;bottom:0;z-index:16;background:var(--panel);border-top:1px solid var(--line);padding-bottom:env(safe-area-inset-bottom,0px)}
.tabs .wrap{display:grid;grid-template-columns:repeat(4,1fr)}
.tab{height:58px;border:0;background:none;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;font-size:12px;font-weight:500;color:var(--muted)}
.tab svg{width:22px;height:22px}
.tab[aria-current=page]{color:var(--accent)}
/* Alt sayfa */
.ov{position:fixed;inset:0;background:rgba(8,14,20,.45);z-index:40;display:flex;align-items:flex-end;justify-content:center}
.sheet{background:var(--panel);width:100%;max-width:560px;max-height:88vh;overflow:auto;border-radius:18px 18px 0 0;padding:16px 16px calc(env(safe-area-inset-bottom,0px) + 18px);display:flex;flex-direction:column;gap:14px}
.sh{display:flex;align-items:flex-start;gap:10px}
.sh>div{flex:1;min-width:0}
.sh h2{font-size:18px}
.ent{display:flex;align-items:center;gap:10px;padding:10px;border:1px solid var(--line);border-radius:11px}
.ent .sw{min-width:34px;height:30px;border-radius:7px;display:grid;place-items:center;font-weight:700;font-size:13px;padding:0 5px}
.ent>div{flex:1;min-width:0}
.ent small{display:block;color:var(--muted);font-size:12.5px}
.tgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px}
.tbtn{display:flex;align-items:center;gap:8px;padding:8px;border:1px solid var(--line-strong);border-radius:10px;background:var(--panel);text-align:left;min-width:0}
.tbtn .sw{min-width:30px;height:28px;border-radius:6px;display:grid;place-items:center;font-weight:700;font-size:12px;padding:0 4px;flex:none}
.tbtn span{min-width:0;font-size:13.5px;font-weight:500;line-height:1.25}
.tbtn small{display:block;color:var(--muted);font-weight:400;font-size:12px}
.note{border-radius:10px;padding:9px 11px;font-size:13.5px;display:flex;flex-direction:column;gap:2px}
.note.w{background:var(--warn-soft);color:var(--warn)}
.note.i{background:var(--accent-soft);color:var(--accent)}
.note small{opacity:.9;font-size:12.5px}
.swatches{display:flex;flex-wrap:wrap;gap:8px}
.swb{width:36px;height:36px;border-radius:9px;border:2px solid transparent}
.swb[aria-pressed=true]{border-color:var(--ink);box-shadow:inset 0 0 0 2px var(--panel)}
.prev{background:var(--field);border-radius:10px;padding:10px 12px;font-size:13.5px}
.trow{display:flex;align-items:center;gap:10px;padding:11px 12px;border-bottom:1px solid var(--line)}
.trow:last-child{border-bottom:0}
.trow .sw{min-width:36px;height:32px;border-radius:7px;display:grid;place-items:center;font-weight:700;font-size:13px;padding:0 5px;flex:none}
.trow>div{flex:1;min-width:0}
.trow small{display:block;color:var(--muted);font-size:12.5px}
table.yt{width:100%;border-collapse:collapse;font-size:13.5px;font-variant-numeric:tabular-nums}
.yt th{text-align:right;font-size:12px;color:var(--muted);font-weight:500;padding:7px 8px;border-bottom:1px solid var(--line)}
.yt th:first-child,.yt td:first-child{text-align:left}
.yt td{text-align:right;padding:7px 8px;border-bottom:1px solid var(--line)}
.yt tr.cur td{background:var(--accent-soft)}
.yt tr:last-child td{border-bottom:0}
.kv{display:grid;grid-template-columns:1fr auto;gap:6px 12px;padding:12px;font-size:14px}
.kv dt{color:var(--muted)}.kv dd{margin:0;text-align:right;font-weight:600;font-variant-numeric:tabular-nums}
.bar{height:8px;border-radius:99px;background:var(--line);overflow:hidden;margin:0 12px 12px}
.bar i{display:block;height:100%;background:var(--accent);border-radius:99px}
.legal{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:16px;display:flex;flex-direction:column;gap:10px;font-size:14px}
.legal h3{font-size:15px;margin-top:6px}
.legal p{margin:0}
.tpl{display:inline-block;background:var(--warn-soft);color:var(--warn);border-radius:6px;padding:2px 8px;font-size:12.5px;font-weight:600}
.toast{position:fixed;left:50%;transform:translateX(-50%);bottom:calc(env(safe-area-inset-bottom,0px) + 180px);background:var(--ink);color:var(--bg);padding:9px 14px;border-radius:9px;font-size:14px;z-index:60;max-width:calc(100vw - 32px)}
@media (max-width:380px){.sumc{grid-template-columns:repeat(2,minmax(0,1fr))}.day{min-height:62px}.chip{font-size:10px}}
@media (prefers-reduced-motion:reduce){*{transition:none!important}}

/* ---------- Logo ---------- */
img.logo{background:none;object-fit:contain;display:block}
.sbrand,.suser{display:none}
.chip .ct{display:none}

/* ---------- Bilgisayar düzeni (geniş ekran) ----------
   Solda sabit menü, ortada büyük takvim, sağda özet ve uyarılar; ayrıntılar ortada açılan pencerede */
@media (min-width:1000px){
  body{font-size:15px}
  #app.is-app{padding-left:240px}
  .is-app .wrap{max-width:1240px;padding-inline:32px}
  .is-app .wrap.narrow{max-width:780px}
  .top{padding-block:18px 12px}
  .topr h1,.mnav h1{font-size:24px}
  .mnav{flex:0 1 auto;gap:8px}
  .mnav h1{min-width:200px}
  .content,.content.nobrush{padding-bottom:48px}

  /* Sol menü */
  .tabs{top:0;bottom:0;left:0;right:auto;width:240px;border-top:0;border-right:1px solid var(--line);padding:22px 14px}
  .tabs .wrap{display:flex;flex-direction:column;gap:4px;padding:0;max-width:none;height:100%}
  .sbrand{display:flex;align-items:center;gap:10px;margin:0 8px 22px;font-size:19px}
  .sbrand img{border-radius:9px}
  .sbrand b{font-weight:700;letter-spacing:-0.01em}
  .tab{flex-direction:row;justify-content:flex-start;gap:12px;height:44px;padding:0 12px;border-radius:10px;font-size:15px}
  .tab:hover{background:var(--bg);color:var(--ink)}
  .tab[aria-current=page]{background:var(--accent-soft)}
  .suser{display:flex;flex-direction:column;gap:2px;margin-top:auto;padding:12px;border-top:1px solid var(--line);font-size:14px;font-weight:600}
  .suser small{font-weight:400;color:var(--muted);font-size:12px}

  /* Takvim + yan panel */
  .calgrid{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:28px;align-items:start}
  .calside .sumc{margin-top:0;grid-template-columns:repeat(2,minmax(0,1fr))}
  .calside .sec:first-of-type{margin-top:18px}
  .cal{gap:6px}
  .wh{font-size:13px;padding-bottom:4px}
  .day{min-height:116px;padding:7px 7px 8px;gap:4px;border-radius:11px;cursor:pointer;transition:border-color .12s}
  .day:hover{border-color:var(--accent)}
  .cal.painting .day{cursor:crosshair}
  .day .dnum{font-size:14px}
  .day .wmark{width:9px;height:9px}
  .chip{font-size:12px;text-align:left;padding:3px 7px;border-radius:6px}
  .chip .ct{display:inline;font-weight:500;opacity:.9}
  .day .hname{font-size:11px;-webkit-line-clamp:2}

  /* Saatler: iki sütun */
  .hgrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 24px}
  .hgrid .full{grid-column:1/-1}

  /* Hızlı giriş paneli sağ altta */
  .brush{bottom:28px;left:auto;right:28px}
  .brush .wrap{max-width:640px;padding:0}
  .bbox{width:640px!important}

  /* Pencereler ortada */
  .ov{align-items:center}
  .sheet{border-radius:18px;max-height:86vh;max-width:540px;padding:22px 22px 24px}
  .toast{bottom:32px}

  /* Giriş ekranı: iki sütun */
  .auth.wide{max-width:1120px;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(360px,.85fr);column-gap:64px;row-gap:22px;align-content:center;padding-block:48px;
    grid-template-areas:"b b" "h f" "s f" "s n" "s o"}
  .auth.wide>.brand{grid-area:b}
  .auth.wide>.hero{grid-area:h}
  .auth.wide>#authForm{grid-area:f;align-self:start;padding:24px}
  .auth.wide>.soon{grid-area:s;align-self:start}
  .auth.wide>.anote{grid-area:n}
  .auth.wide>.foot{grid-area:o}
  .auth.wide .hero h2{font-size:40px}
  .auth.wide .hero p{font-size:17px;max-width:52ch}
  .auth.wide .brand img.logo{width:52px;height:52px}
}
@media (min-width:1000px) and (max-width:1180px){
  .calgrid{grid-template-columns:minmax(0,1fr) 300px;gap:20px}
}
@media (min-width:1000px) and (max-width:1320px){
  .chip .ct{display:none}
}

/* E-posta kontrol ekranı */
.mailart{width:64px;height:64px;border-radius:18px;background:var(--accent-soft);color:var(--accent);display:grid;place-items:center}
.mailart svg{width:34px;height:34px}

/* Maaş ve zamlar */
.zrow{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;padding:8px 0;border-bottom:1px solid var(--line)}
.zrow:last-of-type{border-bottom:0}
.zchk{display:flex;align-items:center;gap:8px;min-width:150px;flex:1 1 150px;font-weight:500}
.zchk input{width:20px;height:20px;accent-color:var(--accent)}
.zin{display:flex;align-items:center;gap:6px;color:var(--muted);font-size:14px}
.zin .inp{height:40px;width:auto;min-width:0}
.zin input[type=number]{width:76px}
.zin input[type=time]{width:110px}
.segl{display:inline-flex;align-items:center;cursor:pointer}
.segl input{position:absolute;opacity:0;pointer-events:none}
.segl span{padding:8px 14px;font-size:14px;font-weight:500}
.segl input:checked+span{background:var(--accent);color:var(--accent-ink)}
.segl input:focus-visible+span{outline:2px solid var(--accent);outline-offset:-2px}
.kv dt small,.kv dd small{font-weight:400}
.kv .tot{font-weight:700;color:var(--ink);border-top:1px solid var(--line);padding-top:8px;font-size:16px}
/* adalet sayacı */
.ftbl{width:100%;border-collapse:collapse;font-size:14px;margin:4px 0}
.ftbl th,.ftbl td{padding:6px 12px;text-align:left}.ftbl th{font-weight:400;color:var(--muted)}.ftbl thead th{font-size:12px}
.ftbl td.num,.ftbl th.num{text-align:right;font-variant-numeric:tabular-nums}.ftbl td.num{font-weight:600;color:var(--ink)}
.ftbl tbody tr+tr td,.ftbl tbody tr+tr th{border-top:1px solid var(--line)}
.fspec{display:flex;flex-wrap:wrap;gap:6px;align-items:center;padding:6px 12px 10px}
.fday{font-size:12px;padding:2px 8px;border-radius:999px;border:1px solid var(--line);color:var(--muted);font-variant-numeric:tabular-nums}
.fday.on{border-color:var(--accent);color:var(--ink);font-weight:600}
/* planlayıcı: personel listesinde grup başlığı */
.pl-sgh{padding:10px 12px 4px;font-size:12px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}
/* planlayıcı: meslek kategorileri */
.pl-pch{display:flex;width:100%;align-items:center;gap:10px;background:none;border:0;padding:2px 0;cursor:pointer;text-align:left;font:inherit;color:inherit}
.pl-pch b{flex:1}.pl-pcat .list{margin-top:8px}
/* ortak boş günler */
.day.frfree{background:var(--ok-soft);border-color:var(--ok)}
.day .frok{color:var(--ok);font-weight:700;font-size:15px}
.day .frb{font-size:10px;color:var(--muted);line-height:1.2;overflow:hidden;word-break:break-word}
.stat.wide{grid-column:1/-1;background:var(--accent-soft);border-color:transparent}
.stat.wide b{color:var(--accent)}

/* Telefonda üstte sabit logo + isim */
.mbrand{display:flex;align-items:center;gap:8px;padding-bottom:8px;margin-bottom:6px;border-bottom:1px solid var(--line);font-size:17px}
.mbrand img{border-radius:7px;display:block}
.mbrand b{font-weight:700;letter-spacing:-0.01em}
@media (min-width:1000px){.mbrand{display:none}}

/* Şifre gücü göstergesi */
.pwm{display:flex;flex-wrap:wrap;align-items:center;gap:4px 10px;margin-top:-6px;min-height:0}
.pwm:empty{display:none}
.pwbar{display:flex;gap:4px;flex:0 0 120px}
.pwbar i{flex:1;height:6px;border-radius:99px;background:var(--line)}
.pwbar.s0 i:nth-child(1){background:var(--bad)}
.pwbar.s1 i:nth-child(-n+2){background:var(--warn)}
.pwbar.s2 i{background:var(--ok)}
.pwl{font-size:13px;font-weight:600}
.pwl.s0{color:var(--bad)}.pwl.s1{color:var(--warn)}.pwl.s2{color:var(--ok)}
.pwm small{flex-basis:100%;font-size:12.5px;color:var(--muted)}

/* İş yerleri */
.jdot{display:inline-block;width:10px;height:10px;border-radius:50%;flex:none;vertical-align:0}
.trow .jdot{width:12px;height:12px}
.jchips{display:flex;gap:6px;overflow-x:auto;padding:2px 0 10px;scrollbar-width:none}
.jchips::-webkit-scrollbar{display:none}
.jc{flex:none;display:inline-flex;align-items:center;gap:6px;height:34px;padding:0 12px;border-radius:999px;border:1px solid var(--line-strong);background:var(--panel);font-size:13.5px;font-weight:500;white-space:nowrap}
.jc i{width:10px;height:10px;border-radius:50%}
.jc[aria-pressed=true]{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}
.bc .bj{font-size:11px;color:var(--muted);font-weight:400;margin-left:2px}
#payForm .jchips{padding-bottom:0}

/* Çalışma yerleri (Springer / Zeitarbeit) */
.places{display:flex;flex-direction:column;gap:8px}
.prow{display:grid;grid-template-columns:minmax(0,1fr) 74px 40px;gap:6px;align-items:center}
.prow .inp{height:42px}
.prow .pza{display:none}
.places.za .prow{grid-template-columns:minmax(0,1fr) 74px 40px;grid-template-areas:"n k x" "d d d"}
.places.za .prow [name=pn]{grid-area:n}.places.za .prow [name=pk]{grid-area:k}.places.za .prow .ib{grid-area:x}
.places.za .prow .pza{display:block;grid-area:d}
.chip .pl{font-weight:600;opacity:.9}
.plsel{height:36px;margin-top:6px;font-size:14px}

/* Giriş sayfası: iki sütun düzeni (telefonda sıralama) */
.acol{display:contents}
.auth .brand{order:1}.auth .hero{order:2}.auth #authForm{order:3}.auth .car-feat{order:4}.auth .inst{order:5}.auth .car-next{order:6}.auth .anote{order:7}.auth .foot{order:8}
.car-feat .slide{background:linear-gradient(135deg,var(--panel) 60%,color-mix(in srgb,var(--sc) 10%,var(--panel)))}
.car-feat .stag{color:var(--ok)}
/* Telefonuna kur */
.inst{gap:12px}
.insth{display:flex;gap:12px;align-items:center}
.insth img{border-radius:10px;flex:none}
.inst .seg{align-self:flex-start}
.inst .seg button{padding:7px 16px}
.isteps{margin:0;padding:0;list-style:none;counter-reset:st;display:flex;flex-direction:column;gap:10px}
.isteps li{counter-increment:st;display:flex;gap:10px;align-items:flex-start;font-size:14.5px;line-height:1.45}
.isteps li::before{content:counter(st);flex:none;width:26px;height:26px;border-radius:50%;background:var(--accent);color:var(--accent-ink);display:grid;place-items:center;font-weight:700;font-size:13px}
.isteps .kbd{width:20px;height:20px;vertical-align:-4px;color:var(--accent)}
.isteps b{font-weight:600}
@media (min-width:1000px){
  .auth.wide{grid-template-areas:"b b" "l r";align-items:start}
  .auth.wide .acol{display:flex;flex-direction:column;gap:22px;min-width:0}
  .auth.wide .acol.l{grid-area:l}
  .auth.wide .acol.r{grid-area:r;position:sticky;top:24px}
}

/* 0.4 Ayarlar: başlık listesi + alt sayfalar */
.setgrp{margin-top:14px}
.setgrp:first-child{margin-top:0}
.setgrp:empty{display:none}
.srow{align-items:center;gap:12px;padding:12px;min-height:58px;color:inherit;cursor:pointer}
.srow:hover{background:var(--accent-soft)}
.sic{width:34px;height:34px;border-radius:9px;display:grid;place-items:center;background:var(--accent-soft);color:var(--accent);flex:none}
.sic svg{width:20px;height:20px}
.stx{flex:1;min-width:0;display:flex;flex-direction:column}
.stx b{font-weight:500;font-size:15px}
.stx small{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.chev{color:var(--muted);font-size:22px;line-height:1;flex:none}
#genForm .seg{align-self:flex-start}
.link.quiet{color:var(--muted);font-weight:400;font-size:13px;text-decoration:underline;text-align:center}

/* 0.4 İstekler (Wünsche) */
.tabs .wrap{grid-template-columns:repeat(5,minmax(0,1fr))}
.tab{min-width:0;font-size:11.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.chip.wfree{background:var(--bg);color:var(--ink);border:1px dashed var(--line-strong)}
.chip.wnot{background:var(--panel);color:var(--bad);border:1px solid var(--bad)}
.chip.wimp{box-shadow:0 0 0 2px var(--bad)}
.wres{font-style:normal;font-weight:700;font-size:12px;margin-left:auto}
.wres.ok{color:var(--good,#2E9E6A)}.wres.no{color:var(--bad)}
.li .wres{font-size:16px;margin-left:8px;align-self:center}
.wimpT{color:var(--bad)}
.wdue{color:var(--muted)}.wdue.soon{color:var(--bad);font-weight:600}
.wopts{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px}
.wopt{display:flex;align-items:center;gap:8px;padding:8px;border:1px solid var(--line-strong);border-radius:10px;background:var(--panel);cursor:pointer;min-width:0}
.wopt input{position:absolute;opacity:0;pointer-events:none}
.wopt:has(input:checked){border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent);background:var(--accent-soft)}
.wopt:focus-within{outline:2px solid var(--accent);outline-offset:1px}
.wopt .sw{min-width:30px;height:28px;border-radius:6px;display:grid;place-items:center;font-weight:700;font-size:12px;padding:0 4px;flex:none}
.wopt .sw.wfree{background:var(--bg);color:var(--ink);border:1px dashed var(--line-strong);font-weight:600;font-size:11px}
.wopt .sw.wnot{background:var(--panel);color:var(--bad);border:1px solid var(--bad)}
.wopt span{min-width:0;font-size:13.5px;font-weight:500;line-height:1.25}
.wopt small{display:block;color:var(--muted);font-weight:400;font-size:12px}
textarea.inp{height:auto;min-height:72px;padding-top:8px;padding-bottom:8px;resize:vertical;font:inherit}
@media (min-width:1000px){.tab{font-size:15px}}
.sheet .zchk{flex:none}
.wopt{position:relative}

/* 0.4 Gerçek çalışma saatleri */
.rdiff{display:block;font-size:10px;font-weight:700;line-height:1.2;color:var(--accent);text-align:center;font-variant-numeric:tabular-nums}
.rdiff.neg{color:var(--bad)}
.realbox{margin:-6px 0 4px 46px;padding:10px 12px;border:1px dashed var(--line-strong);border-radius:10px;display:flex;flex-direction:column;gap:8px;font-size:14px}
.rhead{display:flex;flex-wrap:wrap;gap:4px 10px;align-items:baseline}
.rhead span{font-variant-numeric:tabular-nums}
.rbtns{display:flex;gap:6px;flex-wrap:wrap}
.rdet summary{cursor:pointer;color:var(--accent);font-weight:500;padding:2px 0}
.rdet[open]{display:flex;flex-direction:column;gap:10px}
.row3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:8px}
.realbox .link{align-self:flex-start;padding:2px 0}
@media (min-width:1000px){.rdiff{font-size:11.5px;text-align:left}}
.row3{grid-template-columns:repeat(2,minmax(0,1fr))}
.row3 .fld:last-child{grid-column:1/-1}
.realbox{margin-left:0}
@media (min-width:600px){.realbox{margin-left:46px}}

/* 0.4 Öğretici */
.hnum{width:28px;height:28px;border-radius:50%;background:var(--accent-soft);color:var(--accent);display:grid;place-items:center;font-size:13px;font-weight:700;flex:none}
.hsteps{margin:0;padding:0;list-style:none;counter-reset:hs;display:flex;flex-direction:column;gap:12px}
.hsteps li{counter-increment:hs;display:flex;gap:12px;align-items:flex-start;line-height:1.45}
.hsteps li::before{content:counter(hs);width:26px;height:26px;border-radius:50%;background:var(--accent);color:var(--accent-ink);display:grid;place-items:center;font-size:13px;font-weight:700;flex:none;margin-top:-1px}

/* 0.4 Nöbetler */
.chip.rb{background-image:repeating-linear-gradient(135deg,rgba(255,255,255,.28) 0 3px,transparent 3px 7px)}
.chip.bd{box-shadow:inset 0 -3px 0 rgba(0,0,0,.25)}
.dgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:6px 12px}
.dgrid .zchk{min-width:0;flex:none}
.crow{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:4px 0;border-bottom:1px dashed var(--line);font-variant-numeric:tabular-nums}
.crow .ib{width:32px;height:32px}
.row3.c2 .fld:last-child{grid-column:auto}
/* 0.5: alt alta duran kutucuklar (kart içinde) gereksiz yükseklik almasın */
.card>.zchk,.fld>.zchk,.sheet .zchk{flex:none}

/* ---------- Planer (işveren tarafı, planer.js) – bilgisayar için ---------- */
.pl-authnote{max-width:560px;margin:12px auto 0;padding:8px 14px;border-radius:10px;background:var(--accent-soft);color:var(--accent);font-weight:600;font-size:14px;text-align:center}
#app.is-planer{max-width:none}
.pl{display:grid;grid-template-columns:250px 1fr;min-height:100vh}
.pl-side{background:var(--panel);border-right:1px solid var(--line);padding:18px 14px;display:flex;flex-direction:column;gap:14px;position:sticky;top:0;height:100vh;overflow:auto}
.pl-brand{display:flex;align-items:center;gap:10px}
.pl-brand img{width:40px;height:40px;border-radius:9px;object-fit:contain;background:var(--field);flex:none}
.pl-brand b{display:block;font-size:15px;line-height:1.2}.pl-brand small{color:var(--muted);font-size:12px}
.pl-nav{display:flex;flex-direction:column;gap:2px}
.pl-nb{border:0;background:none;text-align:left;padding:9px 12px;border-radius:9px;font-weight:500;color:var(--ink)}
.pl-nb:hover{background:var(--field)}.pl-nb.on{background:var(--accent-soft);color:var(--accent)}
.pl-foot{margin-top:auto;display:flex;flex-direction:column;gap:2px}
.pl-main{padding:24px 32px 60px;max-width:1100px;display:flex;flex-direction:column;gap:16px;min-width:0}
/* vardiya planı ekranın tamamını kullanır (geniş ekranda bütün ay görünür) */
.pl-main.wide{max-width:none}
.pl-main.wide .pp-wrap{max-height:calc(100vh - 230px)}
.pl-main.wide table.pp{width:100%}
.pl-head h2{font-size:22px;margin:0 0 4px}.pl-head p{margin:0;max-width:760px}
.pl-q{width:24px;height:24px;border-radius:50%;border:1px solid var(--line-strong);background:var(--panel);color:var(--muted);font:600 13px/1 system-ui,sans-serif;cursor:pointer;vertical-align:middle;margin-left:6px}
.pl-q:hover{color:var(--ink);border-color:var(--ink)}
.hl-toc{display:flex;flex-direction:column;gap:2px;padding:8px}
.hl-toc .link{text-align:left;padding:6px 8px;border-radius:6px;text-decoration:none;color:var(--ink)}
.hl-toc .link.on{background:var(--field);font-weight:600}
.hl-body ul{margin:8px 0 0;padding-left:20px;display:flex;flex-direction:column;gap:8px;line-height:1.5}
.lg-doc{max-width:860px;line-height:1.5}.lg-doc h3{margin:18px 0 6px}.lg-doc h3:first-child{margin-top:0}.lg-doc h4{margin:14px 0 4px}.lg-doc ul{margin:4px 0 8px;padding-left:20px}.lg-doc p{margin:4px 0 8px}
.pl-main h3{font-size:16px;margin:0}.pl-sub{margin-top:6px !important;color:var(--muted)}
.pl-desk{display:none;margin:0}
.pl-g3{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.pl-g4{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px 12px}
/* izin planlaması: yıl tablosu (konumlar yüzde ile; 1 gün = yılın 1/365'i) */
.lp-wrap{overflow-x:auto}
.lp-grid{min-width:900px;display:flex;flex-direction:column}
.lp-row{display:flex;align-items:stretch;border-top:1px solid var(--line);min-height:30px}
.lp-row.lp-head{border-top:0;min-height:22px}
.lp-name{width:190px;flex:none;padding:3px 8px 3px 0;display:flex;flex-direction:column;justify-content:center;font-size:13px;line-height:1.2}
.lp-name small{font-size:11px}
.lp-track{position:relative;flex:1}
.lp-m{position:absolute;top:2px;font-size:11px;color:var(--muted);text-align:center;border-left:1px solid var(--line)}
.lp-fe{position:absolute;top:6px;bottom:6px;background:#FCE8A6;border-radius:3px}
.lp-b{position:absolute;top:6px;bottom:6px;border-radius:4px;border:0;padding:0;font:600 11px/1 system-ui,sans-serif;color:#fff;cursor:pointer;overflow:hidden;min-width:3px}
.lp-b.ok{background:#4F7A28;cursor:default}
.lp-b.wish{background:#2B6CB0}
.lp-b.alt{background:#2B6CB0;opacity:.45}
.lp-b.altn{background:#E07B39}
.lp-b.rejected{background:repeating-linear-gradient(135deg,#D6455D 0 3px,transparent 3px 6px);color:transparent;top:12px;bottom:12px}
.lp-b.sel{box-shadow:0 0 0 2px #17212B}
.lp-c{position:absolute;top:7px;bottom:7px;font:600 10px/16px system-ui,sans-serif;text-align:center;color:#17212B;overflow:hidden}
.lp-c.g{background:#CFE8D6}.lp-c.y{background:#FCE8A6}.lp-c.r{background:#F4B7C1;color:#8A1C2E}
.pl-btns{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.pl-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.pl-steps{margin:0;padding-left:20px;display:flex;flex-direction:column;gap:2px}.pl-steps li.ok .link{color:var(--good,#2E9E6A)}
.pl-stats{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px}
.pl-stat{gap:2px;text-align:left;cursor:pointer}.pl-stat b{font-size:26px;font-family:var(--f-head)}.pl-stat span{color:var(--muted);font-size:14px}
.pl-logo{display:flex;align-items:center;gap:12px}.pl-logo img{max-height:56px;max-width:140px;border-radius:8px;background:var(--field)}
.pl-mini{width:32px;height:32px;object-fit:contain;border-radius:6px;flex:none}
.trow.on{background:var(--accent-soft)}
.pl-split{display:grid;grid-template-columns:280px 1fr;gap:16px;align-items:start}
.pl-rb{width:100%;border:0;border-bottom:1px solid var(--line);background:none;text-align:left;color:var(--ink)}
.pl-perm{border:1px solid var(--line);border-radius:10px;padding:10px 12px;display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:8px 14px;margin:0}
.pl-perm legend{font-weight:600;font-size:13px;color:var(--muted);padding:0 4px}
.pl-perm .zchk{min-width:0;flex:none;font-weight:400}
.pl-hold{margin:0;padding-left:18px}
.pl-tbl{overflow:auto;border:1px solid var(--line);border-radius:10px}
.pl-tbl table{border-collapse:collapse;width:100%;font-size:14px}
.pl-tbl th,.pl-tbl td{padding:8px;border-bottom:1px solid var(--line);text-align:left;vertical-align:middle}
.pl-tbl thead th{background:var(--field);font-weight:600;white-space:nowrap}.pl-tbl th small{display:block;color:var(--muted);font-weight:400}
.pl-tbl tbody th{font-weight:500;min-width:150px}
.pl-nd{display:flex;gap:4px}.pl-nd .inp{width:58px;height:38px;padding:0 6px;text-align:center}
.pl-code{display:inline-grid;place-items:center;min-width:26px;height:22px;border-radius:5px;color:#fff;font-size:12px;font-weight:700;padding:0 4px}
@media (max-width:820px){
  .pl{grid-template-columns:1fr}.pl-side{position:static;height:auto;border-right:0;border-bottom:1px solid var(--line)}
  .pl-nav{flex-direction:row;flex-wrap:wrap}.pl-main{padding:16px}.pl-desk{display:block}
  .pl-g3,.pl-split{grid-template-columns:1fr}}
/* Planer menü (gruplar, ikonlar, kısa açıklama) */
.pl-ng{display:flex;flex-direction:column;gap:2px}
.pl-ng h4{margin:10px 12px 4px;font-size:11.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);font-weight:600}
.pl-nb{display:flex;align-items:center;gap:10px;width:100%}
.pl-nb>span:last-child,.pl-nb>span:nth-child(2){display:flex;flex-direction:column;min-width:0}
.pl-nb b{font-weight:600;font-size:14.5px}.pl-nb small{color:var(--muted);font-size:12px;font-weight:400;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pl-ic{width:32px;height:32px;border-radius:9px;display:grid;place-items:center;background:var(--field);color:var(--accent);flex:none}
.pl-ic svg{width:19px;height:19px}
.pl-nb.on .pl-ic{background:var(--accent);color:var(--accent-ink)}
.pl-nb.pl-soon{opacity:.55;cursor:default}.pl-nb.pl-soon em{margin-left:auto;font-style:normal;font-size:11px;border:1px solid var(--line-strong);border-radius:999px;padding:1px 7px;color:var(--muted)}
.pl-det summary{cursor:pointer;font-weight:500;color:var(--accent);padding:4px 0}.pl-det[open] summary{margin-bottom:10px}
.pl-tpl{padding:14px 18px}
.pl-aflt{flex-direction:row;align-items:end}.pl-aflt .fld{flex:1;min-width:170px}
.pl-audit .trow>div>small{display:inline;margin-right:8px}
.pl-chs{display:flex;flex-wrap:wrap;gap:4px 10px;margin-top:3px}.pl-ch{font-size:12.5px;color:var(--muted)}.pl-ch b{color:var(--ink);font-weight:500}
@media (max-width:820px){.pl-ng h4{display:none}.pl-nb small{display:none}.pl-nb{width:auto}}

/* Planer: personel */
.pl-ph{width:36px;height:48px;border-radius:7px;object-fit:cover;flex:none;background:var(--field)}
.pl-ph.lg{width:72px;height:96px;border-radius:10px}
.pl-ini{display:grid;place-items:center;font-weight:700;color:var(--accent);background:var(--accent-soft);font-size:14px}.pl-ph.lg.pl-ini{font-size:26px}
.pl-st{font-size:12px;border-radius:999px;padding:2px 9px;border:1px solid var(--line-strong);color:var(--muted);white-space:nowrap}
.pl-st.st-active{color:#1f7a4d;border-color:#9fd3b5;background:#eaf7ef}.pl-st.st-invited{color:var(--accent);border-color:var(--accent);background:var(--accent-soft)}.pl-st.st-left,.pl-st.st-declined{opacity:.7}
.pl-staff .trow>input[type=checkbox]{width:18px;height:18px;accent-color:var(--accent);flex:none}
.pl-selall{gap:10px;cursor:pointer}.pl-selall input{width:18px;height:18px}
.pl-card-h{display:flex;align-items:center;gap:14px}.pl-card-h h2{margin:0;font-size:22px}
.pl-tabs{flex-wrap:wrap}
.pl-fs{border:0;padding:0;margin:0;min-width:0;display:flex;flex-direction:column;gap:14px}
.pl-roles{display:flex;flex-direction:column;gap:6px}.pl-rl{border:1px solid var(--line);border-radius:9px;padding:6px 10px}.pl-rl summary{cursor:pointer;color:var(--muted);margin-top:2px}
.pl-link{display:flex;gap:8px;align-items:center}.pl-link .inp{flex:1}
.pl-badge{width:100%;max-width:520px;height:auto;border-radius:10px;box-shadow:0 2px 10px rgba(0,0,0,.12);background:#fff}
.pl-bad{color:var(--bad)}.pl-warn{color:#B7791F}
/* Planer: kart formları (2 sütun, gruplar), hatırlatmalar */
.pl-grp{border:1px solid var(--line);border-radius:12px;padding:12px 14px 14px;margin:0}
.pl-grp legend{font-weight:700;font-size:15px;padding:0 6px}
.pl-g2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 16px}
.pl-g2>.zchk{grid-column:1/-1}
.pl-rem{font-size:12px;border-radius:999px;padding:2px 8px;background:#FFF4E0;color:#8A5A00;white-space:nowrap}.pl-rem.bad{background:var(--bad-soft);color:var(--bad)}
.pl-rems{display:flex;flex-direction:column;gap:2px;align-items:flex-start}
.pl-tbl td .inp[type=date]{height:38px;min-width:140px}.pl-tbl td small{display:block;margin-top:2px}
@media (max-width:820px){.pl-g2{grid-template-columns:1fr}}
/* Planer: gelen istekler */
.pl-wl{display:flex;flex-wrap:wrap;gap:6px}
.pl-wi{font-size:13px;border:1px solid var(--line);border-radius:8px;padding:3px 8px;display:inline-flex;align-items:center;gap:5px;background:var(--field)}
.pl-wi i{width:10px;height:10px;border-radius:3px;display:inline-block}.pl-wi.not{color:var(--bad);border-color:var(--bad-soft)}.pl-wi b{color:var(--bad)}
/* Planer: vardiya planı tablosu */
.pp-top{align-items:end;flex-wrap:wrap}.pp-top .fld{min-width:220px}
.pp-pal{display:flex;flex-wrap:wrap;gap:6px;position:sticky;top:0;z-index:5;background:var(--bg);padding:8px 0}
.pp-b{min-width:44px;height:36px;border-radius:8px;border:2px solid transparent;background:var(--c);color:#fff;font-weight:700;font-size:14px;padding:0 8px;cursor:pointer;opacity:.85}
.pp-b:hover{opacity:1}.pp-b.on{opacity:1;border-color:var(--ink);box-shadow:0 0 0 3px var(--accent-soft)}
.pp-wrap{overflow:auto;border:1px solid var(--line);border-radius:12px;background:var(--panel);max-height:72vh}
table.pp{border-collapse:separate;border-spacing:0;font-size:12.5px;user-select:none}
.pp th,.pp td{border-right:1px solid var(--line);border-bottom:1px solid var(--line);text-align:center;padding:0}
.pp thead th{position:sticky;top:0;z-index:3;background:var(--field);font-weight:700;min-width:34px;height:40px;line-height:1.1}
.pp thead th small{display:block;font-weight:400;color:var(--muted);font-size:10.5px}
.pp thead th.we,.pp td.we{background:#F1F4F8}.pp thead th.hol,.pp td.hol{background:#FCE8EC}
.pp .pp-n{position:sticky;left:0;z-index:2;background:var(--panel);text-align:left;padding:4px 8px;min-width:190px;max-width:240px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-weight:400}
.pp thead .pp-n{z-index:4;background:var(--field)}.pp .pp-n.wr{box-shadow:inset 4px 0 0 var(--bad)}
.pp-c{height:34px;min-width:34px;cursor:pointer;position:relative;vertical-align:middle}
.pp-c:hover{outline:2px solid var(--accent-soft);outline-offset:-2px}.pp-c.sel{outline:2px solid var(--accent);outline-offset:-2px}
.pp-c span{display:inline-block;min-width:26px;padding:2px 3px;border-radius:5px;color:#fff;font-weight:700;font-size:12px;margin:1px}
/* prototip gibi: beyaz tablo, açık renkli küçük etiketler (vardiya renginin açık tonu + koyu yazı) */
:root[data-theme="light"]{color-scheme:light}
.pp-c span{background:color-mix(in srgb,var(--c) 17%,#fff);color:color-mix(in srgb,var(--c) 70%,#000);min-width:27px;height:21px;line-height:17px;font-weight:600}
.pp-c{position:relative}
.pp-act{position:absolute;right:2px;bottom:2px;width:6px;height:6px;border-radius:50%;background:#2B6CB0}.pp-act.d{background:#E07B39}.pp-act.ok{background:#2E9E6A}
.pp-act-bar{display:flex;flex-direction:column;gap:8px;border-left:3px solid #2B6CB0}
.pp-c span.pp-sch{background:repeating-linear-gradient(135deg,color-mix(in srgb,var(--c) 12%,#fff) 0 4px,#fff 4px 7px);font-style:italic}
.pp-b{background:color-mix(in srgb,var(--c) 17%,#fff);color:color-mix(in srgb,var(--c) 70%,#000);border-color:color-mix(in srgb,var(--c) 35%,#fff);opacity:1}
.pp-b.on{border-color:color-mix(in srgb,var(--c) 80%,#000);box-shadow:0 0 0 3px var(--accent-soft)}
.pp thead th{background:var(--panel)}.pp thead th.we,.pp td.we{background:#F6F7F9}.pp thead th.hol small{color:var(--bad);font-weight:600}.pp td.hol{background:#FDF3F5}
.pp-c{min-width:35px;height:36px}
.pp-code{display:inline-block;min-width:24px;padding:1px 4px;border-radius:5px;font-weight:600;text-align:center;background:color-mix(in srgb,var(--c) 17%,#fff);color:color-mix(in srgb,var(--c) 70%,#000)}
.pp-sep th{background:var(--field);color:var(--muted);font-size:12px}
.pp-c.wy{box-shadow:inset 0 -3px 0 #E0A21B}.pp-c.wr{box-shadow:inset 0 -3px 0 var(--bad);background:var(--bad-soft)}
.pp-w{position:absolute;top:1px;right:1px;font-style:normal;font-size:13px;font-weight:700;color:var(--accent);line-height:1;background:var(--panel);border-radius:3px;padding:0 1px}.pp-w.n{color:var(--bad)}.pp-w.imp::after{content:'!';color:var(--bad);margin-left:1px}
.pp-s{min-width:52px;padding:0 6px !important;font-variant-numeric:tabular-nums;background:var(--field);white-space:nowrap}.pp-s small{color:var(--muted)}
.pp-s.pos{color:#1f7a4d;font-weight:600}.pp-s.neg{color:var(--bad);font-weight:600}
.pp-sep th{text-align:left;padding:6px 8px;background:var(--accent-soft);color:var(--accent);font-weight:700;position:sticky;left:0}
.pp-cvr .pp-n{font-size:12px}.pp-cv{font-weight:700;font-size:12px;height:26px}
.pp-cv.lv-g{background:#E3F4EA;color:#1f7a4d}.pp-cv.lv-y{background:#FFF4D6;color:#8A5A00}.pp-cv.lv-r{background:var(--bad-soft);color:var(--bad)}.pp-cv.lv-b{background:#E2EDF6;color:var(--accent)}
/* plan tablosu: kişi özeti isim hücresinde */
.pp .pp-n{min-width:230px;max-width:280px;line-height:1.25}
.pp-sum,.pp-sk{display:block;font-size:11px;color:var(--muted);font-weight:400;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pp-sum .pos{color:#1f7a4d;font-weight:600}.pp-sum .neg{color:var(--bad);font-weight:600}.pp-sk{font-style:italic}
/* plan ekranı iyileştirmeleri */
.pp-bs{font-size:13px;color:var(--muted);margin-left:6px;align-self:center}
.pp-pal{align-items:center}
.pp-c.today{box-shadow:inset 0 0 0 2px var(--accent)}
.pp-w.ok{color:#1f7a4d}.pp-w.no{color:var(--bad);text-decoration:line-through}
.pp-wp{border:1px solid var(--line);border-radius:10px;padding:6px 10px;background:var(--panel)}.pp-wp summary{cursor:pointer;font-size:13.5px}
.pp-wl{display:flex;flex-direction:column;max-height:180px;overflow:auto;margin-top:6px}.pp-wi{font-size:12.5px;padding:2px 0;text-align:left}
.pp-ok{margin:0;color:#1f7a4d}
/* simülasyon ve tehlikeli bölge */
.pl-demo{background:#FFF4D6;color:#8A5A00;border-radius:5px;padding:0 5px;font-weight:700;font-size:10.5px}
.pl-demo-c{align-items:flex-start;background:#FFF9E8;border:1px dashed #E0A21B;border-radius:10px;padding:10px 12px}
.pl-danger{border-color:var(--bad);background:var(--bad-soft)}
.pl-authnote.demo{background:#FFF4D6;color:#8A5A00}
/* raporlar */
.rp-tbl td.num,.rp-tbl th.num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.rp-tbl .pos{color:#1f7a4d;font-weight:600}.rp-tbl .neg{color:var(--bad);font-weight:600}
.rp-tbl tr.rp-sum th,.rp-tbl tr.rp-sum td{font-weight:700;border-top:2px solid var(--line-strong)}
/* personel hesabı */
.pb-in th,.pb-in td{padding:4px 6px}.pb-in td.num,.pb-in th.num{text-align:right}.pb-in .inp{width:72px;min-width:0;padding:6px 8px;text-align:right}
/* boş vardiya (planlayıcı) */
.pp-open{margin-top:14px}.pp-os{align-items:flex-start}.pp-vol{margin-top:6px;display:flex;flex-direction:column;gap:4px}
/* izin talebi: bekleyen günler (açık yeşil çizgili), talep kartları */
.pp-c.lvp{background-image:repeating-linear-gradient(-45deg,transparent 0 4px,#DDF1EA 4px 8px)}
.lr-card{display:flex;flex-direction:column;gap:6px}.lr-card.lr-cancel{border-left:3px solid #E0A21B}
.lprow{display:flex;flex-direction:column;gap:6px;padding:8px 0 0;border-top:1px solid var(--line)}
.lpfe{display:flex;flex-wrap:wrap;gap:6px}
.lpchip{border:1px solid #E7C873;background:#FFF6DC;color:#6B4E00;border-radius:999px;padding:4px 10px;font:inherit;font-size:12px;cursor:pointer}
.lpchip b{font-weight:600}
.lrcard{border:1px solid var(--line);background:var(--panel);border-radius:12px;padding:10px 12px;margin:0 0 10px;display:flex;flex-direction:column;gap:6px}
.lrrow{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.lrrow .lrt{flex:1;min-width:170px}
.lrst{font-size:12px;border-radius:999px;padding:1px 8px;background:var(--field);color:var(--muted)}.lrst.approved{background:#E3F4EA;color:#1f7a4d}.lrst.rejected{background:var(--bad-soft);color:var(--bad)}.lrst.pending{background:#FFF4D6;color:#8A5A00}
/* değişiklik isteği: onay bekliyor (turuncu çizgili, prototipteki gibi) / reddedildi (kırmızı köşe) */
.pp-c.pend{box-shadow:inset 0 0 0 2px #E0A21B;background-image:repeating-linear-gradient(45deg,transparent 0 4px,#FAEFD7 4px 8px)}
.pp-c.rej::before{content:'';position:absolute;left:0;top:0;border-style:solid;border-width:8px 8px 0 0;border-color:var(--bad) transparent transparent transparent}
.pp-rq{display:flex;gap:10px;align-items:center;justify-content:space-between;margin:6px 0}
.pp-direct{margin:4px 0 8px}
.rqcard{border:1px solid #E0A21B;background:#FFF9EC;border-radius:12px;padding:10px 12px;margin:0 0 10px;display:flex;flex-direction:column;gap:8px}
.rqrow{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.rqrow .rqt{flex:1;min-width:180px}
/* işverenin yayınladığı plandan gelen (kilitli) günler */
.day.olock{position:relative}.day.olock::after{content:'🔒';position:absolute;right:3px;bottom:2px;font-size:9px;opacity:.55}
.olk{font-size:15px;opacity:.7;padding:0 6px}
/* simülasyon: "… gibi gör" şeridi, örnek çalışan görünümü, simülasyon sayfası */
.pl-viewas{display:flex;gap:10px;align-items:center;justify-content:space-between;background:#FFF4D6;color:#5C3D00;border:1px solid #E0A21B;border-radius:10px;padding:8px 12px;margin-bottom:12px}
.demo-bar{position:sticky;top:0;z-index:50;display:flex;gap:10px;align-items:center;justify-content:space-between;background:#FFF4D6;color:#5C3D00;border-bottom:1px solid #E0A21B;padding:8px 14px;font-size:14px}
.pl-va .pl-btns{margin-top:6px}
.dm-rows{display:flex;flex-direction:column;gap:8px}
.dm-row{display:grid;grid-template-columns:1.2fr 1.6fr 1.3fr 80px 1fr 34px;gap:6px;align-items:end;padding-bottom:8px;border-bottom:1px dashed var(--line,#DDE2E7)}
.dm-row .inp{min-width:0}
@media (max-width:900px){.dm-row{grid-template-columns:1fr 1fr}}
.dm-sum{font-weight:600}
/* onay süreci, yorumlar, Genel bakış hatırlatmaları */
.pp-com{margin-top:14px}.pp-com textarea{min-height:44px;resize:vertical}
.pp-obj{border-left:3px solid var(--bad)}
.pl-hrem .trow{align-items:center}
.pl-dot{width:9px;height:9px;border-radius:50%;flex:none;background:var(--accent)}.pl-dot.w{background:#E0A21B}.pl-dot.b{background:var(--bad)}.pl-dot.i{background:#2E9E6A}