
:root{--saas-accent:#3f78ff;--saas-accent-2:#10b981;--saas-bg:#f5f8ff;--saas-text:#111827;--saas-muted:#6b7280;--saas-border:#e6ebf5;--saas-dark:#0f172a}
body{background:linear-gradient(180deg,#eef4ff 0%,#f8fbff 60%,#ffffff 100%)!important;color:var(--saas-text)}
.section{padding:32px 0 48px}
.container,.container-xl,.container-xxl{width:min(1240px,94%);margin-inline:auto}
.auth-shell,.narrow{width:min(720px,92%);margin-inline:auto}
.alert{border-radius:1rem;padding:1rem 1.1rem;margin-bottom:1rem;border:1px solid var(--saas-border);font-weight:500}
.alert-success{background:#ecfdf3;color:#0f5132;border-color:#cfe8d8}.alert-error{background:#fff1f2;color:#9f1239;border-color:#fecdd3}
.btn{border-radius:.95rem!important;font-weight:700!important;letter-spacing:.01em}.btn-secondary{background:#fff!important;color:#111827!important;border:1px solid var(--saas-border)!important}
.text-link{color:var(--saas-accent)!important;font-weight:600}
.hero-surface,.feature-card,.info-box,.price-card,.lead-form,.card,.demo-box,.auth-card,.compact-surface,.template-card,.app-card,.mini-card,.invite-item,.week-day-card{background:#fff!important;border:1px solid var(--saas-border)!important;box-shadow:0 12px 40px rgba(15,23,42,.07)!important;border-radius:1.35rem!important}
.panel-topbar{display:flex;justify-content:space-between;gap:1.25rem;align-items:flex-start;margin-bottom:1.35rem;padding:0}
.panel-topbar h1,.auth-card h1{font-size:clamp(1.7rem,2.6vw,2.6rem);line-height:1.06;margin:.35rem 0 .7rem;color:#111827}
.eyebrow,.badge,.pill,.mobile-pill{display:inline-flex;align-items:center;gap:.45rem;padding:.55rem .85rem;border-radius:999px;background:#eef4ff;color:#3157d3;font-size:.84rem;font-weight:700;border:1px solid #dbe6ff}
.hero-actions,.dashboard-links{display:flex;flex-wrap:wrap;gap:.8rem}.dashboard-links{margin-bottom:1rem}
.grid{display:grid;gap:1.1rem}.grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}
.feature-card,.info-box,.price-card,.lead-form,.auth-card{padding:1.35rem}.compact-form{padding:0!important;background:transparent!important;border:none!important;box-shadow:none!important}
.lead-form label,.compact-surface label{display:grid;gap:.45rem;font-weight:600;color:#374151}.lead-form input,.lead-form select,.lead-form textarea,input,select,textarea{background:#f9fbff!important;border:1px solid #dbe3f0!important;color:#111827!important;border-radius:1rem!important;padding:.9rem 1rem!important;box-shadow:none!important}
.table-wrap{overflow:auto}.table{width:100%;border-collapse:separate;border-spacing:0}.table th,.table td{padding:1rem .9rem;border-bottom:1px solid #edf2fa;color:#4b5563;background:#fff}.table th{color:#111827;font-size:.82rem;text-transform:uppercase;letter-spacing:.06em}
.metric{font-size:2.2rem;font-weight:800;color:#111827;margin:.2rem 0}.stat-card{position:relative;overflow:hidden}.stat-card:before{content:'';position:absolute;right:-40px;bottom:-40px;width:140px;height:140px;border-radius:50%;background:radial-gradient(circle,rgba(63,120,255,.12),transparent 68%)}
.inline-note{padding:.9rem 1rem;background:#f8fafc;border:1px dashed #d9e2ef;border-radius:1rem;color:#475569}
.invite-list,.lead-compact-list,.equivalence-stack,.week-day-stack{display:grid;gap:.9rem}.invite-item,.mini-card,.equivalence-card,.week-day-card{padding:1rem 1.05rem}.break-all{word-break:break-all}.mt-8{margin-top:.5rem}.mt-16{margin-top:1rem}.mt-24{margin-top:1.5rem}.full{grid-column:1/-1}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.summary-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem}.summary-grid>div{padding:1rem;border-radius:1rem;background:#f8fbff;border:1px solid #e8eefb}.summary-grid small{display:block;color:#6b7280;margin-bottom:.2rem}.summary-grid strong{font-size:1.05rem;color:#111827}
.patient-app-body{min-height:100vh;background:linear-gradient(180deg,#eff5ff 0%,#f8fbff 100%)!important}.patient-layout{display:grid;gap:1.35rem;grid-template-columns:370px minmax(0,1fr);align-items:start}.patient-phone-shell{position:sticky;top:24px;display:block}.phone-top{display:flex;justify-content:center;gap:6px;padding:0 0 12px}.phone-top span{display:block;width:40px;height:5px;border-radius:999px;background:#cbd5e1}.phone-content{padding:1rem;border-radius:2rem;background:#0f172a;box-shadow:0 20px 70px rgba(15,23,42,.18)}.phone-content .app-card{background:linear-gradient(180deg,#ffffff,#f8fbff)!important;border:none!important;box-shadow:0 10px 28px rgba(15,23,42,.08)!important;margin-bottom:.95rem}.patient-web-shell{display:block}.app-card{padding:1.05rem 1.05rem 1.1rem}.app-card h3,.info-box h3,.feature-card h3,.auth-card h1{color:#111827}.week-day-card strong{display:block;color:#111827;margin-bottom:.35rem}.week-day-card span{display:block;color:#475569;line-height:1.5}.patient-phone-shell .week-day-card{background:#f8fbff!important;border:1px solid #e6edf8!important}
.auto-mobile{display:none}.auto-web{display:block}
@media (max-width: 991px){.grid.two,.grid.three,.form-grid,.summary-grid,.patient-layout{grid-template-columns:1fr}.patient-phone-shell{position:relative;top:0}.auto-mobile{display:block}.auto-web{display:none}.patient-phone-shell{max-width:420px;margin-inline:auto}.panel-topbar{flex-direction:column}.hero-actions .btn,.dashboard-links .btn{flex:1 1 auto}}
@media (min-width: 992px){.patient-phone-shell{display:none}.patient-web-shell{display:block}}
.app-shell-toggle{display:none!important}
.kt-surface{background:#fff;border:1px solid var(--saas-border);border-radius:1.35rem;box-shadow:0 12px 40px rgba(15,23,42,.06)}
.kt-nav{display:flex;flex-wrap:wrap;gap:.75rem;padding:1rem 1.1rem;margin-bottom:1.2rem}.kt-nav a{display:inline-flex;align-items:center;padding:.75rem 1rem;border:1px solid var(--saas-border);border-radius:1rem;background:#fff;color:#111827;font-weight:600}.kt-nav a:hover{background:#f8fbff;color:#3157d3}
.kt-page{padding:24px 0 52px}.kt-header{padding:1.25rem 0 1rem}.kt-header-card{padding:1.4rem 1.4rem 1.3rem;background:linear-gradient(135deg,#0f172a 0%,#16213b 55%,#24427d 100%);color:#fff;border-radius:1.5rem;box-shadow:0 20px 60px rgba(15,23,42,.22)}.kt-header-card p{color:#d7def1}.kt-header-card .eyebrow{background:rgba(255,255,255,.12);color:#fff;border-color:rgba(255,255,255,.15)}.kt-header-card h1{color:#fff}
.auth-page{min-height:100vh;display:grid;place-items:center;background:radial-gradient(circle at top left,#dfeaff 0,#f6f9ff 36%,#fff 100%)}
.auth-card{position:relative;overflow:hidden}.auth-card:before{content:'';position:absolute;top:-60px;right:-60px;width:180px;height:180px;border-radius:50%;background:radial-gradient(circle,rgba(63,120,255,.10),transparent 70%)}


.auth-premium .auth-wide-shell{max-width:1320px!important}.auth-section-shell{padding-block:32px}.auth-split-card{display:grid;grid-template-columns:minmax(320px,1fr) minmax(320px,540px);min-height:720px;background:#fff;border-radius:32px;overflow:hidden;box-shadow:0 28px 90px rgba(15,23,42,.14);border:1px solid rgba(148,163,184,.18)}.auth-split-reverse{grid-template-columns:minmax(320px,540px) minmax(320px,1fr)}.auth-brand-panel{padding:48px 42px;display:flex;flex-direction:column;justify-content:center;gap:20px}.auth-brand-panel h1{font-size:clamp(2rem,4vw,3.4rem);line-height:1.05;margin:0}.auth-brand-panel p{font-size:1.05rem;line-height:1.7;margin:0;max-width:44rem}.auth-brand-dark{background:linear-gradient(135deg,#0f172a 0%,#16213b 48%,#24427d 100%);color:#fff}.auth-brand-soft{background:linear-gradient(180deg,#eff5ff 0%,#dbe8ff 100%);color:#0f172a}.auth-feature-list{display:grid;gap:14px;margin-top:6px}.auth-feature-list div{padding:16px 18px;border-radius:20px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.12)}.auth-brand-soft .auth-feature-list div{background:rgba(255,255,255,.6);border:1px solid rgba(148,163,184,.22)}.auth-feature-list strong{display:block;margin-bottom:4px}.auth-feature-list span{display:block;opacity:.9}.auth-form-panel{display:grid;place-items:center;padding:28px;background:linear-gradient(180deg,#ffffff 0%,#f8fbff 100%)}.auth-card-clean{max-width:470px;width:100%;box-shadow:none!important;border:none!important;background:transparent!important;padding:10px 6px!important}.auth-card-clean h2{font-size:2rem;margin-bottom:8px}.auth-card-clean p{color:#64748b}.console-dashboard-shell{display:grid;grid-template-columns:280px minmax(0,1fr);gap:24px;align-items:start}.console-main{min-width:0}.console-sidebar{position:sticky;top:24px;padding:18px;border-radius:28px;background:linear-gradient(180deg,#0f172a 0%,#172554 100%);color:#fff;box-shadow:0 18px 60px rgba(15,23,42,.18)}.console-sidebar-soft{background:linear-gradient(180deg,#1e293b 0%,#1d4ed8 100%)}.console-sidebar-brand{display:grid;gap:4px;padding:8px 6px 18px;border-bottom:1px solid rgba(255,255,255,.12);margin-bottom:14px}.console-sidebar-brand strong{font-size:1.2rem}.console-sidebar-brand small{color:rgba(255,255,255,.72)}.console-menu{display:grid;gap:8px}.console-menu a{display:flex;align-items:center;min-height:46px;padding:0 14px;border-radius:14px;color:#fff;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.08);font-weight:600}.console-menu a:hover{background:rgba(255,255,255,.12);color:#fff}.patient-container{max-width:min(1520px,calc(100vw - 32px))!important}.patient-app-body .section{padding-inline:0}.patient-layout{grid-template-columns:minmax(330px,380px) minmax(0,1fr)!important}.patient-web-shell .grid.two{grid-template-columns:1.3fr .9fr}.patient-web-shell .info-box,.patient-phone-shell .app-card{border-radius:24px!important}.app-web-badge{display:inline-flex;align-items:center;margin-top:10px;padding:8px 12px;border-radius:999px;background:rgba(255,255,255,.12);color:#dbeafe;font-size:.82rem;font-weight:700}.nf-step-card{height:100%}.nf-step{display:grid;place-items:center;width:44px;height:44px;border-radius:14px;background:linear-gradient(135deg,#34d399,#3b82f6);color:#fff;font-weight:800;margin-bottom:14px}.nf-final-cta{padding:48px;border-radius:32px;background:linear-gradient(135deg,#0f172a 0%,#16213b 45%,#24427d 100%);border:1px solid rgba(255,255,255,.08);box-shadow:0 24px 70px rgba(15,23,42,.22)}.nf-footer{padding:28px 0 42px;border-top:1px solid rgba(255,255,255,.08);background:#070c17}.nf-footer a{color:#c7d2fe}.nf-footer a:hover{color:#fff}
@media (max-width: 1199px){.console-dashboard-shell{grid-template-columns:1fr}.console-sidebar{position:relative;top:0}.patient-web-shell .grid.two{grid-template-columns:1fr}.patient-container{max-width:min(1280px,calc(100vw - 24px))!important}}
@media (max-width: 991px){.auth-split-card,.auth-split-reverse{grid-template-columns:1fr;min-height:auto}.auth-brand-panel,.auth-form-panel{padding:28px 22px}.patient-container{max-width:min(100vw - 16px,560px)!important}.patient-layout{grid-template-columns:1fr!important}.panel-topbar{gap:18px}}

.grid.four{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1.1rem}
.calendar-board{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:1rem}
.calendar-day{background:#fff;border:1px solid var(--saas-border);border-radius:1.35rem;box-shadow:0 12px 40px rgba(15,23,42,.07);padding:1rem;min-height:240px}
.calendar-day header{display:grid;gap:.15rem;margin-bottom:.8rem}
.calendar-day strong{color:#111827}
.calendar-day small{color:#6b7280}
.calendar-empty{padding:.9rem;border-radius:1rem;background:#f8fafc;border:1px dashed #d9e2ef;color:#64748b}
.calendar-event{padding:.9rem;border-radius:1rem;background:#f8fbff;border:1px solid #e4ebf7;display:grid;gap:.35rem;margin-bottom:.75rem}
.calendar-event-top{display:flex;justify-content:space-between;gap:.5rem;align-items:center}
@media (max-width: 1199px){.grid.four{grid-template-columns:repeat(2,minmax(0,1fr))}.calendar-board{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width: 767px){.grid.four,.calendar-board{grid-template-columns:1fr}}


/* v13 layout fixes */
.console-dashboard-shell{display:grid;grid-template-columns:280px minmax(0,1fr);gap:24px;align-items:start}
.console-main{min-width:0}
.console-main>.grid,.console-main>.info-box,.console-main>.panel-topbar,.console-main>.calendar-board{min-width:0}
.info-box,.feature-card,.lead-form,.auth-card,.hero-surface{min-width:0}
.table-wrap{width:100%;overflow:auto}
.table{min-width:720px}
.console-menu a.is-active{background:rgba(255,255,255,.18);border-color:rgba(255,255,255,.24)}
.patient-container{width:min(1600px,96vw)!important;max-width:min(1600px,96vw)!important}
.patient-layout{grid-template-columns:minmax(320px,380px) minmax(0,1fr)!important;align-items:start}
.patient-web-shell{display:block;min-width:0;width:100%}
.patient-web-shell > .info-box,
.patient-web-shell > .grid,
.patient-web-shell > .app-wide,
.patient-web-shell > .app-grid{min-width:0;width:100%}
.patient-web-shell .grid.two{grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr)!important;align-items:start}
.patient-web-shell .table{min-width:0}
.patient-web-shell .table th,.patient-web-shell .table td{white-space:normal}
.patient-web-shell .info-box{padding:1.35rem 1.35rem 1.4rem}
.patient-web-shell .week-day-stack{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}
.patient-web-shell .week-day-card{height:100%}
.patient-web-shell .super-columns{columns:unset;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}
.patient-web-shell .super-columns article{margin:0}
.patient-web-shell .invite-list{grid-template-columns:repeat(2,minmax(0,1fr))}
.patient-web-shell .summary-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
.patient-web-shell .app-card p,.patient-web-shell .info-box p,.patient-web-shell li{word-break:break-word}
.patient-web-shell .hero-actions{justify-content:flex-end}
.app-card form.inline{display:inline-flex}
.nutri-shell .grid.two{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
.nutri-shell .grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}
.nutri-shell .lead-form,.nutri-shell .info-box,.nutri-shell .feature-card{height:auto}
.nutri-shell .invite-list{grid-template-columns:repeat(2,minmax(0,1fr))}
.nutri-shell .mini-card,.nutri-shell .invite-item{height:100%}
.nutri-shell .form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.admin-shell .grid.two{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}

@media (max-width: 1399px){
  .patient-web-shell .grid.two{grid-template-columns:1fr!important}
  .patient-web-shell .week-day-stack,
  .patient-web-shell .super-columns,
  .patient-web-shell .invite-list,
  .patient-web-shell .summary-grid{grid-template-columns:1fr}
}
@media (max-width: 1199px){
  .console-dashboard-shell{grid-template-columns:1fr}
  .console-sidebar{position:relative;top:0}
  .nutri-shell .invite-list{grid-template-columns:1fr}
}
@media (max-width: 991px){
  .patient-container{width:min(100%,100vw - 16px)!important;max-width:min(100%,100vw - 16px)!important}
  .patient-layout{grid-template-columns:1fr!important}
  .patient-phone-shell{display:block!important;max-width:430px;margin-inline:auto}
  .patient-web-shell{display:none!important}
}
@media (min-width: 992px){
  .patient-phone-shell{display:none!important}
  .patient-web-shell{display:block!important}
}

.task-stack,.chat-stack{display:grid;gap:1rem}.task-card{padding:1rem;border:1px solid var(--saas-border);border-radius:1rem;background:#fff;box-shadow:0 12px 30px rgba(15,23,42,.05)}.task-top{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start}.task-actions{display:flex;gap:.75rem;align-items:center;margin-top:.8rem}.inline-form select{max-width:180px}.chat-bubble{padding:1rem;border-radius:1rem;max-width:100%;border:1px solid var(--saas-border)}.chat-own{background:#eff6ff;margin-left:auto}.chat-other{background:#f8fafc}.compact-chat{max-height:420px;overflow:auto}.is-active-card{outline:2px solid #2563eb}.console-menu a.is-active,.console-menu a:hover{background:#eff6ff;color:#0f172a}.task-card p,.chat-bubble p{margin:.3rem 0}.patient-web-shell .grid.two .info-box{min-width:0}

/* v15 progress, patient portal, wider desktop */
.patient-browser-container{width:min(1720px,97vw)!important;max-width:min(1720px,97vw)!important}
.desktop-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.progress-gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:.85rem}
.progress-thumb{display:grid;place-items:center;min-height:110px;border-radius:1rem;overflow:hidden;background:#f8fbff;border:1px solid #dbe4f0}
.progress-thumb img{width:100%;height:100%;object-fit:cover;display:block}
.measure-comparison-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.85rem}
.measure-card{padding:1rem;border:1px solid var(--saas-border);border-radius:1rem;background:#fff;display:grid;gap:.35rem}
.measure-card small{color:#64748b}.measure-card strong{font-size:1.25rem;color:#111827}
.delta{display:inline-flex;align-items:center;gap:.35rem;padding:.35rem .6rem;border-radius:999px;font-size:.8rem;font-weight:700;width:max-content}.delta-good{background:#ecfdf3;color:#166534}.delta-warn{background:#fff7ed;color:#c2410c}
.comparison-list{display:grid;gap:.9rem}.comparison-row{padding:1rem;border-radius:1rem;background:#fff;border:1px solid var(--saas-border)}.comparison-head{display:flex;justify-content:space-between;gap:1rem;align-items:center;margin-bottom:.6rem}.comparison-head span{color:#475569;font-weight:600}.compare-bars{display:grid;gap:.45rem}.compare-bars span{display:block;height:10px;border-radius:999px}.bar-current{background:linear-gradient(90deg,#2563eb,#60a5fa)}.bar-prev{background:linear-gradient(90deg,#cbd5e1,#94a3b8)}
.soft-separator{border:none;border-top:1px solid #e5eaf4;margin:1rem 0}
.week-day-card details{margin-top:.35rem}.week-day-card details summary{cursor:pointer;color:#3157d3;font-weight:700}
.console-menu a{justify-content:flex-start}
.nutri-shell .grid.four{grid-template-columns:repeat(4,minmax(0,1fr))}
.patient-web-shell .app-wide{width:100%;min-width:0}.patient-web-shell .desktop-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}
@media (max-width:1400px){.measure-comparison-grid,.nutri-shell .grid.four{grid-template-columns:repeat(2,minmax(0,1fr))}.patient-browser-container{width:min(1600px,96vw)!important;max-width:min(1600px,96vw)!important}}
@media (max-width:991px){.measure-comparison-grid,.nutri-shell .grid.four,.patient-web-shell .desktop-2{grid-template-columns:1fr}}
