:root{--ink: #111111;--muted: #5b5b5b;--line: #e6e6e6;--soft: #f6f6f4;--red: #d7141a;--red-dark: #a50e13;--green: #1f6f3a;--amber: #8a4b00;--white: #ffffff;--latin: Inter, system-ui, -apple-system, "Segoe UI", sans-serif;--rtl: Vazirmatn, Tahoma, sans-serif;--display: "Barlow Condensed", var(--latin)}*{box-sizing:border-box}html,body{margin:0;padding:0}body{font-family:var(--latin);color:var(--ink);background:var(--soft);font-size:15px;line-height:1.5;-webkit-text-size-adjust:100%}html[lang=ar] body,html[lang=fa] body{font-family:var(--rtl)}html[lang=ar] .h1,html[lang=fa] .h1,html[lang=ar] .hero,html[lang=fa] .hero,html[lang=ar] .title,html[lang=fa] .title,html[lang=ar] .card-big,html[lang=fa] .card-big{font-family:var(--rtl);letter-spacing:0;text-transform:none}.latin{font-family:var(--latin)}.rtlfont{font-family:var(--rtl)}button,input,select,textarea{font:inherit;color:inherit}a{color:var(--red)}a:hover{color:var(--red-dark)}:focus-visible{outline:3px solid #2563eb;outline-offset:2px}.stack{display:flex;flex-direction:column;gap:16px}.stack-sm{display:flex;flex-direction:column;gap:10px}.grid2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.grid3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.grid4{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}.two-col{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:16px;align-items:start}.row-between{display:flex;justify-content:space-between;align-items:center;gap:10px}.row-wrap{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.toolbar{display:flex;flex-wrap:wrap;gap:10px;align-items:center;justify-content:space-between}.pad{padding:24px}.muted{color:var(--muted)}.muted-light{color:#dadada;margin:0}.small{font-size:13px}.xs{font-size:12px}.strong{font-weight:700}.prewrap{white-space:pre-wrap;margin:0}.ok{color:var(--green);font-weight:600;margin:0}.error{color:#b00020;font-weight:600;margin:0}.empty{padding:8px 0;margin:0}.danger{color:#b00020}p,h1,h2,h3{margin:0}.h1{font-family:var(--display);font-size:32px;text-transform:uppercase;letter-spacing:.5px;line-height:1.1}.title{font-family:var(--display);font-size:32px;text-transform:uppercase}.eyebrow{font-size:12px;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;color:#bdbdbd}.eyebrow.dark{color:var(--muted)}html[lang=ar] .eyebrow,html[lang=fa] .eyebrow{letter-spacing:0}.btn{min-height:48px;padding:0 18px;border:0;font-weight:600;font-size:15px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:6px;text-decoration:none}.btn:disabled{opacity:.6;cursor:default}.btn-sm{min-height:40px;padding:0 12px;font-size:13px;align-self:flex-start}.btn-primary{background:var(--red);color:var(--white)}.btn-primary:hover:not(:disabled){background:var(--red-dark)}.btn-dark{background:var(--ink);color:var(--white)}.btn-dark:hover{color:var(--white)}.btn-outline{background:var(--white);color:var(--ink);border:1px solid var(--ink)}.btn-muted{background:#f0f0f0;color:var(--ink)}.btn-ghost-dark{background:transparent;color:var(--white);border:1px solid #5b5b5b}.btn-text{background:transparent;color:var(--red)}.block{display:flex;width:100%}.link{background:none;border:0;color:var(--red);font-weight:600;cursor:pointer;padding:8px 0;text-align:start;min-height:40px}.icon-btn{width:44px;height:44px;border:0;background:transparent;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;color:inherit}.icon-btn.sm{width:32px;height:32px}html[dir=rtl] .back svg{transform:scaleX(-1)}.field{display:flex;flex-direction:column;gap:6px;font-size:14px;font-weight:600;min-width:0}.field-hint{font-weight:400;color:var(--muted);font-size:12px}input,select,textarea{width:100%;min-height:46px;border:1px solid #cfcfcf;background:var(--white);padding:10px 12px;font-size:16px;border-radius:0;font-weight:400}textarea{resize:vertical}input[type=checkbox]{width:20px;height:20px;min-height:0;flex-shrink:0;margin:2px 0 0}input[type=file]{padding:8px}.check{display:flex;gap:10px;align-items:flex-start;font-size:13px;line-height:1.5;color:#3a3a3a}.chips{display:flex;flex-wrap:wrap;gap:8px}.chip{min-height:40px;padding:0 14px;border:1px solid #cfcfcf;background:var(--white);cursor:pointer;font-size:14px}.chip.on{background:var(--ink);color:var(--white);border-color:var(--ink)}.segmented{display:grid;grid-auto-flow:column;grid-auto-columns:1fr;border:1px solid var(--ink)}.segmented button{min-height:44px;border:0;background:var(--white);cursor:pointer;font-weight:600;padding:0 8px}.segmented button.on{background:var(--ink);color:var(--white)}.tabs{display:flex;gap:0;border-bottom:2px solid var(--line);overflow-x:auto}.tabs button{min-height:46px;padding:0 16px;border:0;border-bottom:3px solid transparent;margin-bottom:-2px;background:transparent;cursor:pointer;font-weight:600;color:var(--muted);white-space:nowrap}.tabs button.on{border-bottom-color:var(--red);color:var(--ink)}.pill{min-height:34px;padding:0 10px;border:1px solid #cfcfcf;background:var(--white);font-size:12px;font-weight:600;cursor:pointer;white-space:nowrap}.pill.on{background:var(--ink);color:var(--white);border-color:var(--ink)}.tag{font-size:11px;font-weight:700;color:var(--red);white-space:nowrap}.search{max-width:280px}.langswitch{display:inline-flex;border:1px solid var(--ink)}.langswitch button{min-width:52px;min-height:40px;border:0;background:var(--white);color:var(--ink);cursor:pointer;font-weight:600;font-size:13px;padding:0 8px}.langswitch button.on{background:var(--ink);color:var(--white)}.langswitch.dark{border-color:#5b5b5b}.langswitch.dark button{background:transparent;color:var(--white)}.langswitch.dark button.on{background:var(--white);color:var(--ink)}.card{background:var(--white);border:1px solid var(--line);padding:16px;display:flex;flex-direction:column;gap:10px;min-width:0}.card h3{font-size:16px}.card-head{display:flex;justify-content:space-between;align-items:center;gap:10px}.card.dark{background:var(--ink);color:var(--white);border-color:var(--ink)}.card.outline{border-color:var(--ink)}.card.soft{background:var(--soft)}.card.note{border-inline-start:0}.card.faded{opacity:.55}.card.row-between{flex-direction:row}.card-big{font-family:var(--display);font-size:26px;text-transform:uppercase}.stat{background:var(--white);border:1px solid var(--line);padding:14px;display:flex;flex-direction:column;gap:2px}.stat-num{font-family:var(--display);font-size:30px;line-height:1.1}.stat-num.sm{font-size:22px}.mini{background:var(--soft);padding:10px 6px;text-align:center;display:flex;flex-direction:column}.mini-num{font-family:var(--display);font-size:22px}.bar{height:8px;background:#ededed}.bar div{height:8px;background:var(--red)}.line{padding:8px 0;border-bottom:1px solid #f0f0f0}.kv{display:flex;justify-content:space-between;gap:12px;font-size:14px;padding:4px 0;border-bottom:1px solid #f3f3f3}.kv span:last-child{text-align:end}.status{font-size:12px;font-weight:700;white-space:nowrap}.st-attended,.ps-paid{color:var(--green)}.st-scheduled,.ps-pending{color:var(--amber)}.st-cancelled,.st-missed,.ps-cancelled{color:var(--muted)}.disclaimer{background:var(--soft);padding:10px 12px;color:#3a3a3a;line-height:1.55}.legend{display:flex;flex-wrap:wrap;gap:14px;color:#3a3a3a}.legend span{display:inline-flex;align-items:center;gap:6px}.sw-line{display:inline-block;width:14px;height:3px;background:var(--red)}.sw-bar{display:inline-block;width:12px;height:12px;background:#e4e4e4}.chart{width:100%;height:auto;max-width:460px}.center-page{min-height:100vh;display:flex;justify-content:center;background:var(--white)}.center-page.dark{background:var(--ink)}.center-page>*{width:100%;max-width:480px}.auth{padding:28px 22px 40px;display:flex;flex-direction:column;gap:16px}.lead-dark{color:#3a3a3a;line-height:1.6}.welcome{min-height:100vh;background:var(--ink);color:var(--white);padding:28px 24px 36px;display:flex;flex-direction:column;gap:14px}.welcome-top{display:flex;justify-content:space-between;align-items:center;gap:10px}.welcome-body{flex:1;display:flex;flex-direction:column;justify-content:flex-end;gap:14px;padding-bottom:8px}.brand{background:var(--red);color:var(--white);font-family:var(--display);font-weight:700;font-size:20px;letter-spacing:1px;padding:5px 12px}.hero{font-family:var(--display);font-weight:700;font-size:48px;line-height:.98;text-transform:uppercase}html[lang=ar] .hero,html[lang=fa] .hero{font-size:38px;line-height:1.3}.lead{color:#dadada;font-size:16px;line-height:1.6}.client-shell{max-width:560px;margin:0 auto;min-height:100vh;background:var(--soft);padding-bottom:86px}.client-main{padding:22px 18px}.page-head{display:flex;justify-content:space-between;align-items:center;gap:12px}.avatar{width:44px;height:44px;border-radius:50%;border:0;background:var(--ink);color:var(--white);display:inline-flex;align-items:center;justify-content:center;font-weight:700;font-size:17px;cursor:pointer;flex-shrink:0}.avatar.sm{width:36px;height:36px;font-size:15px;background:var(--red)}.bottom-nav{position:fixed;bottom:0;inset-inline:0;margin:0 auto;max-width:560px;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));background:var(--white);border-top:1px solid var(--line);padding:6px 4px calc(10px + env(safe-area-inset-bottom));z-index:10}.bottom-nav button{display:flex;flex-direction:column;align-items:center;gap:2px;min-height:52px;border:0;background:transparent;color:#6b6b6b;font-size:11px;font-weight:600;cursor:pointer}.bottom-nav button.on{color:var(--red)}.ex-row{display:flex;align-items:center;gap:10px;background:var(--white);border:1px solid var(--line);padding:8px 10px;min-height:64px}.ex-text{display:flex;flex-direction:column;flex:1;min-width:0}.check-btn{width:44px;height:44px;border:0;background:transparent;display:flex;align-items:center;justify-content:center;cursor:pointer;flex-shrink:0}.check-btn span{width:26px;height:26px;border:2px solid #9a9a9a;display:flex;align-items:center;justify-content:center;color:var(--white);font-weight:700}.check-btn.on span{background:var(--red);border-color:var(--red)}.play-btn{width:52px;height:44px;border:0;background:var(--ink);color:var(--white);display:flex;align-items:center;justify-content:center;cursor:pointer;flex-shrink:0}.video-card{display:flex;flex-direction:column;gap:6px;text-align:start;border:1px solid var(--line);background:var(--white);padding:0 0 10px;cursor:pointer}.video-card>span:not(.video-thumb){padding:0 10px}.video-thumb{height:90px;width:100%;background:#1e1e1e;display:flex;align-items:center;justify-content:center}.video{position:relative;padding-top:56.25%;background:#000}.video iframe{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;border:0}.video-ph{background:#1e1e1e;color:#bdbdbd;display:flex;align-items:center;justify-content:center;height:180px;font-size:13px}.cues{margin:0;padding-inline-start:18px;display:flex;flex-direction:column;gap:4px}.file-row{display:flex;align-items:center;gap:10px;padding:8px 0;border-bottom:1px solid #f0f0f0;width:100%;background:none;border-inline:0;border-top:0;text-align:start}.link-row{cursor:pointer}.file-title{flex:1;min-width:0;display:flex;flex-direction:column;background:none;border:0;text-align:start;cursor:pointer;padding:0}.file-kind{font-size:10px;font-weight:700;color:var(--white);background:var(--muted);padding:4px 6px;white-space:nowrap}.k-blood{background:var(--red)}.k-imaging{background:var(--ink)}.pkg{display:flex;justify-content:space-between;align-items:center;gap:10px;min-height:52px;padding:0 12px;border:1px solid #cfcfcf;background:var(--white);cursor:pointer;text-align:start}.pkg.on{background:var(--ink);color:var(--white);border-color:var(--ink)}.sheet-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#1111118c;display:flex;align-items:flex-end;justify-content:center;z-index:50}.sheet{background:var(--white);width:100%;max-width:620px;max-height:92vh;overflow-y:auto;padding:18px 18px calc(24px + env(safe-area-inset-bottom));display:flex;flex-direction:column;gap:12px}.sheet-head{display:flex;justify-content:space-between;align-items:center;gap:10px}.sheet-head h2{font-size:20px}@media (min-width: 720px){.sheet-backdrop{align-items:center}}.staff-shell{min-height:100vh;background:var(--soft)}.staff-top{background:var(--ink);color:var(--white);padding:10px 20px 0;position:sticky;top:0;z-index:20}.staff-top-row{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px}.staff-who{display:flex;flex-wrap:wrap;align-items:center;gap:10px;color:#dadada}.staff-nav{display:flex;gap:2px;overflow-x:auto;margin-top:8px}.staff-nav button{min-height:44px;padding:0 14px;border:0;border-bottom:3px solid transparent;background:transparent;color:#bdbdbd;font-weight:600;cursor:pointer;white-space:nowrap}.staff-nav button.on{color:var(--white);border-bottom-color:var(--red)}.staff-main{max-width:1320px;margin:0 auto;padding:22px 20px 60px}.client-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px}.client-card{display:flex;align-items:center;gap:12px;background:var(--white);border:1px solid var(--line);padding:12px;cursor:pointer;text-align:start;min-height:64px}.client-card-text{display:flex;flex-direction:column;flex:1;min-width:0}.client-head{display:flex;align-items:center;gap:12px}.builder{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:16px;align-items:start}.lib-list{display:flex;flex-direction:column;max-height:560px;overflow-y:auto}.lib-row{display:flex;align-items:center;gap:10px;padding:8px 0;border-bottom:1px solid #f0f0f0}.lib-text{display:flex;flex-direction:column;flex:1;min-width:0}.plan-item{border-bottom:1px solid #f0f0f0;padding:8px 0;display:flex;flex-direction:column;gap:6px}.plan-item .field{font-size:11px;color:var(--muted)}.plan-item input,.plan-item select{min-height:38px;padding:6px 8px;font-size:14px}.preview-item{background:var(--white);border:1px solid var(--line);padding:10px;display:flex;flex-direction:column;gap:2px}.session-row{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px;padding:10px 0;border-bottom:1px solid #f0f0f0}.note-row{border-top:1px solid #f0f0f0;padding-top:8px}.table-wrap{overflow-x:auto}.table{width:100%;border-collapse:collapse;font-size:14px;min-width:620px}.table th{text-align:start;font-size:12px;color:var(--muted);text-transform:uppercase;padding:8px;border-bottom:1px solid var(--line)}.table td{padding:8px;border-bottom:1px solid #f0f0f0;vertical-align:middle}@media (max-width: 520px){.grid4{grid-template-columns:repeat(2,minmax(0,1fr))}.hero{font-size:42px}.staff-main{padding:16px 14px 60px}}.ex-filter{display:flex;flex-direction:column;gap:8px}.search-box{display:flex;align-items:center;gap:8px;border:1px solid var(--ink);background:var(--white);padding:0 12px;min-height:46px}.search-box svg{color:var(--muted);flex:none}.search-box input{border:0;outline:0;flex:1;min-width:0;font:inherit;background:transparent;padding:10px 0}.filter-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.filter-row select{min-height:40px;border:1px solid var(--line);background:var(--white);font:inherit;font-size:13px;padding:0 6px;min-width:0}.filter-row select.on{border-color:var(--red);color:var(--red);font-weight:600}.filter-meta{flex-wrap:wrap;gap:8px;align-items:center}.filter-meta .segmented{flex:1 1 220px;max-width:320px}.filter-meta .segmented button{min-height:34px;font-size:13px}.link-btn{border:0;background:none;color:var(--red);font-weight:700;cursor:pointer;padding:4px;text-decoration:underline}.check-inline{display:inline-flex;align-items:center;gap:4px;cursor:pointer}.lib-group{display:flex;flex-direction:column}.lib-letter{position:sticky;top:0;z-index:1;background:var(--soft);font-family:Barlow Condensed,Vazirmatn,sans-serif;font-weight:700;font-size:18px;color:var(--red);padding:6px 2px;border-bottom:1px solid var(--line);margin:0}.lib-list .lib-letter{background:var(--white)}.lib-item{display:flex;align-items:center;gap:10px;text-align:start;border:0;border-bottom:1px solid var(--line);background:var(--white);padding:10px 8px;cursor:pointer;font:inherit;color:inherit;width:100%}.lib-item:hover{background:#fafafa}.lib-play{width:30px;height:30px;flex:none;display:grid;place-items:center;background:var(--ink);color:var(--white);border-radius:50%}.lib-play.off{background:var(--line);color:var(--muted)}html[dir=rtl] .lib-play svg{transform:scaleX(-1)}.lib-item .lib-text{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}@media (max-width: 420px){.filter-row{grid-template-columns:1fr 1fr}.filter-row select:last-child{grid-column:span 2}}
