@import url('https://fonts.googleapis.com/css2?family=Sora:wght@600;700;800&family=Outfit:wght@400;500;600;700&display=swap');
.dsb-page,.dsb-back{--blue:#0057FF;--blue2:#0044CC;--navy:#0A1F5C;--teal:#00C6AE;--bg:#F2F6FF;--line:#DDE5F8;--muted:#5B6B96;--red:#DC2626;--green:#0E9F6E;--amber:#B45309;font-family:'Outfit',-apple-system,'Segoe UI',sans-serif;color:var(--navy);line-height:1.5}
.dsb-page *,.dsb-page *::before,.dsb-page *::after,.dsb-back *,.dsb-back *::before,.dsb-back *::after{box-sizing:border-box}
.entry-content,.page-content,.site-content{max-width:100%!important;padding-left:0!important;padding-right:0!important}
.dsb-page{width:100vw;max-width:100vw;margin-left:calc(50% - 50vw);position:relative;overflow-x:hidden;background:var(--bg);min-height:70vh}
.dsb-page h1,.dsb-page h2,.dsb-page h3,.dsb-back h3{font-family:'Sora',sans-serif;color:var(--navy);margin:0;letter-spacing:-.3px}
.dsb-page p{margin:0}.dsb-page a{text-decoration:none}
.dsb-page [hidden]{display:none!important}
.dsb-hero{position:relative;background:linear-gradient(135deg,#0A1F5C 0%,#0057FF 62%,#00A3FF 100%);color:#fff;padding:44px 20px 86px;overflow:hidden}
.dsb-hero::before{content:"";position:absolute;inset:0;background-image:radial-gradient(rgba(255,255,255,.16) 1.4px,transparent 1.4px);background-size:26px 26px;-webkit-mask-image:linear-gradient(180deg,#000,transparent 90%);mask-image:linear-gradient(180deg,#000,transparent 90%)}
.dsb-hero::after{content:"+";position:absolute;right:6%;top:18%;font-size:90px;font-weight:800;color:rgba(255,255,255,.1)}
.dsb-hero-in{position:relative;max-width:980px;margin:0 auto}
.dsb-hero h1{color:#fff;font-size:clamp(28px,5vw,44px);font-weight:800;margin:12px 0 8px}
.dsb-hero p{color:rgba(255,255,255,.85);max-width:560px;font-size:16px}
.dsb-pill{display:inline-flex;gap:6px;background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.3);color:#fff;border-radius:99px;padding:6px 14px;font-weight:600;font-size:13px;backdrop-filter:blur(6px)}
.dsb-body{position:relative;max-width:980px;margin:-56px auto 0;padding:0 16px 24px}
.dsb-card{background:#fff;border:1px solid var(--line);border-radius:22px;box-shadow:0 18px 50px rgba(10,31,92,.1);padding:26px}
.dsb-load{text-align:center;color:var(--muted);padding:44px}
.dsb-spin{display:inline-block;width:18px;height:18px;border:3px solid var(--line);border-top-color:var(--blue);border-radius:50%;animation:dsbs .8s linear infinite;vertical-align:-4px}
@keyframes dsbs{to{transform:rotate(360deg)}}
/* login */
.dsb-login{max-width:480px;margin:0 auto;text-align:center}
.dsb-badge{width:60px;height:60px;border-radius:18px;margin:-52px auto 14px;display:grid;place-items:center;background:linear-gradient(135deg,var(--blue),var(--teal));color:#fff;box-shadow:0 12px 28px rgba(0,87,255,.35)}
.dsb-badge .dsb-i svg{width:28px;height:28px}
.dsb-login h2{font-size:22px;font-weight:800;margin-bottom:6px}
.dsb-sub{color:var(--muted);font-size:14.5px;margin:4px 0 14px}
.dsb-lab{display:block;text-align:left;font-size:12.5px;font-weight:700;color:var(--muted);margin:14px 0 6px}
.dsb-phone{display:flex;align-items:stretch;border:1.5px solid #C9D6F2;border-radius:14px;background:#fff;overflow:hidden;transition:.15s}
.dsb-phone:focus-within{border-color:var(--blue);box-shadow:0 0 0 4px rgba(0,87,255,.12)}
.dsb-cc{display:flex;align-items:center;padding:0 14px;background:var(--bg);border-right:1.5px solid #C9D6F2;font-weight:700;white-space:nowrap}
.dsb-phone input{flex:1;min-width:0;border:0!important;outline:0!important;box-shadow:none!important;background:transparent!important;padding:15px 14px;font-size:18px;font-weight:600;letter-spacing:1px;color:var(--navy);font-family:inherit;height:auto;margin:0}
.dsb-err{color:var(--red);font-size:13.5px;font-weight:600;min-height:20px;margin:10px 0 6px;text-align:left}
.dsb-err:empty{min-height:0;margin:0}
.dsb-feats{list-style:none;display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:20px 0 0;padding:0;text-align:left}
.dsb-feats li{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:600;color:var(--muted);background:var(--bg);padding:9px 11px;border-radius:12px}
.dsb-i{display:inline-flex;vertical-align:middle;flex:none}
.dsb-boxes{display:flex;gap:8px;justify-content:center;margin:14px 0 4px}
.dsb-boxes .dsb-box{width:48px;height:58px;border:1.5px solid #C9D6F2;border-radius:14px;text-align:center;font-size:24px;font-weight:700;font-family:'Sora',sans-serif;color:var(--navy);background:#fff;padding:0;outline:0;margin:0;transition:.15s}
.dsb-boxes .dsb-box:focus{border-color:var(--blue);box-shadow:0 0 0 4px rgba(0,87,255,.14)}
.dsb-row-c{text-align:center;margin-top:8px}
.dsb-link{background:none;border:0;color:var(--blue);font-weight:700;font-size:14px;cursor:pointer;padding:6px;font-family:inherit}.dsb-link:disabled{color:var(--muted);cursor:default}
/* buttons */
.dsb-btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;border:1.5px solid #C9D6F2;background:#fff;color:var(--navy);border-radius:12px;padding:10px 16px;font-weight:700;font-size:14.5px;font-family:inherit;cursor:pointer;min-height:44px;transition:.15s;line-height:1.2}
.dsb-btn:hover{border-color:var(--blue);color:var(--blue)}
.dsb-btn.primary{background:var(--blue);border-color:var(--blue);color:#fff;box-shadow:0 8px 20px rgba(0,87,255,.24)}.dsb-btn.primary:hover{background:var(--blue2);color:#fff}
.dsb-btn.danger{color:var(--red);border-color:#F3C0C0}.dsb-btn.danger:hover{background:#FEF2F2;border-color:var(--red);color:var(--red)}
.dsb-btn.danger:not(:disabled):active{background:#FEE2E2}
.dsb-btn.ghost{border-color:transparent;background:rgba(10,31,92,.05)}
.dsb-btn.block{width:100%;margin-top:10px;min-height:50px;font-size:16px}
.dsb-btn.sm{min-height:38px;padding:7px 12px;font-size:13.5px}
.dsb-btn:disabled{opacity:.45;cursor:not-allowed;box-shadow:none}
.dsb-btn.busy{opacity:.8}
/* home */
.dsb-top{display:flex;align-items:center;justify-content:space-between;gap:10px;background:#fff;border:1px solid var(--line);border-radius:20px;padding:14px 16px;box-shadow:0 14px 40px rgba(10,31,92,.1)}
.dsb-me{display:flex;align-items:center;gap:12px;min-width:0}.dsb-me b{display:block;font-family:'Sora',sans-serif;font-size:16px}.dsb-me small{color:var(--muted)}
.dsb-av{width:46px;height:46px;border-radius:50%;background:linear-gradient(135deg,var(--blue),var(--teal));color:#fff;display:grid;place-items:center;font-weight:800;font-family:'Sora',sans-serif;flex:none}
.dsb-tabs{display:flex;gap:8px;margin:16px 0 12px;overflow-x:auto;scrollbar-width:none;padding:2px}.dsb-tabs::-webkit-scrollbar{display:none}
.dsb-tab{display:inline-flex;align-items:center;gap:8px;border:1.5px solid var(--line);background:#fff;color:var(--navy);border-radius:99px;padding:9px 16px;font-weight:700;font-size:14.5px;font-family:inherit;cursor:pointer;white-space:nowrap;transition:.15s}
.dsb-tab b{background:var(--bg);border-radius:99px;min-width:24px;padding:1px 8px;font-size:12.5px;color:var(--muted)}
.dsb-tab.on{background:var(--navy);border-color:var(--navy);color:#fff}.dsb-tab.on b{background:rgba(255,255,255,.18);color:#fff}
.dsb-list{display:grid;gap:14px}
.dsb-bk{position:relative;background:#fff;border:1px solid var(--line);border-radius:20px;padding:16px;box-shadow:0 8px 26px rgba(10,31,92,.06);overflow:hidden}
.dsb-bk::before{content:"";position:absolute;left:0;top:0;bottom:0;width:5px;background:linear-gradient(var(--blue),var(--teal))}
.dsb-bk.past::before{background:#C9D6F2}.dsb-bk.cancelled::before{background:#F3A4A4}
.dsb-next{display:inline-block;background:#FFF2CC;color:#7A5200;font-size:11.5px;font-weight:700;padding:2px 10px;border-radius:99px;margin-bottom:6px}
.dsb-bk-main{display:flex;gap:14px;padding-left:6px}
.dsb-date{flex:none;width:64px;border-radius:16px;background:var(--bg);text-align:center;padding:8px 4px;display:flex;flex-direction:column;align-items:center;justify-content:center;line-height:1.1;height:fit-content}
.dsb-date b{font-family:'Sora',sans-serif;font-size:26px;font-weight:800;color:var(--blue)}.dsb-date span{font-weight:700;font-size:13px;text-transform:uppercase}.dsb-date small{color:var(--muted);font-size:11.5px;margin-top:2px}
.dsb-bk.cancelled .dsb-date b{color:#C26B6B}.dsb-bk.past .dsb-date b{color:var(--muted)}
.dsb-info{min-width:0;flex:1}
.dsb-l1{display:flex;align-items:flex-start;gap:8px;flex-wrap:wrap;justify-content:space-between}
.dsb-l1 h3{font-size:17px;font-weight:700}
.dsb-st{font-size:12px;font-weight:700;border-radius:99px;padding:3px 10px;white-space:nowrap}.dsb-st.green{background:#DAF8F3;color:#007A6A}.dsb-st.grey{background:#EDF0F7;color:var(--muted)}.dsb-st.red{background:#FEE2E2;color:#B91C1C}
.dsb-sp{color:var(--blue);font-weight:600;font-size:14px}
.dsb-meta{display:flex;flex-wrap:wrap;gap:6px 16px;margin-top:6px;color:var(--navy);font-size:14.5px;font-weight:600}.dsb-meta span{display:inline-flex;align-items:center;gap:6px}.dsb-meta .dsb-i{color:var(--blue)}
.dsb-pt{margin-top:8px;font-size:13.5px;color:var(--muted)}.dsb-pt b{color:var(--navy)}.dsb-pt code{background:var(--bg);padding:1px 7px;border-radius:6px;font-size:12.5px;color:var(--navy)}
.dsb-pay{margin-top:4px;font-size:13.5px;color:var(--muted)}.dsb-pay b{color:var(--navy)}
.dsb-note{margin:12px 0 0 6px;padding:10px 12px;border-radius:12px;background:#F4F7FF;border:1px solid var(--line);font-size:13.5px;color:var(--muted);display:flex;gap:8px;align-items:flex-start}
.dsb-note.warn{background:#FFF7E0;border-color:#FFE3A0;color:#7A5200}.dsb-note b{color:var(--navy)}
.dsb-acts{display:flex;gap:8px;flex-wrap:wrap;margin:14px 0 0 6px}.dsb-acts .dsb-btn{flex:1 1 140px}
.dsb-tools{display:flex;gap:6px;flex-wrap:wrap;margin:12px 0 0 6px;padding-top:12px;border-top:1px dashed var(--line)}
.dsb-tool{display:inline-flex;align-items:center;gap:6px;font-size:13px;font-weight:600;color:var(--muted);background:transparent;border:0;padding:6px 10px;border-radius:99px;cursor:pointer;font-family:inherit}.dsb-tool:hover{background:var(--bg);color:var(--blue)}
.dsb-empty{background:#fff;border:1.5px dashed #C9D6F2;border-radius:20px;text-align:center;padding:40px 20px;display:flex;flex-direction:column;align-items:center;gap:6px}.dsb-empty .e{font-size:40px}.dsb-empty b{font-family:'Sora',sans-serif;font-size:18px}.dsb-empty span{color:var(--muted);margin-bottom:10px}
.dsb-foot{max-width:980px;margin:6px auto 0;padding:10px 16px 36px;color:var(--muted);font-size:13.5px;text-align:center;display:flex;flex-direction:column;gap:4px;align-items:center}.dsb-foot a{color:var(--blue);font-weight:700}.dsb-foot span{font-size:12.5px;opacity:.85}
/* modal */
.dsb-lock,.dsb-lock body{overflow:hidden}
.dsb-back{position:fixed;inset:0;z-index:99999;background:rgba(10,25,40,.55);display:flex;align-items:center;justify-content:center;padding:14px}
.dsb-modal{background:#fff;border-radius:22px;width:100%;max-width:560px;max-height:92vh;display:flex;flex-direction:column;box-shadow:0 30px 80px rgba(0,0,0,.35);animation:dsbpop .2s ease-out}
@keyframes dsbpop{from{transform:translateY(14px) scale(.98);opacity:0}}
.dsb-mh{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid var(--line)}.dsb-mh h3{font-size:18px}
.dsb-x{border:0!important;background:none!important;font-size:30px;line-height:1;color:var(--muted)!important;cursor:pointer;width:38px;height:38px;border-radius:10px!important;padding:0!important}.dsb-x:hover{background:var(--bg)!important}
.dsb-mb{padding:16px 20px;overflow:auto;-webkit-overflow-scrolling:touch}
.dsb-mf{display:flex;gap:10px;justify-content:flex-end;padding:14px 20px;border-top:1px solid var(--line);flex-wrap:wrap}.dsb-mf .dsb-btn{flex:1 1 150px}
.dsb-sum{display:flex;flex-direction:column;gap:2px;background:var(--bg);border-radius:14px;padding:12px 14px;margin-bottom:12px}.dsb-sum b{font-family:'Sora',sans-serif}.dsb-sum span{font-size:14px}.dsb-sum small{color:var(--muted)}
.dsb-policy{background:#FFF7E0;border:1px solid #FFE3A0;border-radius:14px;padding:12px 14px;color:#5D4200;font-size:14px}.dsb-policy ul{margin:6px 0 0;padding-left:18px}.dsb-policy li{margin:3px 0}.dsb-policy b{color:#3E2B00}
.dsb-check{display:flex;gap:10px;align-items:flex-start;margin:14px 0 4px;font-size:14px;cursor:pointer;font-weight:600}.dsb-check input{width:20px;height:20px;margin:1px 0 0;accent-color:var(--blue);flex:none}
.dsb-done{text-align:center;padding:6px 0}.dsb-done h3{font-size:20px;margin:10px 0 6px}.dsb-done p{color:var(--muted);font-size:14.5px;margin:6px 0}.dsb-done .dsb-sum{text-align:left;margin:12px 0}
.tick{width:64px;height:64px;border-radius:50%;margin:6px auto;display:grid;place-items:center;background:#DAF8F3;color:#007A6A}.tick.red{background:#FEE2E2;color:#B91C1C}.tick svg{width:32px;height:32px}
/* calendar */
.dsb-cal{margin:6px 0}.dsb-cal-h{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.dsb-cal-h b{font-family:'Sora',sans-serif}
.dsb-cal-n{width:40px;height:40px;border-radius:12px;border:1.5px solid var(--line);background:#fff;font-size:22px;cursor:pointer;color:var(--navy);padding:0}.dsb-cal-n:disabled{opacity:.35;cursor:default}
.dsb-cal-g{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}.dsb-cal-g .dow{text-align:center;font-size:12px;font-weight:700;color:var(--muted);padding:4px 0}
.dsb-d{aspect-ratio:1;border:0;border-radius:12px;background:transparent;color:#B6C0D8;font-weight:600;font-size:15px;font-family:inherit;padding:0;cursor:default}
.dsb-d.ok{background:#E9F1FF;color:var(--blue);cursor:pointer;font-weight:700}.dsb-d.ok:hover{background:#D5E5FF}
.dsb-d.cur{box-shadow:inset 0 0 0 2px var(--teal)}.dsb-d.sel{background:var(--blue)!important;color:#fff!important}
.dsb-legend{display:flex;gap:8px;align-items:center;font-size:12px;color:var(--muted);margin-top:8px}.dsb-legend i{width:14px;height:14px;border-radius:5px;background:#E9F1FF;display:inline-block}.dsb-legend i.c{background:#fff;box-shadow:inset 0 0 0 2px var(--teal);margin-left:10px}
.dsb-sel{font-weight:700;color:var(--blue);margin:10px 0 2px;min-height:0}
.dsb-grp{font-size:12.5px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.5px;margin:12px 0 6px}
.dsb-sg{display:grid;grid-template-columns:repeat(auto-fill,minmax(98px,1fr));gap:8px}
.dsb-slot{border:1.5px solid var(--line);background:#fff;border-radius:12px;padding:10px 6px;font-weight:700;font-size:14px;font-family:inherit;color:var(--navy);cursor:pointer;transition:.12s}.dsb-slot:hover{border-color:var(--blue);color:var(--blue)}.dsb-slot.on{background:var(--blue);border-color:var(--blue);color:#fff}
.dsb-skel{display:grid;grid-template-columns:repeat(auto-fill,minmax(80px,1fr));gap:8px}.dsb-skel i{height:44px;border-radius:12px;background:linear-gradient(90deg,#EDF2FF,#F7F9FF,#EDF2FF);background-size:200% 100%;animation:dsbk 1.2s infinite}
@keyframes dsbk{to{background-position:-200% 0}}
.dsb-toast{position:fixed;left:50%;bottom:24px;transform:translate(-50%,30px);background:var(--navy);color:#fff;padding:11px 18px;border-radius:12px;font-weight:600;font-size:14px;z-index:100000;opacity:0;transition:.25s;font-family:'Outfit',sans-serif}.dsb-toast.in{opacity:1;transform:translate(-50%,0)}.dsb-toast.bad{background:#B91C1C}
/* phones: bottom-sheet modals, tighter cards */
@media(max-width:640px){
  .dsb-hero{padding:32px 16px 76px}.dsb-body{padding:0 12px 16px;margin-top:-48px}.dsb-card{padding:22px 18px;border-radius:20px}
  .dsb-boxes{gap:6px}.dsb-boxes .dsb-box{width:44px;height:54px}
  .dsb-bk{padding:14px 12px}.dsb-bk-main{gap:10px;padding-left:4px}.dsb-date{width:56px}.dsb-date b{font-size:22px}
  .dsb-note,.dsb-acts,.dsb-tools{margin-left:2px}.dsb-acts .dsb-btn{flex:1 1 40%}.dsb-acts .dsb-btn.primary{flex:1 1 100%}
  .dsb-back{align-items:flex-end;padding:0}.dsb-modal{max-width:none;border-radius:22px 22px 0 0;max-height:94vh}.dsb-mf{position:sticky;bottom:0;background:#fff}
  .dsb-top .dsb-btn.ghost{padding:7px 10px}
}
@media(prefers-reduced-motion:reduce){.dsb-page *,.dsb-modal{animation:none!important;transition:none!important}}
