:root{color-scheme:light;--bg:#f2f6f3;--bg-2:#fff;--surface:#fcfdfc;--surface-2:#f3f7f4;--line:#18372d1f;--fg:#18372d;--soft:#60746a;--gold:#126558;--gold-2:#0f5247;--gold-ink:#fff;--free:#237e6c;--req:#c99042;--side:#123c33;--on-side:#e1efe7}
@font-face{font-family:Kalameh;src:url(assets/fonts/kalameh/KalamehWeb-Regular.woff2) format('woff2');font-weight:400;font-display:swap}
@font-face{font-family:Kalameh;src:url(assets/fonts/kalameh/KalamehWeb-Medium.woff2) format('woff2');font-weight:500;font-display:swap}
@font-face{font-family:Kalameh;src:url(assets/fonts/kalameh/KalamehWeb-SemiBold.woff2) format('woff2');font-weight:600;font-display:swap}
@font-face{font-family:Kalameh;src:url(assets/fonts/kalameh/KalamehWeb-Bold.woff2) format('woff2');font-weight:700;font-display:swap}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--fg);font:15px/1.9 Kalameh,Vazirmatn,Tahoma,system-ui,sans-serif}
.top{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px max(16px,env(safe-area-inset-right));background:var(--side);color:var(--on-side);border-bottom:0}
.brand{display:flex;align-items:center;gap:12px;color:var(--on-side);text-decoration:none;line-height:1.4}.brand img{background:#fff;border-radius:12px;padding:3px}.brand small{display:block;color:#a2bfb1;font-size:12px}
.who{display:flex;align-items:center;gap:12px;font-size:14px;color:var(--on-side)}.who .link{color:#c7edda}
main{max-width:860px;margin:0 auto;padding:20px 16px 60px}
.card{background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:20px;margin-bottom:16px;box-shadow:0 1px 2px #18372d0f}
.narrow{max-width:520px;margin-inline:auto}
h1{font-size:24px;margin:0 0 12px}h2{font-size:18px;margin:22px 0 10px;color:var(--gold)}
label{display:block;margin:12px 0 4px;font-size:14px;color:var(--soft)}
input,select{width:100%;min-height:48px;padding:8px 12px;border-radius:10px;border:1px solid #18372d2b;background:var(--bg-2);color:var(--fg);font:inherit}
input:disabled{opacity:.6}
.btn{display:block;width:100%;min-height:50px;margin-top:16px;border:0;border-radius:12px;background:var(--gold);color:var(--gold-ink);font:inherit;font-weight:700;cursor:pointer}
.btn:hover{background:var(--gold-2)}.btn:disabled{opacity:.5;cursor:not-allowed}
.btn.ghost{background:transparent;color:var(--fg);border:1px solid #18372d33}.btn.ghost:hover{background:var(--surface-2)}
.btn.small{display:inline-block;width:auto;min-height:40px;margin:0;padding:6px 16px}
.link{background:none;border:0;color:var(--gold);font:inherit;cursor:pointer;text-decoration:underline}
.note{min-height:1.9em;color:var(--gold);margin:0 0 8px}.note.err{color:#b4412c}
.muted{color:var(--soft);font-size:14px}
.tabs{display:flex;gap:8px;margin-bottom:16px;overflow-x:auto}
.tabs button{flex:1;min-height:46px;border-radius:12px;border:1px solid var(--line);background:var(--surface);color:var(--fg);font:inherit;cursor:pointer;white-space:nowrap;padding-inline:14px}
.tabs button[aria-selected=true]{background:var(--gold);color:var(--gold-ink);border-color:var(--gold);font-weight:700}
input:focus-visible,select:focus-visible,button:focus-visible{outline:2px solid var(--gold);outline-offset:2px}
.monthbar{display:flex;align-items:center;justify-content:space-between;margin:14px 0 8px}
.icon{width:44px;height:44px;border-radius:50%;border:1px solid var(--line);background:var(--bg-2);color:var(--fg);font-size:22px;cursor:pointer}.icon:disabled{opacity:.3}
.cal{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}
.cal .h{text-align:center;font-size:12px;color:var(--soft)}
.cal button,.cal .pad{min-height:52px;border-radius:10px}
.cal button{position:relative;border:1px solid var(--line);background:var(--bg-2);color:var(--fg);font:inherit;cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:center;line-height:1.3}
.cal button:disabled{opacity:.3;cursor:default}
.cal button[aria-pressed=true]{outline:2px solid var(--gold)}
.cal button small{font-size:10px;color:var(--free)}
.cal .today{border-color:var(--gold)}
.cal .mine::after,.cal .req::after{content:'';position:absolute;top:5px;inset-inline-start:5px;width:8px;height:8px;border-radius:50%}
.cal .mine::after{background:var(--gold)}.cal .req::after{background:var(--req)}
.legend{font-size:12px;color:var(--soft)}.dot{display:inline-block;width:8px;height:8px;border-radius:50%;margin-inline:4px 2px}
.dot.free{background:var(--free)}.dot.mine{background:var(--gold)}.dot.req{background:var(--req)}
.day{margin-top:14px;padding-top:6px;border-top:1px solid var(--line)}
.slots{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0}
.slots button{min-width:78px;min-height:44px;border-radius:10px;border:1px solid var(--line);background:var(--bg-2);color:var(--fg);font:inherit;cursor:pointer}
.slots button[aria-pressed=true]{background:var(--gold);color:var(--gold-ink)}
.list>div{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;padding:10px 0;border-bottom:1px solid var(--line)}
.list .sub{color:var(--soft);font-size:13px;width:100%}
.badge{font-size:12px;padding:2px 10px;border-radius:99px;background:var(--surface-2)}
.badge.ok{background:#dff3e8;color:#1d6a50}.badge.wait{background:#f6e8cd;color:#8a5a15}
.total{font-weight:700;color:var(--gold)}
@media(max-width:560px){.card{padding:16px}.cal button{min-height:46px}}
