.patient-section{background:#f6f8f5;min-height:660px;padding:clamp(2rem,5vw,4.5rem) 0 6rem}.patient-alert{color:#742f2f;background:#fff0f0;border-left:4px solid #9b4d4d;margin:0 0 1rem;padding:.9rem 1rem;line-height:1.55}.patient-alert.success{color:#3e6137;background:#edf6e9;border-color:#6d965f}.patient-auth-shell{background:#fff;border:1px solid #dce5dc;border-radius:1rem;grid-template-columns:.82fr 1.18fr;width:min(980px,100%);min-height:580px;margin:0 auto;display:grid;overflow:hidden;box-shadow:0 28px 80px #2333271c}.patient-auth-aside{color:#fff;background:linear-gradient(145deg,#27392b,#55734e);flex-direction:column;justify-content:center;padding:clamp(1.5rem,4vw,3rem);display:flex;position:relative;overflow:hidden}.patient-auth-aside:after{content:"";border:1px solid #ffffff1f;border-radius:42% 58% 64% 36%;width:280px;height:280px;position:absolute;bottom:-160px;left:-140px;box-shadow:0 0 0 45px #ffffff09,0 0 0 90px #ffffff05}.patient-auth-icon{color:#d8ead0;background:#ffffff1f;border-radius:50%;place-items:center;width:58px;height:58px;margin-bottom:1.4rem;display:grid}.patient-auth-aside .eyebrow{color:#c3d9b9}.patient-auth-aside h2{max-width:12ch;font-size:clamp(2rem,4vw,3rem)}.patient-auth-aside p{color:#ffffffba;line-height:1.7}.patient-auth-aside ul{gap:.65rem;margin:1.4rem 0 0;padding:0;list-style:none;display:grid}.patient-auth-aside li{align-items:center;gap:.55rem;font-size:.83rem;display:flex}.patient-auth-aside li .icon{color:#cbe2c0}.patient-auth-card{padding:clamp(1.4rem,4vw,3rem)}.patient-auth-tabs{background:#eef3ec;border-radius:.5rem;grid-template-columns:1fr 1fr;margin-bottom:2rem;padding:.25rem;display:grid}.patient-auth-tabs button{color:#667168;background:0 0;border:0;border-radius:.35rem;min-height:42px;font-size:.78rem;font-weight:750}.patient-auth-tabs button[aria-current=page]{color:#3f5e39;background:#fff;box-shadow:0 5px 16px #2c3d2f14}.patient-form{gap:1rem;display:grid}.patient-form h2,.patient-panel h3,.patient-view-intro h3,.patient-panel-head h3{max-width:none;font-family:var(--font-display);font-size:clamp(1.55rem,3vw,2.15rem);font-weight:400}.patient-login-title{max-width:none;font-size:clamp(1.75rem,3.5vw,2.5rem)}.patient-form>p{color:var(--color-muted);margin:0;line-height:1.65}.patient-form label{color:#465148;gap:.4rem;font-size:.82rem;font-weight:700;display:grid}.patient-form input,.patient-form select{color:#29322b;background:#fff;border:1px solid #cbd6cc;border-radius:.35rem;width:100%;min-height:47px;padding:.7rem .8rem}.patient-form input:focus,.patient-form select:focus{border-color:var(--color-sage-500);outline:0;box-shadow:0 0 0 3px #79956c1c}.patient-form input[readonly]{color:#6a746c;background:#f3f5f3}.patient-form small{color:#78817a;font-size:.7rem;font-weight:500;line-height:1.45}.patient-form h4{color:#34453a;margin:.65rem 0 0;font-size:1rem}.patient-form-help{border-left:3px solid var(--color-sage-500);color:#667168;background:#f3f6f1;border-radius:.3rem;margin:0;padding:.75rem;font-size:.76rem;line-height:1.5}.patient-form-grid{grid-template-columns:1fr 1fr;gap:.75rem;display:grid}.patient-consent{align-items:flex-start;line-height:1.5;gap:.65rem!important;display:flex!important}.patient-consent input{width:18px;height:18px;min-height:0;accent-color:var(--color-sage-600);flex:none;margin-top:.15rem}.patient-text-button,.patient-back-button{width:fit-content;color:var(--color-sage-700);background:0 0;border:0;padding:0;font-size:.78rem;font-weight:750}.patient-auth-result{color:#3d5e37;background:#f0f7ed;border:1px solid #cfe0ca;border-radius:.5rem;gap:1rem;padding:1rem;line-height:1.6;display:grid}.patient-auth-result a{color:var(--color-sage-700);overflow-wrap:anywhere;font-weight:750;text-decoration:underline}.patient-app{background:#fff;border:1px solid #dce4dc;border-radius:.8rem;grid-template-columns:235px minmax(0,1fr);display:grid;overflow:hidden;box-shadow:0 22px 65px #23322614}.patient-sidebar{background:#fbfcfa;border-right:1px solid #e1e7e1;flex-direction:column;min-height:690px;padding:1.4rem;display:flex}.patient-avatar{color:#fff;background:linear-gradient(145deg, var(--color-sage-500), var(--color-sage-700));width:52px;height:52px;font-family:var(--font-display);border-radius:50%;place-items:center;margin-bottom:.75rem;font-size:1.2rem;display:grid}.patient-sidebar>strong,.patient-sidebar>span{overflow-wrap:anywhere}.patient-sidebar>span{color:#78827a;margin-top:.2rem;font-size:.72rem}.patient-sidebar nav{gap:.3rem;margin-top:1.8rem;display:grid}.patient-sidebar nav button{color:#536057;text-align:left;background:0 0;border:0;border-radius:.4rem;align-items:center;gap:.65rem;width:100%;padding:.72rem .7rem;font-size:.78rem;font-weight:750;display:flex}.patient-sidebar nav button:hover,.patient-sidebar nav button[aria-current=page]{color:#45643e;background:#eaf2e7}.patient-logout{color:#8a4141;background:0 0;border:0;width:fit-content;margin-top:auto;padding:.4rem 0;font-size:.76rem;font-weight:750}.patient-main{background:#f7f9f6;min-width:0;padding:clamp(1rem,3vw,2rem)}.patient-app-head{justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1.4rem;display:flex}.patient-app-head h2{max-width:none;font-family:var(--font-sans);font-size:clamp(1.6rem,3vw,2.15rem);font-weight:700}.patient-app-head .eyebrow{margin-bottom:.2rem}.patient-head-actions{flex-wrap:wrap;justify-content:flex-end;gap:.5rem;display:flex}.patient-view{animation:.35s both patient-view-in}.patient-welcome{background:linear-gradient(120deg,#edf5e9,#f8fbf6);border:1px solid #dbe7d8;border-radius:.55rem;align-items:center;gap:.9rem;margin-bottom:1rem;padding:1rem 1.15rem;display:flex}.patient-welcome>span{width:43px;height:43px;color:var(--color-sage-700);background:#fff;border-radius:50%;flex:none;place-items:center;display:grid}.patient-welcome strong{display:block}.patient-welcome p{color:var(--color-muted);margin:.15rem 0 0;font-size:.8rem}.patient-kpis{grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem;margin-bottom:.75rem;display:grid}.patient-kpis article{background:#fff;border:1px solid #dfe6df;border-radius:.5rem;grid-template-columns:30px 1fr;gap:.2rem .55rem;padding:1rem;display:grid}.patient-kpis .icon{color:var(--color-sage-600);grid-row:span 2}.patient-kpis span{color:#747f76;font-size:.72rem}.patient-kpis strong{font-family:var(--font-display);font-size:1.8rem;font-weight:400}.patient-panel{background:#fff;border:1px solid #dfe6df;border-radius:.55rem;padding:clamp(1rem,3vw,1.4rem)}.patient-panel-head,.patient-view-intro{justify-content:space-between;align-items:flex-end;gap:1rem;margin-bottom:1rem;display:flex}.patient-panel-head button{color:var(--color-sage-700);background:0 0;border:0;padding:0;font-size:.76rem;font-weight:750}.patient-appointment-list,.patient-invoice-list{gap:.65rem;display:grid}.patient-appointment{background:#fff;border:1px solid #dfe6df;border-radius:.55rem;grid-template-columns:82px minmax(0,1fr) auto;align-items:center;gap:1rem;padding:.9rem;transition:transform .2s,box-shadow .2s;display:grid}.patient-appointment:hover{transform:translateY(-2px);box-shadow:0 10px 25px #27382a12}.patient-date{color:#fff;background:var(--color-sage-600);border-radius:.45rem;justify-items:center;padding:.6rem .35rem;display:grid}.patient-date span{text-transform:uppercase;font-size:.64rem;font-weight:750}.patient-date strong{font-family:var(--font-display);font-size:1.7rem;font-weight:400}.patient-appointment.is-past .patient-date,.patient-appointment.cancelled .patient-date{color:#59635b;background:#e9ede9}.patient-appointment-copy{min-width:0}.patient-appointment-copy h4{margin:0 0 .35rem;font-size:.95rem}.patient-appointment-copy p{color:#6e786f;margin:.12rem 0;font-size:.76rem}.patient-appointment-actions{flex-direction:column;align-items:flex-end;gap:.45rem;display:flex}.patient-status{color:#486442;background:#e7f1e3;border-radius:999px;padding:.25rem .5rem;font-size:.65rem;font-weight:750;display:inline-flex}.patient-status.cancelled{color:#7b3f3f;background:#f5e5e5}.patient-status.completed{color:#405a72;background:#e6edf4}.patient-action-row{gap:.4rem;display:flex}.patient-action-row button{color:#4f684a;background:#fff;border:1px solid #c9d5ca;border-radius:.3rem;padding:.35rem .5rem;font-size:.68rem;font-weight:750}.patient-action-row button.danger{color:#844141;border-color:#dbbcbc}.patient-filter-tabs{background:#e9eeea;border-radius:.4rem;gap:.3rem;padding:.2rem;display:flex}.patient-filter-tabs button{color:#6a746d;background:0 0;border:0;border-radius:.3rem;min-height:34px;padding:.35rem .65rem;font-size:.7rem;font-weight:750}.patient-filter-tabs button[aria-current=page]{color:#3f6038;background:#fff}.patient-notice{color:#50604f;background:#eaf2e7;border-left:4px solid #8fab84;align-items:flex-start;gap:.7rem;margin-bottom:1rem;padding:.85rem;font-size:.8rem;line-height:1.55;display:flex}.patient-invoice{background:#fff;border:1px solid #dfe6df;border-radius:.5rem;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:1rem;padding:.9rem 1rem;display:grid}.patient-invoice strong,.patient-invoice span{display:block}.patient-invoice span{color:#747f76;margin-top:.2rem;font-size:.73rem}.patient-invoice-amount{font-family:var(--font-display);font-size:1.25rem}.patient-invoice .btn{min-height:38px;padding:.5rem .7rem;font-size:.68rem}.patient-empty{color:#707b72;text-align:center;background:#ffffffb3;border:1px dashed #cbd5cc;border-radius:.5rem;padding:2.5rem 1rem;line-height:1.6}.patient-two-columns{grid-template-columns:1fr 1fr;align-items:start;gap:.8rem;display:grid}.patient-data-tools{border-top:1px solid #e0e6e1;gap:.7rem;margin-top:1.6rem;padding-top:1.3rem;display:grid}.patient-data-tools p,.patient-data-tools small{color:#747e76;margin:0;font-size:.76rem;line-height:1.55}.patient-data-tools .btn{width:fit-content}.patient-help-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;margin-top:1rem;display:grid}.patient-help-grid article{background:#f9fbf8;border:1px solid #e0e7e0;border-radius:.5rem;padding:1rem}.patient-help-grid h4{color:#34483a;margin:0 0 .45rem}.patient-help-grid p{color:#6e786f;margin:0;font-size:.78rem;line-height:1.6}.patient-dialog{color:#29312b;background:#fff;border:1px solid #dbe3dc;border-radius:.7rem;width:min(650px,100% - 1.2rem);padding:1.4rem;box-shadow:0 35px 100px #1b2a1e45}.patient-dialog::backdrop{backdrop-filter:blur(3px);background:#1a221c94}.patient-dialog-head{justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1rem;display:flex}.patient-dialog-head h2{max-width:none;font-size:2rem}.patient-dialog-head button{background:#edf2ec;border:0;border-radius:50%;place-items:center;width:38px;height:38px;font-size:1.35rem;display:grid}@keyframes patient-view-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@media (width<=900px){.patient-auth-shell{grid-template-columns:1fr}.patient-auth-aside{min-height:330px}.patient-app{grid-template-columns:1fr}.patient-sidebar{border-bottom:1px solid #e1e7e1;border-right:0;min-height:auto}.patient-sidebar nav{grid-template-columns:repeat(4,minmax(0,1fr))}.patient-sidebar nav button{text-align:center;justify-content:center}.patient-logout{margin-top:1rem}}@media (width<=620px){.patient-auth-aside{min-height:290px}.patient-form-grid,.patient-two-columns,.patient-kpis{grid-template-columns:1fr}.patient-sidebar nav{grid-template-columns:1fr 1fr}.patient-app-head,.patient-view-intro{flex-direction:column;align-items:flex-start}.patient-app-head .btn{width:100%}.patient-appointment{grid-template-columns:66px minmax(0,1fr);gap:.7rem}.patient-appointment-actions{grid-column:1/-1;align-items:stretch}.patient-action-row button{flex:1}.patient-invoice{grid-template-columns:1fr auto}.patient-invoice .btn{grid-column:1/-1;width:100%}.patient-filter-tabs{width:100%}.patient-filter-tabs button{flex:1}.patient-help-grid{grid-template-columns:1fr}.patient-head-actions{width:100%}}@media print{@page{size:auto;margin:12mm}body{background:#fff!important}header,footer,.patient-sidebar,.patient-app-head .btn,.patient-alert,.patient-action-row,.patient-filter-tabs,.patient-logout,.mobile-app-nav,.site-header{display:none!important}.patient-section{background:#fff;padding:0}.patient-section .container{width:100%;max-width:none}.patient-app{box-shadow:none;border:0;display:block!important}.patient-main{background:#fff;padding:0}.patient-app-head{margin-bottom:8mm;display:flex!important}.patient-view[hidden]{display:none!important}.patient-view:not([hidden]){animation:none;display:block!important}.patient-panel,.patient-appointment,.patient-invoice,.patient-kpis article{break-inside:avoid;box-shadow:none}.patient-form input,.patient-form select{background:0 0;border:0;padding:0}}
