:root{
  --ink:#1C2B39; --muted:#56656E; --paper:#F1F4F2; --surface:#FFFFFF; --line:#D3DAD5;
  --brand:#1E5A84; --brand-ink:#FFFFFF; --focus:#1E5A84;
  --t-red:#B93A2E; --t-yellow:#C99212; --t-green:#2E8656; --t-blue:#2D69AE; --t-grey:#8C979D;
  --t-red-bg:#F8E4E1; --t-yellow-bg:#FBF0D3; --t-green-bg:#E1F1E7; --t-blue-bg:#E2ECF8; --t-grey-bg:#E9EDEE;
  --radius-s:6px; --radius-m:10px;
  font-family:"Atkinson Hyperlegible", "Segoe UI", system-ui, -apple-system, sans-serif;
  color-scheme:light;
  box-sizing:border-box;
  padding-top:env(safe-area-inset-top,0px); padding-bottom:env(safe-area-inset-bottom,0px);
}
@media (prefers-color-scheme:dark){
  :root:not([data-theme="light"]){
    --ink:#E6ECEF; --muted:#9FB0B8; --paper:#131B22; --surface:#1B252E; --line:#2E3B46;
    --brand:#6AA9DA; --brand-ink:#0E1820; --focus:#8BC0E8;
    --t-red:#E0776B; --t-yellow:#E4B74A; --t-green:#5FBF8A; --t-blue:#6FA3E0; --t-grey:#7F8C93;
    --t-red-bg:#3A2320; --t-yellow-bg:#3A3120; --t-green-bg:#1D3328; --t-blue-bg:#1D2B3D; --t-grey-bg:#26313A;
    color-scheme:dark;
  }
}
*,*::before,*::after{box-sizing:inherit}
html{height:100%;scroll-padding-top:calc(env(safe-area-inset-top,0px) + 72px)}
body{margin:0;min-height:100%;background:var(--paper);color:var(--ink);font-size:17px;line-height:1.5}
button,input,select,textarea{font:inherit;color:inherit}
a{color:var(--brand)}
:focus-visible{outline:3px solid var(--focus);outline-offset:2px}
.hidden{display:none!important}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}

/* Buttons & fields */
.btn{text-decoration:none;display:inline-flex;align-items:center;gap:.4em;border:1px solid var(--line);background:var(--surface);
  padding:.55em 1em;border-radius:var(--radius-s);cursor:pointer;font-weight:700;font-size:.95rem;min-height:44px}
.btn:hover{border-color:var(--muted)}
.btn.primary{background:var(--brand);border-color:var(--brand);color:var(--brand-ink)}
.btn.primary:hover{filter:brightness(1.08)}
.btn.quiet{background:transparent;border-color:transparent;color:var(--brand);padding-inline:.5em}
.btn.danger{color:var(--t-red);border-color:transparent;background:transparent}
.btn[disabled]{opacity:.55;cursor:wait}
label{display:block;font-weight:700;font-size:.95rem;margin:0 0 .3em}
.field{margin-bottom:1rem}
.field .hint{font-weight:400;color:var(--muted);font-size:.88rem;margin-top:.25em}
input[type=text],input[type=email],input[type=password],input[type=number],input[type=date],input[type=tel],select,textarea{
  width:100%;border:1px solid var(--line);background:var(--surface);border-radius:var(--radius-s);padding:.6em .7em;min-height:44px}
textarea{min-height:80px;resize:vertical}
.row{display:flex;gap:.8rem;flex-wrap:wrap}
.row>*{flex:1 1 160px}
.check{display:flex;gap:.55em;align-items:flex-start;font-weight:400}
.check input{width:20px;height:20px;margin-top:.15em;flex:none;accent-color:var(--brand)}
.err{color:var(--t-red);font-weight:700;min-height:1.5em;margin:.4em 0 0}

/* Auth */
.auth{max-width:440px;margin:0 auto;padding:8vh 1.25rem 3rem}
.brand{display:flex;align-items:center;gap:.55rem;font-weight:700;font-size:1.25rem;text-decoration:none;color:var(--ink)}
.brand-mark{width:30px;height:38px;flex:none}
.auth h1{font-size:1.9rem;line-height:1.15;margin:2rem 0 .4rem}
.auth p.lead{color:var(--muted);margin:0 0 1.6rem}
.tabs{display:flex;border-bottom:1px solid var(--line);margin-bottom:1.3rem}
.tabs button{background:none;border:0;padding:.7em 1em;cursor:pointer;font-weight:700;color:var(--muted);border-bottom:3px solid transparent;margin-bottom:-1px}
.tabs button[aria-selected=true]{color:var(--ink);border-color:var(--brand)}
.panel-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-m);padding:1.4rem}

/* App shell */
header.top{position:sticky;top:env(safe-area-inset-top,0px);z-index:5;background:var(--surface);border-bottom:1px solid var(--line)}
.top-in{max-width:980px;margin:0 auto;padding:.6rem 1.25rem;display:flex;align-items:center;gap:.8rem;flex-wrap:wrap}
.top-in .spacer{flex:1}
.bina-select{max-width:280px;min-width:180px;font-weight:700}
main{max-width:980px;margin:0 auto;padding:1.5rem 1.25rem 4rem}
.bina-head{display:flex;align-items:flex-end;gap:1rem;flex-wrap:wrap;margin-bottom:1.2rem}
.bina-head h1{font-size:2rem;line-height:1.1;margin:0}
.bina-head .meta{color:var(--muted);margin:.35rem 0 0}
.bina-head .spacer{flex:1}

/* Summary filter strip */
.strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.6rem;margin:0 0 1.6rem}
.strip button{text-align:left;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-s);
  padding:.7rem .85rem;cursor:pointer;border-left:6px solid var(--c)}
.strip button[aria-pressed=true]{background:var(--cb);border-color:var(--c)}
.strip b{display:block;font-size:1.6rem;line-height:1}
.strip span{font-size:.9rem;color:var(--muted)}
@media (max-width:640px){.strip{grid-template-columns:repeat(2,minmax(0,1fr))}}

.notice{background:var(--t-blue-bg);border-radius:var(--radius-s);padding:.7rem .9rem;font-size:.93rem;margin-bottom:1.4rem}

/* Groups & rows */
.group{margin-bottom:2rem}
.group h2{font-size:1.05rem;margin:0 0 .6rem;display:flex;align-items:center;gap:.5rem}
.group h2 .count{color:var(--muted);font-weight:400}
.item{display:grid;grid-template-columns:78px 1fr auto;gap:1rem;align-items:center;background:var(--surface);
  border:1px solid var(--line);border-radius:var(--radius-m);padding:.8rem 1rem .8rem .8rem;margin-bottom:.55rem}
.item.pasif{opacity:.6}
.item h3{font-size:1.05rem;margin:0}
.item .sub{color:var(--muted);font-size:.9rem;margin:.15rem 0 0}
.item .when{font-weight:700;font-size:.93rem;margin:.2rem 0 0;color:var(--c)}
.item .acts{display:flex;gap:.3rem;flex-wrap:wrap;justify-content:flex-end}
@media (max-width:640px){
  .item{grid-template-columns:66px 1fr}
  .item .acts{grid-column:1/-1;justify-content:flex-start}
}

/* The inspection tag — date block */
.tag{position:relative;background:var(--c);color:#fff;border-radius:8px 8px 12px 12px;text-align:center;
  padding:18px 4px 7px;line-height:1.05}
.tag::before{content:"";position:absolute;top:6px;left:50%;width:9px;height:9px;margin-left:-4.5px;border-radius:50%;
  background:var(--surface);box-shadow:inset 0 0 0 2px rgba(0,0,0,.18)}
.tag .d{font-size:1.55rem;font-weight:700;display:block}
.tag .m{font-size:.85rem;display:block}
.tag .y{font-size:.75rem;opacity:.85;display:block;margin-top:2px}
.tag.empty .d{font-size:1.2rem}
.s-red{--c:var(--t-red);--cb:var(--t-red-bg)}
.s-yellow{--c:var(--t-yellow);--cb:var(--t-yellow-bg)}
.s-green{--c:var(--t-green);--cb:var(--t-green-bg)}
.s-grey{--c:var(--t-grey);--cb:var(--t-grey-bg)}
.s-blue{--c:var(--t-blue);--cb:var(--t-blue-bg)}
.pill{display:inline-block;font-size:.78rem;font-weight:700;padding:.1em .55em;border-radius:99px;background:var(--cb);color:var(--c);vertical-align:1px;margin-left:.3em}

.empty-state{background:var(--surface);border:1px dashed var(--line);border-radius:var(--radius-m);padding:2.2rem 1.5rem;text-align:center}
.empty-state h2{margin:.2rem 0 .4rem}
.empty-state p{color:var(--muted);margin:0 auto 1.2rem;max-width:44ch}

/* Dialogs */
dialog{border:0;border-radius:var(--radius-m);padding:0;width:min(620px,calc(100vw - 1.5rem));max-height:calc(100dvh - 2rem);
  background:var(--surface);color:var(--ink);box-shadow:0 20px 60px rgba(0,0,0,.3)}
dialog::backdrop{background:rgba(15,25,35,.5)}
.dlg-head{display:flex;align-items:center;gap:1rem;padding:1rem 1.25rem;border-bottom:1px solid var(--line);position:sticky;top:0;background:var(--surface);z-index:1}
.dlg-head h2{margin:0;font-size:1.2rem;flex:1}
.dlg-body{padding:1.2rem 1.25rem}
.dlg-foot{display:flex;gap:.6rem;justify-content:flex-end;flex-wrap:wrap;padding:1rem 1.25rem;border-top:1px solid var(--line);position:sticky;bottom:0;background:var(--surface)}
.dlg-foot .left{margin-right:auto}
.x{background:none;border:0;font-size:1.6rem;line-height:1;cursor:pointer;color:var(--muted);width:44px;height:44px}

.cat{margin-bottom:1.3rem}
.cat h3{font-size:.95rem;color:var(--muted);margin:0 0 .5rem}
.cat-item{border:1px solid var(--line);border-radius:var(--radius-s);padding:.7rem .8rem;margin-bottom:.45rem}
.cat-item .desc{color:var(--muted);font-size:.88rem;margin:.2rem 0 0 calc(20px + .55em)}
.cat-item .date{margin:.55rem 0 0 calc(20px + .55em);display:none}
.cat-item.on .date{display:block}
.cat-item.on{border-color:var(--brand)}
.cat-item .date input{max-width:220px}

.hist{list-style:none;margin:0;padding:0}
.hist li{border-left:4px solid var(--c);padding:.2rem 0 .2rem .9rem;margin-bottom:1rem}
.hist .h1{font-weight:700}
.hist .h2{color:var(--muted);font-size:.92rem}
.hist .files{margin-top:.3rem;display:flex;gap:.4rem;flex-wrap:wrap}

.days{display:flex;gap:.9rem;flex-wrap:wrap}

#toast{position:fixed;left:50%;bottom:calc(env(safe-area-inset-bottom,0px) + 1.2rem);transform:translateX(-50%);
  background:var(--ink);color:var(--paper);padding:.7rem 1.1rem;border-radius:var(--radius-s);font-weight:700;z-index:50;
  max-width:calc(100vw - 2rem)}
@media (prefers-reduced-motion:no-preference){
  #toast{transition:opacity .2s}
}
.loading{color:var(--muted);padding:2rem 0}
.ekip{list-style:none;margin:0 0 1.2rem;padding:0}
.ekip li{display:flex;align-items:center;gap:.8rem;padding:.65rem 0;border-bottom:1px solid var(--line)}
.ekip li:last-child{border-bottom:0}
.ekip .kim{flex:1;min-width:0}
.ekip .kim b{display:block;overflow-wrap:anywhere}
.ekip .kim span{color:var(--muted);font-size:.9rem;overflow-wrap:anywhere}
.ekip-bolum{font-size:.95rem;color:var(--muted);margin:1.2rem 0 .3rem}

/* ---- Rehber / firma sayfaları ---- */
.sayfa{max-width:980px;margin:0 auto;padding:1.5rem 1.25rem 4rem}
.sayfa h1{font-size:2rem;line-height:1.15;margin:.2rem 0 .4rem}
.sayfa .lead{color:var(--muted);margin:0 0 1.5rem;max-width:62ch}
.top-in nav a{color:var(--ink);text-decoration:none;font-weight:700;font-size:.95rem;padding:.5em .6em;border-radius:var(--radius-s)}
.top-in nav a:hover{background:var(--paper)}
.top-in nav{display:flex;gap:.2rem;flex-wrap:wrap}
.filtre{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.8rem;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-m);padding:1rem;margin-bottom:1.4rem}
@media (max-width:700px){.filtre{grid-template-columns:1fr}}
.filtre .field{margin:0}
.firma{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-m);padding:1.1rem 1.2rem;margin-bottom:.7rem}
.firma h3{margin:0;font-size:1.15rem}
.firma .etiketler{display:flex;flex-wrap:wrap;gap:.35rem;margin:.5rem 0}
.firma .etiketler span{font-size:.8rem;font-weight:700;background:var(--t-blue-bg);color:var(--t-blue);padding:.15em .6em;border-radius:99px}
.firma .bolge{color:var(--muted);font-size:.92rem;margin:.1rem 0 0}
.firma .aciklama{margin:.6rem 0 0;white-space:pre-line}
.firma .iletisim{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:.8rem}
.firma .belge{font-size:.88rem;color:var(--muted);margin:.4rem 0 0}
.secim-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:.35rem .9rem;margin:.3rem 0 0}
.secim-grid .check{font-size:.95rem}
.kutu{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-m);padding:1.3rem;margin-bottom:1.2rem}
.kutu h2{font-size:1.15rem;margin:0 0 1rem}
.durum{border-radius:var(--radius-s);padding:.8rem 1rem;margin-bottom:1.2rem;font-weight:700;background:var(--cb);border-left:6px solid var(--c)}
.durum p{font-weight:400;margin:.25rem 0 0}
.sekme{display:flex;gap:.3rem;flex-wrap:wrap;border-bottom:1px solid var(--line);margin-bottom:1.2rem}
.sekme button{background:none;border:0;padding:.7em .9em;cursor:pointer;font-weight:700;color:var(--muted);border-bottom:3px solid transparent;margin-bottom:-1px}
.sekme button[aria-selected=true]{color:var(--ink);border-color:var(--brand)}
.cta-serit{background:var(--t-blue-bg);border-radius:var(--radius-m);padding:1rem 1.2rem;display:flex;gap:1rem;align-items:center;flex-wrap:wrap;margin:1.8rem 0 0}
.cta-serit p{margin:0;flex:1 1 280px}
label input,label select,label textarea{font-weight:400}
