.clinic-entry{max-width:520px;margin:8vh auto;padding:36px;background:#f2f8e7;border:1px solid #bdd69e;border-radius:24px}.clinic-entry form{display:grid;gap:20px}.clinic-entry label{display:grid;gap:8px}.clinic-entry h1{margin-bottom:20px}.clinic-entry p{line-height:1.8}.clinic-session{display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap;background:#174d23;color:#fff;padding:14px 24px;position:sticky;top:0;z-index:25}.clinic-session button{background:#d3edaf;color:#193f20;border-radius:9px;padding:9px 14px}.clinic-session .actions{gap:12px}.clinic-session [role=status]{font-size:12px}.clinic-blocker{position:fixed;inset:0;background:#173e26d9;z-index:100;display:grid;place-items:center;padding:24px}.clinic-blocker .card{max-width:640px}.clinic-blocker .actions{margin-top:24px}.clinic-session+.shell .sidebar{top:64px}.clinic-preview{padding:20px;background:#d3edaf;border:1px solid #8abb62;border-radius:12px;margin-bottom:24px}.clinic-entry input{width:100%}@media(max-width:650px){.clinic-entry{margin:24px 16px;padding:26px}.clinic-session{padding:12px 18px}.clinic-session+.shell .sidebar{top:0}}

@media print{.clinic-session,.clinic-preview,.clinic-blocker{display:none!important}}

.patient-pre{white-space:pre-wrap;overflow-wrap:anywhere}.patient-space{max-width:1100px}.patient-meals{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin:24px 0}.patient-messages{display:flex;flex-direction:column;gap:20px;margin:28px 0;max-height:55vh;overflow:auto;padding:8px}.patient-messages .bubble{max-width:88%;padding:20px}.patient-messages .bubble.mine{align-self:flex-end}.patient-messages p{margin:12px 0;line-height:1.8}#patient-message,#secure-owner-message{display:grid;gap:16px}#patient-message textarea,#secure-owner-message textarea{min-height:100px}.patient-space .portal-nav{flex-wrap:wrap}.patient-space .portal-nav button{padding:13px 20px;border-radius:10px;background:#e4f1cf}.patient-space .portal-nav button.active{background:#237a24;color:#fff}@media(max-width:650px){.patient-meals{grid-template-columns:minmax(0,1fr)}.patient-space{padding:20px 16px}.patient-space .portal-header{flex-wrap:wrap;gap:24px}.patient-messages .bubble{max-width:100%}.patient-messages{padding:0}}
@media(max-width:650px){.clinic-entry input,.patient-space select,.patient-space textarea{font-size:16px;min-height:44px}}
