.patientdashboard{--ink:#35294b;--muted:#746a80;--line:#ece5f0;color:var(--ink)}.patientbanner{background:linear-gradient(120deg,#ddd0f0,#eee4f7);border:1px solid #f7f1fc;box-shadow:0 7px 18px #77599b18,inset 0 2px 3px #fff9;border-radius:32px;padding:30px;display:flex;justify-content:space-between;align-items:center;gap:20px}.patientbanner .avatar{width:82px;height:82px;background:#a58bce;color:white;font-size:26px;box-shadow:0 4px 10px #8566ad30;border:4px solid #f8f3fb}.patientbanner h1{font-size:32px;letter-spacing:-1px}.patientbanner p{color:#655570;margin-top:7px}.eyebrow{font-size:12px;letter-spacing:1.6px;margin-bottom:8px;font-weight:650;color:#655570}.patientdashboard .btn{background:#8164b2;box-shadow:0 3px 7px #8060a921}.patientdashboard .btn.light{background:#fcf9fd;color:#624b84;border:1px solid #e7dfed;box-shadow:0 2px 4px #8060a910}.patienttabs{padding:5px;background:#eee8f3;border-radius:25px;gap:5px;display:flex;width:fit-content}.patienttabs .tab{background:transparent;font-size:14px;font-weight:600}.patienttabs .tab.active{background:#fffafc;color:#7355a3;box-shadow:0 3px 8px #8363a91b}.carestats{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin:25px 0}.carestat{border-radius:25px;padding:22px;box-shadow:0 5px 11px #866a9920,inset 0 2px 3px #fff9;border:1px solid #fff7;display:flex;flex-direction:column;gap:12px}.carestat>span{display:flex;align-items:center;gap:9px;font-size:14px;font-weight:600}.carestat svg{background:#fff9;padding:5px;width:33px;height:33px;border-radius:10px}.carestat>strong{font-size:38px;letter-spacing:-1.5px;line-height:1.2}.carestat strong small{font-size:20px;letter-spacing:0;font-weight:400}.carestat.purple{background:#e8dcf3}.carestat.pink{background:#f8dfe3}.carestat.yellow{background:#fbeccb}.carestat.blue{background:#dfebf6}.caregrid{display:grid;grid-template-columns:1.1fr 1fr;gap:22px}.carepanel{background:#fffafc;border:1px solid #fff;border-radius:28px;padding:25px;box-shadow:0 5px 14px #72588714,inset 0 2px 3px #fff9;min-width:0}.carepanel h2{font-size:20px}.carepanel .sectionhead{gap:14px;flex-wrap:wrap}.carepanel .textbtn{color:#745993;font-size:14px}.chartlegend{display:flex;flex-wrap:wrap;gap:14px;margin:15px 0;font-size:13px;color:#746a80}.chartlegend span{display:flex;gap:7px;align-items:center}.chartlegend i{display:inline-block;width:10px;height:10px;border-radius:50%}.barchart{display:flex;gap:18px;padding:10px 10px 20px;justify-content:space-around;border-bottom:1px solid #ece5f0;margin-bottom:15px}.barcol{display:flex;flex-direction:column;align-items:center;gap:7px;flex:1}.barcol strong{font-size:14px;font-weight:500}.bartrack{height:140px;width:42px;max-width:100%;display:flex;align-items:flex-end}.barstack{width:100%;display:flex;flex-direction:column;border-radius:12px 12px 5px 5px;overflow:hidden;box-shadow:3px 3px 8px #8a6aac26;min-height:0}.goalcard{padding:16px 0;border-bottom:1px solid #ece5f0}.goalcard:last-child{border-bottom:0}.goalheading{display:flex;justify-content:space-between;align-items:center;gap:12px}.goalnumbers{display:flex;justify-content:space-between;align-items:center;margin:15px 0 10px}.goalnumbers b{font-size:27px}.goalnumbers>strong{color:#8062ad;font-size:24px}.meter{height:10px;background:#eee7f4;border-radius:20px;margin-bottom:10px;overflow:hidden}.meter span{display:block;background:linear-gradient(90deg,#bca3df,#8f71bd);height:100%;border-radius:20px;transition:width .3s ease}.goalcard p{margin-top:7px;font-size:12px}.painchart{width:100%;height:auto;stroke:none;display:block;margin-top:15px}.appointment{display:flex;gap:15px;align-items:center;margin:18px 0 22px}.appointment small{display:block}.datebox{background:#eee5f6;padding:12px;min-width:62px;border-radius:15px;display:flex;align-items:center;justify-content:center;flex-direction:column;font-size:17px;font-weight:650;text-align:center;flex-shrink:0}.datebox small{font-size:12px;font-weight:400}.sessionrow{padding:18px 0;border-bottom:1px solid #ece5f0;display:flex;gap:16px;align-items:center}.sessionrow:last-child{border-bottom:0}.grow{flex:1;min-width:0}.sessionrow .pill{display:inline-block;margin-top:8px}.rowactions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.rowactions .btn{font-size:14px;padding:10px 13px}.calendargrid{grid-template-columns:.85fr 1.5fr}.calendar{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px;margin:23px 0}.weekday{text-align:center;font-size:13px;color:#746a80;padding:5px}.calday{background:transparent;border-radius:14px;min-height:46px;position:relative;display:flex;align-items:center;justify-content:center;flex-direction:column;padding:8px 0;font-size:14px}.calday:hover{background:#eee5f6}.calday.selected{background:#876ab7;color:white}.caldots{display:flex;gap:3px;position:absolute;bottom:5px}.caldots i{width:5px;height:5px;border-radius:50%}.purple-dot{background:#8b75c4}.peach-dot{background:#d99759}.calday.selected .purple-dot{background:white}.calnav{border-radius:50%;width:38px;height:38px;background:#eee5f6;font-size:25px;color:#735893}.reportcard{padding:20px 0;border-bottom:1px solid #ece5f0}.reportcard:last-child{border:0}.reportcard p{margin:12px 0}.reportmeta{display:flex;flex-direction:column;gap:6px;font-size:14px}.painbadge{background:#f5e0e8;border-radius:20px;padding:5px 12px;font-size:13px}.functionalcard{margin-top:20px;padding:20px;background:#e8def2;border-radius:23px}.functionalcard h3{margin:10px 0}.functionalcard p{margin:15px 0}.periodselect{border:1px solid #e8dfef;border-radius:15px;padding:7px 10px;background:#fffafc;color:#655570;font-size:14px}.chartdetails{margin-top:18px;font-size:14px}.chartdetails summary{cursor:pointer;color:#735893}.chartdetails p{margin:8px 0}.sessionnote{margin-top:24px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}#careeditor{border:1px solid #e9e0ee;border-radius:28px;background:#fffafc;width:min(610px,calc(100vw - 30px));max-height:88dvh;padding:25px;color:#35294b;box-shadow:0 20px 80px #34254433}#careeditor::backdrop{background:#35294b66}#careeditor .drawerhead{margin-bottom:25px}#careeditor .btn{background:#8164b2}#careeditor .btn.light{background:white;color:#35294b}.numbergrid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.patientcard{box-shadow:0 5px 12px #72588712;border-color:#eee5f4;background:linear-gradient(130deg,#fff,#faf5ff)}.patientcard:hover{border-color:#ac8bcf;transform:translateY(-2px)}.patientcard{transition:transform .2s,border-color .2s}.patientcard .avatar{background:#e4d5f2}.patientcard .pill.lav{background:#e4d5f2}.patientcard .viewpatient{display:block;margin-top:20px;font-size:14px;color:#745993;font-weight:600}
@media(max-width:1100px){.carestats{gap:12px}.carestat{padding:17px}.caregrid{grid-template-columns:1fr 1fr}.calendargrid{grid-template-columns:1fr}.rowactions{justify-content:flex-end}.patientbanner{padding:24px}.patientbanner h1{font-size:28px}}
@media(max-width:750px){.carestats{grid-template-columns:1fr 1fr;gap:12px}.carestat{padding:17px;border-radius:23px}.carestat>strong{font-size:32px}.carestat>span{font-size:13px;gap:7px}.carestat>small{font-size:12px}.caregrid{grid-template-columns:1fr;gap:17px}.patientbanner{flex-direction:column;align-items:stretch;padding:23px;border-radius:27px}.patientbanner .avatar{width:61px;height:61px;font-size:21px}.patientbanner .identity{align-items:flex-start}.patientbanner h1{font-size:25px;line-height:1.2}.patientbanner p{font-size:14px}.eyebrow{font-size:10px;letter-spacing:1px}.patienttabs{width:100%;flex-wrap:nowrap;overflow-x:auto;border-radius:18px;padding:5px;margin:20px 0}.patienttabs .tab{white-space:nowrap;padding:11px 15px;font-size:13px}.carepanel{padding:21px}.sessionrow{flex-wrap:wrap;gap:12px}.rowactions{width:100%;justify-content:flex-end}.sectionhead .btn{font-size:14px;padding:10px 13px}.numbergrid{grid-template-columns:1fr}.carepanel .sectionhead h2{font-size:19px}.patientdashboard .back{margin-bottom:17px}.bartrack{height:120px}}
@media(prefers-reduced-motion:reduce){.meter span,.patientcard{transition:none}}
button.carestat{text-align:left;width:100%;font:inherit;color:inherit;transition:transform .18s ease,box-shadow .18s ease}button.carestat:hover{transform:translateY(-3px);box-shadow:0 9px 18px #866a992d}button.carestat:active{transform:translateY(0)}#sessions-section,#goals-section,#pain-section,#diary-section{scroll-margin-top:24px}.note-dot{background:#478d84}.calday.selected .note-dot{background:#b5e3ce}.notepatient{color:#746a80;margin-bottom:23px}.field textarea.notepad{min-height:260px;line-height:1.9;background:repeating-linear-gradient(#fffdfc,#fffdfc 29px,#ece5f0 30px);padding:14px 16px}.daynotes{background:#f2edf7;border-radius:20px;padding:18px;margin-top:15px}.daynotes h3{font-size:16px}.daynotes p{overflow-wrap:anywhere}@media(prefers-reduced-motion:reduce){button.carestat{transition:none}}
