.patient-field{position:relative;display:grid;gap:7px}.patient-field>small{color:var(--text-2);font-size:11px}.patient-combobox{position:relative}.patient-combobox [data-patient-search]{padding-right:42px;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%23647169' stroke-width='2'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='m20 20-4-4'/%3E%3C/svg%3E") no-repeat right 13px center}.patient-options{position:absolute;z-index:45;top:calc(100% + 6px);right:0;left:0;max-height:290px;overflow:auto;border:1px solid var(--border);border-radius:12px;background:#fff;box-shadow:0 18px 42px rgba(7,87,47,.18)}.patient-option{width:100%;min-height:48px;padding:11px 14px;display:flex;align-items:center;border:0;border-bottom:1px solid var(--border);color:var(--text);background:#fff;text-align:left}.patient-option:hover,.patient-option.active{color:var(--primary-dark);background:var(--primary-soft)}.patient-option.add-patient{position:sticky;bottom:0;color:#fff;background:var(--primary);font-weight:800}.patient-option.add-patient:hover,.patient-option.add-patient.active{background:var(--primary-dark)}.patient-empty{padding:16px;color:var(--text-2);background:#fff;text-align:center}.quick-patient-dialog .dialog-header>div{min-width:0}.quick-patient-dialog .dialog-header p{margin:3px 0 0;color:var(--text-2);font-size:12px}.quick-patient-dialog [data-patient-form-error]{margin-bottom:16px}.quick-patient-dialog [hidden],.patient-options[hidden]{display:none}.patient-field noscript label{margin-top:8px}
@media(max-width:640px){.patient-options{max-height:min(320px,45vh)}.patient-option{min-height:52px}.quick-patient-dialog .dialog-body{padding:16px}.quick-patient-dialog .dialog-header{padding:15px 16px}}

.account-card{max-width:760px}.account-card input[readonly]{color:var(--text-2);background:#f7f9f8}.password-help{margin:-7px 0 18px}.table-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.table-actions form{margin:0}#password-dialog .dialog-header p{margin:3px 0 0}#password-dialog .password-help{margin:14px 0 0}.check-card{min-height:70px;padding:12px;display:flex;grid-auto-flow:column;grid-template-columns:auto 1fr;align-items:center;gap:10px;border:1px solid var(--border);border-radius:10px;background:var(--primary-soft)}.check-card input{margin:0}.check-card span,.check-card strong,.check-card small{display:block}.check-card small{margin-top:2px;color:var(--text-2);font-weight:500}.dialog-body>.alert{margin-top:16px}
@media(max-width:640px){.table-actions{padding-top:7px}.table-actions .btn{flex:1}.account-card{max-width:none}}

.availability-section{padding:0;overflow:hidden}.availability-heading{padding:22px;display:flex;align-items:flex-start;justify-content:space-between;gap:18px;border-bottom:1px solid var(--border)}.availability-heading h2{margin:0 0 4px}.availability-heading p{margin:0;color:var(--text-2);font-size:12px}.availability-heading>span{padding:5px 9px;border-radius:999px;color:var(--primary);background:var(--primary-soft);font-size:10px;font-weight:800;white-space:nowrap}.availability-week{display:grid}.availability-day{min-width:0;padding:16px 22px;display:grid;grid-template-columns:118px minmax(0,900px);align-items:center;gap:18px;border-bottom:1px solid var(--border)}.availability-day:last-child{border-bottom:0}.availability-day:nth-child(even){background:#fbfdfc}.availability-day-name strong,.availability-day-name small{display:block}.availability-day-name strong{font-size:14px}.availability-day-name small{margin-top:3px;color:var(--text-2);font-size:10px}.availability-slots{min-width:0;display:grid;grid-template-columns:repeat(2,minmax(260px,1fr));gap:12px}.availability-range{min-width:0;margin:0;padding:8px 11px 11px;display:grid;grid-template-columns:minmax(95px,1fr) auto minmax(95px,1fr);align-items:end;gap:9px;border:1px solid var(--border);border-radius:11px;background:#fff}.availability-range legend{padding:0 5px;color:var(--primary);font-size:9px;font-weight:800;letter-spacing:.04em;text-transform:uppercase}.availability-range label{min-width:0;gap:4px;color:var(--text-2);font-size:9px;text-transform:uppercase}.availability-range input{min-width:0;min-height:40px;padding:7px 9px;border-radius:8px;background:#fff;font-size:13px}.availability-range>span{padding-bottom:10px;color:var(--muted);font-size:13px}.availability-section+.form-actions{margin-top:20px}
@media(max-width:1180px){.availability-day{grid-template-columns:100px minmax(0,1fr)}.availability-slots{grid-template-columns:1fr}.availability-range{max-width:520px}}
@media(max-width:640px){.availability-heading{padding:17px 16px}.availability-heading>span{display:none}.availability-day{padding:15px 16px;grid-template-columns:1fr;gap:11px}.availability-day-name{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.availability-day-name small{margin:0}.availability-slots{grid-template-columns:1fr}.availability-range{max-width:none;grid-template-columns:minmax(90px,1fr) auto minmax(90px,1fr)}.availability-range input{font-size:12px}}

.class-session-heading,.clinical-history-header{margin:4px 0 16px;display:flex;align-items:end;justify-content:space-between;gap:16px}.class-session-heading h2,.clinical-history-header h2{margin:2px 0 0;font-size:20px}.clinical-history-header p,.card-header p{margin:3px 0 0}.eyebrow{color:var(--primary);font-size:10px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.class-attendance-actions{display:flex;align-items:center;justify-content:space-between;gap:14px}.clinical-dialog{width:min(920px,calc(100% - 28px))}.clinical-signature{margin-bottom:18px;padding:14px 16px;display:grid;grid-template-columns:1fr 1fr;gap:14px;border:1px solid #cce8d7;border-radius:11px;background:var(--primary-soft)}.clinical-signature>div{display:grid;gap:2px}.clinical-signature span{color:var(--text-2);font-size:10px;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.clinical-signature strong{color:var(--primary-dark)}.clinical-signature.compact{min-width:270px;margin:0}.modal-section{margin:0 0 20px}.modal-section h3{margin:0 0 12px;font-size:14px}.pilates-activity-grid{display:grid;grid-template-columns:repeat(5,minmax(120px,1fr));gap:10px}.pilates-activity-grid fieldset{min-width:0;margin:0;padding:12px;border:1px solid var(--border);border-radius:10px;background:#fbfdfc}.pilates-activity-grid legend{padding:0 5px;color:var(--primary-dark);font-size:12px;font-weight:800}.pilates-activity-grid .check-row{margin:7px 0;font-size:11px}.clinical-filters{align-items:end}.clinical-history{display:grid;gap:14px}.evolution-record{overflow:hidden}.evolution-record>header{padding:18px 20px;display:flex;align-items:start;justify-content:space-between;gap:18px;border-bottom:1px solid var(--border);background:#fbfdfc}.evolution-record time{color:var(--primary);font-size:11px;font-weight:800}.evolution-record h3{margin:3px 0 8px;font-size:17px}.evolution-tags{display:flex;gap:6px;flex-wrap:wrap}.evolution-body{padding:18px 20px}.clinical-notes{margin:0 0 16px;white-space:normal}.pilates-summary{margin:12px 0;display:grid;grid-template-columns:repeat(2,minmax(140px,220px));gap:10px}.pilates-summary>div,.activity-summary>div{padding:10px 12px;border:1px solid var(--border);border-radius:9px;background:var(--primary-soft)}.pilates-summary span,.activity-summary span{display:block;color:var(--text-2);font-size:11px}.activity-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:9px}.evolution-body footer{margin-top:16px;padding-top:12px;border-top:1px solid var(--border);color:var(--text-2);font-size:10px}.print-clinical-header{display:none}
@media(max-width:900px){.pilates-activity-grid{grid-template-columns:repeat(3,minmax(120px,1fr))}.clinical-filters{display:grid;grid-template-columns:1fr 1fr}.clinical-filters .btn{align-self:end}}
@media(max-width:640px){.class-session-heading,.clinical-history-header{align-items:flex-start}.class-attendance-actions{align-items:stretch;flex-direction:column}.class-attendance-actions .btn{width:100%}.clinical-dialog .dialog-body{padding:15px}.clinical-signature,.clinical-signature.compact{min-width:0;grid-template-columns:1fr}.pilates-activity-grid{grid-template-columns:1fr 1fr}.clinical-filters{grid-template-columns:1fr}.evolution-record>header{flex-direction:column}.evolution-record .clinical-signature{width:100%}.pilates-summary{grid-template-columns:1fr 1fr}.activity-summary{grid-template-columns:1fr}}
@media print{body{background:#fff}.sidebar,.mobile-header,.bottom-nav,.scrim,.patient-hero,.tabs,.clinical-history-header,.clinical-filters,.toast{display:none!important}.app-main{min-height:0;margin:0;padding:0}.print-clinical-header{margin-bottom:18px;padding-bottom:14px;display:block;border-bottom:2px solid #07572f}.print-clinical-header h1{margin:5px 0;font-size:22px}.print-clinical-header p{margin:0}.clinical-history{gap:10px}.evolution-record{break-inside:avoid;border-color:#cfd8d2;box-shadow:none}.evolution-record>header{padding:12px 14px}.evolution-body{padding:12px 14px}.clinical-signature.compact{grid-template-columns:1fr 1fr}.badge{border:1px solid #d8e2dc}.activity-summary{grid-template-columns:repeat(3,1fr)}}

html{height:100%}body.login-body{position:fixed;inset:0;width:auto;height:auto;min-height:0;grid-template-columns:minmax(0,1.48fr) minmax(460px,.92fr);overflow:hidden;align-items:stretch;background:#fff}.login-body .login-visual,.login-body .login-main{height:100%;min-height:0}.login-body .login-visual{position:relative;isolation:isolate;padding:clamp(46px,5.4vw,96px);display:flex;place-items:initial;justify-content:center;overflow:hidden;color:#fff;background:linear-gradient(145deg,#064e2d 0%,#043d25 50%,#022d1c 100%)}.login-body .login-visual::before{content:"";position:absolute;z-index:-2;inset:0;background-image:radial-gradient(circle,rgba(115,224,160,.16) 1.2px,transparent 1.4px);background-size:34px 34px;mask-image:linear-gradient(to bottom,rgba(0,0,0,.8),rgba(0,0,0,.25))}.login-body .login-visual::after{content:"";position:absolute;z-index:-1;right:-18%;bottom:-43%;width:80%;aspect-ratio:1;border:1px solid rgba(76,214,137,.22);border-radius:50%;background:radial-gradient(circle at 38% 35%,rgba(38,177,97,.2),rgba(22,112,62,.08) 42%,transparent 43%);box-shadow:0 0 0 110px rgba(27,139,77,.045),0 0 0 230px rgba(27,139,77,.025)}.login-visual-content{position:relative;z-index:1;width:min(100%,760px);display:flex;flex-direction:column;justify-content:center}.login-visual-logo{width:clamp(190px,16vw,260px);height:auto;max-height:120px;object-fit:contain;object-position:left center}.login-eyebrow{margin-top:clamp(46px,8vh,110px);display:flex;align-items:center;gap:16px;color:#8fe6b7;font-size:clamp(11px,.88vw,15px);font-weight:800;letter-spacing:.16em;text-transform:uppercase}.login-eyebrow span{width:44px;height:3px;border-radius:99px;background:#36cb7b}.login-body .login-visual h1{max-width:820px;margin:clamp(25px,3.5vh,46px) 0 22px;font-size:clamp(42px,4.4vw,78px);line-height:1.04;letter-spacing:-.055em}.login-body .login-visual h1 em{color:#44d68a;font-style:normal}.login-body .login-visual p{max-width:720px;margin:0;color:#b8cfbf;font-size:clamp(16px,1.25vw,22px);line-height:1.65}.login-benefits{margin-top:clamp(32px,5vh,65px);display:flex;gap:12px;flex-wrap:wrap}.login-benefits span{min-height:42px;padding:0 17px;display:flex;align-items:center;gap:10px;border:1px solid rgba(172,226,195,.22);border-radius:999px;color:#dcebe2;background:rgba(255,255,255,.045);font-size:12px;font-weight:700}.login-benefits i,.login-secure i{width:10px;height:10px;flex:0 0 10px;border-radius:50%;background:#36cb7b;box-shadow:0 0 0 6px rgba(54,203,123,.13)}.login-visual-footer{position:absolute;z-index:1;bottom:clamp(26px,4vh,54px);left:clamp(46px,5.4vw,96px);color:rgba(215,234,223,.45);font-size:11px;font-weight:600;letter-spacing:.03em}.login-body .login-main{padding:clamp(34px,5.5vw,92px);display:grid;place-items:center;overflow:auto;background:#fff}.login-body .login-card{width:min(100%,480px)}.login-form-eyebrow{display:block;margin-bottom:18px;color:var(--primary);font-size:12px;font-weight:800;letter-spacing:.16em;text-transform:uppercase}.login-body .login-card h2{margin:0 0 13px;font-size:clamp(36px,3.2vw,54px);line-height:1.08;letter-spacing:-.045em}.login-body .login-card>p{margin:0;color:var(--text-2);font-size:16px;line-height:1.55}.login-body .login-card>.alert{margin-top:22px}.login-field{margin-top:25px}.login-field label{margin:0 0 9px!important;display:block;font-size:13px}.login-body .login-card input{min-height:58px;padding:14px 16px;border-color:#d8e1db;border-radius:13px;background:#f5f9f7;font-size:15px}.login-body .login-card input:focus{border-color:#36a867;background:#fff;box-shadow:0 0 0 5px rgba(21,148,71,.1)}.password-field{position:relative}.password-field input{padding-right:82px!important}.password-field button{position:absolute;top:50%;right:14px;padding:7px;border:0;color:var(--primary);background:transparent;font-size:12px;font-weight:800;transform:translateY(-50%)}.login-submit{min-height:58px;margin-top:30px;border-radius:13px;text-transform:uppercase;letter-spacing:.08em}.login-secure{margin-top:27px;display:flex;align-items:center;justify-content:center;gap:12px;color:#839188;font-size:12px;font-weight:700}.login-secure i{width:9px;height:9px;flex-basis:9px}.login-body .login-help{margin-top:24px;font-size:11px}.login-body .login-logo{display:none}
@media(max-height:760px) and (min-width:901px){.login-body .login-visual{padding-top:38px;padding-bottom:38px}.login-eyebrow{margin-top:34px}.login-body .login-visual h1{margin-top:22px;font-size:clamp(39px,4vw,64px)}.login-benefits{margin-top:28px}.login-visual-footer{display:none}.login-body .login-main{padding-top:30px;padding-bottom:30px}.login-form-eyebrow{margin-bottom:12px}.login-body .login-card h2{font-size:39px}.login-body .login-card>p{font-size:14px}.login-field{margin-top:17px}.login-body .login-card input{min-height:52px}.login-submit{min-height:52px;margin-top:22px}.login-secure{margin-top:20px}.login-body .login-help{margin-top:17px}}
@media(max-width:1100px) and (min-width:901px){body.login-body{grid-template-columns:minmax(0,1.15fr) minmax(430px,.85fr)}.login-body .login-visual{padding-left:48px;padding-right:48px}.login-body .login-visual h1{font-size:46px}.login-benefits span:last-child{display:none}}
@media(max-width:900px){body.login-body{position:relative;inset:auto;width:100%;height:auto;min-height:100vh;min-height:100dvh;grid-template-columns:1fr;overflow:auto}.login-body .login-visual{display:none}.login-body .login-main{height:auto;min-height:100vh;min-height:100dvh;padding:32px 22px;overflow:visible}.login-body .login-card{max-width:460px}.login-form-eyebrow{margin-bottom:14px}.login-body .login-card h2{font-size:38px}.login-body .login-card>p{font-size:14px}.login-field{margin-top:20px}.login-secure{margin-top:23px}}

.brand{height:84px;margin:0 2px 22px;gap:0}.brand>img{width:100%;height:84px;object-fit:cover;object-position:center}.brand>span{display:none}
