.patient-workspace{overflow:hidden;gap:12px}.patient-workspace>*{min-width:0}.patient-workspace button,.patient-workspace input,.patient-workspace select,.patient-workspace textarea{font:inherit}.patient-workspace a,.patient-workspace button,.patient-workspace input,.patient-workspace select,.patient-workspace textarea{-webkit-tap-highlight-color:transparent}.patient-workspace :focus-visible{outline:2px solid #668b70;outline-offset:3px}.patient-workspace button:disabled{cursor:default;opacity:.55}.patient-workspace p{margin:0}.patient-heading{flex:none;display:flex;align-items:center;justify-content:space-between;gap:12px}.patient-heading>div{min-width:0}.patient-heading>div:last-child{display:flex;align-items:center;gap:8px;flex:none}.patient-heading p{color:#6b796d;font-size:12px}.patient-heading h1{margin:2px 0 0;font-family:var(--font-serif),Georgia,serif;font-size:34px;line-height:1.2;font-weight:400;letter-spacing:-.025em}.patient-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:38px;border:1px solid #315a46;border-radius:9px;background:#315a46;color:#fff;padding:9px 14px;font-size:12px!important;line-height:1.4;font-weight:600!important;cursor:pointer;text-decoration:none}.patient-button:hover{background:#274c3a}.patient-button-secondary{background:#fffefa;color:#315a46;border-color:#cedace}.patient-button-secondary:hover{background:#eef3e9}.patient-icon-button{width:36px;height:36px;padding:0;display:inline-flex;align-items:center;justify-content:center;flex:none;border:1px solid #d8e1d4;border-radius:9px;background:#fffefa;color:#315a46;cursor:pointer}.patient-icon-button:hover{background:#edf3e7}.patient-text-button{display:inline-flex;align-items:center;gap:6px;min-height:34px;padding:5px 0;background:transparent;border:0;color:#315a46;font-size:12px!important;font-weight:600!important;text-decoration:none;cursor:pointer}.patient-text-button:hover{text-decoration:underline}.patient-danger{color:#925544}.patient-tabs{flex:none;display:flex;gap:6px;padding-bottom:7px;border-bottom:1px solid #dce4d8}.patient-tabs button{display:flex;align-items:center;justify-content:center;gap:7px;min-height:37px;padding:8px 14px;font-size:12px;font-weight:600;border:1px solid transparent;border-radius:9px;background:transparent;color:#687768;cursor:pointer}.patient-tabs button[aria-selected=true]{border-color:#d5e1ce;background:#eaf1e2;color:#315a46}.patient-panel{flex:1 1;min-height:0;min-width:0;display:flex;flex-direction:column;gap:12px;padding:18px;border:1px solid #dfe5d9;border-radius:16px;background:#fffefa;overflow:hidden}.patient-message{flex:none;padding:10px 12px;border:1px solid #dce4d3;border-radius:9px;background:#f0f4e9;font-size:12px;line-height:1.55;color:#49603f;overflow-wrap:anywhere}.patient-message-error{border-color:#edcfc4;background:#fbefea;color:#8a4b3b}.patient-message .patient-text-button{margin-left:10px}.patient-demo-note{display:flex;align-items:flex-start;gap:7px;flex:none;color:#73806d;font-size:11px;line-height:1.5!important}.patient-demo-note svg{flex:none;margin-top:1px}.patient-next{display:flex;align-items:center;gap:14px;flex:none;padding:14px 16px;border:1px solid #dae4ce;border-radius:12px;background:linear-gradient(110deg,#eaf1e0,#f5f7ee)}.patient-next>div{flex:1 1;min-width:0}.patient-next p{color:#607153;font-size:11px}.patient-next h2{margin:3px 0;font-family:var(--font-serif),Georgia,serif;font-size:26px;line-height:1.15;font-weight:400}.patient-next>div>span{display:block;font-size:12px;color:#4e6754;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.patient-round-icon{width:46px;height:46px;display:inline-flex;align-items:center;justify-content:center;background:#e1eacd;color:#4d704d;border-radius:50%;flex:none}.patient-filters{display:flex;align-items:center;gap:10px;flex:none}.patient-field{display:flex;flex-direction:column;gap:6px;min-width:0;font-size:12px;color:#405642}.patient-field input,.patient-field select,.patient-field textarea{width:100%;min-width:0;border:1px solid #d4dece;border-radius:8px;background:#fffefa;color:#314735;padding:9px 11px;min-height:38px;font-size:12px;line-height:1.4}.patient-field select{padding-right:24px}.patient-field textarea{resize:vertical;min-height:75px}.patient-field small{color:#75806e;font-size:11px;line-height:1.5}.patient-filters>.patient-field:first-child{width:190px}.patient-filters>.patient-field:nth-child(2){max-width:330px;flex:1 1}.patient-filters>button{margin-left:auto}.patient-list-caption{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:11px;color:#788273;flex:none}.patient-list-caption>span:last-child{flex:none}.patient-booking-list{min-height:0;flex:1 1;overflow:auto;overscroll-behavior:contain;scrollbar-gutter:stable;padding-right:6px}.patient-booking{display:flex;align-items:center;gap:14px;padding:16px 0;border-top:1px solid #e6eadd}.patient-booking:first-child{border-top:0;padding-top:4px}.patient-date-tile{width:54px;min-height:59px;flex:none;background:#f1f3e9;border:1px solid #e3e8da;border-radius:10px;text-align:center;padding:7px 4px}.patient-date-tile span{display:block;font-size:10px;line-height:1;color:#728168;text-transform:uppercase}.patient-date-tile strong{display:block;margin-top:4px;font-size:24px;line-height:1.1;font-weight:500;color:#3f6347}.patient-booking-content{min-width:0;flex:1 1}.patient-booking-content h3{margin:4px 0 7px;font-size:14px;line-height:1.45;font-weight:600;overflow-wrap:anywhere}.patient-booking-content h3>span{font-weight:400;color:#7a8871}.patient-booking-content p{color:#6a7965;font-size:12px}.patient-booking-time{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.patient-booking-time>span{font-size:10px;color:#8b927d}.patient-booking-meta{display:flex;align-items:center;flex-wrap:wrap;gap:7px 10px}.patient-booking-meta>span:not(.patient-status){display:inline-flex;align-items:center;gap:4px;color:#75816e;font-size:11px}.patient-status{display:inline-flex;width:fit-content;align-items:center;padding:4px 8px;border:1px solid #e1e4d9;border-radius:6px;background:#f1f3ec;color:#6b7862;font-size:10px;font-weight:600;line-height:1.4}.patient-status-complete,.patient-status-confirmed{background:#eaf2e5;color:#4a744b;border-color:#dce7d5}.patient-status-pending{background:#fbf3df;color:#8a7237;border-color:#eee2bd}.patient-status-muted{background:#f2f2ee;color:#808477;border-color:#e5e6df}.patient-booking-actions{display:flex;align-items:center;gap:10px;flex:none}.patient-booking-actions .patient-button{min-height:35px;padding:7px 10px;font-size:11px!important}.patient-booking-actions .patient-text-button{min-height:32px;font-size:11px!important}.patient-existing-rating{margin-top:7px!important;display:flex;align-items:center;gap:5px;color:#7c8d4b!important}.patient-booking-actions:empty{display:none}.patient-small{font-size:12px;line-height:1.6!important;color:#73806d}.patient-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:20px 14px;gap:10px;color:#738369}.patient-empty h2,.patient-empty h3{margin:0;font-family:var(--font-serif),Georgia,serif;font-size:23px;font-weight:400;color:#4e6747}.patient-empty p{max-width:500px;font-size:12px;line-height:1.7}.patient-empty .patient-button{margin-top:4px}.patient-detail{flex:1 1;min-height:0;min-width:0;display:flex;flex-direction:column;gap:12px;max-width:820px;width:100%}.patient-detail-header{flex:none;display:flex;align-items:center;gap:12px}.patient-detail-header>div{min-width:0}.patient-detail-header span{font-size:11px;color:#73836b}.patient-detail-header h2{margin:2px 0 0;font-family:var(--font-serif),Georgia,serif;font-size:26px;font-weight:400;line-height:1.2;overflow-wrap:anywhere}.patient-detail-selector{flex:none;max-width:280px}.patient-detail-scroll{min-height:0;flex:1 1;overflow:auto;overscroll-behavior:contain;scrollbar-gutter:stable;padding:2px 8px 6px 1px}.patient-detail-scroll>*+*{margin-top:16px}.patient-detail-date{display:flex;align-items:center;gap:12px}.patient-detail-date strong{font-size:14px;font-weight:500}.patient-detail-date p{color:#758169;font-size:12px;margin-top:4px}.patient-detail-data{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:16px 0}.patient-detail-data dt{margin-bottom:5px;color:#7a866f;font-size:11px}.patient-detail-data dd{margin:0;color:#40583c;font-size:13px;overflow-wrap:anywhere}.patient-detail-actions{display:flex;align-items:center;flex-wrap:wrap;gap:10px}.patient-rating-form,.patient-rating-shell{flex:1 1;min-height:0;display:flex;flex-direction:column}.patient-rating-scroll{min-height:0;flex:1 1;overflow:auto;overscroll-behavior:contain;padding:2px 9px 8px 1px;scrollbar-gutter:stable}.patient-rating-scroll>*+*{margin-top:16px}.patient-rating-form h3{font-family:var(--font-serif),Georgia,serif;font-size:24px;font-weight:400;line-height:1.3;margin:0 0 6px}.patient-rating-footer{flex:none;display:flex;justify-content:flex-end;padding-top:10px;border-top:1px solid #e3e8d9}.patient-score{padding:0;border:0}.patient-score legend{margin-bottom:7px;color:#435d40;font-size:12px}.patient-score>div{display:flex;gap:8px}.patient-score label{position:relative;display:flex;flex-direction:column;align-items:center;gap:3px;color:#bac6aa;cursor:pointer;padding:6px 9px;border:1px solid #e0e6d8;border-radius:8px;background:#fffefa}.patient-score label input{position:absolute;inset:0;opacity:0;width:100%;height:100%;margin:0;z-index:1;cursor:pointer}.patient-score label:has(input:focus-visible){outline:2px solid #668b70;outline-offset:3px}.patient-score label span{font-size:10px;color:#718260}.patient-score label.patient-star-selected{background:#eff4e4;color:#809f54;border-color:#d3dfc1}.patient-score>p{margin-top:7px;font-size:11px;color:#738567}.patient-rating-saved{padding:16px 4px;min-height:0;overflow:auto;flex:1 1}.patient-rating-saved h3{margin:12px 0;font-family:var(--font-serif),Georgia,serif;font-size:26px;font-weight:400}.patient-rating-stars{display:flex;gap:5px;color:#90a75e}.patient-private-comment{margin:16px 0!important;padding:12px;background:#f3f6ec;border-radius:9px;color:#4f6446;font-size:13px;white-space:pre-wrap;overflow-wrap:anywhere}.patient-rating-saved .patient-small{margin-top:14px}.patient-rating-shell>.patient-empty{overflow:auto;min-height:0;flex:1 1}.patient-account{width:100%;max-width:780px}.patient-account-intro{display:flex;align-items:center;gap:13px}.patient-account-intro h2{margin:0 0 5px;font-family:var(--font-serif),Georgia,serif;font-size:27px;font-weight:400}.patient-account-intro p{font-size:12px;color:#788470}.patient-account-links{border-top:1px solid #e3e8dc;padding-top:6px}.patient-account-links a{display:flex;align-items:center;gap:10px;padding:12px 0;border-bottom:1px solid #edf0e7;font-size:12px;color:#4b6844;text-decoration:none}.patient-account-links a>span{flex:1 1;min-width:0}.patient-account-links a>svg{flex:none}.patient-account-links a:hover span{text-decoration:underline}@media(max-width:720px){.patient-workspace{gap:8px}.patient-heading h1{font-size:28px}.patient-heading p{font-size:11px}.patient-heading>div:last-child{gap:6px}.patient-new{width:36px;min-height:36px;padding:0}.patient-new span{display:none}.patient-tabs button{min-height:35px;padding:7px 10px;font-size:11px}.patient-panel{gap:9px;padding:12px;border-radius:13px}.patient-next{padding:10px;gap:9px}.patient-next .patient-round-icon{width:34px;height:34px}.patient-next h2{font-size:23px}.patient-next p{font-size:10px}.patient-next>div>span{font-size:11px}.patient-next>.patient-icon-button{width:30px;height:32px}.patient-filters{gap:7px}.patient-filters .patient-field{width:auto!important;flex:1 1;max-width:none!important}.patient-multiple-professionals{display:grid;grid-template-columns:minmax(0,1fr) 34px}.patient-multiple-professionals>.patient-field:nth-child(2){grid-column:1/-1;grid-row:2}.patient-multiple-professionals>button{grid-column:2;grid-row:1}.patient-field select{min-height:34px;padding:7px 25px 7px 9px;font-size:12px}.patient-filters .patient-icon-button{width:34px;height:34px}.patient-booking-list{padding-right:4px}.patient-booking{display:grid;grid-template-columns:42px minmax(0,1fr) 30px;gap:8px;padding:12px 0;align-items:start}.patient-booking .patient-date-tile{grid-column:1}.patient-date-tile{width:42px;min-height:49px;padding:6px 2px;border-radius:8px}.patient-date-tile strong{font-size:21px}.patient-date-tile span{font-size:9px}.patient-booking-content{grid-column:2}.patient-booking-content h3{font-size:13px}.patient-booking-content p{font-size:11px}.patient-booking-time{gap:4px 8px}.patient-open-booking{width:30px;height:32px;grid-column:3}.patient-booking-meta{gap:5px}.patient-booking-meta>span:not(.patient-status){font-size:10px}.patient-booking-actions{gap:6px;justify-content:flex-start;flex-wrap:wrap}.patient-booking-actions>.patient-icon-button{margin-left:auto;width:32px;height:32px}.patient-booking-actions .patient-button{min-height:32px;padding:6px 8px;font-size:10px!important}.patient-booking-actions .patient-text-button{font-size:10px!important}.patient-status{font-size:9px;padding:3px 6px}.patient-demo-note,.patient-list-caption{font-size:10px}.patient-detail,.patient-detail-header{gap:9px}.patient-detail-header h2{font-size:23px}.patient-detail-header span{font-size:10px}.patient-detail-selector{max-width:none}.patient-detail-scroll>*+*{margin-top:12px}.patient-detail-data{gap:12px}.patient-detail-data dt{font-size:10px}.patient-detail-data dd,.patient-detail-date strong{font-size:12px}.patient-detail-date p{font-size:11px}.patient-detail-actions{gap:7px}.patient-message,.patient-small{font-size:11px}.patient-message{padding:8px 10px}.patient-score>div{gap:6px}.patient-score label{flex:1 1;padding:6px 3px}.patient-rating-form h3{font-size:22px}.patient-rating-scroll>*+*{margin-top:12px}.patient-field textarea{font-size:16px}.patient-rating-footer{padding-top:8px}.patient-rating-footer .patient-button{width:100%;min-height:36px}.patient-account-intro h2{font-size:24px}.patient-account-intro p{font-size:11px}.patient-account .patient-detail-data{grid-template-columns:1fr}}@media(max-width:360px){.patient-heading h1{font-size:25px}.patient-panel{padding:10px;gap:8px}.patient-next .patient-round-icon{display:none}.patient-next h2{font-size:22px}.patient-detail-header h2{font-size:21px}.patient-detail-data{grid-template-columns:1fr}}