.nobat{--nb-primary:#20265B;--nb-accent:#FCD3BF;--nb-bg:#FFF8F4;--nb-ok:#1f8a5b;--nb-err:#c0392b;--nb-warn:#b7791f;--nb-line:rgba(32,38,91,.12);
  font-family:Vazirmatn,"Vazir",Tahoma,sans-serif;direction:rtl;text-align:right;color:var(--nb-primary);max-width:860px;margin:0 auto;line-height:1.8;font-size:15px}
.nobat *{box-sizing:border-box;font-family:inherit}
.nobat .nb-card{background:#fff;border-radius:24px;padding:22px;box-shadow:0 10px 30px rgba(32,38,91,.08);border:1px solid var(--nb-line);margin-bottom:18px}
.nobat .nb-h{font-size:1.25rem;margin:0 0 6px;font-weight:800;color:var(--nb-primary)}
.nobat .nb-h4{font-size:1.02rem;margin:18px 0 8px;font-weight:700}
.nobat .nb-sub{color:#5b5f86;margin:0 0 14px;font-size:.93rem}
.nobat .nb-tabs{display:flex;gap:8px;background:var(--nb-bg);padding:6px;border-radius:999px;margin-bottom:14px;width:max-content;max-width:100%;overflow:auto}
.nobat .nb-tab{border:0;background:transparent;padding:9px 18px;border-radius:999px;cursor:pointer;color:var(--nb-primary);font-weight:600;white-space:nowrap;font-size:.92rem}
.nobat .nb-tab.on{background:var(--nb-primary);color:#fff}
.nobat .nb-steps{display:flex;list-style:none;padding:0;margin:0 0 18px;gap:4px;counter-reset:s}
.nobat .nb-steps li{flex:1;text-align:center;font-size:.75rem;color:#8a8daf;position:relative}
.nobat .nb-steps li span{display:flex;align-items:center;justify-content:center;width:30px;height:30px;margin:0 auto 4px;border-radius:50%;background:var(--nb-bg);border:2px solid var(--nb-line);font-weight:700}
.nobat .nb-steps li.cur span{background:var(--nb-primary);color:#fff;border-color:var(--nb-primary)}
.nobat .nb-steps li.done span{background:var(--nb-accent);border-color:var(--nb-accent);color:var(--nb-primary)}
.nobat .nb-steps li em{font-style:normal;display:block}
.nobat .nb-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:10px}
.nobat .nb-option{display:flex;flex-direction:column;gap:2px;text-align:right;border:1.5px solid var(--nb-line);background:var(--nb-bg);border-radius:18px;padding:14px 16px;cursor:pointer;color:var(--nb-primary);transition:.15s}
.nobat .nb-option:hover,.nobat .nb-option.on{border-color:var(--nb-primary);background:#fff;box-shadow:0 6px 18px rgba(32,38,91,.1)}
.nobat .nb-option strong{font-size:.98rem}.nobat .nb-option small{color:#6a6e93;font-size:.8rem}
.nobat .nb-doc{display:flex;gap:12px;align-items:center;background:var(--nb-bg);border-radius:18px;padding:12px 14px;margin-bottom:14px}
.nobat .nb-doc small{display:block;color:#6a6e93}
.nobat .nb-avatar{width:46px;height:46px;border-radius:50%;background:var(--nb-accent);display:flex;align-items:center;justify-content:center;font-size:22px}
.nobat .nb-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;background:var(--nb-primary);color:#fff;border:0;border-radius:999px;padding:11px 26px;font-weight:700;cursor:pointer;font-size:.95rem;text-decoration:none;min-height:44px}
.nobat .nb-btn:hover{filter:brightness(1.15)}
.nobat .nb-btn.ghost{background:transparent;color:var(--nb-primary);border:1.5px solid var(--nb-primary)}
.nobat .nb-btn.danger{background:var(--nb-err)}
.nobat .nb-btn.sm{padding:5px 14px;min-height:32px;font-size:.82rem}
.nobat .nb-btn[disabled],.nobat .nb-btn.is-busy{opacity:.55;cursor:wait}
.nobat .nb-back{margin-top:16px}
.nobat .nb-link{background:none;border:0;color:var(--nb-err);cursor:pointer;text-decoration:underline}
.nobat .nb-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:16px;align-items:center}
.nobat .nb-actions .nb-back{margin-top:0}
.nobat .nb-calhead{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}
.nobat .nb-nav{width:38px;height:38px;border-radius:50%;border:1.5px solid var(--nb-line);background:#fff;cursor:pointer;font-size:20px;color:var(--nb-primary)}
.nobat .nb-nav[disabled]{opacity:.3}
.nobat .nb-wd,.nobat .nb-days{display:grid;grid-template-columns:repeat(7,1fr);gap:6px;text-align:center}
.nobat .nb-wd span{font-size:.8rem;color:#8a8daf;font-weight:700}
.nobat .nb-day{aspect-ratio:1/1;border-radius:14px;border:0;font-weight:700;font-size:.95rem;cursor:pointer;min-height:38px}
.nobat .nb-day.empty{background:none}
.nobat .nb-day.open{background:#e3f4ea;color:#155c3d}
.nobat .nb-day.open:hover{background:var(--nb-ok);color:#fff}
.nobat .nb-day.full{background:var(--nb-accent);color:var(--nb-primary)}
.nobat .nb-day.closed{background:#f3f3f6;color:#c3c4d3;cursor:not-allowed}
.nobat .nb-legend{display:flex;gap:14px;flex-wrap:wrap;font-size:.8rem;margin-top:10px;color:#5b5f86;align-items:center}
.nobat .nb-legend i{display:inline-block;width:14px;height:14px;border-radius:4px;margin-left:4px;vertical-align:middle}
.nobat .nb-legend i.open{background:#e3f4ea}.nobat .nb-legend i.full{background:var(--nb-accent)}.nobat .nb-legend i.closed{background:#f3f3f6}
.nobat .nb-slotgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(92px,1fr));gap:8px}
.nobat .nb-slot{border:1.5px solid var(--nb-line);background:#fff;border-radius:16px;padding:10px 4px;cursor:pointer;color:var(--nb-primary);display:flex;flex-direction:column;align-items:center}
.nobat .nb-slot b{font-size:1.05rem}.nobat .nb-slot small{font-size:.72rem;color:var(--nb-ok)}
.nobat .nb-slot:hover:not([disabled]){background:var(--nb-primary);color:#fff}.nobat .nb-slot:hover:not([disabled]) small{color:var(--nb-accent)}
.nobat .nb-slot[disabled]{background:#f5f5f7;color:#b8b9c9;cursor:not-allowed}.nobat .nb-slot[disabled] small{color:#b8b9c9}
.nobat .nb-form{display:flex;flex-direction:column;gap:12px}
.nobat .nb-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.nobat .nb-row[hidden]{display:none}
.nobat .nb-f{display:flex;flex-direction:column;gap:4px;font-size:.88rem;font-weight:600}
.nobat .nb-f[hidden]{display:none}
.nobat .nb-f input,.nobat .nb-f select,.nobat .nb-f textarea{border:1.5px solid var(--nb-line);border-radius:14px;padding:10px 12px;font-size:1rem;background:var(--nb-bg);color:var(--nb-primary);width:100%;min-height:46px}
.nobat .nb-f input:focus,.nobat .nb-f select:focus,.nobat .nb-f textarea:focus{outline:2px solid var(--nb-accent);border-color:var(--nb-primary);background:#fff}
.nobat .nb-ins{border:1.5px dashed var(--nb-line);border-radius:18px;padding:12px 14px;margin:0}
.nobat .nb-ins legend{font-weight:700;padding:0 6px}
.nobat .nb-radio{margin-left:18px;font-weight:600;cursor:pointer}
.nobat .nb-insf{margin-top:10px}
.nobat .nb-check-f{display:flex;gap:8px;align-items:flex-start;font-size:.88rem}
.nobat .nb-check-f input{margin-top:6px;width:18px;height:18px}
.nobat .nb-check-f a{color:var(--nb-primary);font-weight:700}
.nobat .nb-hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;opacity:0}
.nobat .nb-otp{display:flex;gap:12px;align-items:flex-end;flex-wrap:wrap}
.nobat .nb-alert{border-radius:16px;padding:10px 14px;margin:0 0 12px;font-size:.9rem}
.nobat .nb-alert.err{background:#fdecea;color:var(--nb-err)}
.nobat .nb-alert.ok{background:#e3f4ea;color:#155c3d}
.nobat .nb-alert.info{background:var(--nb-bg);border:1px solid var(--nb-accent)}
.nobat .nb-alert.warn{background:#fff4e0;color:#8a5a00}
.nobat .nb-summary{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:10px 0}
.nobat .nb-summary div{background:var(--nb-bg);border-radius:14px;padding:8px 12px}
.nobat .nb-summary dt{font-size:.75rem;color:#7a7da3}.nobat .nb-summary dd{margin:0;font-weight:700}
.nobat .nb-done{text-align:center}
.nobat .nb-done .nb-actions{justify-content:center}
.nobat .nb-check{width:64px;height:64px;border-radius:50%;background:var(--nb-ok);color:#fff;font-size:34px;display:flex;align-items:center;justify-content:center;margin:0 auto 10px}
.nobat .nb-code{display:inline-flex;flex-direction:column;background:var(--nb-primary);color:#fff;border-radius:18px;padding:10px 26px;margin:10px 0}
.nobat .nb-code small{color:var(--nb-accent)}.nobat .nb-code b{font-size:1.6rem;letter-spacing:3px;font-family:monospace}
.nobat .nb-found{margin-top:16px}
.nobat .nb-loading{padding:18px;text-align:center;color:#8a8daf}
.nobat .nb-appt{display:flex;justify-content:space-between;gap:10px;align-items:center;border-bottom:1px solid var(--nb-line);padding:10px 0}
.nobat .nb-appt small{display:block;color:#6a6e93}
.nobat .nb-appt.st-cancelled{opacity:.55}
.nobat .nb-badge{display:inline-block;background:var(--nb-accent);border-radius:999px;padding:2px 12px;font-size:.78rem;margin-left:6px}
.nobat .nb-fam{padding-right:18px}
@media (max-width:600px){
  .nobat .nb-card{padding:16px;border-radius:20px}
  .nobat .nb-row,.nobat .nb-summary{grid-template-columns:1fr}
  .nobat .nb-steps li em{display:none}
  .nobat .nb-grid{grid-template-columns:1fr}
  .nobat .nb-day{border-radius:10px;font-size:.88rem}
  .nobat .nb-btn{width:100%}
  .nobat .nb-actions{flex-direction:column-reverse}
}
@media print{.nobat .nb-tabs,.nobat .nb-actions{display:none}}
/* theme button resets + calendar sizing */
.nobat button{text-transform:none;letter-spacing:0;line-height:1.4;min-width:0;box-shadow:none;margin:0}
.nobat .nb-cal{max-width:470px;margin:0 auto}
.nobat .nb-wd,.nobat .nb-days{grid-template-columns:repeat(7,minmax(0,1fr))}
.nobat .nb-day{aspect-ratio:auto;height:48px;padding:0;width:100%}
@media (max-width:600px){.nobat .nb-day{height:40px}.nobat .nb-wd,.nobat .nb-days{gap:4px}.nobat .nb-day{border-radius:10px}}
