.elementor-237 .elementor-element.elementor-element-021f38f{--display:flex;--min-height:70vh;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--padding-top:32px;--padding-bottom:72px;--padding-left:16px;--padding-right:16px;}.elementor-237 .elementor-element.elementor-element-021f38f:not(.elementor-motion-effects-element-type-background), .elementor-237 .elementor-element.elementor-element-021f38f > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:var( --e-global-color-pt_bg_soft );}.elementor-237 .elementor-element.elementor-element-cbe0a09{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}@media(min-width:768px){.elementor-237 .elementor-element.elementor-element-021f38f{--content-width:1280px;}.elementor-237 .elementor-element.elementor-element-cbe0a09{--width:100%;}}@media(max-width:1024px){.elementor-237 .elementor-element.elementor-element-021f38f{--padding-top:24px;--padding-bottom:56px;--padding-left:16px;--padding-right:16px;}}@media(max-width:767px){.elementor-237 .elementor-element.elementor-element-021f38f{--padding-top:16px;--padding-bottom:40px;--padding-left:12px;--padding-right:12px;}}/* Start custom CSS *//* Tutor Dashboard – styles for [pt_tutor_dashboard] (sidebar app, login, SCF forms) */
.ptd,.ptd-login,.ptd-empty-account{--n:#0B1A44;--p:#2346C8;--ph:#1B37A3;--m:#5E6272;--b:#E3E6EE;--s:#F6F7FB;--g:#00A06B;font-family:"DM Sans",sans-serif;color:var(--n)}
.ptd *,.ptd-login *{box-sizing:border-box}
.ptd-ico{width:20px;height:20px;flex:0 0 auto}

/* Layout */
.ptd{display:grid;grid-template-columns:264px minmax(0,1fr);gap:28px;align-items:start}
.ptd-side{position:sticky;top:120px;background:#fff;border:1px solid var(--b);border-radius:16px;padding:18px;display:flex;flex-direction:column;gap:16px;box-shadow:0 12px 32px -18px rgba(11,26,68,.18)}
.ptd-me{display:flex;align-items:center;gap:12px;padding:6px 6px 16px;border-bottom:1px solid var(--b)}
.ptd-me img,.ptd-me__ini{width:48px;height:48px;border-radius:50%;object-fit:cover;flex:0 0 auto}
.ptd-me__ini{display:grid;place-items:center;background:linear-gradient(135deg,#2346C8,#0B1A44);color:#fff;font-weight:700;font-size:16px}
.ptd-me__name{margin:0 0 4px;font-weight:700;font-size:15px;line-height:1.3}
.ptd-nav{display:flex;flex-direction:column;gap:2px}
.ptd .ptd-nav__link{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:10px;color:var(--m);font-size:15px;font-weight:600;text-decoration:none;transition:background .2s,color .2s}
.ptd .ptd-nav__link:hover{background:var(--s);color:var(--n)}
.ptd .ptd-nav__link.is-active{background:#EAF0FF;color:var(--p)}
.ptd-nav__link span:not(.ptd-nav__badge){flex:1}
.ptd-nav__badge{min-width:22px;height:22px;padding:0 7px;border-radius:999px;background:#E0A100;color:#fff;font-size:12px;font-weight:700;display:inline-grid;place-items:center}
.ptd-side__foot{display:flex;flex-direction:column;gap:2px;padding-top:12px;border-top:1px solid var(--b)}
.ptd .ptd-side__foot a{display:flex;align-items:center;gap:10px;padding:8px 12px;border-radius:10px;color:var(--m);font-size:14px;font-weight:500;text-decoration:none}
.ptd .ptd-side__foot a:hover{background:var(--s);color:var(--n)}
.ptd-side__foot .ptd-ico{width:18px;height:18px}

.ptd-main{min-width:0}
.ptd-top{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:20px;flex-wrap:wrap}
.ptd-top__title{margin:0;font-size:28px;line-height:1.2;font-weight:700;color:var(--n)}
.ptd-top__sub{margin:4px 0 0;color:var(--m);font-size:15px}

/* Panels */
.ptd-panel{display:none}
.ptd-panel.is-active{display:block;animation:ptdIn .35s ease both}
.ptd:not(.is-ready) .ptd-panel{display:block;margin-bottom:28px}
@keyframes ptdIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){.ptd-panel.is-active{animation:none}}

/* Cards */
.ptd-card{background:#fff;border:1px solid var(--b);border-radius:16px;padding:24px;margin-bottom:20px;box-shadow:0 10px 28px -18px rgba(11,26,68,.16)}
.ptd-card__head{margin-bottom:16px}
.ptd-card__head h3{margin:0;font-size:18px;font-weight:700;color:var(--n)}
.ptd-card__head p{margin:4px 0 0;color:var(--m);font-size:14px;line-height:1.5}
.ptd-grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;align-items:start}
.ptd-grid-2>.ptd-card{margin-bottom:0}
.ptd-panel>.ptd-grid-2{margin-bottom:20px}
.ptd-muted{color:var(--m);font-size:14px;line-height:1.55;margin:0}
.ptd-small{font-size:13px}
.ptd-eyebrow{margin:0 0 6px;font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--p)}
.ptd-eyebrow.is-light{color:#9FB3FF}
.ptd-link{display:inline-flex;align-items:center;gap:6px;margin-top:12px;color:var(--p);font-weight:700;font-size:14px;text-decoration:none}
.ptd-link .ptd-ico{width:16px;height:16px;transition:transform .2s}
.ptd-link:hover .ptd-ico{transform:translateX(3px)}

/* Buttons */
.ptd-btn,.ptd .acf-form-submit .ptd-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:46px;padding:0 22px;border-radius:10px;background:var(--p);border:1px solid var(--p);color:#fff!important;font-family:inherit;font-size:15px;font-weight:700;text-decoration:none;cursor:pointer;transition:background .2s,transform .2s}
.ptd-btn:hover{background:var(--ph);border-color:var(--ph);transform:translateY(-1px)}
.ptd-btn.is-ghost{background:#fff;color:var(--p)!important;border-color:#CBD5F5}
.ptd-btn.is-ghost:hover{background:#EAF0FF}
.ptd-btn.is-sm{min-height:38px;padding:0 14px;font-size:14px;border-radius:8px}
.ptd-btn .ptd-ico{width:18px;height:18px}

/* Alerts */
.ptd-alert{display:flex;gap:12px;align-items:flex-start;padding:14px 18px;border-radius:12px;margin-bottom:20px;font-size:15px;line-height:1.5}
.ptd-alert.is-ok{background:#E3F6EE;color:#0A5E40;border:1px solid #BFE7D5}
.ptd-alert.is-err{background:#FDECEC;color:#8A1C1C;border:1px solid #F5C6C6}
.ptd-inline-note{display:flex;gap:10px;align-items:center;padding:12px 16px;border-radius:10px;background:#FDF3DC;color:#4A3500;font-size:14px;line-height:1.5;margin-bottom:16px}
.ptd-inline-note .ptd-ico{color:#B07E00}

/* Status banner */
.ptd-status{position:relative;overflow:hidden;border-radius:18px;padding:28px;margin-bottom:20px;color:#fff;background:linear-gradient(135deg,#2346C8 0%,#0B1A44 100%)}
.ptd-status.is-live{background:linear-gradient(135deg,#00A06B 0%,#0B5E45 100%)}
.ptd-status.is-warn{background:linear-gradient(135deg,#E0A100 0%,#8A5A00 100%)}
.ptd-status.is-bad{background:linear-gradient(135deg,#B42318 0%,#5E1410 100%)}
.ptd-status::after{content:"";position:absolute;right:-60px;top:-60px;width:220px;height:220px;border-radius:50%;background:rgba(255,255,255,.08)}
.ptd-status .ptd-eyebrow{color:rgba(255,255,255,.8)}
.ptd-status h2{margin:0;font-size:26px;line-height:1.25;color:#fff}
.ptd-status p{margin:8px 0 0;max-width:620px;color:rgba(255,255,255,.88);font-size:15px;line-height:1.6}
.ptd-status__note{margin-top:16px;padding:14px 16px;border-radius:10px;background:rgba(255,255,255,.14);font-size:14px;line-height:1.55}
.ptd-status__note strong{display:block;margin-bottom:4px}
.ptd-steps{position:relative;z-index:1;list-style:none;margin:24px 0 0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
.ptd-steps li{display:flex;align-items:center;gap:10px;padding-top:12px;border-top:3px solid rgba(255,255,255,.25);font-size:13px;font-weight:600;color:rgba(255,255,255,.75)}
.ptd-steps li>span{display:inline-grid;place-items:center;width:28px;height:28px;border-radius:50%;background:rgba(255,255,255,.18);font-size:12px;font-weight:700;flex:0 0 auto}
.ptd-steps li>span .ptd-ico{width:16px;height:16px}
.ptd-steps li.is-done{color:#fff;border-top-color:#fff}
.ptd-steps li.is-done>span{background:#fff;color:var(--n)}
.ptd-steps li.is-current{color:#fff;border-top-color:rgba(255,255,255,.6)}
.ptd-steps li.is-current>span{box-shadow:0 0 0 2px #fff}

/* Stats */
.ptd-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:20px}
.ptd-stat{background:#fff;border:1px solid var(--b);border-radius:14px;padding:18px;transition:transform .2s,box-shadow .2s}
.ptd-stat:hover{transform:translateY(-2px);box-shadow:0 14px 28px -18px rgba(11,26,68,.25)}
.ptd-stat__ico{display:inline-grid;place-items:center;width:38px;height:38px;border-radius:10px;background:#EAF0FF;color:var(--p);margin-bottom:12px}
.ptd-stat__label{margin:0;color:var(--m);font-size:13px;font-weight:600}
.ptd-stat__value{margin:2px 0 0;font-size:26px;font-weight:700;line-height:1.2;color:var(--n)}
.ptd-stat__meta{margin:4px 0 0;color:var(--m);font-size:13px}
.ptd-meter{display:block;height:6px;border-radius:99px;background:var(--b);margin-top:10px;overflow:hidden}
.ptd-meter i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#2346C8,#00A06B)}

/* Checklist */
.ptd-checklist{list-style:none;margin:0;padding:0}
.ptd-checklist li{display:flex;align-items:center;gap:12px;padding:10px 0;border-top:1px solid #EEF0F5;font-size:14px}
.ptd-checklist li:first-child{border-top:0}
.ptd-checklist li>span:nth-child(2){flex:1}
.ptd-checklist li.is-done>span:nth-child(2){color:var(--m);text-decoration:line-through;text-decoration-color:#B8BECC}
.ptd-checklist__mark{width:22px;height:22px;border-radius:50%;border:2px solid #CBD1DE;display:grid;place-items:center;flex:0 0 auto}
.ptd-checklist li.is-done .ptd-checklist__mark{background:var(--g);border-color:var(--g);color:#fff}
.ptd-checklist__mark .ptd-ico{width:14px;height:14px}
.ptd-checklist a{display:inline-flex;align-items:center;gap:4px;color:var(--p);font-weight:700;font-size:13px;text-decoration:none}
.ptd-checklist a .ptd-ico{width:14px;height:14px}

/* Mini reviews */
.ptd-mini-review{padding:12px 0;border-top:1px solid #EEF0F5}
.ptd-mini-review:first-child{border-top:0;padding-top:0}
.ptd-mini-review p{margin:0 0 6px;font-size:14px;line-height:1.55}
.ptd-mini-review__stars{color:#F5B400;letter-spacing:2px}
.ptd-mini-review__stars span{color:#D8DCE6}

/* Photo & documents */
.ptd-photo{display:flex;align-items:center;gap:20px;flex-wrap:wrap}
.ptd-photo img,.ptd-photo__empty{width:96px;height:96px;border-radius:50%;object-fit:cover}
.ptd-photo__empty{display:grid;place-items:center;background:var(--s);color:var(--m);font-size:28px;font-weight:700}
.ptd-docs{display:flex;flex-direction:column}
.ptd-doc{display:flex;align-items:center;gap:14px;padding:14px 0;border-top:1px solid #EEF0F5;flex-wrap:wrap}
.ptd-doc:first-child{border-top:0;padding-top:0}
.ptd-doc__ico{display:grid;place-items:center;width:40px;height:40px;border-radius:10px;background:var(--s);color:var(--m);flex:0 0 auto}
.ptd-doc__ico.is-ok{background:#E3F6EE;color:var(--g)}
.ptd-doc__text{flex:1;min-width:160px}
.ptd-doc__name{margin:0;font-weight:700;font-size:15px}
.ptd-upload{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.ptd-upload__pick{display:inline-flex;align-items:center;gap:8px;min-height:38px;padding:0 12px;border:1px dashed #B8C2DC;border-radius:8px;color:var(--m);font-size:13px;font-weight:600;cursor:pointer;max-width:240px;background:#fff;transition:border-color .2s,color .2s}
.ptd-upload__pick:hover{border-color:var(--p);color:var(--p)}
.ptd-upload__pick .ptd-ico{width:16px;height:16px}
.ptd-upload__pick span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ptd-upload__pick input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}
.ptd-upload__pick.has-file{border-style:solid;border-color:var(--p);color:var(--p)}

/* Reviews tab (shortcode output) */
.ptd-reviews .pt-rsum{display:flex;align-items:center;gap:12px;margin-bottom:12px}
.ptd-reviews .pt-rsum__num{font-size:32px;font-weight:700}
.ptd-reviews .pt-review{padding:16px 0;border-top:1px solid #EEF0F5}
.ptd-reviews .pt-review__head{display:flex;align-items:center;gap:12px;margin-bottom:8px}
.ptd-reviews .pt-review__avatar{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;background:#EAF0FF;color:var(--p);font-weight:700}
.ptd-reviews .pt-review__right{margin-left:auto;color:#F5B400}
.ptd-reviews .pt-review__text{margin:0;font-size:15px;line-height:1.6}
.ptd-reviews .pt-rempty{padding:24px;border-radius:12px;background:var(--s);text-align:center}
.ptd-share{word-break:break-all}
.ptd-share a{color:var(--p);font-weight:600}

/* Plain forms */
.ptd-form{display:flex;flex-direction:column;gap:14px}
.ptd-form label{display:flex;flex-direction:column;gap:6px;font-size:13px;font-weight:700;color:var(--n)}
.ptd-form input,.ptd .acf-form input[type=text],.ptd .acf-form input[type=number],.ptd .acf-form input[type=email],.ptd .acf-form input[type=url],.ptd .acf-form textarea,.ptd .acf-form select{width:100%;min-height:44px;padding:10px 14px;border:1px solid #CBD1DE;border-radius:10px;font-family:inherit;font-size:15px;font-weight:400;color:var(--n);background:#fff;transition:border-color .2s,box-shadow .2s}
.ptd-form input:focus,.ptd .acf-form input:focus,.ptd .acf-form textarea:focus,.ptd .acf-form select:focus{outline:0;border-color:var(--p);box-shadow:0 0 0 3px rgba(35,70,200,.15)}
.ptd-form input:disabled{background:var(--s);color:var(--m)}
.ptd-form .ptd-btn{align-self:flex-start;margin-top:4px}

/* SCF forms */
.ptd .acf-fields>.acf-field{padding:16px 0!important;border-top:1px solid #EEF0F5!important;border-left:0!important}
.ptd .acf-fields>.acf-field:first-child{border-top:0!important;padding-top:0!important}
.ptd .acf-label label{font-size:14px;font-weight:700;color:var(--n)}
.ptd .acf-field p.description,.ptd .acf-label .description{color:var(--m);font-size:13px}
.ptd .acf-form textarea{min-height:120px}
.ptd .acf-checkbox-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px 16px}
.ptd .acf-checkbox-list li{margin:0}
.ptd .acf-checkbox-list label,.ptd .acf-radio-list label{display:flex;align-items:center;gap:8px;font-size:14px;color:var(--n)}
.ptd .acf-checkbox-list input,.ptd .acf-radio-list input{accent-color:var(--p);width:16px;height:16px}
.ptd .acf-table{border-color:var(--b);border-radius:10px;overflow:hidden}
.ptd .acf-table>thead>tr>th{background:var(--s);color:var(--n);font-weight:700;font-size:13px}
.ptd .acf-repeater .acf-row-handle{background:var(--s)}
.ptd .acf-button.button{border-radius:8px;border:1px solid var(--p);color:var(--p);background:#fff;padding:8px 14px;font-weight:600}
.ptd .acf-form-submit{margin-top:20px;padding-top:20px;border-top:1px solid #EEF0F5}
.ptd .acf-notice.-error{border-radius:10px}

/* Login + empty */
.ptd-login{display:grid;grid-template-columns:1fr 1fr;max-width:980px;margin:24px auto;background:#fff;border:1px solid var(--b);border-radius:20px;overflow:hidden;box-shadow:0 24px 48px -24px rgba(11,26,68,.25)}
.ptd-login__brand{padding:48px;background:linear-gradient(140deg,#2346C8 0%,#0B1A44 100%);color:#fff}
.ptd-login__brand h2{margin:0 0 12px;font-size:32px;line-height:1.2;color:#fff}
.ptd-login__brand p{color:rgba(255,255,255,.85);line-height:1.6}
.ptd-login__brand ul{list-style:none;margin:24px 0 0;padding:0;display:flex;flex-direction:column;gap:12px}
.ptd-login__brand li{display:flex;align-items:center;gap:10px;font-weight:600}
.ptd-login__brand li .ptd-ico{width:22px;height:22px;padding:3px;border-radius:50%;background:rgba(255,255,255,.18)}
.ptd-login__form{padding:48px}
.ptd-login__form h3{margin:0 0 6px;font-size:24px}
.ptd-login__form form{margin-top:20px}
.ptd-login__form form p{margin:0 0 14px}
.ptd-login__form label{display:block;margin-bottom:6px;font-size:13px;font-weight:700}
.ptd-login__form input[type=text],.ptd-login__form input[type=password]{width:100%;min-height:46px;padding:10px 14px;border:1px solid #CBD1DE;border-radius:10px;font-size:15px}
.ptd-login__form .login-remember label{display:flex;align-items:center;gap:8px;font-weight:500}
.ptd-login__form input[type=submit]{width:100%;min-height:48px;border:0;border-radius:10px;background:var(--p);color:#fff;font-family:inherit;font-size:15px;font-weight:700;cursor:pointer}
.ptd-login__form input[type=submit]:hover{background:var(--ph)}
.ptd-login__links{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;font-size:14px;color:var(--m)}
.ptd-login__links a{color:var(--p);font-weight:700;text-decoration:none}
.ptd-empty-account{max-width:640px;margin:24px auto;background:#fff;border:1px solid var(--b);border-radius:16px;padding:32px;text-align:center}
.ptd-empty-account a{color:var(--p);font-weight:700}

/* Responsive */
@media (max-width:1100px){.ptd{grid-template-columns:232px minmax(0,1fr);gap:20px}.ptd-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:900px){
.ptd{grid-template-columns:1fr}
.ptd-side{position:relative;top:auto;z-index:2;padding:12px;gap:10px;border-radius:14px}
.ptd-me{padding:0 4px 10px}
.ptd-me img,.ptd-me__ini{width:40px;height:40px}
.ptd-nav{flex-direction:row;overflow-x:auto;gap:6px;scrollbar-width:none;-webkit-overflow-scrolling:touch;scroll-snap-type:x proximity}
.ptd-nav::-webkit-scrollbar{display:none}
.ptd .ptd-nav__link{flex:0 0 auto;padding:8px 12px;font-size:14px;background:var(--s);scroll-snap-align:start}
.ptd .ptd-nav__link.is-active{background:var(--p);color:#fff}
.ptd-nav__link span:not(.ptd-nav__badge){flex:0 0 auto}
.ptd-side__foot{flex-direction:row;flex-wrap:wrap;padding-top:8px}
.ptd .ptd-side__foot a{padding:6px 8px;font-size:13px}
.ptd-grid-2{grid-template-columns:1fr}
.ptd-login{grid-template-columns:1fr}
.ptd-login__brand,.ptd-login__form{padding:32px 24px}
}
@media (max-width:600px){
.ptd-top__title{font-size:22px}
.ptd-top .ptd-btn{display:none}
.ptd-card{padding:18px}
.ptd-status{padding:22px}
.ptd-status h2{font-size:21px}
.ptd-steps{grid-template-columns:1fr 1fr}
.ptd-stats{gap:10px}
.ptd-stat{padding:14px}
.ptd-stat__value{font-size:22px}
.ptd .acf-checkbox-list{grid-template-columns:1fr 1fr}
.ptd-doc .ptd-upload{width:100%}
.ptd-login__brand h2{font-size:26px}
}

/* Fixes: no wrapping nav labels, no mobile overflow */
.ptd .ptd-nav__link{white-space:nowrap}
@media (max-width:1100px){.ptd .ptd-nav__link{font-size:14px;gap:10px}}
@media (max-width:900px){.ptd{grid-template-columns:minmax(0,1fr)}.ptd-side,.ptd-main{min-width:0;max-width:100%}}
/* Availability – hourly grid */
.ptd-hours__tools{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}
.ptd-hours__wrap{overflow-x:auto;margin-bottom:8px}
.ptd-hours__grid{border-collapse:separate;border-spacing:4px;margin:0;width:100%;min-width:420px}
.ptd-hours__grid th{font-size:12px;font-weight:600;color:var(--m);padding:2px 4px;text-align:center;background:none;border:0}
.ptd-hours__grid tbody th{text-align:right;white-space:nowrap;width:44px}
.ptd-hours__grid td{padding:0;border:0;height:30px;border-radius:6px;background:var(--s);text-align:center;font-size:11px}
.ptd-hours__grid label{display:block;height:30px;position:relative;cursor:pointer;margin:0}
.ptd-hours__grid input{position:absolute;opacity:0}
.ptd-hours__grid i{position:absolute;inset:0;border-radius:6px;border:1px solid #E3E6EE;transition:background .15s}
.ptd-hours__grid label:hover i{border-color:var(--g)}
.ptd-hours__grid input:checked+span+i{background:var(--g);border-color:var(--g)}
.ptd-hours__grid input:focus-visible+span+i{outline:2px solid var(--p)}
.ptd-hours__grid td.is-busy{background:#DCE3F5;color:var(--p);line-height:30px}
.ptd-hours__key{font-size:12px;color:var(--m);margin:0 0 16px}
.ptd-hours__key span{display:inline-block;width:12px;height:12px;border-radius:3px;margin:0 4px 0 12px;vertical-align:-2px;font-size:8px;line-height:12px;text-align:center}
.ptd-hours__key .k-on{background:var(--g);margin-left:0}.ptd-hours__key .k-busy{background:#DCE3F5;color:var(--p)}.ptd-hours__key .k-off{background:var(--s);border:1px solid #E3E6EE}/* End custom CSS */