/* İmesta Operasyon Paneli — bordo #772d2f · krem #eee8b8 */
:root{
  --bordo:#772d2f; --bordo-d:#5a2123; --bordo-dd:#401719; --bordo-l:#96474a; --bordo-t:#f5e8e6;
  --krem:#eee8b8; --krem-l:#f7f3dc; --krem-d:#d8d096;
  --bg:#f7f6ee; --card:#fff; --ink:#2a2220; --ink-2:#5c524e; --ink-3:#8b827c; --line:#e7e3d3; --line-2:#d9d4bf;
  --ok:#2f6b46; --ok-t:#e3efe5; --warn:#a2610f; --warn-t:#fbefd9; --bad:#a3262b; --bad-t:#f8e1e0; --info:#2e5b73; --info-t:#e1edf3;
  --r:14px; --r-sm:9px; --sh:0 1px 2px rgba(60,30,20,.05),0 4px 16px rgba(60,30,20,.05);
  --side:256px; --logo-ink:var(--bordo);
  --serif:'Fraunces',Georgia,'Times New Roman',serif; --sans:'Manrope',system-ui,-apple-system,'Segoe UI',Roboto,sans-serif;
}
*{box-sizing:border-box}
[hidden]{display:none!important}
html{-webkit-text-size-adjust:100%}
body{margin:0;font:15px/1.5 var(--sans);color:var(--ink);background:var(--bg);-webkit-font-smoothing:antialiased}
a{color:var(--bordo);text-decoration:none}
a:hover{text-decoration:underline}
h1,h2,h3{font-family:var(--serif);font-weight:650;letter-spacing:-.01em;margin:0;color:var(--ink)}
h2{font-size:1.15rem}h3{font-size:1rem;margin:.6em 0 .4em}
code{font-size:.85em;background:var(--krem-l);padding:1px 6px;border-radius:5px}
.ic{width:18px;height:18px;flex:none}
.muted{color:var(--ink-3)}.small{font-size:.82rem}.center{text-align:center}.nowrap{white-space:nowrap}.strong{font-weight:700}
.mt{margin-top:14px}.pre{white-space:pre-wrap}.w-sm{max-width:90px}.inline{display:inline}

/* ---------- Kenar menü ---------- */
.sidebar{position:fixed;inset:0 auto 0 0;width:var(--side);background:var(--bordo);color:var(--krem);display:flex;flex-direction:column;z-index:40;
  background-image:radial-gradient(120% 60% at 0% 0%,rgba(255,255,255,.07),transparent 60%),linear-gradient(180deg,var(--bordo) 0%,var(--bordo-d) 100%)}
.brand{display:flex;flex-direction:column;align-items:center;gap:6px;padding:20px 20px 14px;color:var(--krem);text-decoration:none!important}
.logo{display:block;height:auto;flex:none}
.brand .logo{width:150px}
.brand-sub{font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;opacity:.7;margin-top:4px}
.sidebar nav{flex:1;overflow-y:auto;padding:4px 12px 12px}
.nav-group{margin-top:14px}
.nav-title{font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;opacity:.55;padding:0 10px 6px}
.nav-link{display:flex;align-items:center;gap:11px;padding:9px 10px;border-radius:10px;color:rgba(238,232,184,.88);font-weight:500;font-size:.93rem;text-decoration:none!important;transition:background .15s}
.nav-link:hover{background:rgba(255,255,255,.08);color:#fff}
.nav-link.active{background:var(--krem);color:var(--bordo-d);font-weight:700;box-shadow:0 2px 8px rgba(0,0,0,.15)}
.side-foot{border-top:1px solid rgba(238,232,184,.15);padding:14px 16px 16px}
.who{display:flex;gap:10px;align-items:center}
.who-name{font-weight:700;font-size:.9rem;color:#fff}.who-role{font-size:.75rem;opacity:.7}
.side-actions{display:flex;justify-content:space-between;align-items:center;margin-top:10px;font-size:.85rem}
.side-actions a,.linklike{color:var(--krem);opacity:.85;background:none;border:0;font:inherit;cursor:pointer;display:inline-flex;gap:6px;align-items:center;padding:0}
.side-actions a:hover,.linklike:hover{opacity:1;text-decoration:underline}
.side-actions form{margin:0}
.avatar{width:36px;height:36px;border-radius:50%;background:var(--krem);color:var(--bordo);display:inline-grid;place-items:center;font-weight:700;font-size:.82rem;flex:none;letter-spacing:.02em}
.avatar.sm{width:30px;height:30px;font-size:.72rem;background:var(--bordo-t);color:var(--bordo)}
.avatar.lg{width:64px;height:64px;font-size:1.3rem;background:var(--bordo);color:var(--krem)}
.scrim{display:none}

/* ---------- Ana alan ---------- */
.main{margin-left:var(--side);min-height:100vh;display:flex;flex-direction:column;padding:0 28px 20px;max-width:calc(var(--side) + 1240px)}
.main.wide{max-width:none}
.topbar{display:flex;align-items:center;gap:14px;padding:22px 0 16px;position:sticky;top:0;background:linear-gradient(var(--bg) 80%,rgba(247,246,238,0));z-index:20}
.tb-title{flex:1;min-width:0}
.tb-title h1{font-size:1.65rem;line-height:1.2}
.tb-sub{color:var(--ink-3);font-size:.9rem;margin-top:2px}
.tb-right{display:flex;gap:10px;align-items:center}
.branch-switch select,.branch-fixed{border:1px solid var(--line-2);background:var(--card);border-radius:999px;padding:8px 34px 8px 14px;font:600 .88rem var(--sans);color:var(--bordo-d)}
.branch-fixed{padding-right:14px}
.icon-btn.menu-btn{display:none}
.page-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end;margin:-6px 0 14px}
.content{flex:1;display:flex;flex-direction:column;gap:18px}
.foot{color:var(--ink-3);font-size:.75rem;text-align:center;padding:26px 0 6px;letter-spacing:.04em}

/* ---------- Butonlar ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:9px 16px;border-radius:10px;border:1px solid var(--line-2);background:var(--card);
  color:var(--ink);font:600 .9rem var(--sans);cursor:pointer;text-decoration:none!important;transition:all .15s;white-space:nowrap;min-height:40px}
.btn:hover{border-color:var(--bordo-l);color:var(--bordo)}
.btn.primary{background:var(--bordo);border-color:var(--bordo);color:var(--krem)}
.btn.primary:hover{background:var(--bordo-d);color:#fff}
.btn.dark{background:var(--ink);border-color:var(--ink);color:var(--krem)}
.btn.ghost{background:transparent;border-color:transparent;color:var(--ink-2)}
.btn.ghost:hover{background:var(--krem-l);color:var(--bordo)}
.btn.danger{color:var(--bad)}.btn.danger:hover{background:var(--bad-t);color:var(--bad)}
.btn.sm{padding:6px 12px;font-size:.82rem;min-height:34px;border-radius:9px}
.btn.big{padding:14px 22px;font-size:1rem;min-height:52px;border-radius:12px}
.btn.block{width:100%}
.btn .ic{width:16px;height:16px}
.icon-btn{display:inline-grid;place-items:center;width:36px;height:36px;border-radius:10px;border:1px solid var(--line-2);background:var(--card);color:var(--ink-2);cursor:pointer;text-decoration:none!important}
.icon-btn:hover{color:var(--bordo);border-color:var(--bordo-l)}
.link{font-weight:600;font-size:.86rem}

/* ---------- Kart & düzen ---------- */
.card{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:20px;box-shadow:var(--sh)}
.card.flush{padding:0;overflow:hidden}
.card h2{margin-bottom:12px}
.card-h{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px;flex-wrap:wrap}
.card-h h2{margin:0}
.grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.grid-2.tight{gap:16px}
.section-t{font-size:1.1rem;margin:6px 0 -6px}
.sub-h{font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3);font-weight:700;margin:14px 0 6px}
.sub-h:first-of-type{margin-top:0}
.hello-t{font-family:var(--serif);font-size:1.5rem;color:var(--bordo-d)}

/* KPI */
.kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:14px}
.kpi{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:16px 18px;box-shadow:var(--sh);position:relative;overflow:hidden}
.kpi::before{content:"";position:absolute;inset:0 auto 0 0;width:4px;background:var(--krem-d)}
.kpi.good::before{background:var(--ok)}.kpi.warn::before{background:var(--warn)}
.kpi-l{font-size:.76rem;text-transform:uppercase;letter-spacing:.08em;color:var(--ink-3);font-weight:700}
.kpi-v{font-family:var(--serif);font-size:1.6rem;font-weight:650;margin-top:4px;color:var(--ink);line-height:1.2}
.kpi-f{font-size:.8rem;color:var(--ink-3);margin-top:4px}
.up{color:var(--ok);font-weight:700}.down{color:var(--bad);font-weight:700}

/* Rozet */
.badge{display:inline-flex;align-items:center;gap:4px;padding:2px 9px;border-radius:999px;font-size:.75rem;font-weight:700;background:var(--krem);color:var(--bordo-d);white-space:nowrap}
.badge.ok{background:var(--ok-t);color:var(--ok)}.badge.warn{background:var(--warn-t);color:var(--warn)}
.badge.bad{background:var(--bad-t);color:var(--bad)}.badge.muted{background:#efede4;color:var(--ink-2)}

/* Bildirimler */
.flash{border-radius:12px;padding:12px 16px;margin:0 0 14px;font-weight:600;font-size:.92rem;border:1px solid;animation:drop .3s ease}
.flash-success{background:var(--ok-t);color:var(--ok);border-color:#c6dfcc}
.flash-error{background:var(--bad-t);color:var(--bad);border-color:#efc4c2}
.flash-warn{background:var(--warn-t);color:var(--warn);border-color:#f0d9ad}
.flash-float{position:fixed;top:16px;left:50%;transform:translateX(-50%);z-index:99;box-shadow:var(--sh);max-width:92vw}
@keyframes drop{from{opacity:0;transform:translateY(-6px)}}
.notice{display:flex;gap:10px;align-items:center;background:var(--krem-l);border:1px solid var(--krem-d);color:var(--ink-2);border-radius:12px;padding:11px 14px;font-size:.9rem;margin-bottom:12px}
.notice.warn{background:var(--warn-t);border-color:#f0d9ad;color:var(--warn)}
.notice.bad{background:var(--bad-t);border-color:#efc4c2;color:var(--bad)}
.alerts{display:flex;flex-direction:column;gap:8px}
.alert{display:flex;gap:10px;align-items:center;padding:11px 14px;border-radius:12px;background:var(--warn-t);color:var(--warn);border:1px solid #f0d9ad;font-size:.9rem;text-decoration:none!important}
.alert.info{background:var(--info-t);color:var(--info);border-color:#c6dce7}
.alert:hover{filter:brightness(.98)}
.empty{text-align:center;padding:30px 16px;color:var(--ink-3)}
.empty-logo{width:96px;opacity:.55;margin:0 auto}
.empty p{margin:10px 0 14px}

/* Sekmeler / dönem */
.tabs{display:flex;gap:6px;flex-wrap:wrap;background:#efede2;padding:4px;border-radius:12px;align-self:flex-start}
.tab{padding:7px 14px;border-radius:9px;font-weight:600;font-size:.88rem;color:var(--ink-2);text-decoration:none!important}
.tab:hover{color:var(--bordo)}
.tab.active{background:var(--card);color:var(--bordo-d);box-shadow:0 1px 3px rgba(0,0,0,.08)}
.toolbar{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}
.tb-actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.tb-actions form{margin:0}
.period-nav{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.period-nav strong{font-family:var(--serif);font-size:1.05rem;min-width:120px;text-align:center}
.period-nav input[type=date]{width:auto}
.filters{display:flex;gap:10px;flex-wrap:wrap}
.filters input[type=search]{flex:1;min-width:200px}
.filters select{width:auto}

/* ---------- Form ---------- */
input,select,textarea{width:100%;font:inherit;font-size:.93rem;color:var(--ink);background:#fff;border:1px solid var(--line-2);border-radius:10px;padding:9px 12px;min-height:40px;transition:border .15s,box-shadow .15s}
textarea{resize:vertical;line-height:1.45}
input:focus,select:focus,textarea:focus{outline:none;border-color:var(--bordo-l);box-shadow:0 0 0 3px rgba(119,45,47,.12)}
input[readonly]{background:#faf9f4;color:var(--ink-2)}
input[type=checkbox],input[type=radio]{width:18px;height:18px;min-height:0;accent-color:var(--bordo);padding:0}
input[type=color]{padding:3px;width:48px;height:38px}
select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' fill='none' stroke='%237c2529' stroke-width='1.8'%3E%3Cpath d='m1 1.5 5 5 5-5'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;padding-right:34px}
.field{display:flex;flex-direction:column;gap:5px;margin-bottom:14px}
.lbl{font-size:.8rem;font-weight:700;color:var(--ink-2)}
.hint{font-size:.76rem;color:var(--ink-3)}
.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:0 16px}
.form-grid.three{grid-template-columns:repeat(3,1fr)}
.form-grid.four{grid-template-columns:repeat(4,1fr);align-items:end}
.form-actions{display:flex;gap:10px;align-items:center;margin-top:6px;flex-wrap:wrap}
.form-actions.pad{padding:14px 18px;border-top:1px solid var(--line);margin:0}
.form-actions.wrap{flex-wrap:wrap}
.form.narrow{max-width:640px}
.check{display:flex;gap:10px;align-items:center;margin:4px 0 12px;font-weight:600;font-size:.9rem;cursor:pointer}
.money-in{position:relative}
.money-in input{padding-right:30px;text-align:right;font-variant-numeric:tabular-nums;font-weight:600}
.money-in span{position:absolute;right:12px;top:50%;transform:translateY(-50%);color:var(--ink-3);font-weight:700}
.mt{margin-top:12px}

/* ---------- Tablolar ---------- */
.table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}
.tbl{width:100%;border-collapse:collapse;font-size:.9rem}
.tbl th{text-align:left;font-size:.72rem;letter-spacing:.07em;text-transform:uppercase;color:var(--ink-3);font-weight:700;padding:11px 14px;border-bottom:1px solid var(--line);background:#fbfaf5;white-space:nowrap}
.tbl td{padding:11px 14px;border-bottom:1px solid #f0ede2;vertical-align:middle}
.tbl tbody tr:last-child td{border-bottom:0}
.tbl tbody tr[data-href]{cursor:pointer}
.tbl tbody tr:hover td{background:#fcfbf6}
.tbl tfoot th{background:var(--krem-l);color:var(--ink);font-size:.85rem;text-transform:none;letter-spacing:0;border-top:1px solid var(--line-2)}
.tbl .num,.tbl .tc{text-align:right;font-variant-numeric:tabular-nums}
.tbl .tc{text-align:center}
.tbl.compact td,.tbl.compact th{padding:8px 10px}
.tbl tr.inactive td{opacity:.55}
.tbl input,.tbl select{min-height:36px;padding:6px 9px;font-size:.88rem}
.neg{color:var(--bad);font-weight:700}.pos{color:var(--ok);font-weight:600}
.person{display:inline-flex;align-items:center;gap:10px;color:var(--ink);font-weight:600}
.sub-pos{font-size:.76rem;color:var(--ink-3);font-weight:500}

/* Listeler */
.list{list-style:none;margin:0;padding:0}
.list li{display:flex;gap:12px;align-items:center;padding:10px 0;border-bottom:1px solid #f0ede2;flex-wrap:wrap}
.list li:last-child{border-bottom:0}
.date-chip{background:var(--krem-l);border:1px solid var(--krem-d);color:var(--bordo-d);font-weight:700;font-size:.78rem;border-radius:8px;padding:3px 9px;white-space:nowrap}
.score{font-family:var(--serif);font-weight:650;font-size:1.05rem;color:var(--bordo)}
.score.ok{color:var(--ok)}.score.warn{color:var(--warn)}
.dl{display:grid;grid-template-columns:max-content 1fr;gap:8px 18px;margin:0;font-size:.92rem}
.dl dt{color:var(--ink-3);font-weight:600}.dl dd{margin:0}

/* Kişiler (panel) */
.people{list-style:none;margin:0;padding:0}
.people li{display:flex;gap:12px;align-items:center;padding:9px 0;border-bottom:1px solid #f0ede2}
.people li:last-child{border:0}
.p-main{flex:1;min-width:0}.p-name{font-weight:700}.p-sub{font-size:.8rem;color:var(--ink-3)}
.dot-label{display:inline-flex;align-items:center;gap:6px;font-size:.8rem;font-weight:600;color:var(--ink-2)}
.dot-label::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--ink-3);flex:none}
.dot-label.ok::before{background:var(--ok)}.dot-label.ok{color:var(--ok)}
.dot-label.late::before{background:var(--warn)}.dot-label.late{color:var(--warn)}
.dot-label.missing::before,.dot-label.absent::before{background:var(--bad)}.dot-label.missing,.dot-label.absent{color:var(--bad)}
.dot-label.leave::before{background:var(--krem-d)}
.dot-label.wait::before{background:#c9c3b3}

/* Benim shiftim */
.myshift-card{background:linear-gradient(135deg,var(--bordo) 0%,var(--bordo-dd) 100%);color:var(--krem);border:0}
.myshift-card h2,.myshift-card .link{color:var(--krem)}
.myshift-card .muted{color:rgba(238,232,184,.75)}
.myshift{display:flex;flex-wrap:wrap;align-items:center;gap:6px 18px;padding:6px 0}
.ms-time{font-family:var(--serif);font-size:2rem;color:#fff;line-height:1.1}
.ms-meta{opacity:.85;font-size:.9rem}
.ms-state{font-weight:700;font-size:.85rem;background:rgba(255,255,255,.12);padding:4px 12px;border-radius:999px}
.ms-state.late,.ms-state.missing{background:#f6d79c;color:#5e3c05}
.ms-actions{width:100%;display:flex;gap:10px;margin-top:8px}
.ms-actions form{margin:0}
.myshift-card .btn.primary{background:var(--krem);color:var(--bordo-d);border-color:var(--krem)}
.myshift-card .btn.dark{background:#1d1513;border-color:#1d1513}

/* Checklist durum */
.cl-status{list-style:none;margin:0;padding:0}
.cl-status li{display:grid;grid-template-columns:1fr 90px 46px;align-items:center;gap:10px;padding:8px 0;border-bottom:1px solid #f0ede2}
.cl-status li:last-child{border:0}
.cl-status li>.badge{grid-column:2/4;justify-self:end}
.meter{display:inline-block;height:8px;width:90px;background:#efece0;border-radius:99px;overflow:hidden;vertical-align:middle}
.meter.wide{width:100%;min-width:80px}
.meter>span{display:block;height:100%;background:var(--bordo);border-radius:99px}
.meter>span.warn{background:var(--warn)}
.pct{font-weight:700;font-size:.85rem;text-align:right}.pct.ok{color:var(--ok)}.pct.warn{color:var(--warn)}

/* Grafik */
.chart{width:100%;height:auto;display:block}
.chart .bar{fill:var(--bordo);opacity:.82}.chart .bar.today{fill:var(--bordo-l);opacity:1}
.chart .bar:hover{opacity:1}
.chart .grid{stroke:var(--line);stroke-dasharray:3 4}
.chart .ax{fill:var(--ink-3);font-size:12px;font-family:var(--sans)}

/* ---------- Shift planı ---------- */
.shift-wrap{background:var(--card);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--sh)}
.shift-grid{border-collapse:separate;border-spacing:0;width:100%;min-width:900px;font-size:.85rem}
.shift-grid th,.shift-grid td{border-bottom:1px solid #f0ede2;border-right:1px solid #f4f1e7;padding:8px;vertical-align:top}
.shift-grid thead th{background:#fbfaf5;text-align:center;position:sticky;top:0;z-index:2}
.shift-grid .sticky{position:sticky;left:0;background:#fff;z-index:1;text-align:left;min-width:150px;font-weight:700}
.shift-grid thead .sticky{z-index:3;background:#fbfaf5}
.shift-grid .sticky a{color:var(--ink)}
.dh-d{font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;color:var(--ink-3)}
.dh-n{font-weight:700;color:var(--ink)}
th.today{background:var(--bordo-t)!important}th.today .dh-n{color:var(--bordo)}
td.today{background:#fdf8f6}
.cell{min-width:110px;height:64px}
.chip{display:block;width:100%;text-align:left;border:0;border-left:4px solid var(--c);background:color-mix(in srgb,var(--c) 10%,#fff);color:var(--ink);
  border-radius:7px;padding:5px 8px;margin-bottom:4px;font:500 .8rem var(--sans);cursor:pointer}
.chip strong{font-weight:700}
.chip em{display:block;font-style:normal;font-size:.72rem;color:var(--ink-3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.chip.leave{border-left-color:var(--krem-d);background:repeating-linear-gradient(45deg,var(--krem-l),var(--krem-l) 6px,#fff 6px,#fff 12px);color:var(--ink-2);font-weight:700}
.chip:disabled{cursor:default}
.chip:not(:disabled):hover{filter:brightness(.96)}
.add{width:100%;border:1px dashed var(--line-2);background:transparent;border-radius:7px;color:var(--ink-3);cursor:pointer;font-size:1rem;line-height:1;padding:4px;opacity:0;transition:opacity .15s}
.cell:hover .add,.cell:focus-within .add,.cell:not(:has(.chip)) .add{opacity:1}
.add:hover{border-color:var(--bordo-l);color:var(--bordo)}
.tot{text-align:center;font-weight:700;white-space:nowrap;font-variant-numeric:tabular-nums}
.tot span{color:var(--ink-3);font-weight:500;font-size:.75rem}
.tot.over{color:var(--bad)}
.shift-grid tfoot td,.shift-grid tfoot th{background:var(--krem-l);text-align:center;font-weight:700}
.legend{display:flex;flex-wrap:wrap;gap:8px 16px;font-size:.8rem;color:var(--ink-2)}
.legend span{display:inline-flex;align-items:center;gap:6px}
.legend i{width:12px;height:12px;border-radius:3px;display:inline-block}
.legend i.leave{background:repeating-linear-gradient(45deg,var(--krem-d),var(--krem-d) 3px,#fff 3px,#fff 6px);border:1px solid var(--krem-d)}

/* Dialog */
.dlg{border:0;border-radius:18px;padding:0;width:min(520px,94vw);box-shadow:0 20px 60px rgba(40,10,10,.3)}
.dlg::backdrop{background:rgba(40,20,18,.45);backdrop-filter:blur(2px)}
.dlg-body{padding:22px}
.dlg-h{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:14px}
.dlg-f{display:flex;justify-content:space-between;gap:10px;margin-top:6px}
.seg{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:14px}
.seg label{cursor:pointer}
.seg input{position:absolute;opacity:0;pointer-events:none}
.seg span{display:inline-block;padding:6px 12px;border-radius:999px;border:1px solid var(--line-2);font-size:.82rem;font-weight:600;color:var(--ink-2)}
.seg input:checked+span{background:var(--bordo);border-color:var(--bordo);color:var(--krem)}
.tpl-btns{display:grid;grid-template-columns:repeat(auto-fit,minmax(100px,1fr));gap:8px;margin-bottom:14px}
.tpl{border:1px solid var(--line-2);border-top:4px solid var(--c);background:#fff;border-radius:10px;padding:8px;font:700 .85rem var(--sans);cursor:pointer;color:var(--ink)}
.tpl small{display:block;font-weight:500;color:var(--ink-3);font-size:.75rem}
.tpl.on,.tpl:hover{background:color-mix(in srgb,var(--c) 10%,#fff)}

/* Yoklama */
.time-in{display:flex;gap:4px;align-items:center;min-width:130px}
.time-in input{min-width:96px}
.now{border:1px solid var(--line-2);background:#fff;border-radius:8px;width:34px;height:34px;cursor:pointer;flex:none}
.now:hover{border-color:var(--bordo-l)}
.att td{vertical-align:top}
.att .dot-label{margin-top:4px}
.leave-row td{background:#fbfaf3}

/* Puantaj tablosu */
.pgrid{border-collapse:separate;border-spacing:0;font-size:.78rem;background:var(--card);border:1px solid var(--line);border-radius:var(--r);overflow:hidden;min-width:100%}
.pgrid th,.pgrid td{border-bottom:1px solid #f0ede2;border-right:1px solid #f4f1e7;padding:6px 4px;text-align:center}
.pgrid thead th{background:#fbfaf5;font-weight:700;color:var(--ink-2)}
.pgrid thead th small{display:block;font-weight:500;color:var(--ink-3);font-size:.66rem}
.pgrid th.we{background:#f5f2e6}
.pgrid .sticky{position:sticky;left:0;background:#fff;text-align:left;padding:6px 12px;min-width:150px;z-index:1;font-size:.85rem}
.pgrid thead .sticky{background:#fbfaf5}
.pgrid .sticky a{color:var(--ink)}
.pc{min-width:30px;font-weight:700;font-variant-numeric:tabular-nums}
.pc a{color:inherit}
.pc.ok{color:var(--ok);background:#f4f9f5}.pc.late{color:var(--warn);background:var(--warn-t)}
.pc.absent{color:#fff;background:var(--bad)}.pc.missing{color:var(--bad);background:#fdf3f2}
.pc.leave{color:var(--ink-2);background:var(--krem-l)}.pc.wait{color:var(--ink-3)}
.pc.today,.pgrid th.today{box-shadow:inset 0 0 0 2px var(--bordo-l)}
.pgrid .tc{padding:6px 10px;white-space:nowrap;background:#fcfbf7;font-variant-numeric:tabular-nums}
.lg{display:inline-block;min-width:26px;text-align:center;border-radius:5px;padding:1px 4px;font-size:.75rem}
.lg.ok{color:var(--ok);background:#f4f9f5}.lg.late{color:var(--warn);background:var(--warn-t)}.lg.absent{color:#fff;background:var(--bad)}
.lg.missing{color:var(--bad);background:#fdf3f2}.lg.leave{background:var(--krem-l)}.lg.wait{color:var(--ink-3);background:#f4f2ea}
.cl-cal{font-size:.75rem}

/* Checklist kartları */
.cl-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:14px}
.cl-card{position:relative;display:block;background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:18px;box-shadow:var(--sh);color:var(--ink);text-decoration:none!important;transition:transform .15s,box-shadow .15s}
.cl-card:hover{transform:translateY(-2px);box-shadow:0 8px 24px rgba(60,30,20,.1)}
.cl-card h3{font-size:1.1rem;margin:10px 0 2px;padding-right:70px}
.cl-top{display:flex;gap:6px}
.cl-card .ring{position:absolute;right:16px;top:44px}
.cl-foot{margin-top:16px;font-size:.82rem;color:var(--bordo);font-weight:600}
.cl-card.done{border-color:#c6dfcc}.cl-card.done .cl-foot{color:var(--ok)}
.cl-card.partial .cl-foot{color:var(--warn)}
.ring{--p:0;width:56px;height:56px;border-radius:50%;background:conic-gradient(var(--bordo) calc(var(--p)*1%),#efece0 0);display:grid;place-items:center}
.done .ring{background:conic-gradient(var(--ok) calc(var(--p)*1%),#efece0 0)}
.ring span{width:44px;height:44px;border-radius:50%;background:#fff;display:grid;place-items:center;font-size:.78rem;font-weight:700}
.checklist-form{max-width:820px}
.cl-progress{font-family:var(--serif);font-size:1.5rem;color:var(--bordo)}
.cl-items{list-style:none;margin:0 0 16px;padding:0;counter-reset:c}
.cl-items li{border:1px solid var(--line);border-radius:12px;padding:4px 12px 10px;margin-bottom:8px;transition:background .15s}
.cl-items li:has(input:checked){background:#f6faf7;border-color:#cfe4d4}
.cl-item{display:flex;gap:12px;align-items:flex-start;padding:10px 0 6px;cursor:pointer}
.cl-item input[type=checkbox]{position:absolute;opacity:0;width:1px;height:1px}
.cl-item .box{width:26px;height:26px;border:2px solid var(--line-2);border-radius:8px;flex:none;display:grid;place-items:center;transition:all .15s;background:#fff}
.cl-item input[type=checkbox]:checked+.box{background:var(--ok);border-color:var(--ok)}
.cl-item input[type=checkbox]:checked+.box::after{content:"";width:7px;height:12px;border:solid #fff;border-width:0 3px 3px 0;transform:rotate(45deg) translate(-1px,-1px)}
.cl-item input[type=checkbox]:focus-visible+.box{box-shadow:0 0 0 3px rgba(119,45,47,.2)}
.cl-item .txt{font-weight:600;padding-top:2px}
.cl-note{min-height:34px;padding:6px 10px;font-size:.85rem;margin-left:38px;width:calc(100% - 38px);border-style:dashed}
.ans{list-style:none;padding:0;margin:0}
.ans li{display:flex;gap:12px;padding:9px 0;border-bottom:1px solid #f0ede2}
.ans .mk{width:24px;height:24px;border-radius:50%;display:grid;place-items:center;font-size:.8rem;flex:none;font-weight:700}
.ans .y .mk{background:var(--ok-t);color:var(--ok)}.ans .n .mk{background:var(--bad-t);color:var(--bad)}
.ans em{display:block;font-size:.82rem;color:var(--ink-3)}

/* Performans */
.crit{display:flex;flex-direction:column;gap:6px;margin:6px 0 8px}
.crit-row{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:8px 12px;border:1px solid var(--line);border-radius:12px;flex-wrap:wrap}
.crit-l{font-weight:600}
.stars{display:flex;gap:6px}
.stars input{position:absolute;opacity:0}
.stars span{display:grid;place-items:center;width:38px;height:38px;border-radius:10px;border:1px solid var(--line-2);font-weight:700;cursor:pointer;color:var(--ink-2)}
.stars input:checked+span{background:var(--bordo);border-color:var(--bordo);color:var(--krem)}
.stars input:focus-visible+span{box-shadow:0 0 0 3px rgba(119,45,47,.2)}
.big-score{font-family:var(--serif);font-size:2.6rem;color:var(--bordo);line-height:1}
.big-score small{font-size:1rem;color:var(--ink-3)}
.big-score.ok{color:var(--ok)}.big-score.warn{color:var(--warn)}
.bars{display:flex;flex-direction:column;gap:9px}
.bar-row{display:grid;grid-template-columns:minmax(120px,220px) 1fr 80px;gap:12px;align-items:center;font-size:.9rem}
.bar-row strong{text-align:right;font-variant-numeric:tabular-nums}
.profile-head{display:flex;gap:18px;align-items:center;flex-wrap:wrap}
.ph-main{flex:1;min-width:200px}
.ph-main h2{font-size:1.5rem;margin-bottom:2px}
.ph-contact{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px;align-items:center}

/* Kasa */
.cash-layout{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:18px;align-items:start}
.money-grid{grid-template-columns:repeat(auto-fit,minmax(190px,1fr))}
.sticky-side{position:sticky;top:90px}
.summary h2{margin-bottom:8px}
.sum{display:grid;grid-template-columns:1fr auto;gap:8px 12px;margin:0 0 14px;font-size:.9rem}
.sum dt{color:var(--ink-2)}.sum dd{margin:0;text-align:right;font-weight:600;font-variant-numeric:tabular-nums}
.sum .sep{border-top:1px dashed var(--line-2);padding-top:8px}
.sum .strong{font-weight:800;color:var(--ink)}
.diff-box{border-radius:14px;padding:14px 16px;text-align:center;background:var(--krem-l);border:1px solid var(--krem-d)}
.diff-box span{display:block;font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;font-weight:700;color:var(--ink-3)}
.diff-box strong{display:block;font-family:var(--serif);font-size:1.9rem;margin:2px 0}
.diff-box small{font-weight:700}
.diff-box.ok{background:var(--ok-t);border-color:#c6dfcc;color:var(--ok)}
.diff-box.neg{background:var(--bad-t);border-color:#efc4c2;color:var(--bad)}
.diff-box.pos{background:var(--warn-t);border-color:#f0d9ad;color:var(--warn)}
.exp-form{border-top:1px dashed var(--line-2);margin-top:14px;padding-top:14px}
.exp-grid{grid-template-columns:1fr 2fr 1fr 1fr}
.tbl.money td.num{white-space:nowrap}

/* Raporlar */
.donut-wrap{display:flex;gap:20px;align-items:center;flex-wrap:wrap}
.donut{width:160px;height:160px;flex:none}
.donut-bg{stroke:#efece0}
.legend-list{list-style:none;margin:0;padding:0;flex:1;min-width:200px}
.legend-list li{display:grid;grid-template-columns:14px 1fr auto 52px;gap:8px;align-items:center;padding:5px 0;font-size:.88rem;border-bottom:1px solid #f4f1e7}
.legend-list i{width:12px;height:12px;border-radius:3px}
.legend-list em{font-style:normal;color:var(--ink-3);text-align:right;font-size:.8rem}

/* Ayarlar */
.matrix td:first-child{min-width:280px}
.matrix tr.grp td{background:var(--krem-l);font-weight:800;font-size:.75rem;letter-spacing:.1em;text-transform:uppercase;color:var(--bordo-d)}
.matrix .tc{text-align:center}
.rowforms{display:flex;flex-direction:column;gap:8px}
.rf,.rf-head{display:grid;gap:10px;align-items:center}
.rf-head{font-size:.72rem;letter-spacing:.07em;text-transform:uppercase;color:var(--ink-3);font-weight:700;padding:0 2px}
.rf-branch{grid-template-columns:2fr 1fr 2.5fr 56px 90px}
.rf-tpl{grid-template-columns:1.6fr 1fr 1fr 80px 60px 56px 90px}
.rf .tc{text-align:center}
.rf.new-row{background:var(--krem-l);padding:8px;border-radius:12px;border:1px dashed var(--krem-d)}
.chips-edit{display:flex;flex-wrap:wrap;gap:8px}
.chip-form{display:flex;gap:6px;align-items:center;background:#fbfaf5;border:1px solid var(--line);border-radius:12px;padding:6px}
.chip-form input[name=name]{width:190px;min-height:34px;padding:5px 10px}
.chip-form.off{opacity:.55}
.pager{display:flex;gap:8px;justify-content:center}

/* ---------- Giriş ---------- */
.auth-body{background:var(--bg)}
.auth-wrap{min-height:100vh;display:grid;grid-template-columns:1.1fr 1fr}
.auth-wrap.single{grid-template-columns:1fr;place-items:center}
.auth-art{background:var(--bordo);color:var(--krem);display:grid;place-items:center;padding:40px;position:relative;overflow:hidden;
  background-image:radial-gradient(80% 60% at 20% 10%,rgba(255,255,255,.1),transparent 60%),radial-gradient(70% 50% at 90% 100%,rgba(0,0,0,.25),transparent 60%),linear-gradient(160deg,var(--bordo),var(--bordo-dd))}
.auth-art::after{content:"";position:absolute;width:520px;height:520px;border-radius:50%;border:1px solid rgba(238,232,184,.12);right:-180px;bottom:-200px;box-shadow:0 0 0 60px rgba(238,232,184,.03),0 0 0 120px rgba(238,232,184,.02)}
.auth-art-inner{text-align:center;position:relative;z-index:1}
.auth-logo{width:min(340px,70vw);margin:0 auto}
.auth-quote{font-family:var(--serif);font-style:italic;font-weight:500;font-size:1.2rem;margin-top:48px;opacity:.85;line-height:1.6}
.auth-card{align-self:center;justify-self:center;width:min(400px,90vw);background:var(--card);border:1px solid var(--line);border-radius:20px;padding:34px;box-shadow:var(--sh)}
.auth-card h1{font-size:1.7rem;color:var(--bordo-d)}
.auth-card>p.muted{margin:4px 0 22px}

/* ---------- Mobil ---------- */
@media (max-width:1100px){
  .cash-layout{grid-template-columns:1fr}
  .sticky-side{position:static}
  .exp-grid{grid-template-columns:1fr 1fr}
}
@media (max-width:900px){
  .sidebar{transform:translateX(-100%);transition:transform .25s ease;box-shadow:none}
  body.nav-open .sidebar{transform:none;box-shadow:10px 0 40px rgba(0,0,0,.3)}
  body.nav-open .scrim{display:block;position:fixed;inset:0;background:rgba(30,10,10,.4);z-index:30}
  .main{margin-left:0;padding:0 16px 16px}
  .icon-btn.menu-btn{display:inline-grid}
  .topbar{padding:14px 0 12px;gap:10px;flex-wrap:wrap}
  .tb-title h1{font-size:1.3rem}
  .tb-right{width:100%}.tb-right>*{flex:1}.branch-switch select{width:100%}
  .grid-2{grid-template-columns:1fr}
  .form-grid.four,.form-grid.three{grid-template-columns:1fr 1fr}
  .auth-wrap{grid-template-columns:1fr}
  .auth-art{padding:40px 20px 30px}.auth-quote{display:none}.auth-logo{width:220px}
  .auth-card{margin:-24px auto 30px;position:relative}
  .rf-branch,.rf-tpl{grid-template-columns:1fr 1fr}
  .rf-head{display:none}
  .bar-row{grid-template-columns:1fr 70px}.bar-row .meter{grid-column:1/3;grid-row:2}
  .kpi-v{font-size:1.3rem}
  .card{padding:16px}
  .ms-actions .btn{width:100%}.ms-actions form{flex:1}
}
@media (max-width:520px){
  .kpis{grid-template-columns:1fr 1fr}
  .exp-grid,.form-grid.four,.form-grid.three{grid-template-columns:1fr}
  .tbl th,.tbl td{padding:9px 10px}
  .cl-status li{grid-template-columns:1fr 60px 40px}
  .meter{width:60px}
}

/* ---------- Yazdırma ---------- */
@media print{
  .sidebar,.topbar .menu-btn,.tb-right,.page-actions,.tb-actions,.no-print,.foot,.add,.flash,.tabs,.period-nav a,.form-actions{display:none!important}
  .main{margin:0;padding:0;max-width:none}
  body{background:#fff;font-size:11px}
  .card,.kpi,.shift-wrap{box-shadow:none;border-color:#ccc;break-inside:avoid}
  .topbar{position:static;padding:0 0 10px}
  .shift-grid{min-width:0}
}

/* ---------- Masalar & QR / Değerlendirmeler (v1.1) ---------- */
.qr-thumb{display:inline-block;width:46px;height:46px;padding:3px;background:#fff;border:1px solid var(--line);border-radius:8px}
.qr-thumb svg{width:100%;height:100%;display:block}
.qr-big{width:220px;max-width:100%;margin:6px auto 10px;padding:14px;background:#fff;border:1px solid var(--line);border-radius:16px}
.qr-big svg{width:100%;height:auto;display:block}
.center-card{text-align:center}.center-card form{margin-top:8px}
.form-actions.center{justify-content:center}
.pad-h{padding:16px 18px 0}
.inline-check{margin:0}
.content-form{display:flex;flex-direction:column;gap:18px}
.rv-list{display:flex;flex-direction:column;gap:12px}
.rv{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:16px 18px;box-shadow:var(--sh);border-left:4px solid var(--krem-d)}
.rv.low{border-left-color:var(--bad)}.rv.high{border-left-color:var(--ok)}
.rv-h{display:flex;gap:12px;align-items:center;flex-wrap:wrap}
.rv-stars{color:#d39b2a;font-size:1.1rem;letter-spacing:1px}.rv-stars .off{color:#e2dccb}
.rv-meta{color:var(--ink-3);font-size:.82rem;flex:1}
.rv-text{margin:10px 0 6px;font-size:.95rem;white-space:pre-wrap}
.rv-cats{display:flex;gap:6px;flex-wrap:wrap;margin-top:6px}
.rv-cats span{background:var(--krem-l);border-radius:8px;padding:2px 8px;font-size:.76rem;color:var(--ink-2)}
.rv-foot{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin-top:10px;font-size:.84rem;color:var(--ink-2)}
.rv-act{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin-top:10px;padding-top:10px;border-top:1px dashed var(--line-2)}
.rv-act input[name=note]{flex:1;min-width:180px;min-height:36px;padding:6px 10px}
.rv-act select{width:auto;min-height:36px;padding:6px 32px 6px 10px}
.dist{display:flex;flex-direction:column;gap:6px}
.dist .bar-row{grid-template-columns:50px 1fr 50px}
.big-avg{display:flex;align-items:center;gap:16px}
.big-avg .v{font-family:var(--serif);font-size:3rem;color:var(--bordo);line-height:1}
/* Fotoğraf alanı */
.photo-in{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.photo-btn{cursor:pointer;min-height:34px}
.ph-prev{width:56px;height:56px;object-fit:cover;border-radius:8px;border:1px solid var(--line)}
.ph-del{border:0;background:var(--bad-t);color:var(--bad);border-radius:50%;width:26px;height:26px;cursor:pointer}
.ph-thumb{display:inline-block}.ph-thumb img{width:64px;height:64px;object-fit:cover;border-radius:10px;border:1px solid var(--line);display:block}
.ph-thumb.lg img{width:160px;height:120px}
/* Menü yönetimi */
.mc-head{display:flex;gap:8px;align-items:center;flex-wrap:wrap;padding:14px 16px;background:#fbfaf5;border-bottom:1px solid var(--line)}
.mc-head input{width:auto;min-height:36px;padding:6px 10px}.mc-head .mc-name{font-family:var(--serif);font-weight:650;font-size:1.05rem;min-width:200px}
.inactive-card{opacity:.6}
.mi-thumb{width:52px;height:52px;border-radius:10px;object-fit:cover;display:grid;place-items:center;background:var(--krem-l);color:var(--bordo);border:1px solid var(--line)}
.mi-photo{width:120px;height:120px;object-fit:cover;border-radius:12px;border:1px solid var(--line)}
.photo-wrap{display:flex;gap:12px;align-items:center;flex-wrap:wrap}
.tag-picks{display:flex;flex-wrap:wrap;gap:6px}
.tag-picks input{position:absolute;opacity:0}
.tag-picks span{display:inline-block;padding:5px 12px;border-radius:99px;border:1px solid var(--line-2);font-size:.82rem;font-weight:600;color:var(--ink-2);cursor:pointer}
.tag-picks input:checked+span{background:var(--bordo);border-color:var(--bordo);color:var(--krem)}
.pad{padding:12px 16px}
/* İletişim modülleri */
.lb-list{display:flex;flex-direction:column;gap:10px}
.lb{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:14px 16px;box-shadow:var(--sh)}
.lb-list.compact .lb{box-shadow:none;padding:10px 12px}
.lb.urgent{border-color:var(--bad);background:#fffafa;box-shadow:0 0 0 3px rgba(163,38,43,.08)}
.lb.done{opacity:.7}
.lb-h{display:flex;gap:10px;align-items:flex-start}
.lb-emo{font-size:1.3rem;line-height:1.2}
.lb-main{flex:1;min-width:0}.lb-meta{font-size:.78rem;color:var(--ink-3)}
.lb-body{margin:8px 0;white-space:pre-wrap}
.lb-res{margin-top:8px;font-size:.84rem;color:var(--ok)}
.lb-new .seg{margin-bottom:12px}
.tabs b{background:var(--bordo);color:var(--krem);border-radius:99px;padding:0 6px;font-size:.7rem;margin-left:2px}
.rq-list{display:flex;flex-direction:column;gap:10px}
.rq{border:1px solid var(--line);border-radius:12px;padding:12px 14px}
.rq-h{display:flex;justify-content:space-between;gap:10px;align-items:center}
.rq-d{font-size:.88rem;color:var(--ink-2);margin-top:2px}.rq-n{margin:6px 0 0;font-size:.88rem}
.ann-list{display:flex;flex-direction:column;gap:14px}
.ann.pinned{border-color:var(--krem-d);background:#fffef6}
.ann-reads{margin-top:10px;font-size:.86rem}.ann-reads summary{cursor:pointer;color:var(--bordo);font-weight:600}
.ann-alert{border-left:4px solid var(--warn)}
.mt-s{margin-top:6px}
.right{text-align:right}
.tg-bar{position:relative;height:14px;background:#efece0;border-radius:99px;overflow:hidden;margin:6px 0}
.tg-bar span{position:absolute;inset:0 auto 0 0;border-radius:99px}
.tg-fc{background:repeating-linear-gradient(45deg,rgba(119,45,47,.25),rgba(119,45,47,.25) 4px,rgba(119,45,47,.12) 4px,rgba(119,45,47,.12) 8px)}
.tg-act{background:var(--bordo);z-index:1}
.tg-legend{display:flex;gap:16px;font-size:.8rem;color:var(--ink-2)}
.tg-legend i{display:inline-block;width:10px;height:10px;border-radius:3px;margin-right:5px;vertical-align:middle}
.tg-legend i.a{background:var(--bordo)}.tg-legend i.f{background:rgba(119,45,47,.3)}
.tg-input{width:220px}
.tg-row{padding:8px 0;border-bottom:1px solid #f0ede2}.tg-row:last-child{border:0}
.tg-top{display:flex;justify-content:space-between;font-size:.9rem}
.cl-photo{display:flex;gap:10px;align-items:center;margin:2px 0 8px 38px}
.check-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:0 16px}
/* Kapsamlı checklist (v1.3) */
.checklist-form{max-width:860px;display:flex;flex-direction:column;gap:14px;padding-bottom:84px}
.cl-head h2{margin:0}
.cl-legend{display:flex;flex-wrap:wrap;gap:6px 16px;font-size:.78rem;color:var(--ink-3);margin-top:6px}
.cl-sec{padding:16px 18px}
.cl-sec-h{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);padding-bottom:8px;margin-bottom:10px}
.cl-sec-h h3{margin:0;font-size:1.02rem;color:var(--bordo-d)}
.cl-sec-c{font-size:.8rem;font-weight:700;color:var(--ink-3);font-variant-numeric:tabular-nums;background:#f2efe4;border-radius:99px;padding:2px 10px}
.cl-sec-c.full{background:var(--ok-t);color:var(--ok)}
.cl-items li.crit{border-left:3px solid var(--bad)}
.cl-items li.is-done{background:#f6faf7;border-color:#cfe4d4}
.cl-items li.oor{background:#fff6f5;border-color:#efc4c2}
.cl-item.m{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;cursor:default}
.box.m{border:0;background:var(--krem-l);font-size:.9rem}
.cl-measure{display:flex;align-items:center;gap:6px;margin-left:auto}
.cl-measure input{width:96px;min-height:38px;text-align:right;font-weight:700;font-variant-numeric:tabular-nums}
.cl-measure span{font-weight:700;color:var(--ink-2);min-width:24px}
.cl-range{width:100%;padding-left:38px;font-size:.76rem;color:var(--ink-3)}
.cl-range.bad{color:var(--bad);font-weight:700}
.cl-range.bad::before{content:"⚠ Hedef dışı · "}
.cl-bar{position:fixed;left:var(--side);right:0;bottom:0;z-index:25;background:rgba(255,255,255,.96);backdrop-filter:blur(6px);border-top:1px solid var(--line);padding-bottom:env(safe-area-inset-bottom,0px)}
.cl-bar-in{max-width:860px;margin:0 28px;display:flex;justify-content:space-between;align-items:center;gap:12px;padding:10px 0;flex-wrap:wrap}
.cl-bar .cl-progress{font-family:var(--sans);font-size:1rem}
.cl-bar .cl-progress strong{font-family:var(--serif);font-size:1.5rem;color:var(--bordo)}
.cl-bar-act{display:flex;gap:8px}
@media (max-width:900px){.cl-bar{left:0}.cl-bar-in{margin:0 16px}}
.cl-meta{display:flex;gap:10px;font-size:.76rem;color:var(--ink-3);margin-top:6px;padding-right:70px}
.cl-card.late{border-color:#efc4c2}
.cl-foot{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.ans .ans-sec{font-weight:800;font-size:.75rem;letter-spacing:.1em;text-transform:uppercase;color:var(--bordo-d);padding-top:14px;border-bottom:1px solid var(--line)}
.ans .oor .mk{background:var(--warn-t);color:var(--warn)}
.tpl-edit{align-items:start}
.mono-ta{font-family:ui-monospace,Menlo,monospace;font-size:.86rem;line-height:1.55}
.syntax{background:var(--krem-l);border:1px solid var(--krem-d);border-radius:12px;padding:14px 16px;font-size:.86rem}
.syntax h3{margin-top:0}.syntax p{margin:0 0 10px}
/* Değişiklik geçmişi */
.chg{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}
.chg>li{border-left:2px solid var(--line-2);padding:2px 0 2px 14px;position:relative}
.chg>li::before{content:"";position:absolute;left:-6px;top:6px;width:10px;height:10px;border-radius:50%;background:var(--bordo)}
.chg-h{display:flex;gap:6px;flex-wrap:wrap;align-items:baseline;font-size:.9rem}
.chg-h time{margin-left:auto;font-size:.78rem;color:var(--ink-3)}
.chg-a{color:var(--bordo);font-weight:700}
.chg-d{list-style:none;margin:4px 0 0;padding:0;font-size:.84rem}
.chg-f{color:var(--ink-3);font-weight:600}
del{color:var(--bad);text-decoration:line-through;text-decoration-thickness:1px}
ins{color:var(--ok);text-decoration:none;font-weight:700}
.chg-tbl tr.chg-edit td{background:#fffbf3}
.who-box{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;margin-top:12px;padding:12px;border-radius:12px;background:#fbfaf5;border:1px solid var(--line)}
.who-box span{display:block;font-size:.7rem;text-transform:uppercase;letter-spacing:.08em;color:var(--ink-3);font-weight:700}
.who-box small{display:block;color:var(--ink-3);font-size:.76rem}
/* Aylık nakit akışı */
.flow-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:16px}
.flow .sum{margin-bottom:6px}
.flow .flow-src{grid-column:1/-1;font-size:.74rem;color:var(--ink-3);margin-top:-6px}
.flow-edit{margin-top:8px;border-top:1px dashed var(--line-2);padding-top:10px}
.flow-edit summary{cursor:pointer;font-weight:700;color:var(--bordo);font-size:.88rem}
.flow-edit form{margin-top:10px;align-items:end}

/* Tuvalet kontrolü */
.rr-modal{position:fixed;inset:0;z-index:1000;background:rgba(40,12,14,.55);display:flex;align-items:center;justify-content:center;padding:16px;animation:rrIn .2s}
@keyframes rrIn{from{opacity:0}to{opacity:1}}
.rr-card{background:var(--card,#fff);border-radius:18px;max-width:420px;width:100%;padding:22px 20px;box-shadow:0 20px 60px rgba(0,0,0,.3);border-top:6px solid #772d2f}
.rr-card h2{margin:4px 0 6px;font-size:1.2rem}
.rr-bell{font-size:2.2rem;animation:rrShake 1s ease-in-out infinite}
@keyframes rrShake{0%,100%{transform:rotate(0)}20%{transform:rotate(-14deg)}40%{transform:rotate(12deg)}60%{transform:rotate(-8deg)}80%{transform:rotate(5deg)}}
.rr-form{display:grid;gap:8px;margin-top:10px}.rr-form .check{padding:10px 12px;border:1px solid var(--line,#e5e0d6);border-radius:10px}
.rr-form textarea{width:100%;box-sizing:border-box}.rr-err{color:#b42318;margin:0;font-size:.9rem}
.rr-actions{display:grid;gap:8px}.rr-actions .btn{width:100%;justify-content:center}
.rr-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:8px}
.rr{border-radius:10px;padding:10px;border:1px solid var(--line,#e5e0d6);display:grid;gap:2px;font-size:.85rem}.rr strong{font-size:1.05rem}
.rr.ok{background:#e8f4ea;border-color:#b8dcbf}.rr.late{background:#fff4e0;border-color:#f1d29a}.rr.miss{background:#fdeceb;border-color:#f3b9b4}
.rr.now{background:#fff;border:2px dashed #772d2f}.rr.wait{opacity:.6}
.bars{display:grid;gap:6px}.bar-row{display:grid;grid-template-columns:90px 1fr 50px;gap:10px;align-items:center;font-size:.88rem}
.meter>span.warn{background:#d98a1c}
.bar-row{grid-template-columns:130px 1fr 50px}
.pc-link{color:inherit;text-decoration:none;display:block}.pc-link:hover{text-decoration:underline}
.rr-edit summary{cursor:pointer;color:var(--bordo);font-weight:600;font-size:.85rem}.rr-edit[open]{min-width:280px}.rr-edit form{margin-top:8px}

/* Profil: telefon & bildirimler */
.device-card{display:flex;flex-direction:column;gap:14px}
.dev-steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:12px}
.dev-step{display:flex;gap:12px;align-items:flex-start;border:1px solid var(--line);border-radius:12px;padding:14px;background:var(--krem-l)}
.dev-step p{margin:4px 0 10px}
.dev-n{width:28px;height:28px;border-radius:50%;background:var(--bordo);color:var(--krem);display:grid;place-items:center;font-weight:700;font-size:.85rem;flex:none}
.dev-ios{background:var(--card);border:1px solid var(--line-2);border-radius:10px;padding:10px 12px;margin-top:4px}
.dev-prefs{display:flex;flex-direction:column;gap:8px;align-items:flex-start;border-top:1px solid var(--line);padding-top:12px}
.dev-prefs h3{margin:0}
.dev-topics{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:4px 16px;width:100%}
