@font-face{font-family:Figtree;font-weight:400;font-style:normal;font-display:swap;src:url(../fonts/figtree-latin-ext-400-normal.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:Figtree;font-weight:400;font-style:normal;font-display:swap;src:url(../fonts/figtree-latin-400-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:Figtree;font-weight:600;font-style:normal;font-display:swap;src:url(../fonts/figtree-latin-ext-600-normal.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:Figtree;font-weight:600;font-style:normal;font-display:swap;src:url(../fonts/figtree-latin-600-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:Figtree;font-weight:700;font-style:normal;font-display:swap;src:url(../fonts/figtree-latin-ext-700-normal.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:Figtree;font-weight:700;font-style:normal;font-display:swap;src:url(../fonts/figtree-latin-700-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"IBM Plex Mono";font-weight:400;font-style:normal;font-display:swap;src:url(../fonts/ibm-plex-mono-latin-ext-400-normal.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"IBM Plex Mono";font-weight:400;font-style:normal;font-display:swap;src:url(../fonts/ibm-plex-mono-latin-400-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
:root{--primary:#0E5A4B;--bg:#f6f8f7;--card:#fff;--text:#16211e;--muted:#5d6b67;--line:#d9e1de;--danger:#b3261e;--ok:#0E5A4B}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--text);font:16px/1.5 Figtree,system-ui,-apple-system,"Segoe UI",sans-serif}
code,.mono{font-family:"IBM Plex Mono",ui-monospace,Menlo,monospace}
header.top{background:var(--primary);color:#fff;padding:.6rem 1rem;display:flex;gap:1rem;align-items:center;flex-wrap:wrap}
header.top a{color:#fff;text-decoration:none;font-weight:600}
header.top .sp{flex:1}
main{max-width:1100px;margin:1rem auto;padding:0 1rem}
.card{background:var(--card);border:1px solid var(--line);border-radius:10px;padding:1rem;margin-bottom:1rem}
table{width:100%;border-collapse:collapse;font-size:.95rem}
th,td{text-align:left;padding:.5rem;border-bottom:1px solid var(--line);vertical-align:top}
.tablewrap{overflow-x:auto}
label{display:block;font-weight:600;margin:.8rem 0 .2rem}
input[type=text],input[type=search],input[type=password],select{width:100%;max-width:26rem;padding:.55rem;border:1px solid var(--line);border-radius:8px;font:inherit}
.btn{display:inline-block;background:var(--primary);color:#fff;border:0;border-radius:8px;padding:.55rem .9rem;font:inherit;font-weight:600;cursor:pointer;text-decoration:none}
.btn.sec{background:#fff;color:var(--primary);border:1px solid var(--primary)}
.btn.danger{background:var(--danger)}
.flash{padding:.7rem 1rem;border-radius:8px;background:#e3f2ee;border:1px solid #b5d9cf;margin-bottom:1rem}
.err{padding:.7rem 1rem;border-radius:8px;background:#fdeceb;border:1px solid #f0bcb8;margin-bottom:1rem;color:var(--danger)}
.badge{display:inline-block;padding:.1rem .5rem;border-radius:999px;border:1px solid var(--line);font-size:.8rem;margin:.1rem .2rem .1rem 0}
.badge.off{color:var(--danger);border-color:var(--danger)}
.roles label{font-weight:400;margin:.3rem 0;display:flex;gap:.5rem;align-items:center}
.temp{font-size:1.3rem;padding:.4rem .7rem;background:#fff8e1;border:1px dashed #c9a400;display:inline-block;border-radius:6px}
form.inline{display:inline}
@media (max-width:600px){main{padding:0 .75rem}}

a{color:var(--primary)}
header.top a{color:#fff}
.btn:hover{filter:brightness(1.1)}
input:focus-visible,select:focus-visible,.btn:focus-visible,a:focus-visible{outline:3px solid #7fc4b3;outline-offset:2px}
.temp{word-break:break-all}
h1{font-size:1.5rem;margin:.2rem 0 .8rem}
h2{font-size:1.2rem}
@media (max-width:600px){header.top{gap:.5rem .9rem}h1{font-size:1.3rem}}

/* İzin ekranları */
input[type=date],input[type=time]{padding:.55rem;border:1px solid var(--line);border-radius:8px;font:inherit;max-width:12rem;width:100%}
fieldset{border:1px solid var(--line);border-radius:8px;margin:1rem 0;padding:.2rem 1rem 1rem}
legend{font-weight:700;padding:0 .4rem}
.row{display:flex;gap:1rem;flex-wrap:wrap;align-items:flex-end}
.dayrow{align-items:center;margin:.2rem 0}.dayrow label{margin:0;min-width:8rem;font-weight:400}.dayrow input[type=time]{max-width:8rem}
.slots{display:flex;flex-wrap:wrap;gap:.2rem 1rem}.slots label{font-weight:400;margin:.2rem 0;display:flex;gap:.4rem;align-items:center}
.muted{color:var(--muted)}
.badge.ok{color:var(--ok);border-color:var(--ok)}
.badge.warn{color:#8a5a00;border-color:#c9a400;background:#fff8e1}
.badge.green{color:#14532d;border-color:#16a34a;background:#e8f7ee}
[hidden]{display:none!important}

label.check{font-weight:400;display:flex;gap:.5rem;align-items:flex-start;margin:.6rem 0}
.badge.off{color:var(--danger);border-color:var(--danger)}

.badge.blue{color:#1e3a8a;border-color:#3b82f6;background:#eaf1ff}
.badge.pink{color:#831843;border-color:#ec4899;background:#fdeaf4}
.badge.purple{color:#4c1d95;border-color:#8b5cf6;background:#f1ecff}
.badge.orange{color:#7c2d12;border-color:#f97316;background:#fff1e6}
.grid-days td,.grid-days th{text-align:center}
.chk{display:inline-flex;gap:.3rem;align-items:center;font-weight:400}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
