.patient-mode .welcome-banner{background:linear-gradient(120deg,#087bff,#2abfe5)}.family-card{display:flex;align-items:center;gap:14px;width:100%;padding:16px 8px;background:#fff;border:0;border-bottom:1px solid #e0ecf7;border-radius:0;text-align:left}.family-card>span:nth-child(2){flex:1;min-width:0}.family-card small{display:block;font-size:11px;color:#6d88a1;margin-top:5px;line-height:1.5}.family-card b{color:#14579d}.family-actions{display:flex;gap:15px;flex-wrap:wrap;margin:25px 0}.patient-quick{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:25px 0}.patient-quick button{padding:22px 8px;display:flex;gap:12px;align-items:center;flex-direction:column;background:#fff;border:1px solid #e0edf7;color:#0472d2;font-size:12px}.patient-quick svg{width:29px;height:29px}.patient-quick button:nth-child(3n+2){color:#11a7b9}.patient-quick button:nth-child(3n){color:#914ad9}.patient-welcome{display:flex;align-items:center;gap:18px;margin:12px 0 28px}.patient-welcome>.person-avatar{width:65px;height:65px;font-size:25px}.patient-welcome h2{margin:0 0 9px}.patient-welcome p{color:#6f89a0;font-size:13px}.pending-card{padding:30px;border:1px solid #cce9fa;background:#f1faff;border-radius:20px;line-height:1.7}.pending-card button{margin:10px 10px 0 0}.share-row{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:20px 0;border-bottom:1px solid #e1ecf6}.share-row small{display:block;font-size:11px;color:#6c85a0;margin-top:7px}#patient-switcher:not(:empty){margin-bottom:20px;max-width:450px}#patient-switcher label{font-size:12px;color:#607e9d}.patient-module form fieldset{border:1px solid #d5e7f7;padding:25px;border-radius:16px;display:grid;grid-template-columns:1fr 1fr;gap:20px}.patient-module form legend{font-size:16px;font-weight:600;color:#067bd5;padding:0 10px}.patient-module fieldset p{grid-column:1/-1}.patient-module form label:has(textarea){grid-column:1/-1}#patient-editor:not(:empty),#staff-portal-editor:not(:empty){margin-top:30px;padding-top:25px;border-top:1px solid #dceaf5}.patient-appointment,.patient-request{display:flex;gap:20px;align-items:center;padding:22px 0;border-bottom:1px solid #dfebf7}.patient-appointment>div:nth-child(2),.patient-request>div:first-child{flex:1;min-width:0}.patient-appointment h3,.patient-request h3{font-size:16px;margin:0 0 10px}.patient-appointment p,.patient-request p{font-size:13px;line-height:1.6;color:#617f9f;margin:6px 0;white-space:pre-wrap;overflow-wrap:anywhere}.patient-appointment small,.patient-request small{font-size:11px;color:#7692a9}.date-tile{width:65px;flex-shrink:0;text-align:center;color:#0080f6}.date-tile b{font-size:32px;display:block}.date-tile span{font-size:10px}.booking-progress{display:flex;justify-content:space-around;margin:30px 0 38px;position:relative;gap:8px}.booking-progress>span{display:flex;flex-direction:column;align-items:center;gap:10px;color:#859bb3;font-size:12px;flex:1}.booking-progress b{display:grid;place-items:center;border-radius:50%;width:30px;height:30px;background:#e9f2fc;color:#6d96c1}.booking-progress .current{color:#006cf0}.booking-progress .current b{background:#0785fb;color:#fff}.booking-services{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}.booking-services button{display:flex;flex-direction:column;align-items:center;gap:15px;padding:25px 12px;background:#fff;border:1px solid #dfecfa;color:#1473b7}.booking-services button.selected{background:#e9fbff;border-color:#009df5}.booking-services svg{width:31px;height:31px}.booking-services b{font-size:13px}.booking-services small{font-size:11px;color:#7691aa}#booking-stage{margin:25px 0 40px}#booking-stage label{margin:20px 0}#booking-slots-list{display:flex;flex-wrap:wrap;gap:10px;margin:20px 0}.booking-confirm{border:1px solid #d3e7f9;border-radius:18px;background:#f6fbff;padding:28px;line-height:1.7}.benefit-hero{display:flex;gap:25px;align-items:center;padding:30px;background:#e5fbf3;color:#049671;border-radius:20px;margin:10px 0 30px}.benefit-hero svg{width:60px;height:60px}.benefit-hero h2{font-size:33px;color:#039266;margin:10px 0}.benefit-hero p,.benefit-hero small{font-size:13px}.benefit-card{padding:22px;border:1px solid #dcebf7;border-radius:17px;margin:17px 0}.benefit-card h3{color:#048ada;margin-top:0}.benefit-card p{font-size:14px}.message-bubble{padding:20px 24px;background:#eff7fe;border-radius:17px;margin:18px 35px 18px 0;border:1px solid #dbeaf7}.message-bubble.outgoing{background:#e6f9fa;margin-left:35px;margin-right:0}.message-bubble b{font-size:13px;color:#075eaa}.message-bubble p{font-size:14px}.message-bubble small{font-size:10px;color:#6b879d}.education-card{border:1px solid #dceaf8;border-radius:15px;padding:22px;margin:17px 0}.education-card summary{font-weight:600;color:#0877d0;cursor:pointer}.education-card p{line-height:1.75;font-size:14px}.education-card small{display:block;margin:14px 0;font-size:11px;color:#7890aa}.patient-module .toolbar{flex-wrap:wrap}.patient-module .filter-tabs{margin:20px 0;flex-wrap:wrap}.declared-intake{padding:20px;background:#f0faf6;border:1px solid #cfeadd;border-radius:16px;margin:20px 0}.declared-intake p{white-space:pre-wrap;font-size:13px;line-height:1.7}.patient-share-label{display:block;padding:10px 0;color:#14736d;font-size:12px}@media(max-width:900px){.patient-quick{grid-template-columns:repeat(3,minmax(0,1fr))}.booking-services{grid-template-columns:repeat(2,minmax(0,1fr))}.patient-module .metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:560px){.family-card{gap:10px;padding:15px 0}.family-card .person-avatar{height:38px;width:38px;font-size:16px;flex-shrink:0}.family-card b{font-size:13px}.family-card small{font-size:10px}.patient-quick{gap:9px}.patient-quick button{padding:17px 5px;font-size:10px}.patient-quick svg{width:25px;height:25px}.patient-module form fieldset{padding:18px 13px;grid-template-columns:1fr}.patient-welcome>.person-avatar{width:48px;height:48px;font-size:20px;flex-shrink:0}.patient-welcome h2{font-size:20px}.patient-welcome{gap:12px}.patient-appointment,.patient-request{gap:11px;flex-wrap:wrap}.date-tile{width:45px}.date-tile b{font-size:27px}.patient-request .row-actions{width:100%;justify-content:flex-end}.patient-appointment h3{font-size:14px}.patient-appointment>button,.patient-request>button{font-size:11px;padding:8px 10px}.booking-services{gap:10px}.booking-services button{padding:20px 9px}.booking-progress>span{font-size:10px}.booking-confirm{padding:20px}.benefit-hero{gap:15px;padding:22px}.benefit-hero h2{font-size:28px}.benefit-hero svg{width:44px;height:44px;flex-shrink:0}.message-bubble{padding:17px;margin-right:15px}.message-bubble.outgoing{margin-left:15px}.education-card{padding:18px}.share-row{flex-wrap:wrap}.family-actions button{width:100%}}
